diff --git a/README.translate.md b/README.translate.md
index f434063614..728a56ab30 100644
--- a/README.translate.md
+++ b/README.translate.md
@@ -4,42 +4,32 @@ Friendica translations
Translation Process
-------------------
-The strings used in the UI of Friendica is translated at [Transifex] [1] and then
-included in the git repository at github. If you want to help with translation
-for any language, be it correcting terms or translating friendica to a
-currently not supported language, please register an account at transifex.com
-and contact the friendica translation team there.
+The strings used in the UI of Friendica is translated at [Transifex] [1] and then included in the git repository at github.
+If you want to help with translation for any language, be it correcting terms or translating friendica to a currently not supported language, please register an account at transifex.com and contact the friendica translation team there.
-Translating friendica is simple. Just use the online tool at transifex. If you
-don't want to deal with git & co. that is fine, we check the status of the
-translations regularly and import them into the source tree at github so that
-others can use them.
+Translating friendica is simple.
+Just use the online tool at transifex.
+If you don't want to deal with git & co. that is fine, we check the status of the translations regularly and import them into the source tree at github so that others can use them.
-We do not include every translation from transifex in the source tree to avoid
-a scattered and disturbed overall experience. As an uneducated guess we have a
-lower limit of 50% translated strings before we include the language (for the
-core message.po file, addon translation will be included once all strings of
-an addon are translated. This limit is judging only by the amount of translated
-strings under the assumption that the most prominent strings for the UI will be
-translated first by a translation team. If you feel your translation useable
-before this limit, please contact us and we will probably include your teams
-work in the source tree.
+We do not include every translation from transifex in the source tree to avoid a scattered and disturbed overall experience.
+As an uneducated guess we have a lower limit of 50% translated strings before we include the language (for the core messages.po file, addont translation will be included once all strings of an addon are translated.
+This limit is judging only by the amount of translated strings under the assumption that the most prominent strings for the UI will be translated first by a translation team.
+If you feel your translation useable before this limit, please contact us and we will probably include your teams work in the source tree.
-If you want to get your work into the source tree yourself, feel free to do so
-and contact us with and question that arises. The process is simple and
-friendica ships with all the tools necessary.
+If you want to help translating, please concentrate on the core messages.po file first.
+We will only include translations with a sufficient translated messages.po file.
+Translations of addons will only be included, when the core file is included as well.
+
+If you want to get your work into the source tree yourself, feel free to do so and contact us with and question that arises.
+The process is simple and friendica ships with all the tools necessary.
The location of the translated files in the source tree is
/view/LNG-CODE/
where LNG-CODE is the language code used, e.g. de for German or fr for French.
-For the email templates (the *.tpl files) just place them into the directory
-and you are done. The translated strings come as a "message.po" file from
-transifex which needs to be translated into the PHP file friendica uses. To do
-so, place the file in the directory mentioned above and use the "po2php"
-utility from the util directory of your friendica installation.
+The translated strings come as a "message.po" file from transifex which needs to be translated into the PHP file friendica uses.
+To do so, place the file in the directory mentioned above and use the "po2php" utility from the util directory of your friendica installation.
-Assuming you want to convert the German localization which is placed in
-view/de/message.po you would do the following.
+Assuming you want to convert the German localization which is placed in view/de/message.po you would do the following.
1. Navigate at the command prompt to the base directory of your
friendica installation
@@ -51,11 +41,11 @@ view/de/message.po you would do the following.
The output of the script will be placed at view/de/strings.php where
friendica is expecting it, so you can test your translation immediately.
-
+
3. Visit your friendica page to check if it still works in the language you
just translated. If not try to find the error, most likely PHP will give
you a hint in the log/warnings.about the error.
-
+
For debugging you can also try to "run" the file with PHP. This should
not give any output if the file is ok but might give a hint for
searching the bug in the file.
@@ -69,30 +59,10 @@ view/de/message.po you would do the following.
Utilities
---------
-Additional to the po2php script there are some more utilities for translation
-in the "util" directory of the friendica source tree. If you only want to
-translate friendica into another language you won't need any of these tools most
-likely but it gives you an idea how the translation process of friendica
-works.
+Additional to the po2php script there are some more utilities for translation in the "util" directory of the friendica source tree.
+If you only want to translate friendica into another language you wont need any of these tools most likely but it gives you an idea how the translation process of friendica works.
For further information see the utils/README file.
-Known Problems
---------------
-
-Friendica uses the language setting of the visitors browser to determain the
-language for the UI. Most of the time this works, but there are some known
-quirks.
-
-One is that some browsers, like Safari, do the setting to "de-de" but friendica
-only has a "de" localisation. A workaround would be to add a symbolic link
-from
- $friendica/view/de-de
-pointing to
- $friendica/view/de
-
-Links
------
-
[1]: https://www.transifex.com/projects/p/friendica/
diff --git a/boot.php b/boot.php
index 2242ba476d..4ef30eadac 100644
--- a/boot.php
+++ b/boot.php
@@ -36,7 +36,7 @@ define ( 'FRIENDICA_PLATFORM', 'Friendica');
define ( 'FRIENDICA_CODENAME', 'Asparagus');
define ( 'FRIENDICA_VERSION', '3.5-dev' );
define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
-define ( 'DB_UPDATE_VERSION', 1193 );
+define ( 'DB_UPDATE_VERSION', 1194 );
/**
* @brief Constant with a HTML line break.
@@ -530,6 +530,8 @@ class App {
private $cached_profile_image;
private $cached_profile_picdate;
+ private static $a;
+
/**
* @brief App constructor.
*/
@@ -710,6 +712,8 @@ class App {
}
}
+ self::$a = $this;
+
}
function get_basepath() {
@@ -734,6 +738,10 @@ class App {
function get_baseurl($ssl = false) {
+ // Is the function called statically?
+ if (!is_object($this))
+ return(self::$a->get_baseurl($ssl));
+
$scheme = $this->scheme;
if((x($this->config,'system')) && (x($this->config['system'],'ssl_policy'))) {
diff --git a/doc/Forums.md b/doc/Forums.md
index 2eac81a722..54e8e38791 100644
--- a/doc/Forums.md
+++ b/doc/Forums.md
@@ -53,9 +53,12 @@ Posting to Community forums
If you are a member of a community forum, you may post to the forum by including an @-tag in the post mentioning the forum.
For example @bicycle would send my post to all members of the group "bicycle" in addition to the normal recipients.
-If your post is private you must also explicitly include the group in the post permissions (to allow the forum "contact" to see the post) **and** mention it in a tag (which redistributes the post to the forum members).
+If you mention a forum (you are a member of) in a new posting, the posting will be distributed to all members of the forum, regardless of your privacy settings for the posting.
+Also, if the forum is a public forum, your posting will be public for the all internet users.
+If your post is private you must also explicitly include the group in the post permissions (to allow the forum "contact" to see the post) **and** mention it in a tag (which redistributes the post to the forum members).
+Posting privately to a public forum, will result in your posting being displayed on the forum wall, but not on yours.
-You may also post to a community forum by posting a "wall-to-wall" post using secure cross-site authentication.
+You may also post to a community forum by posting a "wall-to-wall" post using secure cross-site authentication.
Comments which are relayed to community forums will be relayed back to the original post creator.
Mentioning the forum with an @-tag in a comment does not relay the message, as distribution is controlled entirely by the original post creator.
diff --git a/doc/Settings.md b/doc/Settings.md
index ae7d916078..86254cb29e 100644
--- a/doc/Settings.md
+++ b/doc/Settings.md
@@ -24,6 +24,9 @@ You are not required to provide the year.
System settings
---
+**Settings should be done in the admin panel** (/admin).
+Those settings found in the database, will always override the settings added to the ``.htconfig.php`` file.
+
###Language
Please see util/README for information on creating language translations.
@@ -219,6 +222,8 @@ LOGGER_DEBUG will show a good deal of information about system activity but will
You may also select LOGGER_ALL but due to the volume of information we recommend only enabling this when you are tracking down a specific problem.
Other log levels are possible but are not being used at the present time.
+Please be aware that turning on the logging can fill up the disk space on your server relatively quick.
+You should take preventions with e.g. [logrotate](https://en.wikipedia.org/wiki/Log_rotation) or similar tools.
###PHP error logging
@@ -237,4 +242,6 @@ The vast majority of issues reported at these levels are completely harmless.
Please report to the developers any errors you encounter in the logs using the recommended settings above.
They generally indicate issues which need to be resolved.
-If you encounter a blank (white) page when using the application, view the PHP logs - as this almost always indicates an error has occurred.
+If you encounter a blank (white) page when using the application, view the PHP logs - as this almost always indicates an error has occurred.
+
+*Note*: PHP logging cannot be activated from the admin panel but has to be configured from the ``.htconfig.php`` file.
diff --git a/doc/Tags-and-Mentions.md b/doc/Tags-and-Mentions.md
index 5501d0d580..eac2c97f84 100644
--- a/doc/Tags-and-Mentions.md
+++ b/doc/Tags-and-Mentions.md
@@ -21,11 +21,22 @@ You can tag a person on a different network or one that is **not in your social
* @mike@macgirvin.com - This is called a "remote mention" and can only be an email-style locator, not a web URL.
-Unless their system blocks unsolicited "mentions", the person tagged will likely receive a "Mention" post/activity or become a direct participant in the conversation in the case of public posts. Please note that Friendica blocks incoming "mentions" from people with no relationship to you. This is a spam prevention measure.
+Unless their system blocks unsolicited "mentions", the person tagged will likely receive a "Mention" post/activity or become a direct participant in the conversation in the case of public posts.
+Friendica blocks incoming “mentions” from people with no relationship to you.
+The exception is an ongiong conversation started from a contact of both you and the 3rd person or a conversation in a forum where you are a member of.
+This is a spam prevention measure.
-Remote mentions are delivered using the OStatus protocol. This protocol is used by Friendica and GNU Social and several other systems, but is not currently implemented in Diaspora.
+Remote mentions are delivered using the OStatus protocol.
+This protocol is used by Friendica and GNU Social and several other systems, but is not currently implemented in Diaspora.
+As the OStatus protocol allows this Friendica user can be @-mentioned by users from platforms using this protocol in conversations if the "Enable OStatus support" is activated on the Friendica node.
+These @-mentions wont be blocked, even if there is no relationship between the sender and the receiver of the message.
-Friendica makes no distinction between people and groups for the purpose of tagging. (Some other networks use !group to indicate a group.)
+Friendica makes no distinction between people and forums for the purpose of tagging.
+(Some other networks use !forum to indicate a forum.)
+
+If you sort your contacts into groups, you cannot @-mention these groups.
+But you can select the group in the access control when creating a new posting, to allow (or disallow) a certain group of people to see the posting.
+See [Groups and Privacy](help/Groups-and-Privacy) for more details about grouping your contacts.
**Topical Tags**
diff --git a/doc/translations.md b/doc/translations.md
index b874e9ea2e..728a56ab30 100644
--- a/doc/translations.md
+++ b/doc/translations.md
@@ -4,42 +4,32 @@ Friendica translations
Translation Process
-------------------
-The strings used in the UI of Friendica is translated at [Transifex] [1] and then
-included in the git repository at github. If you want to help with translation
-for any language, be it correcting terms or translating friendica to a
-currently not supported language, please register an account at transifex.com
-and contact the friendica translation team there.
+The strings used in the UI of Friendica is translated at [Transifex] [1] and then included in the git repository at github.
+If you want to help with translation for any language, be it correcting terms or translating friendica to a currently not supported language, please register an account at transifex.com and contact the friendica translation team there.
-Translating friendica is simple. Just use the online tool at transifex. If you
-don't want to deal with git & co. that is fine, we check the status of the
-translations regularly and import them into the source tree at github so that
-others can use them.
+Translating friendica is simple.
+Just use the online tool at transifex.
+If you don't want to deal with git & co. that is fine, we check the status of the translations regularly and import them into the source tree at github so that others can use them.
-We do not include every translation from transifex in the source tree to avoid
-a scattered and disturbed overall experience. As an uneducated guess we have a
-lower limit of 50% translated strings before we include the language (for the
-core message.po file, addont translation will be included once all strings of
-an addon are translated. This limit is judging only by the amount of translated
-strings under the assumption that the most prominent strings for the UI will be
-translated first by a translation team. If you feel your translation useable
-before this limit, please contact us and we will probably include your teams
-work in the source tree.
+We do not include every translation from transifex in the source tree to avoid a scattered and disturbed overall experience.
+As an uneducated guess we have a lower limit of 50% translated strings before we include the language (for the core messages.po file, addont translation will be included once all strings of an addon are translated.
+This limit is judging only by the amount of translated strings under the assumption that the most prominent strings for the UI will be translated first by a translation team.
+If you feel your translation useable before this limit, please contact us and we will probably include your teams work in the source tree.
-If you want to get your work into the source tree yourself, feel free to do so
-and contact us with and question that arises. The process is simple and
-friendica ships with all the tools necessary.
+If you want to help translating, please concentrate on the core messages.po file first.
+We will only include translations with a sufficient translated messages.po file.
+Translations of addons will only be included, when the core file is included as well.
+
+If you want to get your work into the source tree yourself, feel free to do so and contact us with and question that arises.
+The process is simple and friendica ships with all the tools necessary.
The location of the translated files in the source tree is
/view/LNG-CODE/
where LNG-CODE is the language code used, e.g. de for German or fr for French.
-For the email templates (the *.tpl files) just place them into the directory
-and you are done. The translated strings come as a "message.po" file from
-transifex which needs to be translated into the PHP file friendica uses. To do
-so, place the file in the directory mentioned above and use the "po2php"
-utility from the util directory of your friendica installation.
+The translated strings come as a "message.po" file from transifex which needs to be translated into the PHP file friendica uses.
+To do so, place the file in the directory mentioned above and use the "po2php" utility from the util directory of your friendica installation.
-Assuming you want to convert the German localization which is placed in
-view/de/message.po you would do the following.
+Assuming you want to convert the German localization which is placed in view/de/message.po you would do the following.
1. Navigate at the command prompt to the base directory of your
friendica installation
@@ -47,15 +37,15 @@ view/de/message.po you would do the following.
2. Execute the po2php script, which will place the translation
in the strings.php file that is used by friendica.
- $> php util/po2php.php view/de/message.po
+ $> php util/po2php.php view/de/messages.po
The output of the script will be placed at view/de/strings.php where
- froemdoca os expecting it, so you can test your translation mmediately.
-
+ friendica is expecting it, so you can test your translation immediately.
+
3. Visit your friendica page to check if it still works in the language you
just translated. If not try to find the error, most likely PHP will give
you a hint in the log/warnings.about the error.
-
+
For debugging you can also try to "run" the file with PHP. This should
not give any output if the file is ok but might give a hint for
searching the bug in the file.
@@ -69,27 +59,10 @@ view/de/message.po you would do the following.
Utilities
---------
-Additional to the po2php script there are some more utilities for translation
-in the "util" directory of the friendica source tree. If you only want to
-translate friendica into another language you wont need any of these tools most
-likely but it gives you an idea how the translation process of friendica
-works.
+Additional to the po2php script there are some more utilities for translation in the "util" directory of the friendica source tree.
+If you only want to translate friendica into another language you wont need any of these tools most likely but it gives you an idea how the translation process of friendica works.
For further information see the utils/README file.
-Known Problems
---------------
-
-Friendica uses the language setting of the visitors browser to determain the
-language for the UI. Most of the time this works, but there are some known
-quirks.
-
-One is that some browsers, like Safari, do the setting to "de-de" but friendica
-only has a "de" localisation. A workaround would be to add a symbolic link
-from
- $friendica/view/de-de
-pointing to
- $friendica/view/de
-
[1]: https://www.transifex.com/projects/p/friendica/
diff --git a/include/Contact.php b/include/Contact.php
index 93d6237cbf..3799e0b189 100644
--- a/include/Contact.php
+++ b/include/Contact.php
@@ -132,8 +132,8 @@ function terminate_friendship($user,$self,$contact) {
diaspora_unshare($user,$contact);
}
elseif($contact['network'] === NETWORK_DFRN) {
- require_once('include/items.php');
- dfrn_deliver($user,$contact,'placeholder', 1);
+ require_once('include/dfrn.php');
+ dfrn::deliver($user,$contact,'placeholder', 1);
}
}
@@ -208,15 +208,15 @@ function get_contact_details_by_url($url, $uid = -1) {
}
// Fetching further contact data from the contact table
- $r = q("SELECT `id`, `uid`, `url`, `network`, `name`, `nick`, `addr`, `location`, `about`, `keywords`, `gender`, `photo`, `addr`, `forum`, `prv`, `bd` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d AND `network` = '%s'",
+ $r = q("SELECT `id`, `uid`, `url`, `network`, `name`, `nick`, `addr`, `location`, `about`, `keywords`, `gender`, `photo`, `thumb`, `addr`, `forum`, `prv`, `bd`, `self` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d AND `network` IN ('%s', '')",
dbesc(normalise_link($url)), intval($uid), dbesc($profile["network"]));
if (!count($r) AND !isset($profile))
- $r = q("SELECT `id`, `uid`, `url`, `network`, `name`, `nick`, `addr`, `location`, `about`, `keywords`, `gender`, `photo`, `addr`, `forum`, `prv`, `bd` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d",
+ $r = q("SELECT `id`, `uid`, `url`, `network`, `name`, `nick`, `addr`, `location`, `about`, `keywords`, `gender`, `photo`, `thumb`, `addr`, `forum`, `prv`, `bd`, `self` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d",
dbesc(normalise_link($url)), intval($uid));
if (!count($r) AND !isset($profile))
- $r = q("SELECT `id`, `uid`, `url`, `network`, `name`, `nick`, `addr`, `location`, `about`, `keywords`, `gender`, `photo`, `addr`, `forum`, `prv`, `bd` FROM `contact` WHERE `nurl` = '%s' AND `uid` = 0",
+ $r = q("SELECT `id`, `uid`, `url`, `network`, `name`, `nick`, `addr`, `location`, `about`, `keywords`, `gender`, `photo`, `thumb`, `addr`, `forum`, `prv`, `bd` FROM `contact` WHERE `nurl` = '%s' AND `uid` = 0",
dbesc(normalise_link($url)));
if ($r) {
@@ -228,7 +228,7 @@ function get_contact_details_by_url($url, $uid = -1) {
$profile["nick"] = $r[0]["nick"];
if (!isset($profile["addr"]) AND $r[0]["addr"])
$profile["addr"] = $r[0]["addr"];
- if (!isset($profile["photo"]) AND $r[0]["photo"])
+ if ((!isset($profile["photo"]) OR $r[0]["self"]) AND $r[0]["photo"])
$profile["photo"] = $r[0]["photo"];
if (!isset($profile["location"]) AND $r[0]["location"])
$profile["location"] = $r[0]["location"];
@@ -246,6 +246,8 @@ function get_contact_details_by_url($url, $uid = -1) {
$profile["addr"] = $r[0]["addr"];
if (!isset($profile["bd"]) AND $r[0]["bd"])
$profile["bd"] = $r[0]["bd"];
+ if (isset($r[0]["thumb"]))
+ $profile["thumb"] = $r[0]["thumb"];
if ($r[0]["uid"] == 0)
$profile["cid"] = 0;
else
@@ -410,12 +412,12 @@ function get_contact($url, $uid = 0) {
return 0;
}
- $contact = q("SELECT `id`, `avatar-date` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d",
+ $contact = q("SELECT `id`, `avatar-date` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d ORDER BY `id` LIMIT 2",
dbesc(normalise_link($url)),
intval($uid));
if (!$contact)
- $contact = q("SELECT `id`, `avatar-date` FROM `contact` WHERE `alias` IN ('%s', '%s') AND `uid` = %d",
+ $contact = q("SELECT `id`, `avatar-date` FROM `contact` WHERE `alias` IN ('%s', '%s') AND `uid` = %d ORDER BY `id` LIMIT 1",
dbesc($url),
dbesc(normalise_link($url)),
intval($uid));
@@ -439,9 +441,7 @@ function get_contact($url, $uid = 0) {
if (!in_array($data["network"], array(NETWORK_DFRN, NETWORK_OSTATUS, NETWORK_DIASPORA)))
return 0;
- // tempory programming. Can be deleted after 2015-02-07
- if (($data["alias"] == "") AND (normalise_link($data["url"]) != normalise_link($url)))
- $data["alias"] = normalise_link($url);
+ $url = $data["url"];
if ($contactid == 0) {
q("INSERT INTO `contact` (`uid`, `created`, `url`, `nurl`, `addr`, `alias`, `notify`, `poll`,
@@ -470,7 +470,7 @@ function get_contact($url, $uid = 0) {
dbesc($data["poco"])
);
- $contact = q("SELECT `id` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d",
+ $contact = q("SELECT `id` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d ORDER BY `id` LIMIT 2",
dbesc(normalise_link($data["url"])),
intval($uid));
if (!$contact)
@@ -479,23 +479,23 @@ function get_contact($url, $uid = 0) {
$contactid = $contact[0]["id"];
}
+ if ((count($contact) > 1) AND ($uid == 0) AND ($contactid != 0) AND ($url != ""))
+ q("DELETE FROM `contact` WHERE `nurl` = '%s' AND `id` != %d",
+ dbesc(normalise_link($url)),
+ intval($contactid));
+
require_once("Photo.php");
- $photos = import_profile_photo($data["photo"],$uid,$contactid);
+ update_contact_avatar($data["photo"],$uid,$contactid);
- q("UPDATE `contact` SET `photo` = '%s', `thumb` = '%s', `micro` = '%s',
- `addr` = '%s', `alias` = '%s', `name` = '%s', `nick` = '%s',
- `name-date` = '%s', `uri-date` = '%s', `avatar-date` = '%s' WHERE `id` = %d",
- dbesc($photos[0]),
- dbesc($photos[1]),
- dbesc($photos[2]),
+ q("UPDATE `contact` SET `addr` = '%s', `alias` = '%s', `name` = '%s', `nick` = '%s',
+ `name-date` = '%s', `uri-date` = '%s' WHERE `id` = %d",
dbesc($data["addr"]),
dbesc($data["alias"]),
dbesc($data["name"]),
dbesc($data["nick"]),
dbesc(datetime_convert()),
dbesc(datetime_convert()),
- dbesc(datetime_convert()),
intval($contactid)
);
@@ -662,4 +662,34 @@ function posts_from_contact($a, $contact_id) {
return $o;
}
+
+/**
+ * @brief Returns a formatted location string from the given profile array
+ *
+ * @param array $profile Profile array (Generated from the "profile" table)
+ *
+ * @return string Location string
+ */
+function formatted_location($profile) {
+ $location = '';
+
+ if($profile['locality'])
+ $location .= $profile['locality'];
+
+ if($profile['region'] AND ($profile['locality'] != $profile['region'])) {
+ if($location)
+ $location .= ', ';
+
+ $location .= $profile['region'];
+ }
+
+ if($profile['country-name']) {
+ if($location)
+ $location .= ', ';
+
+ $location .= $profile['country-name'];
+ }
+
+ return $location;
+}
?>
diff --git a/include/Photo.php b/include/Photo.php
index 5fdd682e74..3f1608d3ec 100644
--- a/include/Photo.php
+++ b/include/Photo.php
@@ -720,65 +720,100 @@ function guess_image_type($filename, $fromcurl=false) {
}
-function import_profile_photo($photo,$uid,$cid) {
+/**
+ * @brief Updates the avatar links in a contact only if needed
+ *
+ * @param string $avatar Link to avatar picture
+ * @param int $uid User id of contact owner
+ * @param int $cid Contact id
+ *
+ * @return array Returns array of the different avatar sizes
+ */
+function update_contact_avatar($avatar,$uid,$cid) {
- $a = get_app();
+ $r = q("SELECT `avatar`, `photo`, `thumb`, `micro` FROM `contact` WHERE `id` = %d LIMIT 1", intval($cid));
+ if (!$r)
+ return false;
+ else
+ $data = array($r[0]["photo"], $r[0]["thumb"], $r[0]["micro"]);
- $r = q("select `resource-id` from photo where `uid` = %d and `contact-id` = %d and `scale` = 4 and `album` = 'Contact Photos' limit 1",
- intval($uid),
- intval($cid)
- );
- if(count($r) && strlen($r[0]['resource-id'])) {
- $hash = $r[0]['resource-id'];
- }
- else {
- $hash = photo_new_resource();
- }
+ if ($r[0]["avatar"] != $avatar) {
+ $photos = import_profile_photo($avatar,$uid,$cid, true);
- $photo_failure = false;
+ if ($photos) {
+ q("UPDATE `contact` SET `avatar` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s', `avatar-date` = '%s' WHERE `id` = %d",
+ dbesc($avatar), dbesc($photos[0]), dbesc($photos[1]), dbesc($photos[2]),
+ dbesc(datetime_convert()), intval($cid));
+ return $photos;
+ }
+ }
- $filename = basename($photo);
- $img_str = fetch_url($photo,true);
+ return $data;
+}
- $type = guess_image_type($photo,true);
- $img = new Photo($img_str, $type);
- if($img->is_valid()) {
+function import_profile_photo($photo,$uid,$cid, $quit_on_error = false) {
- $img->scaleImageSquare(175);
+ $a = get_app();
- $r = $img->store($uid, $cid, $hash, $filename, 'Contact Photos', 4 );
+ $r = q("select `resource-id` from photo where `uid` = %d and `contact-id` = %d and `scale` = 4 and `album` = 'Contact Photos' limit 1",
+ intval($uid),
+ intval($cid)
+ );
+ if(count($r) && strlen($r[0]['resource-id'])) {
+ $hash = $r[0]['resource-id'];
+ } else {
+ $hash = photo_new_resource();
+ }
- if($r === false)
- $photo_failure = true;
+ $photo_failure = false;
- $img->scaleImage(80);
+ $filename = basename($photo);
+ $img_str = fetch_url($photo,true);
- $r = $img->store($uid, $cid, $hash, $filename, 'Contact Photos', 5 );
+ if ($quit_on_error AND ($img_str == ""))
+ return false;
- if($r === false)
- $photo_failure = true;
+ $type = guess_image_type($photo,true);
+ $img = new Photo($img_str, $type);
+ if($img->is_valid()) {
- $img->scaleImage(48);
+ $img->scaleImageSquare(175);
- $r = $img->store($uid, $cid, $hash, $filename, 'Contact Photos', 6 );
+ $r = $img->store($uid, $cid, $hash, $filename, 'Contact Photos', 4 );
- if($r === false)
- $photo_failure = true;
+ if($r === false)
+ $photo_failure = true;
- $photo = $a->get_baseurl() . '/photo/' . $hash . '-4.' . $img->getExt();
- $thumb = $a->get_baseurl() . '/photo/' . $hash . '-5.' . $img->getExt();
- $micro = $a->get_baseurl() . '/photo/' . $hash . '-6.' . $img->getExt();
- }
- else
- $photo_failure = true;
+ $img->scaleImage(80);
- if($photo_failure) {
- $photo = $a->get_baseurl() . '/images/person-175.jpg';
- $thumb = $a->get_baseurl() . '/images/person-80.jpg';
- $micro = $a->get_baseurl() . '/images/person-48.jpg';
- }
+ $r = $img->store($uid, $cid, $hash, $filename, 'Contact Photos', 5 );
- return(array($photo,$thumb,$micro));
+ if($r === false)
+ $photo_failure = true;
+
+ $img->scaleImage(48);
+
+ $r = $img->store($uid, $cid, $hash, $filename, 'Contact Photos', 6 );
+
+ if($r === false)
+ $photo_failure = true;
+
+ $photo = $a->get_baseurl() . '/photo/' . $hash . '-4.' . $img->getExt();
+ $thumb = $a->get_baseurl() . '/photo/' . $hash . '-5.' . $img->getExt();
+ $micro = $a->get_baseurl() . '/photo/' . $hash . '-6.' . $img->getExt();
+ } else
+ $photo_failure = true;
+
+ if($photo_failure AND $quit_on_error)
+ return false;
+
+ if($photo_failure) {
+ $photo = $a->get_baseurl() . '/images/person-175.jpg';
+ $thumb = $a->get_baseurl() . '/images/person-80.jpg';
+ $micro = $a->get_baseurl() . '/images/person-48.jpg';
+ }
+
+ return(array($photo,$thumb,$micro));
}
diff --git a/include/Scrape.php b/include/Scrape.php
index 9cc7086157..ca6489b16a 100644
--- a/include/Scrape.php
+++ b/include/Scrape.php
@@ -235,7 +235,9 @@ function scrape_feed($url) {
$a = get_app();
$ret = array();
- $s = fetch_url($url);
+ $cookiejar = tempnam(get_temppath(), 'cookiejar-scrape-feed-');
+ $s = fetch_url($url, false, $redirects, 0, Null, $cookiejar);
+ unlink($cookiejar);
$headers = $a->get_curl_headers();
$code = $a->get_curl_code();
@@ -662,7 +664,9 @@ function probe_url($url, $mode = PROBE_NORMAL, $level = 1) {
$vcard['photo'] = $feedret['photo'];
require_once('library/simplepie/simplepie.inc');
$feed = new SimplePie();
- $xml = fetch_url($poll);
+ $cookiejar = tempnam(get_temppath(), 'cookiejar-scrape-feed-');
+ $xml = fetch_url($poll, false, $redirects, 0, Null, $cookiejar);
+ unlink($cookiejar);
logger('probe_url: fetch feed: ' . $poll . ' returns: ' . $xml, LOGGER_DATA);
$a = get_app();
diff --git a/include/api.php b/include/api.php
index 3bc7c8bab9..4d206da28e 100644
--- a/include/api.php
+++ b/include/api.php
@@ -1551,6 +1551,8 @@
WHERE `item`.`visible` = 1 and `item`.`moderated` = 0 AND `item`.`deleted` = 0
AND `contact`.`id` = `item`.`contact-id`
AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
+ AND NOT `item`.`private` AND `item`.`allow_cid` = '' AND `item`.`allow`.`gid` = ''
+ AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = ''
$sql_extra
AND `item`.`id`=%d",
intval($id)
@@ -1579,7 +1581,8 @@
$_REQUEST["source"] = api_source();
item_post($a);
- }
+ } else
+ throw new ForbiddenException();
// this should output the last post (the one we just posted).
$called_api = null;
diff --git a/include/cron.php b/include/cron.php
index bf3243cb60..3acf711dd1 100644
--- a/include/cron.php
+++ b/include/cron.php
@@ -30,7 +30,6 @@ function cron_run(&$argv, &$argc){
require_once('include/session.php');
require_once('include/datetime.php');
- require_once('library/simplepie/simplepie.inc');
require_once('include/items.php');
require_once('include/Contact.php');
require_once('include/email.php');
@@ -164,6 +163,9 @@ function cron_run(&$argv, &$argc){
// Repair missing Diaspora values in contacts
cron_repair_diaspora($a);
+ // Repair entries in the database
+ cron_repair_database();
+
$manual_id = 0;
$generation = 0;
$force = false;
@@ -417,6 +419,23 @@ function cron_repair_diaspora(&$a) {
}
}
+/**
+ * @brief Do some repairs in database entries
+ *
+ */
+function cron_repair_database() {
+
+ // Set the parent if it wasn't set. (Shouldn't happen - but does sometimes)
+ // This call is very "cheap" so we can do it at any time without a problem
+ q("UPDATE `item` INNER JOIN `item` AS `parent` ON `parent`.`uri` = `item`.`parent-uri` AND `parent`.`uid` = `item`.`uid` SET `item`.`parent` = `parent`.`id` WHERE `item`.`parent` = 0");
+
+ /// @todo
+ /// - remove thread entries without item
+ /// - remove sign entries without item
+ /// - remove children when parent got lost
+ /// - set contact-id in item when not present
+}
+
if (array_search(__file__,get_included_files())===0){
cron_run($_SERVER["argv"],$_SERVER["argc"]);
killme();
diff --git a/include/dbstructure.php b/include/dbstructure.php
index 43dfbd7b35..96d18cd789 100644
--- a/include/dbstructure.php
+++ b/include/dbstructure.php
@@ -453,6 +453,7 @@ function db_definition() {
"keywords" => array("type" => "text", "not null" => "1"),
"gender" => array("type" => "varchar(32)", "not null" => "1", "default" => ""),
"attag" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
+ "avatar" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
"photo" => array("type" => "text", "not null" => "1"),
"thumb" => array("type" => "text", "not null" => "1"),
"micro" => array("type" => "text", "not null" => "1"),
diff --git a/include/delivery.php b/include/delivery.php
index a888733619..5ef942dd06 100644
--- a/include/delivery.php
+++ b/include/delivery.php
@@ -5,6 +5,7 @@ require_once('include/html2plain.php');
require_once("include/Scrape.php");
require_once('include/diaspora.php');
require_once("include/ostatus.php");
+require_once("include/dfrn.php");
function delivery_run(&$argv, &$argc){
global $a, $db;
@@ -264,8 +265,6 @@ function delivery_run(&$argv, &$argc){
if(count($r))
$contact = $r[0];
- $hubxml = feed_hublinks();
-
if($contact['self'])
continue;
@@ -278,138 +277,54 @@ function delivery_run(&$argv, &$argc){
case NETWORK_DFRN:
logger('notifier: '.$target_item["guid"].' dfrndelivery: ' . $contact['name']);
- $feed_template = get_markup_template('atom_feed.tpl');
- $mail_template = get_markup_template('atom_mail.tpl');
-
- $atom = '';
-
-
- $birthday = feed_birthday($owner['uid'],$owner['timezone']);
-
- if(strlen($birthday))
- $birthday = '' . xmlify($birthday) . '';
-
- $atom .= replace_macros($feed_template, array(
- '$version' => xmlify(FRIENDICA_VERSION),
- '$feed_id' => xmlify($a->get_baseurl() . '/profile/' . $owner['nickname'] ),
- '$feed_title' => xmlify($owner['name']),
- '$feed_updated' => xmlify(datetime_convert('UTC', 'UTC', $updated . '+00:00' , ATOM_TIME)) ,
- '$hub' => $hubxml,
- '$salmon' => '', // private feed, we don't use salmon here
- '$name' => xmlify($owner['name']),
- '$profile_page' => xmlify($owner['url']),
- '$photo' => xmlify($owner['photo']),
- '$thumb' => xmlify($owner['thumb']),
- '$picdate' => xmlify(datetime_convert('UTC','UTC',$owner['avatar-date'] . '+00:00' , ATOM_TIME)) ,
- '$uridate' => xmlify(datetime_convert('UTC','UTC',$owner['uri-date'] . '+00:00' , ATOM_TIME)) ,
- '$namdate' => xmlify(datetime_convert('UTC','UTC',$owner['name-date'] . '+00:00' , ATOM_TIME)) ,
- '$birthday' => $birthday,
- '$community' => (($owner['page-flags'] == PAGE_COMMUNITY) ? '1' : '')
- ));
-
- if($mail) {
- $public_message = false; // mail is not public
-
- $body = fix_private_photos($item['body'],$owner['uid'],null,$message[0]['contact-id']);
-
- $atom .= replace_macros($mail_template, array(
- '$name' => xmlify($owner['name']),
- '$profile_page' => xmlify($owner['url']),
- '$thumb' => xmlify($owner['thumb']),
- '$item_id' => xmlify($item['uri']),
- '$subject' => xmlify($item['title']),
- '$created' => xmlify(datetime_convert('UTC', 'UTC', $item['created'] . '+00:00' , ATOM_TIME)),
- '$content' => xmlify($body),
- '$parent_id' => xmlify($item['parent-uri'])
- ));
- } elseif($fsuggest) {
- $public_message = false; // suggestions are not public
-
- $sugg_template = get_markup_template('atom_suggest.tpl');
-
- $atom .= replace_macros($sugg_template, array(
- '$name' => xmlify($item['name']),
- '$url' => xmlify($item['url']),
- '$photo' => xmlify($item['photo']),
- '$request' => xmlify($item['request']),
- '$note' => xmlify($item['note'])
- ));
-
- // We don't need this any more
-
- q("DELETE FROM `fsuggest` WHERE `id` = %d LIMIT 1",
- intval($item['id'])
- );
- } elseif($relocate) {
- $public_message = false; // suggestions are not public
-
- $sugg_template = get_markup_template('atom_relocate.tpl');
-
- /* get site pubkey. this could be a new installation with no site keys*/
- $pubkey = get_config('system','site_pubkey');
- if(! $pubkey) {
- $res = new_keypair(1024);
- set_config('system','site_prvkey', $res['prvkey']);
- set_config('system','site_pubkey', $res['pubkey']);
- }
-
- $rp = q("SELECT `resource-id` , `scale`, type FROM `photo`
- WHERE `profile` = 1 AND `uid` = %d ORDER BY scale;", $uid);
- $photos = array();
- $ext = Photo::supportedTypes();
- foreach($rp as $p){
- $photos[$p['scale']] = $a->get_baseurl().'/photo/'.$p['resource-id'].'-'.$p['scale'].'.'.$ext[$p['type']];
- }
- unset($rp, $ext);
-
- $atom .= replace_macros($sugg_template, array(
- '$name' => xmlify($owner['name']),
- '$photo' => xmlify($photos[4]),
- '$thumb' => xmlify($photos[5]),
- '$micro' => xmlify($photos[6]),
- '$url' => xmlify($owner['url']),
- '$request' => xmlify($owner['request']),
- '$confirm' => xmlify($owner['confirm']),
- '$notify' => xmlify($owner['notify']),
- '$poll' => xmlify($owner['poll']),
- '$sitepubkey' => xmlify(get_config('system','site_pubkey')),
- //'$pubkey' => xmlify($owner['pubkey']),
- //'$prvkey' => xmlify($owner['prvkey']),
- ));
- unset($photos);
- } elseif($followup) {
+ if ($mail) {
+ $item['body'] = fix_private_photos($item['body'],$owner['uid'],null,$message[0]['contact-id']);
+ $atom = dfrn::mail($item, $owner);
+ } elseif ($fsuggest) {
+ $atom = dfrn::fsuggest($item, $owner);
+ q("DELETE FROM `fsuggest` WHERE `id` = %d LIMIT 1", intval($item['id']));
+ } elseif ($relocate)
+ $atom = dfrn::relocate($owner, $uid);
+ elseif($followup) {
+ $msgitems = array();
foreach($items as $item) { // there is only one item
- if(! $item['parent'])
+ if(!$item['parent'])
continue;
if($item['id'] == $item_id) {
logger('followup: item: ' . print_r($item,true), LOGGER_DATA);
- $atom .= atom_entry($item,'text',null,$owner,false);
+ $msgitems[] = $item;
}
}
+ $atom = dfrn::entries($msgitems,$owner);
} else {
+ $msgitems = array();
foreach($items as $item) {
- if(! $item['parent'])
+ if(!$item['parent'])
continue;
// private emails may be in included in public conversations. Filter them.
- if(($public_message) && $item['private'] == 1)
+ if(($public_message) && $item['private'])
continue;
$item_contact = get_item_contact($item,$icontacts);
- if(! $item_contact)
+ if(!$item_contact)
continue;
if($normal_mode) {
- if($item_id == $item['id'] || $item['id'] == $item['parent'])
- $atom .= atom_entry($item,'text',null,$owner,true,(($top_level) ? $contact['id'] : 0));
- } else
- $atom .= atom_entry($item,'text',null,$owner,true);
+ if($item_id == $item['id'] || $item['id'] == $item['parent']) {
+ $item["entry:comment-allow"] = true;
+ $item["entry:cid"] = (($top_level) ? $contact['id'] : 0);
+ $msgitems[] = $item;
+ }
+ } else {
+ $item["entry:comment-allow"] = true;
+ $msgitems[] = $item;
+ }
}
+ $atom = dfrn::entries($msgitems,$owner);
}
- $atom .= '' . "\r\n";
-
- logger('notifier: '.$contact["url"].' '.$target_item["guid"].' entry: '.$atom, LOGGER_DEBUG);
+ logger('notifier entry: '.$contact["url"].' '.$target_item["guid"].' entry: '.$atom, LOGGER_DEBUG);
logger('notifier: ' . $atom, LOGGER_DATA);
$basepath = implode('/', array_slice(explode('/',$contact['url']),0,3));
@@ -458,7 +373,6 @@ function delivery_run(&$argv, &$argc){
if (($x[0]['page-flags'] == PAGE_SOAPBOX) AND $top_level)
break;
- require_once('library/simplepie/simplepie.inc');
logger('mod-delivery: local delivery');
local_delivery($x[0],$atom);
break;
@@ -466,7 +380,7 @@ function delivery_run(&$argv, &$argc){
}
if(! was_recently_delayed($contact['id']))
- $deliver_status = dfrn_deliver($owner,$contact,$atom);
+ $deliver_status = dfrn::deliver($owner,$contact,$atom);
else
$deliver_status = (-1);
diff --git a/include/dfrn.php b/include/dfrn.php
new file mode 100644
index 0000000000..2c8e8ce38f
--- /dev/null
+++ b/include/dfrn.php
@@ -0,0 +1,1048 @@
+formatOutput = true;
+
+ $root = self::add_header($doc, $owner, "dfrn:owner", "", false);
+
+ if(! count($items))
+ return trim($doc->saveXML());
+
+ foreach($items as $item) {
+ $entry = self::entry($doc, "text", $item, $owner, $item["entry:comment-allow"], $item["entry:cid"]);
+ $root->appendChild($entry);
+ }
+
+ return(trim($doc->saveXML()));
+ }
+
+ /**
+ * @brief Generate an atom feed for the given user
+ *
+ * This function is called when another server is pulling data from the user feed.
+ *
+ * @param string $dfrn_id DFRN ID from the requesting party
+ * @param string $owner_nick Owner nick name
+ * @param string $last_update Date of the last update
+ * @param int $direction Can be -1, 0 or 1.
+ *
+ * @return string DFRN feed entries
+ */
+ function feed($dfrn_id, $owner_nick, $last_update, $direction = 0) {
+
+ $a = get_app();
+
+ $sitefeed = ((strlen($owner_nick)) ? false : true); // not yet implemented, need to rewrite huge chunks of following logic
+ $public_feed = (($dfrn_id) ? false : true);
+ $starred = false; // not yet implemented, possible security issues
+ $converse = false;
+
+ if($public_feed && $a->argc > 2) {
+ for($x = 2; $x < $a->argc; $x++) {
+ if($a->argv[$x] == 'converse')
+ $converse = true;
+ if($a->argv[$x] == 'starred')
+ $starred = true;
+ if($a->argv[$x] === 'category' && $a->argc > ($x + 1) && strlen($a->argv[$x+1]))
+ $category = $a->argv[$x+1];
+ }
+ }
+
+
+
+ // default permissions - anonymous user
+
+ $sql_extra = " AND `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = '' ";
+
+ $r = q("SELECT `contact`.*, `user`.`uid` AS `user_uid`, `user`.`nickname`, `user`.`timezone`, `user`.`page-flags`
+ FROM `contact` INNER JOIN `user` ON `user`.`uid` = `contact`.`uid`
+ WHERE `contact`.`self` = 1 AND `user`.`nickname` = '%s' LIMIT 1",
+ dbesc($owner_nick)
+ );
+
+ if(! count($r))
+ killme();
+
+ $owner = $r[0];
+ $owner_id = $owner['user_uid'];
+ $owner_nick = $owner['nickname'];
+
+ $sql_post_table = "";
+ $visibility = "";
+
+ if(! $public_feed) {
+
+ $sql_extra = '';
+ switch($direction) {
+ case (-1):
+ $sql_extra = sprintf(" AND `issued-id` = '%s' ", dbesc($dfrn_id));
+ $my_id = $dfrn_id;
+ break;
+ case 0:
+ $sql_extra = sprintf(" AND `issued-id` = '%s' AND `duplex` = 1 ", dbesc($dfrn_id));
+ $my_id = '1:' . $dfrn_id;
+ break;
+ case 1:
+ $sql_extra = sprintf(" AND `dfrn-id` = '%s' AND `duplex` = 1 ", dbesc($dfrn_id));
+ $my_id = '0:' . $dfrn_id;
+ break;
+ default:
+ return false;
+ break; // NOTREACHED
+ }
+
+ $r = q("SELECT * FROM `contact` WHERE `blocked` = 0 AND `pending` = 0 AND `contact`.`uid` = %d $sql_extra LIMIT 1",
+ intval($owner_id)
+ );
+
+ if(! count($r))
+ killme();
+
+ $contact = $r[0];
+ require_once('include/security.php');
+ $groups = init_groups_visitor($contact['id']);
+
+ if(count($groups)) {
+ for($x = 0; $x < count($groups); $x ++)
+ $groups[$x] = '<' . intval($groups[$x]) . '>' ;
+ $gs = implode('|', $groups);
+ } else
+ $gs = '<<>>' ; // Impossible to match
+
+ $sql_extra = sprintf("
+ AND ( `allow_cid` = '' OR `allow_cid` REGEXP '<%d>' )
+ AND ( `deny_cid` = '' OR NOT `deny_cid` REGEXP '<%d>' )
+ AND ( `allow_gid` = '' OR `allow_gid` REGEXP '%s' )
+ AND ( `deny_gid` = '' OR NOT `deny_gid` REGEXP '%s')
+ ",
+ intval($contact['id']),
+ intval($contact['id']),
+ dbesc($gs),
+ dbesc($gs)
+ );
+ }
+
+ if($public_feed)
+ $sort = 'DESC';
+ else
+ $sort = 'ASC';
+
+ $date_field = "`changed`";
+ $sql_order = "`item`.`parent` ".$sort.", `item`.`created` ASC";
+
+ if(! strlen($last_update))
+ $last_update = 'now -30 days';
+
+ if(isset($category)) {
+ $sql_post_table = sprintf("INNER JOIN (SELECT `oid` FROM `term` WHERE `term` = '%s' AND `otype` = %d AND `type` = %d AND `uid` = %d ORDER BY `tid` DESC) AS `term` ON `item`.`id` = `term`.`oid` ",
+ dbesc(protect_sprintf($category)), intval(TERM_OBJ_POST), intval(TERM_CATEGORY), intval($owner_id));
+ //$sql_extra .= file_tag_file_query('item',$category,'category');
+ }
+
+ if($public_feed) {
+ if(! $converse)
+ $sql_extra .= " AND `contact`.`self` = 1 ";
+ }
+
+ $check_date = datetime_convert('UTC','UTC',$last_update,'Y-m-d H:i:s');
+
+ // AND ( `item`.`edited` > '%s' OR `item`.`changed` > '%s' )
+ // dbesc($check_date),
+
+ $r = q("SELECT STRAIGHT_JOIN `item`.*, `item`.`id` AS `item_id`,
+ `contact`.`name`, `contact`.`network`, `contact`.`photo`, `contact`.`url`,
+ `contact`.`name-date`, `contact`.`uri-date`, `contact`.`avatar-date`,
+ `contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`,
+ `contact`.`id` AS `contact-id`, `contact`.`uid` AS `contact-uid`,
+ `sign`.`signed_text`, `sign`.`signature`, `sign`.`signer`
+ FROM `item` $sql_post_table
+ INNER JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
+ AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
+ LEFT JOIN `sign` ON `sign`.`iid` = `item`.`id`
+ WHERE `item`.`uid` = %d AND `item`.`visible` = 1 and `item`.`moderated` = 0 AND `item`.`parent` != 0
+ AND ((`item`.`wall` = 1) $visibility) AND `item`.$date_field > '%s'
+ $sql_extra
+ ORDER BY $sql_order LIMIT 0, 300",
+ intval($owner_id),
+ dbesc($check_date),
+ dbesc($sort)
+ );
+
+ // Will check further below if this actually returned results.
+ // We will provide an empty feed if that is the case.
+
+ $items = $r;
+
+ $doc = new DOMDocument('1.0', 'utf-8');
+ $doc->formatOutput = true;
+
+ $alternatelink = $owner['url'];
+
+ if(isset($category))
+ $alternatelink .= "/category/".$category;
+
+ if ($public_feed)
+ $author = "dfrn:owner";
+ else
+ $author = "author";
+
+ $root = self::add_header($doc, $owner, $author, $alternatelink, true);
+
+ // This hook can't work anymore
+ // call_hooks('atom_feed', $atom);
+
+ if(! count($items)) {
+ $atom = trim($doc->saveXML());
+
+ call_hooks('atom_feed_end', $atom);
+
+ return $atom;
+ }
+
+ foreach($items as $item) {
+
+ // prevent private email from leaking.
+ if($item['network'] === NETWORK_MAIL)
+ continue;
+
+ // public feeds get html, our own nodes use bbcode
+
+ if($public_feed) {
+ $type = 'html';
+ // catch any email that's in a public conversation and make sure it doesn't leak
+ if($item['private'])
+ continue;
+ } else
+ $type = 'text';
+
+ $entry = self::entry($doc, $type, $item, $owner, true);
+ $root->appendChild($entry);
+
+ }
+
+ $atom = trim($doc->saveXML());
+
+ call_hooks('atom_feed_end', $atom);
+
+ return $atom;
+ }
+
+ /**
+ * @brief Create XML text for DFRN mails
+ *
+ * @param array $item message elements
+ * @param array $owner Owner record
+ *
+ * @return string DFRN mail
+ */
+ function mail($item, $owner) {
+ $doc = new DOMDocument('1.0', 'utf-8');
+ $doc->formatOutput = true;
+
+ $root = self::add_header($doc, $owner, "dfrn:owner", "", false);
+
+ $mail = $doc->createElement("dfrn:mail");
+ $sender = $doc->createElement("dfrn:sender");
+
+ xml_add_element($doc, $sender, "dfrn:name", $owner['name']);
+ xml_add_element($doc, $sender, "dfrn:uri", $owner['url']);
+ xml_add_element($doc, $sender, "dfrn:avatar", $owner['thumb']);
+
+ $mail->appendChild($sender);
+
+ xml_add_element($doc, $mail, "dfrn:id", $item['uri']);
+ xml_add_element($doc, $mail, "dfrn:in-reply-to", $item['parent-uri']);
+ xml_add_element($doc, $mail, "dfrn:sentdate", datetime_convert('UTC', 'UTC', $item['created'] . '+00:00' , ATOM_TIME));
+ xml_add_element($doc, $mail, "dfrn:subject", $item['title']);
+ xml_add_element($doc, $mail, "dfrn:content", $item['body']);
+
+ $root->appendChild($mail);
+
+ return(trim($doc->saveXML()));
+ }
+
+ /**
+ * @brief Create XML text for DFRN friend suggestions
+ *
+ * @param array $item suggestion elements
+ * @param array $owner Owner record
+ *
+ * @return string DFRN suggestions
+ */
+ function fsuggest($item, $owner) {
+ $doc = new DOMDocument('1.0', 'utf-8');
+ $doc->formatOutput = true;
+
+ $root = self::add_header($doc, $owner, "dfrn:owner", "", false);
+
+ $suggest = $doc->createElement("dfrn:suggest");
+
+ xml_add_element($doc, $suggest, "dfrn:url", $item['url']);
+ xml_add_element($doc, $suggest, "dfrn:name", $item['name']);
+ xml_add_element($doc, $suggest, "dfrn:photo", $item['photo']);
+ xml_add_element($doc, $suggest, "dfrn:request", $item['request']);
+ xml_add_element($doc, $suggest, "dfrn:note", $item['note']);
+
+ $root->appendChild($suggest);
+
+ return(trim($doc->saveXML()));
+ }
+
+ /**
+ * @brief Create XML text for DFRN relocations
+ *
+ * @param array $owner Owner record
+ * @param int $uid User ID
+ *
+ * @return string DFRN relocations
+ */
+ function relocate($owner, $uid) {
+
+ /* get site pubkey. this could be a new installation with no site keys*/
+ $pubkey = get_config('system','site_pubkey');
+ if(! $pubkey) {
+ $res = new_keypair(1024);
+ set_config('system','site_prvkey', $res['prvkey']);
+ set_config('system','site_pubkey', $res['pubkey']);
+ }
+
+ $rp = q("SELECT `resource-id` , `scale`, type FROM `photo`
+ WHERE `profile` = 1 AND `uid` = %d ORDER BY scale;", $uid);
+ $photos = array();
+ $ext = Photo::supportedTypes();
+
+ foreach($rp as $p)
+ $photos[$p['scale']] = app::get_baseurl().'/photo/'.$p['resource-id'].'-'.$p['scale'].'.'.$ext[$p['type']];
+
+ unset($rp, $ext);
+
+ $doc = new DOMDocument('1.0', 'utf-8');
+ $doc->formatOutput = true;
+
+ $root = self::add_header($doc, $owner, "dfrn:owner", "", false);
+
+ $relocate = $doc->createElement("dfrn:relocate");
+
+ xml_add_element($doc, $relocate, "dfrn:url", $owner['url']);
+ xml_add_element($doc, $relocate, "dfrn:name", $owner['name']);
+ xml_add_element($doc, $relocate, "dfrn:photo", $photos[4]);
+ xml_add_element($doc, $relocate, "dfrn:thumb", $photos[5]);
+ xml_add_element($doc, $relocate, "dfrn:micro", $photos[6]);
+ xml_add_element($doc, $relocate, "dfrn:request", $owner['request']);
+ xml_add_element($doc, $relocate, "dfrn:confirm", $owner['confirm']);
+ xml_add_element($doc, $relocate, "dfrn:notify", $owner['notify']);
+ xml_add_element($doc, $relocate, "dfrn:poll", $owner['poll']);
+ xml_add_element($doc, $relocate, "dfrn:sitepubkey", get_config('system','site_pubkey'));
+
+ $root->appendChild($relocate);
+
+ return(trim($doc->saveXML()));
+ }
+
+ /**
+ * @brief Adds the header elements for the DFRN protocol
+ *
+ * @param object $doc XML document
+ * @param array $owner Owner record
+ * @param string $authorelement Element name for the author
+ * @param string $alternatelink link to profile or category
+ * @param bool $public Is it a header for public posts?
+ *
+ * @return object XML root object
+ */
+ private function add_header($doc, $owner, $authorelement, $alternatelink = "", $public = false) {
+
+ if ($alternatelink == "")
+ $alternatelink = $owner['url'];
+
+ $root = $doc->createElementNS(NS_ATOM, 'feed');
+ $doc->appendChild($root);
+
+ $root->setAttribute("xmlns:thr", NS_THR);
+ $root->setAttribute("xmlns:at", "http://purl.org/atompub/tombstones/1.0");
+ $root->setAttribute("xmlns:media", NS_MEDIA);
+ $root->setAttribute("xmlns:dfrn", "http://purl.org/macgirvin/dfrn/1.0");
+ $root->setAttribute("xmlns:activity", NS_ACTIVITY);
+ $root->setAttribute("xmlns:georss", NS_GEORSS);
+ $root->setAttribute("xmlns:poco", NS_POCO);
+ $root->setAttribute("xmlns:ostatus", NS_OSTATUS);
+ $root->setAttribute("xmlns:statusnet", NS_STATUSNET);
+
+ //xml_add_element($doc, $root, "id", app::get_baseurl()."/profile/".$owner["nick"]);
+ xml_add_element($doc, $root, "id", app::get_baseurl()."/profile/".$owner["nick"]);
+ xml_add_element($doc, $root, "title", $owner["name"]);
+
+ $attributes = array("uri" => "https://friendi.ca", "version" => FRIENDICA_VERSION."-".DB_UPDATE_VERSION);
+ xml_add_element($doc, $root, "generator", FRIENDICA_PLATFORM, $attributes);
+
+ $attributes = array("rel" => "license", "href" => "http://creativecommons.org/licenses/by/3.0/");
+ xml_add_element($doc, $root, "link", "", $attributes);
+
+ $attributes = array("rel" => "alternate", "type" => "text/html", "href" => $alternatelink);
+ xml_add_element($doc, $root, "link", "", $attributes);
+
+ ostatus_hublinks($doc, $root);
+
+ if ($public) {
+ $attributes = array("rel" => "salmon", "href" => app::get_baseurl()."/salmon/".$owner["nick"]);
+ xml_add_element($doc, $root, "link", "", $attributes);
+
+ $attributes = array("rel" => "http://salmon-protocol.org/ns/salmon-replies", "href" => app::get_baseurl()."/salmon/".$owner["nick"]);
+ xml_add_element($doc, $root, "link", "", $attributes);
+
+ $attributes = array("rel" => "http://salmon-protocol.org/ns/salmon-mention", "href" => app::get_baseurl()."/salmon/".$owner["nick"]);
+ xml_add_element($doc, $root, "link", "", $attributes);
+ }
+
+ if ($owner['page-flags'] == PAGE_COMMUNITY)
+ xml_add_element($doc, $root, "dfrn:community", 1);
+
+ xml_add_element($doc, $root, "updated", datetime_convert("UTC", "UTC", "now", ATOM_TIME));
+
+ $author = self::add_author($doc, $owner, $authorelement, $public);
+ $root->appendChild($author);
+
+ return $root;
+ }
+
+ /**
+ * @brief Adds the author element in the header for the DFRN protocol
+ *
+ * @param object $doc XML document
+ * @param array $owner Owner record
+ * @param string $authorelement Element name for the author
+ *
+ * @return object XML author object
+ */
+ private function add_author($doc, $owner, $authorelement, $public) {
+
+ $author = $doc->createElement($authorelement);
+
+ $namdate = datetime_convert('UTC', 'UTC', $owner['name-date'].'+00:00' , ATOM_TIME);
+ $uridate = datetime_convert('UTC', 'UTC', $owner['uri-date'].'+00:00', ATOM_TIME);
+ $picdate = datetime_convert('UTC', 'UTC', $owner['avatar-date'].'+00:00', ATOM_TIME);
+
+ $attributes = array("dfrn:updated" => $namdate);
+ xml_add_element($doc, $author, "name", $owner["name"], $attributes);
+
+ $attributes = array("dfrn:updated" => $namdate);
+ xml_add_element($doc, $author, "uri", app::get_baseurl().'/profile/'.$owner["nickname"], $attributes);
+
+ $attributes = array("dfrn:updated" => $namdate);
+ xml_add_element($doc, $author, "dfrn:handle", $owner["addr"], $attributes);
+
+ $attributes = array("rel" => "photo", "type" => "image/jpeg", "dfrn:updated" => $picdate,
+ "media:width" => 175, "media:height" => 175, "href" => $owner['photo']);
+ xml_add_element($doc, $author, "link", "", $attributes);
+
+ $attributes = array("rel" => "avatar", "type" => "image/jpeg", "dfrn:updated" => $picdate,
+ "media:width" => 175, "media:height" => 175, "href" => $owner['photo']);
+ xml_add_element($doc, $author, "link", "", $attributes);
+
+ $birthday = feed_birthday($owner['user_uid'], $owner['timezone']);
+
+ if ($birthday)
+ xml_add_element($doc, $author, "dfrn:birthday", $birthday);
+
+ // The following fields will only be generated if this isn't for a public feed
+ if ($public)
+ return $author;
+
+ // Only show contact details when we are allowed to
+ $r = q("SELECT `profile`.`about`, `profile`.`name`, `profile`.`homepage`, `user`.`nickname`, `user`.`timezone`,
+ `profile`.`locality`, `profile`.`region`, `profile`.`country-name`, `profile`.`pub_keywords`, `profile`.`dob`
+ FROM `profile`
+ INNER JOIN `user` ON `user`.`uid` = `profile`.`uid`
+ WHERE `profile`.`is-default` AND NOT `user`.`hidewall` AND `user`.`uid` = %d",
+ intval($owner['user_uid']));
+ if ($r) {
+ $profile = $r[0];
+ xml_add_element($doc, $author, "poco:displayName", $profile["name"]);
+ xml_add_element($doc, $author, "poco:updated", $namdate);
+
+ if (trim($profile["dob"]) != "0000-00-00")
+ xml_add_element($doc, $author, "poco:birthday", "0000-".date("m-d", strtotime($profile["dob"])));
+
+ xml_add_element($doc, $author, "poco:note", $profile["about"]);
+ xml_add_element($doc, $author, "poco:preferredUsername", $profile["nickname"]);
+
+ $savetz = date_default_timezone_get();
+ date_default_timezone_set($profile["timezone"]);
+ xml_add_element($doc, $author, "poco:utcOffset", date("P"));
+ date_default_timezone_set($savetz);
+
+ if (trim($profile["homepage"]) != "") {
+ $urls = $doc->createElement("poco:urls");
+ xml_add_element($doc, $urls, "poco:type", "homepage");
+ xml_add_element($doc, $urls, "poco:value", $profile["homepage"]);
+ xml_add_element($doc, $urls, "poco:primary", "true");
+ $author->appendChild($urls);
+ }
+
+ if (trim($profile["pub_keywords"]) != "") {
+ $keywords = explode(",", $profile["pub_keywords"]);
+
+ foreach ($keywords AS $keyword)
+ xml_add_element($doc, $author, "poco:tags", trim($keyword));
+
+ }
+
+ /// @todo When we are having the XMPP address in the profile we should propagate it here
+ $xmpp = "";
+ if (trim($xmpp) != "") {
+ $ims = $doc->createElement("poco:ims");
+ xml_add_element($doc, $ims, "poco:type", "xmpp");
+ xml_add_element($doc, $ims, "poco:value", $xmpp);
+ xml_add_element($doc, $ims, "poco:primary", "true");
+ $author->appendChild($ims);
+ }
+
+ if (trim($profile["locality"].$profile["region"].$profile["country-name"]) != "") {
+ $element = $doc->createElement("poco:address");
+
+ xml_add_element($doc, $element, "poco:formatted", formatted_location($profile));
+
+ if (trim($profile["locality"]) != "")
+ xml_add_element($doc, $element, "poco:locality", $profile["locality"]);
+
+ if (trim($profile["region"]) != "")
+ xml_add_element($doc, $element, "poco:region", $profile["region"]);
+
+ if (trim($profile["country-name"]) != "")
+ xml_add_element($doc, $element, "poco:country", $profile["country-name"]);
+
+ $author->appendChild($element);
+ }
+ }
+
+ return $author;
+ }
+
+ /**
+ * @brief Adds the author elements in the "entry" elements of the DFRN protocol
+ *
+ * @param object $doc XML document
+ * @param string $element Element name for the author
+ * @param string $contact_url Link of the contact
+ * @param array $items Item elements
+ *
+ * @return object XML author object
+ */
+ private function add_entry_author($doc, $element, $contact_url, $item) {
+
+ $contact = get_contact_details_by_url($contact_url, $item["uid"]);
+
+ $author = $doc->createElement($element);
+ xml_add_element($doc, $author, "name", $contact["name"]);
+ xml_add_element($doc, $author, "uri", $contact["url"]);
+ xml_add_element($doc, $author, "dfrn:handle", $contact["addr"]);
+
+ /// @Todo
+ /// - Check real image type and image size
+ /// - Check which of these boths elements we should use
+ $attributes = array(
+ "rel" => "photo",
+ "type" => "image/jpeg",
+ "media:width" => 80,
+ "media:height" => 80,
+ "href" => $contact["photo"]);
+ xml_add_element($doc, $author, "link", "", $attributes);
+
+ $attributes = array(
+ "rel" => "avatar",
+ "type" => "image/jpeg",
+ "media:width" => 80,
+ "media:height" => 80,
+ "href" => $contact["photo"]);
+ xml_add_element($doc, $author, "link", "", $attributes);
+
+ return $author;
+ }
+
+ /**
+ * @brief Adds the activity elements
+ *
+ * @param object $doc XML document
+ * @param string $element Element name for the activity
+ * @param string $activity activity value
+ *
+ * @return object XML activity object
+ */
+ private function create_activity($doc, $element, $activity) {
+
+ if($activity) {
+ $entry = $doc->createElement($element);
+
+ $r = parse_xml_string($activity, false);
+ if(!$r)
+ return false;
+ if($r->type)
+ xml_add_element($doc, $entry, "activity:object-type", $r->type);
+ if($r->id)
+ xml_add_element($doc, $entry, "id", $r->id);
+ if($r->title)
+ xml_add_element($doc, $entry, "title", $r->title);
+ if($r->link) {
+ if(substr($r->link,0,1) === '<') {
+ if(strstr($r->link,'&') && (! strstr($r->link,'&')))
+ $r->link = str_replace('&','&', $r->link);
+
+ $r->link = preg_replace('/\/','',$r->link);
+
+ $data = parse_xml_string($r->link, false);
+ foreach ($data->attributes() AS $parameter => $value)
+ $attributes[$parameter] = $value;
+ } else
+ $attributes = array("rel" => "alternate", "type" => "text/html", "href" => $r->link);
+
+ xml_add_element($doc, $entry, "link", "", $attributes);
+ }
+ if($r->content)
+ xml_add_element($doc, $entry, "content", bbcode($r->content), array("type" => "html"));
+
+ return $entry;
+ }
+
+ return false;
+ }
+
+ /**
+ * @brief Adds the elements for attachments
+ *
+ * @param object $doc XML document
+ * @param object $root XML root
+ * @param array $item Item element
+ *
+ * @return object XML attachment object
+ */
+ private function get_attachment($doc, $root, $item) {
+ $arr = explode('[/attach],',$item['attach']);
+ if(count($arr)) {
+ foreach($arr as $r) {
+ $matches = false;
+ $cnt = preg_match('|\[attach\]href=\"(.*?)\" length=\"(.*?)\" type=\"(.*?)\" title=\"(.*?)\"|',$r,$matches);
+ if($cnt) {
+ $attributes = array("rel" => "enclosure",
+ "href" => $matches[1],
+ "type" => $matches[3]);
+
+ if(intval($matches[2]))
+ $attributes["length"] = intval($matches[2]);
+
+ if(trim($matches[4]) != "")
+ $attributes["title"] = trim($matches[4]);
+
+ xml_add_element($doc, $root, "link", "", $attributes);
+ }
+ }
+ }
+ }
+
+ /**
+ * @brief Adds the "entry" elements for the DFRN protocol
+ *
+ * @param object $doc XML document
+ * @param string $type "text" or "html"
+ * @param array $item Item element
+ * @param array $owner Owner record
+ * @param bool $comment Trigger the sending of the "comment" element
+ * @param int $cid Contact ID of the recipient
+ *
+ * @return object XML entry object
+ */
+ private function entry($doc, $type, $item, $owner, $comment = false, $cid = 0) {
+
+ $mentioned = array();
+
+ if(!$item['parent'])
+ return;
+
+ if($item['deleted']) {
+ $attributes = array("ref" => $item['uri'], "when" => datetime_convert('UTC','UTC',$item['edited'] . '+00:00',ATOM_TIME));
+ return xml_create_element($doc, "at:deleted-entry", "", $attributes);
+ }
+
+ $entry = $doc->createElement("entry");
+
+ if($item['allow_cid'] || $item['allow_gid'] || $item['deny_cid'] || $item['deny_gid'])
+ $body = fix_private_photos($item['body'],$owner['uid'],$item,$cid);
+ else
+ $body = $item['body'];
+
+ if ($type == 'html') {
+ $htmlbody = $body;
+
+ if ($item['title'] != "")
+ $htmlbody = "[b]".$item['title']."[/b]\n\n".$htmlbody;
+
+ $htmlbody = bbcode($htmlbody, false, false, 7);
+ }
+
+ $author = self::add_entry_author($doc, "author", $item["author-link"], $item);
+ $entry->appendChild($author);
+
+ $dfrnowner = self::add_entry_author($doc, "dfrn:owner", $item["owner-link"], $item);
+ $entry->appendChild($dfrnowner);
+
+ if(($item['parent'] != $item['id']) || ($item['parent-uri'] !== $item['uri']) || (($item['thr-parent'] !== '') && ($item['thr-parent'] !== $item['uri']))) {
+ $parent = q("SELECT `guid` FROM `item` WHERE `id` = %d", intval($item["parent"]));
+ $parent_item = (($item['thr-parent']) ? $item['thr-parent'] : $item['parent-uri']);
+ $attributes = array("ref" => $parent_item, "type" => "text/html",
+ "href" => app::get_baseurl().'/display/'.$parent[0]['guid'],
+ "dfrn:diaspora_guid" => $parent[0]['guid']);
+ xml_add_element($doc, $entry, "thr:in-reply-to", "", $attributes);
+ }
+
+ xml_add_element($doc, $entry, "id", $item["uri"]);
+ xml_add_element($doc, $entry, "title", $item["title"]);
+
+ xml_add_element($doc, $entry, "published", datetime_convert("UTC","UTC",$item["created"]."+00:00",ATOM_TIME));
+ xml_add_element($doc, $entry, "updated", datetime_convert("UTC","UTC",$item["edited"]."+00:00",ATOM_TIME));
+
+ xml_add_element($doc, $entry, "dfrn:env", base64url_encode($body, true));
+ xml_add_element($doc, $entry, "content", (($type === 'html') ? $htmlbody : $body), array("type" => $type));
+
+ xml_add_element($doc, $entry, "link", "", array("rel" => "alternate", "type" => "text/html",
+ "href" => app::get_baseurl()."/display/".$item["guid"]));
+
+ // "comment-allow" is some old fashioned stuff for old Friendica versions.
+ // It is included in the rewritten code for completeness
+ if ($comment)
+ xml_add_element($doc, $entry, "dfrn:comment-allow", intval($item['last-child']));
+
+ if($item['location'])
+ xml_add_element($doc, $entry, "dfrn:location", $item['location']);
+
+ if($item['coord'])
+ xml_add_element($doc, $entry, "georss:point", $item['coord']);
+
+ if(($item['private']) || strlen($item['allow_cid']) || strlen($item['allow_gid']) || strlen($item['deny_cid']) || strlen($item['deny_gid']))
+ xml_add_element($doc, $entry, "dfrn:private", (($item['private']) ? $item['private'] : 1));
+
+ if($item['extid'])
+ xml_add_element($doc, $entry, "dfrn:extid", $item['extid']);
+
+ if($item['bookmark'])
+ xml_add_element($doc, $entry, "dfrn:bookmark", "true");
+
+ if($item['app'])
+ xml_add_element($doc, $entry, "statusnet:notice_info", "", array("local_id" => $item['id'], "source" => $item['app']));
+
+ xml_add_element($doc, $entry, "dfrn:diaspora_guid", $item["guid"]);
+
+ // The signed text contains the content in Markdown, the sender handle and the signatur for the content
+ // It is needed for relayed comments to Diaspora.
+ if($item['signed_text']) {
+ $sign = base64_encode(json_encode(array('signed_text' => $item['signed_text'],'signature' => $item['signature'],'signer' => $item['signer'])));
+ xml_add_element($doc, $entry, "dfrn:diaspora_signature", $sign);
+ }
+
+ xml_add_element($doc, $entry, "activity:verb", construct_verb($item));
+
+ if ($item['object-type'] != "")
+ xml_add_element($doc, $entry, "activity:object-type", $item['object-type']);
+ elseif ($item['id'] == $item['parent'])
+ xml_add_element($doc, $entry, "activity:object-type", ACTIVITY_OBJ_NOTE);
+ else
+ xml_add_element($doc, $entry, "activity:object-type", ACTIVITY_OBJ_COMMENT);
+
+ $actobj = self::create_activity($doc, "activity:object", $item['object']);
+ if ($actobj)
+ $entry->appendChild($actobj);
+
+ $actarg = self::create_activity($doc, "activity:target", $item['target']);
+ if ($actarg)
+ $entry->appendChild($actarg);
+
+ $tags = item_getfeedtags($item);
+
+ if(count($tags)) {
+ foreach($tags as $t)
+ if (($type != 'html') OR ($t[0] != "@"))
+ xml_add_element($doc, $entry, "category", "", array("scheme" => "X-DFRN:".$t[0].":".$t[1], "term" => $t[2]));
+ }
+
+ if(count($tags))
+ foreach($tags as $t)
+ if ($t[0] == "@")
+ $mentioned[$t[1]] = $t[1];
+
+ foreach ($mentioned AS $mention) {
+ $r = q("SELECT `forum`, `prv` FROM `contact` WHERE `uid` = %d AND `nurl` = '%s'",
+ intval($owner["uid"]),
+ dbesc(normalise_link($mention)));
+ if ($r[0]["forum"] OR $r[0]["prv"])
+ xml_add_element($doc, $entry, "link", "", array("rel" => "mentioned",
+ "ostatus:object-type" => ACTIVITY_OBJ_GROUP,
+ "href" => $mention));
+ else
+ xml_add_element($doc, $entry, "link", "", array("rel" => "mentioned",
+ "ostatus:object-type" => ACTIVITY_OBJ_PERSON,
+ "href" => $mention));
+ }
+
+ self::get_attachment($doc, $entry, $item);
+
+ return $entry;
+ }
+
+ /**
+ * @brief Delivers the atom content to the contacts
+ *
+ * @param array $owner Owner record
+ * @param array $contactr Contact record of the receiver
+ * @param string $atom Content that will be transmitted
+ * @param bool $dissolve (to be documented)
+ *
+ * @return int Deliver status. -1 means an error.
+ */
+ function deliver($owner,$contact,$atom, $dissolve = false) {
+
+ $a = get_app();
+
+ $idtosend = $orig_id = (($contact['dfrn-id']) ? $contact['dfrn-id'] : $contact['issued-id']);
+
+ if($contact['duplex'] && $contact['dfrn-id'])
+ $idtosend = '0:' . $orig_id;
+ if($contact['duplex'] && $contact['issued-id'])
+ $idtosend = '1:' . $orig_id;
+
+
+ $rino = get_config('system','rino_encrypt');
+ $rino = intval($rino);
+ // use RINO1 if mcrypt isn't installed and RINO2 was selected
+ if ($rino==2 and !function_exists('mcrypt_create_iv')) $rino=1;
+
+ logger("Local rino version: ". $rino, LOGGER_DEBUG);
+
+ $ssl_val = intval(get_config('system','ssl_policy'));
+ $ssl_policy = '';
+
+ switch($ssl_val){
+ case SSL_POLICY_FULL:
+ $ssl_policy = 'full';
+ break;
+ case SSL_POLICY_SELFSIGN:
+ $ssl_policy = 'self';
+ break;
+ case SSL_POLICY_NONE:
+ default:
+ $ssl_policy = 'none';
+ break;
+ }
+
+ $url = $contact['notify'] . '&dfrn_id=' . $idtosend . '&dfrn_version=' . DFRN_PROTOCOL_VERSION . (($rino) ? '&rino='.$rino : '');
+
+ logger('dfrn_deliver: ' . $url);
+
+ $xml = fetch_url($url);
+
+ $curl_stat = $a->get_curl_code();
+ if(! $curl_stat)
+ return(-1); // timed out
+
+ logger('dfrn_deliver: ' . $xml, LOGGER_DATA);
+
+ if(! $xml)
+ return 3;
+
+ if(strpos($xml,'status) != 0) || (! strlen($res->challenge)) || (! strlen($res->dfrn_id)))
+ return (($res->status) ? $res->status : 3);
+
+ $postvars = array();
+ $sent_dfrn_id = hex2bin((string) $res->dfrn_id);
+ $challenge = hex2bin((string) $res->challenge);
+ $perm = (($res->perm) ? $res->perm : null);
+ $dfrn_version = (float) (($res->dfrn_version) ? $res->dfrn_version : 2.0);
+ $rino_remote_version = intval($res->rino);
+ $page = (($owner['page-flags'] == PAGE_COMMUNITY) ? 1 : 0);
+
+ logger("Remote rino version: ".$rino_remote_version." for ".$contact["url"], LOGGER_DEBUG);
+
+ if($owner['page-flags'] == PAGE_PRVGROUP)
+ $page = 2;
+
+ $final_dfrn_id = '';
+
+ if($perm) {
+ if((($perm == 'rw') && (! intval($contact['writable'])))
+ || (($perm == 'r') && (intval($contact['writable'])))) {
+ q("update contact set writable = %d where id = %d",
+ intval(($perm == 'rw') ? 1 : 0),
+ intval($contact['id'])
+ );
+ $contact['writable'] = (string) 1 - intval($contact['writable']);
+ }
+ }
+
+ if(($contact['duplex'] && strlen($contact['pubkey']))
+ || ($owner['page-flags'] == PAGE_COMMUNITY && strlen($contact['pubkey']))
+ || ($contact['rel'] == CONTACT_IS_SHARING && strlen($contact['pubkey']))) {
+ openssl_public_decrypt($sent_dfrn_id,$final_dfrn_id,$contact['pubkey']);
+ openssl_public_decrypt($challenge,$postvars['challenge'],$contact['pubkey']);
+ } else {
+ openssl_private_decrypt($sent_dfrn_id,$final_dfrn_id,$contact['prvkey']);
+ openssl_private_decrypt($challenge,$postvars['challenge'],$contact['prvkey']);
+ }
+
+ $final_dfrn_id = substr($final_dfrn_id, 0, strpos($final_dfrn_id, '.'));
+
+ if(strpos($final_dfrn_id,':') == 1)
+ $final_dfrn_id = substr($final_dfrn_id,2);
+
+ if($final_dfrn_id != $orig_id) {
+ logger('dfrn_deliver: wrong dfrn_id.');
+ // did not decode properly - cannot trust this site
+ return 3;
+ }
+
+ $postvars['dfrn_id'] = $idtosend;
+ $postvars['dfrn_version'] = DFRN_PROTOCOL_VERSION;
+ if($dissolve)
+ $postvars['dissolve'] = '1';
+
+
+ if((($contact['rel']) && ($contact['rel'] != CONTACT_IS_SHARING) && (! $contact['blocked'])) || ($owner['page-flags'] == PAGE_COMMUNITY)) {
+ $postvars['data'] = $atom;
+ $postvars['perm'] = 'rw';
+ } else {
+ $postvars['data'] = str_replace('1','0',$atom);
+ $postvars['perm'] = 'r';
+ }
+
+ $postvars['ssl_policy'] = $ssl_policy;
+
+ if($page)
+ $postvars['page'] = $page;
+
+
+ if($rino>0 && $rino_remote_version>0 && (! $dissolve)) {
+ logger('rino version: '. $rino_remote_version);
+
+ switch($rino_remote_version) {
+ case 1:
+ // Deprecated rino version!
+ $key = substr(random_string(),0,16);
+ $data = aes_encrypt($postvars['data'],$key);
+ break;
+ case 2:
+ // RINO 2 based on php-encryption
+ try {
+ $key = Crypto::createNewRandomKey();
+ } catch (CryptoTestFailed $ex) {
+ logger('Cannot safely create a key');
+ return -1;
+ } catch (CannotPerformOperation $ex) {
+ logger('Cannot safely create a key');
+ return -1;
+ }
+ try {
+ $data = Crypto::encrypt($postvars['data'], $key);
+ } catch (CryptoTestFailed $ex) {
+ logger('Cannot safely perform encryption');
+ return -1;
+ } catch (CannotPerformOperation $ex) {
+ logger('Cannot safely perform encryption');
+ return -1;
+ }
+ break;
+ default:
+ logger("rino: invalid requested verision '$rino_remote_version'");
+ return -1;
+ }
+
+ $postvars['rino'] = $rino_remote_version;
+ $postvars['data'] = bin2hex($data);
+
+ #logger('rino: sent key = ' . $key, LOGGER_DEBUG);
+
+
+ if($dfrn_version >= 2.1) {
+ if(($contact['duplex'] && strlen($contact['pubkey']))
+ || ($owner['page-flags'] == PAGE_COMMUNITY && strlen($contact['pubkey']))
+ || ($contact['rel'] == CONTACT_IS_SHARING && strlen($contact['pubkey'])))
+
+ openssl_public_encrypt($key,$postvars['key'],$contact['pubkey']);
+ else
+ openssl_private_encrypt($key,$postvars['key'],$contact['prvkey']);
+
+ } else {
+ if(($contact['duplex'] && strlen($contact['prvkey'])) || ($owner['page-flags'] == PAGE_COMMUNITY))
+ openssl_private_encrypt($key,$postvars['key'],$contact['prvkey']);
+ else
+ openssl_public_encrypt($key,$postvars['key'],$contact['pubkey']);
+
+ }
+
+ logger('md5 rawkey ' . md5($postvars['key']));
+
+ $postvars['key'] = bin2hex($postvars['key']);
+ }
+
+
+ logger('dfrn_deliver: ' . "SENDING: " . print_r($postvars,true), LOGGER_DATA);
+
+ $xml = post_url($contact['notify'],$postvars);
+
+ logger('dfrn_deliver: ' . "RECEIVED: " . $xml, LOGGER_DATA);
+
+ $curl_stat = $a->get_curl_code();
+ if((! $curl_stat) || (! strlen($xml)))
+ return(-1); // timed out
+
+ if(($curl_stat == 503) && (stristr($a->get_curl_headers(),'retry-after')))
+ return(-1);
+
+ if(strpos($xml,'status;
+ }
+}
diff --git a/include/diaspora.php b/include/diaspora.php
index f03486fc21..93fe2a472f 100644
--- a/include/diaspora.php
+++ b/include/diaspora.php
@@ -14,6 +14,7 @@ require_once('include/queue_fn.php');
require_once('include/lock.php');
require_once('include/threads.php');
require_once('mod/share.php');
+require_once('include/enotify.php');
function diaspora_dispatch_public($msg) {
@@ -728,7 +729,7 @@ function diaspora_request($importer,$xml) {
require_once('include/Photo.php');
- $photos = import_profile_photo($contact_record['photo'],$importer['uid'],$contact_record['id']);
+ update_contact_avatar($contact_record['photo'],$importer['uid'],$contact_record['id']);
// technically they are sharing with us (CONTACT_IS_SHARING),
// but if our page-type is PAGE_COMMUNITY or PAGE_SOAPBOX
@@ -739,26 +740,17 @@ function diaspora_request($importer,$xml) {
else
$new_relation = CONTACT_IS_FOLLOWER;
- $r = q("UPDATE `contact` SET
- `photo` = '%s',
- `thumb` = '%s',
- `micro` = '%s',
- `rel` = %d,
+ $r = q("UPDATE `contact` SET `rel` = %d,
`name-date` = '%s',
`uri-date` = '%s',
- `avatar-date` = '%s',
`blocked` = 0,
`pending` = 0,
`writable` = 1
WHERE `id` = %d
",
- dbesc($photos[0]),
- dbesc($photos[1]),
- dbesc($photos[2]),
intval($new_relation),
dbesc(datetime_convert()),
dbesc(datetime_convert()),
- dbesc(datetime_convert()),
intval($contact_record['id'])
);
@@ -826,6 +818,23 @@ function diaspora_plink($addr, $guid) {
return 'https://'.substr($addr,strpos($addr,'@')+1).'/posts/'.$guid;
}
+function diaspora_repair_signature($signature, $handle = "", $level = 1) {
+
+ if ($signature == "")
+ return($signature);
+
+ if (base64_encode(base64_decode(base64_decode($signature))) == base64_decode($signature)) {
+ $signature = base64_decode($signature);
+ logger("Repaired double encoded signature from Diaspora/Hubzilla handle ".$handle." - level ".$level, LOGGER_DEBUG);
+
+ // Do a recursive call to be able to fix even multiple levels
+ if ($level < 10)
+ $signature = diaspora_repair_signature($signature, $handle, ++$level);
+ }
+
+ return($signature);
+}
+
function diaspora_post($importer,$xml,$msg) {
$a = get_app();
@@ -1565,62 +1574,22 @@ function diaspora_comment($importer,$xml,$msg) {
//);
//}
- if(($parent_item['origin']) && (! $parent_author_signature)) {
+ // If we are the origin of the parent we store the original signature and notify our followers
+ if($parent_item['origin']) {
+ $author_signature_base64 = base64_encode($author_signature);
+ $author_signature_base64 = diaspora_repair_signature($author_signature_base64, $diaspora_handle);
+
q("insert into sign (`iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ",
intval($message_id),
dbesc($signed_data),
- dbesc(base64_encode($author_signature)),
+ dbesc($author_signature_base64),
dbesc($diaspora_handle)
);
- // if the message isn't already being relayed, notify others
- // the existence of parent_author_signature means the parent_author or owner
- // is already relaying.
-
+ // notify others
proc_run('php','include/notifier.php','comment-import',$message_id);
}
- $myconv = q("SELECT `author-link`, `author-avatar`, `parent` FROM `item` WHERE `parent-uri` = '%s' AND `uid` = %d AND `parent` != 0 AND `deleted` = 0 ",
- dbesc($parent_item['uri']),
- intval($importer['uid'])
- );
-
- if(count($myconv)) {
- $importer_url = $a->get_baseurl() . '/profile/' . $importer['nickname'];
-
- foreach($myconv as $conv) {
-
- // now if we find a match, it means we're in this conversation
-
- if(! link_compare($conv['author-link'],$importer_url))
- continue;
-
- require_once('include/enotify.php');
-
- $conv_parent = $conv['parent'];
-
- notification(array(
- 'type' => NOTIFY_COMMENT,
- 'notify_flags' => $importer['notify-flags'],
- 'language' => $importer['language'],
- 'to_name' => $importer['username'],
- 'to_email' => $importer['email'],
- 'uid' => $importer['uid'],
- 'item' => $datarray,
- 'link' => $a->get_baseurl().'/display/'.urlencode($datarray['guid']),
- 'source_name' => $datarray['author-name'],
- 'source_link' => $datarray['author-link'],
- 'source_photo' => $datarray['author-avatar'],
- 'verb' => ACTIVITY_POST,
- 'otype' => 'item',
- 'parent' => $conv_parent,
- 'parent_uri' => $parent_uri
- ));
-
- // only send one notification
- break;
- }
- }
return;
}
@@ -1775,7 +1744,6 @@ function diaspora_conversation($importer,$xml,$msg) {
intval($conversation['id'])
);
- require_once('include/enotify.php');
notification(array(
'type' => NOTIFY_MAIL,
'notify_flags' => $importer['notify-flags'],
@@ -2226,21 +2194,21 @@ EOT;
// );
//}
- if(! $parent_author_signature) {
+ // If we are the origin of the parent we store the original signature and notify our followers
+ if($parent_item['origin']) {
+ $author_signature_base64 = base64_encode($author_signature);
+ $author_signature_base64 = diaspora_repair_signature($author_signature_base64, $diaspora_handle);
+
q("insert into sign (`iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ",
intval($message_id),
dbesc($signed_data),
- dbesc(base64_encode($author_signature)),
+ dbesc($author_signature_base64),
dbesc($diaspora_handle)
);
- }
- // if the message isn't already being relayed, notify others
- // the existence of parent_author_signature means the parent_author or owner
- // is already relaying. The parent_item['origin'] indicates the message was created on our system
-
- if(($parent_item['origin']) && (! $parent_author_signature))
+ // notify others
proc_run('php','include/notifier.php','comment-import',$message_id);
+ }
return;
}
@@ -2336,8 +2304,7 @@ function diaspora_signed_retraction($importer,$xml,$msg) {
return;
}
- }
- else {
+ } else {
$sig_decode = base64_decode($sig);
@@ -2371,7 +2338,7 @@ function diaspora_signed_retraction($importer,$xml,$msg) {
intval($r[0]['parent'])
);
if(count($p)) {
- if(($p[0]['origin']) && (! $parent_author_signature)) {
+ if($p[0]['origin']) {
q("insert into sign (`retract_iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ",
$r[0]['id'],
dbesc($signed_data),
@@ -2456,7 +2423,7 @@ function diaspora_profile($importer,$xml,$msg) {
require_once('include/Photo.php');
- $images = import_profile_photo($image_url,$importer['uid'],$contact['id']);
+ update_contact_avatar($image_url,$importer['uid'],$contact['id']);
// Generic birthday. We don't know the timezone. The year is irrelevant.
@@ -2474,15 +2441,12 @@ function diaspora_profile($importer,$xml,$msg) {
/// @TODO Update name on item['author-name'] if the name changed. See consume_feed()
/// (Not doing this currently because D* protocol is scheduled for revision soon).
- $r = q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `addr` = '%s', `name-date` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s', `avatar-date` = '%s' , `bd` = '%s', `location` = '%s', `about` = '%s', `keywords` = '%s', `gender` = '%s' WHERE `id` = %d AND `uid` = %d",
+ $r = q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `addr` = '%s', `name-date` = '%s', `bd` = '%s',
+ `location` = '%s', `about` = '%s', `keywords` = '%s', `gender` = '%s' WHERE `id` = %d AND `uid` = %d",
dbesc($name),
dbesc($nick),
dbesc($diaspora_handle),
dbesc(datetime_convert()),
- dbesc($image_url),
- dbesc($images[1]),
- dbesc($images[2]),
- dbesc(datetime_convert()),
dbesc($birthday),
dbesc($location),
dbesc($about),
@@ -2819,7 +2783,7 @@ function diaspora_send_followup($item,$owner,$contact,$public_batch = false) {
// sign it
if($like)
- $signed_text = $item['guid'] . ';' . $target_type . ';' . $parent['guid'] . ';' . $positive . ';' . $myaddr;
+ $signed_text = $positive . ';' . $item['guid'] . ';' . $target_type . ';' . $parent['guid'] . ';' . $myaddr;
else
$signed_text = $item['guid'] . ';' . $parent['guid'] . ';' . $text . ';' . $myaddr;
@@ -2852,9 +2816,6 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) {
$myaddr = $owner['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3);
// $theiraddr = $contact['addr'];
- $body = $item['body'];
- $text = html_entity_decode(bb2diaspora($body));
-
// Diaspora doesn't support threaded comments, but some
// versions of Diaspora (i.e. Diaspora-pistos) support
// likes on comments
@@ -2905,61 +2866,53 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) {
// fetch the original signature if the relayable was created by a Diaspora
// or DFRN user. Relayables for other networks are not supported.
-/* $r = q("select * from sign where " . $sql_sign_id . " = %d limit 1",
+ $r = q("SELECT `signed_text`, `signature`, `signer` FROM `sign` WHERE " . $sql_sign_id . " = %d LIMIT 1",
intval($item['id'])
);
- if(count($r)) {
+ if(count($r)) {
$orig_sign = $r[0];
$signed_text = $orig_sign['signed_text'];
$authorsig = $orig_sign['signature'];
$handle = $orig_sign['signer'];
+
+ // Split the signed text
+ $signed_parts = explode(";", $signed_text);
+
+ // Remove the parent guid
+ array_shift($signed_parts);
+
+ // Remove the comment guid
+ array_shift($signed_parts);
+
+ // Remove the handle
+ array_pop($signed_parts);
+
+ // Glue the parts together
+ $text = implode(";", $signed_parts);
}
else {
+ // This part is meant for cases where we don't have the signatur. (Which shouldn't happen with posts from Diaspora and Friendica)
+ // This means that the comment won't be accepted by newer Diaspora servers
- // Author signature information (for likes, comments, and retractions of likes or comments,
- // whether from Diaspora or Friendica) must be placed in the `sign` table before this
- // function is called
- logger('diaspora_send_relay: original author signature not found, cannot send relayable');
- return;
- }*/
+ $body = $item['body'];
+ $text = html_entity_decode(bb2diaspora($body));
- /* Since the author signature is only checked by the parent, not by the relay recipients,
- * I think it may not be necessary for us to do so much work to preserve all the original
- * signatures. The important thing that Diaspora DOES need is the original creator's handle.
- * Let's just generate that and forget about all the original author signature stuff.
- *
- * Note: this might be more of an problem if we want to support likes on comments for older
- * versions of Diaspora (diaspora-pistos), but since there are a number of problems with
- * doing that, let's ignore it for now.
- *
- * Currently, only DFRN contacts are supported. StatusNet shouldn't be hard, but it hasn't
- * been done yet
- */
+ $handle = diaspora_handle_from_contact($item['contact-id']);
+ if(! $handle)
+ return;
- $handle = diaspora_handle_from_contact($item['contact-id']);
- if(! $handle)
- return;
+ if($relay_retract)
+ $signed_text = $item['guid'] . ';' . $target_type;
+ elseif($like)
+ $signed_text = $item['guid'] . ';' . $target_type . ';' . $parent['guid'] . ';' . $positive . ';' . $handle;
+ else
+ $signed_text = $item['guid'] . ';' . $parent['guid'] . ';' . $text . ';' . $handle;
-
- if($relay_retract)
- $sender_signed_text = $item['guid'] . ';' . $target_type;
- elseif($like)
- $sender_signed_text = $item['guid'] . ';' . $target_type . ';' . $parent['guid'] . ';' . $positive . ';' . $handle;
- else
- $sender_signed_text = $item['guid'] . ';' . $parent['guid'] . ';' . $text . ';' . $handle;
+ $authorsig = base64_encode(rsa_sign($signed_text,$owner['uprvkey'],'sha256'));
+ }
// Sign the relayable with the top-level owner's signature
- //
- // We'll use the $sender_signed_text that we just created, instead of the $signed_text
- // stored in the database, because that provides the best chance that Diaspora will
- // be able to reconstruct the signed text the same way we did. This is particularly a
- // concern for the comment, whose signed text includes the text of the comment. The
- // smallest change in the text of the comment, including removing whitespace, will
- // make the signature verification fail. Since we translate from BB code to Diaspora's
- // markup at the top of this function, which is AFTER we placed the original $signed_text
- // in the database, it's hazardous to trust the original $signed_text.
-
- $parentauthorsig = base64_encode(rsa_sign($sender_signed_text,$owner['uprvkey'],'sha256'));
+ $parentauthorsig = base64_encode(rsa_sign($signed_text,$owner['uprvkey'],'sha256'));
$msg = replace_macros($tpl,array(
'$guid' => xmlify($item['guid']),
diff --git a/include/discover_poco.php b/include/discover_poco.php
index 6293317d3f..a8f670334b 100644
--- a/include/discover_poco.php
+++ b/include/discover_poco.php
@@ -76,11 +76,18 @@ function discover_poco_run(&$argv, &$argc){
update_suggestions();
elseif (($mode == 2) AND get_config('system','poco_completion'))
discover_users();
- elseif (($mode == 1) AND ($search != "") and get_config('system','poco_local_search'))
+ elseif (($mode == 1) AND ($search != "") and get_config('system','poco_local_search')) {
discover_directory($search);
- elseif (($mode == 0) AND ($search == "") and (get_config('system','poco_discovery') > 0))
+ gs_search_user($search);
+ } elseif (($mode == 0) AND ($search == "") and (get_config('system','poco_discovery') > 0)) {
+ // Query Friendica and Hubzilla servers for their users
poco_discover();
+ // Query GNU Social servers for their users ("statistics" addon has to be enabled on the GS server)
+ if (!get_config('system','ostatus_disabled'))
+ gs_discover();
+ }
+
logger('end '.$search);
return;
@@ -128,7 +135,7 @@ function discover_users() {
else
$server_url = poco_detect_server($user["url"]);
- if (poco_check_server($server_url, $gcontacts[0]["network"])) {
+ if (($server_url == "") OR poco_check_server($server_url, $gcontacts[0]["network"])) {
logger('Check user '.$user["url"]);
poco_last_updated($user["url"], true);
@@ -191,6 +198,36 @@ function discover_directory($search) {
Cache::set("dirsearch:".$search, time(), CACHE_DAY);
}
+/**
+ * @brief Search for GNU Social user with gstools.org
+ *
+ * @param str $search User name
+ */
+function gs_search_user($search) {
+
+ $a = get_app();
+
+ $url = "http://gstools.org/api/users_search/".urlencode($search);
+
+ $result = z_fetch_url($url);
+ if (!$result["success"])
+ return false;
+
+ $contacts = json_decode($result["body"]);
+
+ if ($contacts->status == 'ERROR')
+ return false;
+
+ foreach($contacts->data AS $user) {
+ $contact = probe_url($user->site_address."/".$user->name);
+ if ($contact["network"] != NETWORK_PHANTOM) {
+ $contact["about"] = $user->description;
+ update_gcontact($contact);
+ }
+ }
+}
+
+
if (array_search(__file__,get_included_files())===0){
discover_poco_run($_SERVER["argv"],$_SERVER["argc"]);
killme();
diff --git a/include/enotify.php b/include/enotify.php
index e02c613831..54b59857c2 100644
--- a/include/enotify.php
+++ b/include/enotify.php
@@ -633,4 +633,129 @@ function notification($params) {
}
+/**
+ * @brief Checks for item related notifications and sends them
+ *
+ * @param int $itemid ID of the item for which the check should be done
+ * @param int $uid User ID
+ * @param str $defaulttype (Optional) Forces a notification with this type.
+ */
+function check_item_notification($itemid, $uid, $defaulttype = "") {
+
+ $notification_data = array("uid" => $uid, "profiles" => array());
+ call_hooks('check_item_notification', $notification_data);
+
+ $profiles = $notification_data["profiles"];
+
+ $user = q("SELECT `notify-flags`, `language`, `username`, `email` FROM `user` WHERE `uid` = %d", intval($uid));
+ if (!$user)
+ return false;
+
+ $owner = q("SELECT `id`, `url` FROM `contact` WHERE `self` AND `uid` = %d LIMIT 1", intval($uid));
+ if (!$owner)
+ return false;
+
+ $profiles[] = $owner[0]["url"];
+
+ $profiles2 = array();
+
+ foreach ($profiles AS $profile) {
+ $profiles2[] = normalise_link($profile);
+ $profiles2[] = str_replace("http://", "https://", normalise_link($profile));
+ }
+
+ $profiles = $profiles2;
+
+ $profile_list = "";
+
+ foreach ($profiles AS $profile) {
+ if ($profile_list != "")
+ $profile_list .= "', '";
+
+ $profile_list .= dbesc($profile);
+ }
+
+ $profile_list = "'".$profile_list."'";
+
+ // Only act if it is a "real" post
+ // We need the additional check for the "local_profile" because of mixed situations on connector networks
+ $item = q("SELECT `id`, `mention`, `tag`,`parent`, `title`, `body`, `author-name`, `author-link`, `author-avatar`, `guid`,
+ `parent-uri`, `uri`, `contact-id`
+ FROM `item` WHERE `id` = %d AND `verb` IN ('%s', '') AND `type` != 'activity' AND
+ NOT (`author-link` IN ($profile_list)) LIMIT 1",
+ intval($itemid), dbesc(ACTIVITY_POST));
+ if (!$item)
+ return false;
+
+ // Generate the notification array
+ $params = array();
+ $params["uid"] = $uid;
+ $params["notify_flags"] = $user[0]["notify-flags"];
+ $params["language"] = $user[0]["language"];
+ $params["to_name"] = $user[0]["username"];
+ $params["to_email"] = $user[0]["email"];
+ $params["item"] = $item[0];
+ $params["parent"] = $item[0]["parent"];
+ $params["link"] = App::get_baseurl().'/display/'.urlencode($item[0]["guid"]);
+ $params["otype"] = 'item';
+ $params["source_name"] = $item[0]["author-name"];
+ $params["source_link"] = $item[0]["author-link"];
+ $params["source_photo"] = $item[0]["author-avatar"];
+
+ if ($item[0]["parent-uri"] === $item[0]["uri"]) {
+ // Send a notification for every new post?
+ $r = q("SELECT `notify_new_posts` FROM `contact` WHERE `id` = %d AND `uid` = %d AND `notify_new_posts` LIMIT 1",
+ intval($item[0]['contact-id']),
+ intval($uid)
+ );
+ $send_notification = count($r);
+
+ if (!$send_notification) {
+ $tags = q("SELECT `url` FROM `term` WHERE `otype` = %d AND `oid` = %d AND `type` = %d AND `uid` = %d",
+ intval(TERM_OBJ_POST), intval($itemid), intval(TERM_MENTION), intval($uid));
+
+ if (count($tags)) {
+ foreach ($tags AS $tag) {
+ $r = q("SELECT `id` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d AND `notify_new_posts`",
+ normalise_link($tag["url"]), intval($uid));
+ if (count($r))
+ $send_notification = true;
+ }
+ }
+ }
+
+ if ($send_notification) {
+ $params["type"] = NOTIFY_SHARE;
+ $params["verb"] = ACTIVITY_TAG;
+ }
+ }
+
+ // Is the user mentioned in this post?
+ $tagged = false;
+
+ foreach ($profiles AS $profile) {
+ if (strpos($item[0]["tag"], "=".$profile."]") OR strpos($item[0]["body"], "=".$profile."]"))
+ $tagged = true;
+ }
+
+ if ($item[0]["mention"] OR $tagged OR ($defaulttype == NOTIFY_TAGSELF)) {
+ $params["type"] = NOTIFY_TAGSELF;
+ $params["verb"] = ACTIVITY_TAG;
+ }
+
+ // Is it a post that the user had started or where he interacted?
+ $parent = q("SELECT `thread`.`iid` FROM `thread` INNER JOIN `item` ON `item`.`parent` = `thread`.`iid`
+ WHERE `thread`.`iid` = %d AND `thread`.`uid` = %d AND NOT `thread`.`ignored` AND
+ (`thread`.`mention` OR `item`.`author-link` IN ($profile_list))
+ LIMIT 1",
+ intval($item[0]["parent"]), intval($uid));
+
+ if ($parent AND !isset($params["type"])) {
+ $params["type"] = NOTIFY_COMMENT;
+ $params["verb"] = ACTIVITY_POST;
+ }
+
+ if (isset($params["type"]))
+ notification($params);
+}
?>
diff --git a/include/event.php b/include/event.php
index c4111dc0b1..13c414c9e3 100644
--- a/include/event.php
+++ b/include/event.php
@@ -61,7 +61,7 @@ function format_event_html($ev, $simple = false) {
. bbcode($ev['location'])
. '
' . "\r\n";
- if (strpos($ev['location'], "[map")===False) {
+ if (strpos($ev['location'], "[map") !== False) {
$map = generate_named_map($ev['location']);
if ($map!==$ev['location']) $o.=$map;
}
diff --git a/include/expire.php b/include/expire.php
index 3086804216..873c594e84 100644
--- a/include/expire.php
+++ b/include/expire.php
@@ -18,7 +18,6 @@ function expire_run(&$argv, &$argc){
require_once('include/session.php');
require_once('include/datetime.php');
- require_once('library/simplepie/simplepie.inc');
require_once('include/items.php');
require_once('include/Contact.php');
diff --git a/include/follow.php b/include/follow.php
index 21c05c8f3e..22ff079b63 100644
--- a/include/follow.php
+++ b/include/follow.php
@@ -264,24 +264,8 @@ function new_contact($uid,$url,$interactive = false) {
require_once("include/Photo.php");
- $photos = import_profile_photo($ret['photo'],$uid,$contact_id);
-
- $r = q("UPDATE `contact` SET `photo` = '%s',
- `thumb` = '%s',
- `micro` = '%s',
- `name-date` = '%s',
- `uri-date` = '%s',
- `avatar-date` = '%s'
- WHERE `id` = %d",
- dbesc($photos[0]),
- dbesc($photos[1]),
- dbesc($photos[2]),
- dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- intval($contact_id)
- );
-
+ // Update the avatar
+ update_contact_avatar($ret['photo'],$uid,$contact_id);
// pull feed and consume it, which should subscribe to the hub.
diff --git a/include/forums.php b/include/forums.php
index 995a29cad1..952d09a494 100644
--- a/include/forums.php
+++ b/include/forums.php
@@ -42,6 +42,9 @@ function get_forumlist($uid, $showhidden = true, $lastitem, $showprivate = false
intval($uid)
);
+ if (!$contacts)
+ return($forumlist);
+
foreach($contacts as $contact) {
$forumlist[] = array(
'url' => $contact['url'],
diff --git a/include/gprobe.php b/include/gprobe.php
index 84292f263a..dfa9137d7d 100644
--- a/include/gprobe.php
+++ b/include/gprobe.php
@@ -33,7 +33,7 @@ function gprobe_run(&$argv, &$argc){
$url = hex2bin($argv[1]);
- $r = q("select * from gcontact where nurl = '%s' limit 1",
+ $r = q("SELECT `id`, `url`, `network` FROM `gcontact` WHERE `nurl` = '%s' ORDER BY `id` LIMIT 1",
dbesc(normalise_link($url))
);
@@ -58,21 +58,16 @@ function gprobe_run(&$argv, &$argc){
if (is_null($result))
Cache::set("gprobe:".$urlparts["host"],serialize($arr));
- if(count($arr) && x($arr,'network') && $arr['network'] === NETWORK_DFRN) {
- q("insert into `gcontact` (`name`,`url`,`nurl`,`photo`)
- values ( '%s', '%s', '%s', '%s') ",
- dbesc($arr['name']),
- dbesc($arr['url']),
- dbesc(normalise_link($arr['url'])),
- dbesc($arr['photo'])
- );
- }
- $r = q("select * from gcontact where nurl = '%s' limit 1",
+ if (!in_array($result["network"], array(NETWORK_FEED, NETWORK_PHANTOM)))
+ update_gcontact($arr);
+
+ $r = q("SELECT `id`, `url`, `network` FROM `gcontact` WHERE `nurl` = '%s' ORDER BY `id` LIMIT 1",
dbesc(normalise_link($url))
);
}
if(count($r))
- poco_load(0,0,$r[0]['id'], str_replace('/profile/','/poco/',$r[0]['url']));
+ if ($r[0]["network"] == NETWORK_DFRN)
+ poco_load(0,0,$r[0]['id'], str_replace('/profile/','/poco/',$r[0]['url']));
logger("gprobe end for ".normalise_link($url), LOGGER_DEBUG);
return;
diff --git a/include/items.php b/include/items.php
index a74ca3b360..21a0c414dc 100644
--- a/include/items.php
+++ b/include/items.php
@@ -14,314 +14,18 @@ require_once('include/socgraph.php');
require_once('include/plaintext.php');
require_once('include/ostatus.php');
require_once('include/feed.php');
+require_once('include/Contact.php');
require_once('mod/share.php');
+require_once('include/enotify.php');
require_once('library/defuse/php-encryption-1.2.1/Crypto.php');
-
-function get_feed_for(&$a, $dfrn_id, $owner_nick, $last_update, $direction = 0, $forpubsub = false) {
-
-
- $sitefeed = ((strlen($owner_nick)) ? false : true); // not yet implemented, need to rewrite huge chunks of following logic
- $public_feed = (($dfrn_id) ? false : true);
- $starred = false; // not yet implemented, possible security issues
- $converse = false;
-
- if($public_feed && $a->argc > 2) {
- for($x = 2; $x < $a->argc; $x++) {
- if($a->argv[$x] == 'converse')
- $converse = true;
- if($a->argv[$x] == 'starred')
- $starred = true;
- if($a->argv[$x] === 'category' && $a->argc > ($x + 1) && strlen($a->argv[$x+1]))
- $category = $a->argv[$x+1];
- }
- }
-
-
-
- // default permissions - anonymous user
-
- $sql_extra = " AND `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = '' ";
-
- $r = q("SELECT `contact`.*, `user`.`uid` AS `user_uid`, `user`.`nickname`, `user`.`timezone`, `user`.`page-flags`
- FROM `contact` INNER JOIN `user` ON `user`.`uid` = `contact`.`uid`
- WHERE `contact`.`self` = 1 AND `user`.`nickname` = '%s' LIMIT 1",
- dbesc($owner_nick)
- );
-
- if(! count($r))
- killme();
-
- $owner = $r[0];
- $owner_id = $owner['user_uid'];
- $owner_nick = $owner['nickname'];
-
- $birthday = feed_birthday($owner_id,$owner['timezone']);
-
- $sql_post_table = "";
- $visibility = "";
-
- if(! $public_feed) {
-
- $sql_extra = '';
- switch($direction) {
- case (-1):
- $sql_extra = sprintf(" AND `issued-id` = '%s' ", dbesc($dfrn_id));
- $my_id = $dfrn_id;
- break;
- case 0:
- $sql_extra = sprintf(" AND `issued-id` = '%s' AND `duplex` = 1 ", dbesc($dfrn_id));
- $my_id = '1:' . $dfrn_id;
- break;
- case 1:
- $sql_extra = sprintf(" AND `dfrn-id` = '%s' AND `duplex` = 1 ", dbesc($dfrn_id));
- $my_id = '0:' . $dfrn_id;
- break;
- default:
- return false;
- break; // NOTREACHED
- }
-
- $r = q("SELECT * FROM `contact` WHERE `blocked` = 0 AND `pending` = 0 AND `contact`.`uid` = %d $sql_extra LIMIT 1",
- intval($owner_id)
- );
-
- if(! count($r))
- killme();
-
- $contact = $r[0];
- require_once('include/security.php');
- $groups = init_groups_visitor($contact['id']);
-
- if(count($groups)) {
- for($x = 0; $x < count($groups); $x ++)
- $groups[$x] = '<' . intval($groups[$x]) . '>' ;
- $gs = implode('|', $groups);
- }
- else
- $gs = '<<>>' ; // Impossible to match
-
- $sql_extra = sprintf("
- AND ( `allow_cid` = '' OR `allow_cid` REGEXP '<%d>' )
- AND ( `deny_cid` = '' OR NOT `deny_cid` REGEXP '<%d>' )
- AND ( `allow_gid` = '' OR `allow_gid` REGEXP '%s' )
- AND ( `deny_gid` = '' OR NOT `deny_gid` REGEXP '%s')
- ",
- intval($contact['id']),
- intval($contact['id']),
- dbesc($gs),
- dbesc($gs)
- );
- }
-
- if($public_feed)
- $sort = 'DESC';
- else
- $sort = 'ASC';
-
- // Include answers to status.net posts in pubsub feeds
- if($forpubsub) {
- $sql_post_table = "INNER JOIN `thread` ON `thread`.`iid` = `item`.`parent`
- LEFT JOIN `item` AS `thritem` ON `thritem`.`uri`=`item`.`thr-parent` AND `thritem`.`uid`=`item`.`uid`";
- $visibility = sprintf("AND (`item`.`parent` = `item`.`id`) OR (`item`.`network` = '%s' AND ((`thread`.`network`='%s') OR (`thritem`.`network` = '%s')))",
- dbesc(NETWORK_DFRN), dbesc(NETWORK_OSTATUS), dbesc(NETWORK_OSTATUS));
- $date_field = "`received`";
- $sql_order = "`item`.`received` DESC";
- } else {
- $date_field = "`changed`";
- $sql_order = "`item`.`parent` ".$sort.", `item`.`created` ASC";
- }
-
- if(! strlen($last_update))
- $last_update = 'now -30 days';
-
- if(isset($category)) {
- $sql_post_table = sprintf("INNER JOIN (SELECT `oid` FROM `term` WHERE `term` = '%s' AND `otype` = %d AND `type` = %d AND `uid` = %d ORDER BY `tid` DESC) AS `term` ON `item`.`id` = `term`.`oid` ",
- dbesc(protect_sprintf($category)), intval(TERM_OBJ_POST), intval(TERM_CATEGORY), intval($owner_id));
- //$sql_extra .= file_tag_file_query('item',$category,'category');
- }
-
- if($public_feed) {
- if(! $converse)
- $sql_extra .= " AND `contact`.`self` = 1 ";
- }
-
- $check_date = datetime_convert('UTC','UTC',$last_update,'Y-m-d H:i:s');
-
- // AND ( `item`.`edited` > '%s' OR `item`.`changed` > '%s' )
- // dbesc($check_date),
-
- $r = q("SELECT STRAIGHT_JOIN `item`.*, `item`.`id` AS `item_id`,
- `contact`.`name`, `contact`.`network`, `contact`.`photo`, `contact`.`url`,
- `contact`.`name-date`, `contact`.`uri-date`, `contact`.`avatar-date`,
- `contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`,
- `contact`.`id` AS `contact-id`, `contact`.`uid` AS `contact-uid`,
- `sign`.`signed_text`, `sign`.`signature`, `sign`.`signer`
- FROM `item` $sql_post_table
- INNER JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
- AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
- LEFT JOIN `sign` ON `sign`.`iid` = `item`.`id`
- WHERE `item`.`uid` = %d AND `item`.`visible` = 1 and `item`.`moderated` = 0 AND `item`.`parent` != 0
- AND ((`item`.`wall` = 1) $visibility) AND `item`.$date_field > '%s'
- $sql_extra
- ORDER BY $sql_order LIMIT 0, 300",
- intval($owner_id),
- dbesc($check_date),
- dbesc($sort)
- );
-
- // Will check further below if this actually returned results.
- // We will provide an empty feed if that is the case.
-
- $items = $r;
-
- $feed_template = get_markup_template(($dfrn_id) ? 'atom_feed_dfrn.tpl' : 'atom_feed.tpl');
-
- $atom = '';
-
- $hubxml = feed_hublinks();
-
- $salmon = feed_salmonlinks($owner_nick);
-
- $alternatelink = $owner['url'];
-
- if(isset($category))
- $alternatelink .= "/category/".$category;
-
- $atom .= replace_macros($feed_template, array(
- '$version' => xmlify(FRIENDICA_VERSION),
- '$feed_id' => xmlify($a->get_baseurl() . '/profile/' . $owner_nick),
- '$feed_title' => xmlify($owner['name']),
- '$feed_updated' => xmlify(datetime_convert('UTC', 'UTC', 'now' , ATOM_TIME)) ,
- '$hub' => $hubxml,
- '$salmon' => $salmon,
- '$alternatelink' => xmlify($alternatelink),
- '$name' => xmlify($owner['name']),
- '$profile_page' => xmlify($owner['url']),
- '$photo' => xmlify($owner['photo']),
- '$thumb' => xmlify($owner['thumb']),
- '$picdate' => xmlify(datetime_convert('UTC','UTC',$owner['avatar-date'] . '+00:00' , ATOM_TIME)) ,
- '$uridate' => xmlify(datetime_convert('UTC','UTC',$owner['uri-date'] . '+00:00' , ATOM_TIME)) ,
- '$namdate' => xmlify(datetime_convert('UTC','UTC',$owner['name-date'] . '+00:00' , ATOM_TIME)) ,
- '$birthday' => ((strlen($birthday)) ? '' . xmlify($birthday) . '' : ''),
- '$community' => (($owner['page-flags'] == PAGE_COMMUNITY) ? '1' : '')
- ));
-
- call_hooks('atom_feed', $atom);
-
- if(! count($items)) {
-
- call_hooks('atom_feed_end', $atom);
-
- $atom .= '' . "\r\n";
- return $atom;
- }
-
- foreach($items as $item) {
-
- // prevent private email from leaking.
- if($item['network'] === NETWORK_MAIL)
- continue;
-
- // public feeds get html, our own nodes use bbcode
-
- if($public_feed) {
- $type = 'html';
- // catch any email that's in a public conversation and make sure it doesn't leak
- if($item['private'])
- continue;
- }
- else {
- $type = 'text';
- }
-
- $atom .= atom_entry($item,$type,null,$owner,true);
- }
-
- call_hooks('atom_feed_end', $atom);
-
- $atom .= '' . "\r\n";
-
- return $atom;
-}
-
-
function construct_verb($item) {
if($item['verb'])
return $item['verb'];
return ACTIVITY_POST;
}
-function construct_activity_object($item) {
-
- if($item['object']) {
- $o = '' . "\r\n";
- $r = parse_xml_string($item['object'],false);
-
-
- if(! $r)
- return '';
- if($r->type)
- $o .= '' . xmlify($r->type) . '' . "\r\n";
- if($r->id)
- $o .= '' . xmlify($r->id) . '' . "\r\n";
- if($r->title)
- $o .= '' . xmlify($r->title) . '' . "\r\n";
- if($r->link) {
- if(substr($r->link,0,1) === '<') {
- // patch up some facebook "like" activity objects that got stored incorrectly
- // for a couple of months prior to 9-Jun-2011 and generated bad XML.
- // we can probably remove this hack here and in the following function in a few months time.
- if(strstr($r->link,'&') && (! strstr($r->link,'&')))
- $r->link = str_replace('&','&', $r->link);
- $r->link = preg_replace('/\/','',$r->link);
- $o .= $r->link;
- }
- else
- $o .= '' . "\r\n";
- }
- if($r->content)
- $o .= '' . xmlify(bbcode($r->content)) . '' . "\r\n";
- $o .= '' . "\r\n";
- return $o;
- }
-
- return '';
-}
-
-function construct_activity_target($item) {
-
- if($item['target']) {
- $o = '' . "\r\n";
- $r = parse_xml_string($item['target'],false);
- if(! $r)
- return '';
- if($r->type)
- $o .= '' . xmlify($r->type) . '' . "\r\n";
- if($r->id)
- $o .= '' . xmlify($r->id) . '' . "\r\n";
- if($r->title)
- $o .= '' . xmlify($r->title) . '' . "\r\n";
- if($r->link) {
- if(substr($r->link,0,1) === '<') {
- if(strstr($r->link,'&') && (! strstr($r->link,'&')))
- $r->link = str_replace('&','&', $r->link);
- $r->link = preg_replace('/\/','',$r->link);
- $o .= $r->link;
- }
- else
- $o .= '' . "\r\n";
- }
- if($r->content)
- $o .= '' . xmlify(bbcode($r->content)) . '' . "\r\n";
- $o .= '' . "\r\n";
- return $o;
- }
-
- return '';
-}
-
/* limit_body_size()
*
* The purpose of this function is to apply system message length limits to
@@ -440,8 +144,6 @@ function title_is_body($title, $body) {
return($title == $body);
}
-
-
function get_atom_elements($feed, $item, $contact = array()) {
require_once('library/HTMLPurifier.auto.php');
@@ -465,17 +167,6 @@ function get_atom_elements($feed, $item, $contact = array()) {
$res['body'] = unxmlify($item->get_content());
$res['plink'] = unxmlify($item->get_link(0));
- if (isset($contact["network"]) AND ($contact["network"] == NETWORK_FEED) AND strstr($res['plink'], ".app.net/")) {
- logger("get_atom_elements: detected app.net posting: ".print_r($res, true), LOGGER_DEBUG);
- $res['title'] = "";
- $res['body'] = nl2br($res['body']);
- }
-
- // removing the content of the title if its identically to the body
- // This helps with auto generated titles e.g. from tumblr
- if (title_is_body($res["title"], $res["body"]))
- $res['title'] = "";
-
if($res['plink'])
$base_url = implode('/', array_slice(explode('/',$res['plink']),0,3));
else
@@ -853,62 +544,6 @@ function get_atom_elements($feed, $item, $contact = array()) {
$res['target'] .= '' . "\n";
}
- // This is some experimental stuff. By now retweets are shown with "RT:"
- // But: There is data so that the message could be shown similar to native retweets
- // There is some better way to parse this array - but it didn't worked for me.
- $child = $item->feed->data["child"][SIMPLEPIE_NAMESPACE_ATOM_10]["feed"][0]["child"][SIMPLEPIE_NAMESPACE_ATOM_10]["entry"][0]["child"]["http://activitystrea.ms/spec/1.0/"][object][0]["child"];
- if (is_array($child)) {
- logger('get_atom_elements: Looking for status.net repeated message');
-
- $message = $child["http://activitystrea.ms/spec/1.0/"]["object"][0]["child"][SIMPLEPIE_NAMESPACE_ATOM_10]["content"][0]["data"];
- $orig_id = ostatus_convert_href($child["http://activitystrea.ms/spec/1.0/"]["object"][0]["child"][SIMPLEPIE_NAMESPACE_ATOM_10]["id"][0]["data"]);
- $author = $child[SIMPLEPIE_NAMESPACE_ATOM_10]["author"][0]["child"][SIMPLEPIE_NAMESPACE_ATOM_10];
- $uri = $author["uri"][0]["data"];
- $name = $author["name"][0]["data"];
- $avatar = @array_shift($author["link"][2]["attribs"]);
- $avatar = $avatar["href"];
-
- if (($name != "") and ($uri != "") and ($avatar != "") and ($message != "")) {
- logger('get_atom_elements: fixing sender of repeated message. '.$orig_id, LOGGER_DEBUG);
-
- if (!intval(get_config('system','wall-to-wall_share'))) {
- $prefix = share_header($name, $uri, $avatar, "", "", $orig_link);
-
- $res["body"] = $prefix.html2bbcode($message)."[/share]";
- } else {
- $res["owner-name"] = $res["author-name"];
- $res["owner-link"] = $res["author-link"];
- $res["owner-avatar"] = $res["author-avatar"];
-
- $res["author-name"] = $name;
- $res["author-link"] = $uri;
- $res["author-avatar"] = $avatar;
-
- $res["body"] = html2bbcode($message);
- }
- }
- }
-
- if (isset($contact["network"]) AND ($contact["network"] == NETWORK_FEED) AND $contact['fetch_further_information']) {
- $preview = "";
-
- // Handle enclosures and treat them as preview picture
- if (isset($attach))
- foreach ($attach AS $attachment)
- if ($attachment->type == "image/jpeg")
- $preview = $attachment->link;
-
- $res["body"] = $res["title"].add_page_info($res['plink'], false, $preview, ($contact['fetch_further_information'] == 2), $contact['ffi_keyword_blacklist']);
- $res["tag"] = add_page_keywords($res['plink'], false, $preview, ($contact['fetch_further_information'] == 2), $contact['ffi_keyword_blacklist']);
- $res["title"] = "";
- $res["object-type"] = ACTIVITY_OBJ_BOOKMARK;
- unset($res["attach"]);
- } elseif (isset($contact["network"]) AND ($contact["network"] == NETWORK_OSTATUS))
- $res["body"] = add_page_info_to_body($res["body"]);
- elseif (isset($contact["network"]) AND ($contact["network"] == NETWORK_FEED) AND strstr($res['plink'], ".app.net/")) {
- $res["body"] = add_page_info_to_body($res["body"]);
- }
-
$arr = array('feed' => $feed, 'item' => $item, 'result' => $res);
call_hooks('parse_atom', $arr);
@@ -1334,9 +969,37 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
logger("item_store: Set network to ".$arr["network"]." for ".$arr["uri"], LOGGER_DEBUG);
}
- if ($arr["gcontact-id"] == 0)
- $arr["gcontact-id"] = get_gcontact_id(array("url" => $arr['author-link'], "network" => $arr['network'],
- "photo" => $arr['author-avatar'], "name" => $arr['author-name']));
+ // The contact-id should be set before "item_store" was called - but there seems to be some issues
+ if ($arr["contact-id"] == 0) {
+ // First we are looking for a suitable contact that matches with the author of the post
+ // This is done only for comments (See below explanation at "gcontact-id")
+ if($arr['parent-uri'] != $arr['uri'])
+ $arr["contact-id"] = get_contact($arr['author-link'], $uid);
+
+ // If not present then maybe the owner was found
+ if ($arr["contact-id"] == 0)
+ $arr["contact-id"] = get_contact($arr['owner-link'], $uid);
+
+ // Still missing? Then use the "self" contact of the current user
+ if ($arr["contact-id"] == 0) {
+ $r = q("SELECT `id` FROM `contact` WHERE `self` AND `uid` = %d", intval($uid));
+ if ($r)
+ $arr["contact-id"] = $r[0]["id"];
+ }
+ logger("Contact-id was missing for post ".$arr["guid"]." from user id ".$uid." - now set to ".$arr["contact-id"], LOGGER_DEBUG);
+ }
+
+ if ($arr["gcontact-id"] == 0) {
+ // The gcontact should mostly behave like the contact. But is is supposed to be global for the system.
+ // This means that wall posts, repeated posts, etc. should have the gcontact id of the owner.
+ // On comments the author is the better choice.
+ if($arr['parent-uri'] === $arr['uri'])
+ $arr["gcontact-id"] = get_gcontact_id(array("url" => $arr['owner-link'], "network" => $arr['network'],
+ "photo" => $arr['owner-avatar'], "name" => $arr['owner-name']));
+ else
+ $arr["gcontact-id"] = get_gcontact_id(array("url" => $arr['author-link'], "network" => $arr['network'],
+ "photo" => $arr['author-avatar'], "name" => $arr['author-name']));
+ }
if ($arr['guid'] != "") {
// Checking if there is already an item with the same guid
@@ -1609,6 +1272,14 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
);
if($dsprsig) {
+
+ // Friendica servers lower than 3.4.3-2 had double encoded the signature ...
+ // We can check for this condition when we decode and encode the stuff again.
+ if (base64_encode(base64_decode(base64_decode($dsprsig->signature))) == base64_decode($dsprsig->signature)) {
+ $dsprsig->signature = base64_decode($dsprsig->signature);
+ logger("Repaired double encoded signature from handle ".$dsprsig->signer, LOGGER_DEBUG);
+ }
+
q("insert into sign (`iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ",
intval($current_post),
dbesc($dsprsig->signed_text),
@@ -1653,67 +1324,15 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
create_files_from_item($current_post);
// Only check for notifications on start posts
- if ($arr['parent-uri'] === $arr['uri']) {
+ if ($arr['parent-uri'] === $arr['uri'])
add_thread($current_post);
- logger('item_store: Check notification for contact '.$arr['contact-id'].' and post '.$current_post, LOGGER_DEBUG);
-
- // Send a notification for every new post?
- $r = q("SELECT `notify_new_posts` FROM `contact` WHERE `id` = %d AND `uid` = %d AND `notify_new_posts` LIMIT 1",
- intval($arr['contact-id']),
- intval($arr['uid'])
- );
- $send_notification = count($r);
-
- if (!$send_notification) {
- $tags = q("SELECT `url` FROM `term` WHERE `otype` = %d AND `oid` = %d AND `type` = %d AND `uid` = %d",
- intval(TERM_OBJ_POST), intval($current_post), intval(TERM_MENTION), intval($arr['uid']));
-
- if (count($tags)) {
- foreach ($tags AS $tag) {
- $r = q("SELECT `id` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d AND `notify_new_posts`",
- normalise_link($tag["url"]), intval($arr['uid']));
- if (count($r))
- $send_notification = true;
- }
- }
- }
-
- if ($send_notification) {
- logger('item_store: Send notification for contact '.$arr['contact-id'].' and post '.$current_post, LOGGER_DEBUG);
- $u = q("SELECT * FROM user WHERE uid = %d LIMIT 1",
- intval($arr['uid']));
-
- $item = q("SELECT * FROM `item` WHERE `id` = %d AND `uid` = %d",
- intval($current_post),
- intval($arr['uid'])
- );
-
- $a = get_app();
-
- require_once('include/enotify.php');
- notification(array(
- 'type' => NOTIFY_SHARE,
- 'notify_flags' => $u[0]['notify-flags'],
- 'language' => $u[0]['language'],
- 'to_name' => $u[0]['username'],
- 'to_email' => $u[0]['email'],
- 'uid' => $u[0]['uid'],
- 'item' => $item[0],
- 'link' => $a->get_baseurl().'/display/'.urlencode($arr['guid']),
- 'source_name' => $item[0]['author-name'],
- 'source_link' => $item[0]['author-link'],
- 'source_photo' => $item[0]['author-avatar'],
- 'verb' => ACTIVITY_TAG,
- 'otype' => 'item',
- 'parent' => $arr['parent']
- ));
- logger('item_store: Notification sent for contact '.$arr['contact-id'].' and post '.$current_post, LOGGER_DEBUG);
- }
- } else {
+ else {
update_thread($parent_id);
add_shadow_entry($arr);
}
+ check_item_notification($current_post, $uid);
+
if ($notify)
proc_run('php', "include/notifier.php", $notify_type, $current_post);
@@ -1909,37 +1528,6 @@ function tag_deliver($uid,$item_id) {
return;
}
-
- // send a notification
-
- // use a local photo if we have one
-
- $r = q("select * from contact where uid = %d and nurl = '%s' limit 1",
- intval($u[0]['uid']),
- dbesc(normalise_link($item['author-link']))
- );
- $photo = (($r && count($r)) ? $r[0]['thumb'] : $item['author-avatar']);
-
-
- require_once('include/enotify.php');
- notification(array(
- 'type' => NOTIFY_TAGSELF,
- 'notify_flags' => $u[0]['notify-flags'],
- 'language' => $u[0]['language'],
- 'to_name' => $u[0]['username'],
- 'to_email' => $u[0]['email'],
- 'uid' => $u[0]['uid'],
- 'item' => $item,
- 'link' => $a->get_baseurl() . '/display/'.urlencode(get_item_guid($item['id'])),
- 'source_name' => $item['author-name'],
- 'source_link' => $item['author-link'],
- 'source_photo' => $photo,
- 'verb' => ACTIVITY_TAG,
- 'otype' => 'item',
- 'parent' => $item['parent']
- ));
-
-
$arr = array('item' => $item, 'user' => $u[0], 'contact' => $r[0]);
call_hooks('tagged', $arr);
@@ -2036,245 +1624,9 @@ function tgroup_check($uid,$item) {
if((! $community_page) && (! $prvgroup))
return false;
-
-
return true;
-
}
-
-
-
-
-
-function dfrn_deliver($owner,$contact,$atom, $dissolve = false) {
-
- $a = get_app();
-
- $idtosend = $orig_id = (($contact['dfrn-id']) ? $contact['dfrn-id'] : $contact['issued-id']);
-
- if($contact['duplex'] && $contact['dfrn-id'])
- $idtosend = '0:' . $orig_id;
- if($contact['duplex'] && $contact['issued-id'])
- $idtosend = '1:' . $orig_id;
-
-
- $rino = get_config('system','rino_encrypt');
- $rino = intval($rino);
- // use RINO1 if mcrypt isn't installed and RINO2 was selected
- if ($rino==2 and !function_exists('mcrypt_create_iv')) $rino=1;
-
- logger("Local rino version: ". $rino, LOGGER_DEBUG);
-
- $ssl_val = intval(get_config('system','ssl_policy'));
- $ssl_policy = '';
-
- switch($ssl_val){
- case SSL_POLICY_FULL:
- $ssl_policy = 'full';
- break;
- case SSL_POLICY_SELFSIGN:
- $ssl_policy = 'self';
- break;
- case SSL_POLICY_NONE:
- default:
- $ssl_policy = 'none';
- break;
- }
-
- $url = $contact['notify'] . '&dfrn_id=' . $idtosend . '&dfrn_version=' . DFRN_PROTOCOL_VERSION . (($rino) ? '&rino='.$rino : '');
-
- logger('dfrn_deliver: ' . $url);
-
- $xml = fetch_url($url);
-
- $curl_stat = $a->get_curl_code();
- if(! $curl_stat)
- return(-1); // timed out
-
- logger('dfrn_deliver: ' . $xml, LOGGER_DATA);
-
- if(! $xml)
- return 3;
-
- if(strpos($xml,'status) != 0) || (! strlen($res->challenge)) || (! strlen($res->dfrn_id)))
- return (($res->status) ? $res->status : 3);
-
- $postvars = array();
- $sent_dfrn_id = hex2bin((string) $res->dfrn_id);
- $challenge = hex2bin((string) $res->challenge);
- $perm = (($res->perm) ? $res->perm : null);
- $dfrn_version = (float) (($res->dfrn_version) ? $res->dfrn_version : 2.0);
- $rino_remote_version = intval($res->rino);
- $page = (($owner['page-flags'] == PAGE_COMMUNITY) ? 1 : 0);
-
- logger("Remote rino version: ".$rino_remote_version." for ".$contact["url"], LOGGER_DEBUG);
-
- if($owner['page-flags'] == PAGE_PRVGROUP)
- $page = 2;
-
- $final_dfrn_id = '';
-
- if($perm) {
- if((($perm == 'rw') && (! intval($contact['writable'])))
- || (($perm == 'r') && (intval($contact['writable'])))) {
- q("update contact set writable = %d where id = %d",
- intval(($perm == 'rw') ? 1 : 0),
- intval($contact['id'])
- );
- $contact['writable'] = (string) 1 - intval($contact['writable']);
- }
- }
-
- if(($contact['duplex'] && strlen($contact['pubkey']))
- || ($owner['page-flags'] == PAGE_COMMUNITY && strlen($contact['pubkey']))
- || ($contact['rel'] == CONTACT_IS_SHARING && strlen($contact['pubkey']))) {
- openssl_public_decrypt($sent_dfrn_id,$final_dfrn_id,$contact['pubkey']);
- openssl_public_decrypt($challenge,$postvars['challenge'],$contact['pubkey']);
- }
- else {
- openssl_private_decrypt($sent_dfrn_id,$final_dfrn_id,$contact['prvkey']);
- openssl_private_decrypt($challenge,$postvars['challenge'],$contact['prvkey']);
- }
-
- $final_dfrn_id = substr($final_dfrn_id, 0, strpos($final_dfrn_id, '.'));
-
- if(strpos($final_dfrn_id,':') == 1)
- $final_dfrn_id = substr($final_dfrn_id,2);
-
- if($final_dfrn_id != $orig_id) {
- logger('dfrn_deliver: wrong dfrn_id.');
- // did not decode properly - cannot trust this site
- return 3;
- }
-
- $postvars['dfrn_id'] = $idtosend;
- $postvars['dfrn_version'] = DFRN_PROTOCOL_VERSION;
- if($dissolve)
- $postvars['dissolve'] = '1';
-
-
- if((($contact['rel']) && ($contact['rel'] != CONTACT_IS_SHARING) && (! $contact['blocked'])) || ($owner['page-flags'] == PAGE_COMMUNITY)) {
- $postvars['data'] = $atom;
- $postvars['perm'] = 'rw';
- }
- else {
- $postvars['data'] = str_replace('1','0',$atom);
- $postvars['perm'] = 'r';
- }
-
- $postvars['ssl_policy'] = $ssl_policy;
-
- if($page)
- $postvars['page'] = $page;
-
-
- if($rino>0 && $rino_remote_version>0 && (! $dissolve)) {
- logger('rino version: '. $rino_remote_version);
-
- switch($rino_remote_version) {
- case 1:
- // Deprecated rino version!
- $key = substr(random_string(),0,16);
- $data = aes_encrypt($postvars['data'],$key);
- break;
- case 2:
- // RINO 2 based on php-encryption
- try {
- $key = Crypto::createNewRandomKey();
- } catch (CryptoTestFailed $ex) {
- logger('Cannot safely create a key');
- return -1;
- } catch (CannotPerformOperation $ex) {
- logger('Cannot safely create a key');
- return -1;
- }
- try {
- $data = Crypto::encrypt($postvars['data'], $key);
- } catch (CryptoTestFailed $ex) {
- logger('Cannot safely perform encryption');
- return -1;
- } catch (CannotPerformOperation $ex) {
- logger('Cannot safely perform encryption');
- return -1;
- }
- break;
- default:
- logger("rino: invalid requested verision '$rino_remote_version'");
- return -1;
- }
-
- $postvars['rino'] = $rino_remote_version;
- $postvars['data'] = bin2hex($data);
-
- #logger('rino: sent key = ' . $key, LOGGER_DEBUG);
-
-
- if($dfrn_version >= 2.1) {
- if(($contact['duplex'] && strlen($contact['pubkey']))
- || ($owner['page-flags'] == PAGE_COMMUNITY && strlen($contact['pubkey']))
- || ($contact['rel'] == CONTACT_IS_SHARING && strlen($contact['pubkey']))) {
-
- openssl_public_encrypt($key,$postvars['key'],$contact['pubkey']);
- }
- else {
- openssl_private_encrypt($key,$postvars['key'],$contact['prvkey']);
- }
- }
- else {
- if(($contact['duplex'] && strlen($contact['prvkey'])) || ($owner['page-flags'] == PAGE_COMMUNITY)) {
- openssl_private_encrypt($key,$postvars['key'],$contact['prvkey']);
- }
- else {
- openssl_public_encrypt($key,$postvars['key'],$contact['pubkey']);
- }
- }
-
- logger('md5 rawkey ' . md5($postvars['key']));
-
- $postvars['key'] = bin2hex($postvars['key']);
- }
-
-
- logger('dfrn_deliver: ' . "SENDING: " . print_r($postvars,true), LOGGER_DATA);
-
- $xml = post_url($contact['notify'],$postvars);
-
- logger('dfrn_deliver: ' . "RECEIVED: " . $xml, LOGGER_DATA);
-
- $curl_stat = $a->get_curl_code();
- if((! $curl_stat) || (! strlen($xml)))
- return(-1); // timed out
-
- if(($curl_stat == 503) && (stristr($a->get_curl_headers(),'retry-after')))
- return(-1);
-
- if(strpos($xml,'status;
-}
-
-
/*
This function returns true if $update has an edited timestamp newer
than $existing, i.e. $update contains new data which should override
@@ -2643,7 +1995,7 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
logger('consume_feed: feed item count = ' . $feed->get_item_quantity());
- // in inverse date order
+ // in inverse date order
if ($datedir)
$items = array_reverse($feed->get_items());
else
@@ -3040,6 +2392,9 @@ function item_is_remote_self($contact, &$datarray) {
}
function local_delivery($importer,$data) {
+
+ require_once('library/simplepie/simplepie.inc');
+
$a = get_app();
logger(__function__, LOGGER_TRACE);
@@ -3818,33 +3173,7 @@ function local_delivery($importer,$data) {
}
if($posted_id && $parent) {
-
proc_run('php',"include/notifier.php","comment-import","$posted_id");
-
- if((! $is_like) && (! $importer['self'])) {
-
- require_once('include/enotify.php');
-
- notification(array(
- 'type' => NOTIFY_COMMENT,
- 'notify_flags' => $importer['notify-flags'],
- 'language' => $importer['language'],
- 'to_name' => $importer['username'],
- 'to_email' => $importer['email'],
- 'uid' => $importer['importer_uid'],
- 'item' => $datarray,
- 'link' => $a->get_baseurl().'/display/'.urlencode(get_item_guid($posted_id)),
- 'source_name' => stripslashes($datarray['author-name']),
- 'source_link' => $datarray['author-link'],
- 'source_photo' => ((link_compare($datarray['author-link'],$importer['url']))
- ? $importer['thumb'] : $datarray['author-avatar']),
- 'verb' => ACTIVITY_POST,
- 'otype' => 'item',
- 'parent' => $parent,
- 'parent_uri' => $parent_uri,
- ));
-
- }
}
return 0;
@@ -3966,59 +3295,6 @@ function local_delivery($importer,$data) {
$posted_id = item_store($datarray);
- // find out if our user is involved in this conversation and wants to be notified.
-
- if(!x($datarray['type']) || $datarray['type'] != 'activity') {
-
- $myconv = q("SELECT `author-link`, `author-avatar`, `parent` FROM `item` WHERE `parent-uri` = '%s' AND `uid` = %d AND `parent` != 0 AND `deleted` = 0",
- dbesc($top_uri),
- intval($importer['importer_uid'])
- );
-
- if(count($myconv)) {
- $importer_url = $a->get_baseurl() . '/profile/' . $importer['nickname'];
-
- // first make sure this isn't our own post coming back to us from a wall-to-wall event
- if(! link_compare($datarray['author-link'],$importer_url)) {
-
-
- foreach($myconv as $conv) {
-
- // now if we find a match, it means we're in this conversation
-
- if(! link_compare($conv['author-link'],$importer_url))
- continue;
-
- require_once('include/enotify.php');
-
- $conv_parent = $conv['parent'];
-
- notification(array(
- 'type' => NOTIFY_COMMENT,
- 'notify_flags' => $importer['notify-flags'],
- 'language' => $importer['language'],
- 'to_name' => $importer['username'],
- 'to_email' => $importer['email'],
- 'uid' => $importer['importer_uid'],
- 'item' => $datarray,
- 'link' => $a->get_baseurl().'/display/'.urlencode(get_item_guid($posted_id)),
- 'source_name' => stripslashes($datarray['author-name']),
- 'source_link' => $datarray['author-link'],
- 'source_photo' => ((link_compare($datarray['author-link'],$importer['url']))
- ? $importer['thumb'] : $datarray['author-avatar']),
- 'verb' => ACTIVITY_POST,
- 'otype' => 'item',
- 'parent' => $conv_parent,
- 'parent_uri' => $parent_uri
-
- ));
-
- // only send one notification
- break;
- }
- }
- }
- }
continue;
}
}
@@ -4313,7 +3589,6 @@ function lose_sharer($importer,$contact,$datarray,$item) {
}
}
-
function subscribe_to_hub($url,$importer,$contact,$hubmode = 'subscribe') {
$a = get_app();
@@ -4356,189 +3631,6 @@ function subscribe_to_hub($url,$importer,$contact,$hubmode = 'subscribe') {
}
-
-function atom_author($tag,$name,$uri,$h,$w,$photo,$geo) {
- $o = '';
- if(! $tag)
- return $o;
- $name = xmlify($name);
- $uri = xmlify($uri);
- $h = intval($h);
- $w = intval($w);
- $photo = xmlify($photo);
-
-
- $o .= "<$tag>\r\n";
- $o .= "\t$name\r\n";
- $o .= "\t$uri\r\n";
- $o .= "\t".'' . "\r\n";
- $o .= "\t".'' . "\r\n";
-
- if ($tag == "author") {
-
- if($geo)
- $o .= ''.xmlify($geo).''."\r\n";
-
- $r = q("SELECT `profile`.`locality`, `profile`.`region`, `profile`.`country-name`,
- `profile`.`name`, `profile`.`pub_keywords`, `profile`.`about`,
- `profile`.`homepage`,`contact`.`nick` FROM `profile`
- INNER JOIN `contact` ON `contact`.`uid` = `profile`.`uid`
- INNER JOIN `user` ON `user`.`uid` = `profile`.`uid`
- WHERE `profile`.`is-default` AND `contact`.`self` AND
- NOT `user`.`hidewall` AND `contact`.`nurl`='%s'",
- dbesc(normalise_link($uri)));
- if ($r) {
- $location = '';
- if($r[0]['locality'])
- $location .= $r[0]['locality'];
- if($r[0]['region']) {
- if($location)
- $location .= ', ';
- $location .= $r[0]['region'];
- }
- if($r[0]['country-name']) {
- if($location)
- $location .= ', ';
- $location .= $r[0]['country-name'];
- }
-
- $o .= "\t".xmlify($r[0]["nick"])."\r\n";
- $o .= "\t".xmlify($r[0]["name"])."\r\n";
- $o .= "\t".xmlify(bbcode($r[0]["about"]))."\r\n";
- $o .= "\t\r\n";
- $o .= "\t\t".xmlify($location)."\r\n";
- $o .= "\t\r\n";
- $o .= "\t\r\n";
- $o .= "\thomepage\r\n";
- $o .= "\t\t".xmlify($r[0]["homepage"])."\r\n";
- $o .= "\t\ttrue\r\n";
- $o .= "\t\r\n";
- }
- }
-
- call_hooks('atom_author', $o);
-
- $o .= "$tag>\r\n";
- return $o;
-}
-
-function atom_entry($item,$type,$author,$owner,$comment = false,$cid = 0) {
-
- $a = get_app();
-
- if(! $item['parent'])
- return;
-
- if($item['deleted'])
- return '' . "\r\n";
-
-
- if($item['allow_cid'] || $item['allow_gid'] || $item['deny_cid'] || $item['deny_gid'])
- $body = fix_private_photos($item['body'],$owner['uid'],$item,$cid);
- else
- $body = $item['body'];
-
-
- $o = "\r\n\r\n\r\n";
-
- if(is_array($author))
- $o .= atom_author('author',$author['name'],$author['url'],80,80,$author['thumb'], $item['coord']);
- else
- $o .= atom_author('author',(($item['author-name']) ? $item['author-name'] : $item['name']),(($item['author-link']) ? $item['author-link'] : $item['url']),80,80,(($item['author-avatar']) ? $item['author-avatar'] : $item['thumb']), $item['coord']);
- if(strlen($item['owner-name']))
- $o .= atom_author('dfrn:owner',$item['owner-name'],$item['owner-link'],80,80,$item['owner-avatar'], $item['coord']);
-
- if(($item['parent'] != $item['id']) || ($item['parent-uri'] !== $item['uri']) || (($item['thr-parent'] !== '') && ($item['thr-parent'] !== $item['uri']))) {
- $parent = q("SELECT `guid` FROM `item` WHERE `id` = %d", intval($item["parent"]));
- $parent_item = (($item['thr-parent']) ? $item['thr-parent'] : $item['parent-uri']);
- $o .= ''."\r\n";
- }
-
- $htmlbody = $body;
-
- if ($item['title'] != "")
- $htmlbody = "[b]".$item['title']."[/b]\n\n".$htmlbody;
-
- $htmlbody = bbcode($htmlbody, false, false, 7);
-
- $o .= '' . xmlify($item['uri']) . '' . "\r\n";
- $o .= '' . xmlify($item['title']) . '' . "\r\n";
- $o .= '' . xmlify(datetime_convert('UTC','UTC',$item['created'] . '+00:00',ATOM_TIME)) . '' . "\r\n";
- $o .= '' . xmlify(datetime_convert('UTC','UTC',$item['edited'] . '+00:00',ATOM_TIME)) . '' . "\r\n";
- $o .= '' . base64url_encode($body, true) . '' . "\r\n";
- $o .= '' . xmlify((($type === 'html') ? $htmlbody : $body)) . '' . "\r\n";
- $o .= ''."\r\n";
-
- $o .= ''."\r\n";
-
- if($comment)
- $o .= '' . intval($item['last-child']) . '' . "\r\n";
-
- if($item['location']) {
- $o .= '' . xmlify($item['location']) . '' . "\r\n";
- $o .= '' . xmlify($item['location']) . '' . "\r\n";
- }
-
- if($item['coord'])
- $o .= '' . xmlify($item['coord']) . '' . "\r\n";
-
- if(($item['private']) || strlen($item['allow_cid']) || strlen($item['allow_gid']) || strlen($item['deny_cid']) || strlen($item['deny_gid']))
- $o .= '' . (($item['private']) ? $item['private'] : 1) . '' . "\r\n";
-
- if($item['extid'])
- $o .= '' . xmlify($item['extid']) . '' . "\r\n";
- if($item['bookmark'])
- $o .= 'true' . "\r\n";
-
- if($item['app'])
- $o .= '' . "\r\n";
-
- if($item['guid'])
- $o .= '' . $item['guid'] . '' . "\r\n";
-
- if($item['signed_text']) {
- $sign = base64_encode(json_encode(array('signed_text' => $item['signed_text'],'signature' => $item['signature'],'signer' => $item['signer'])));
- $o .= '' . xmlify($sign) . '' . "\r\n";
- }
-
- $verb = construct_verb($item);
- $o .= '' . xmlify($verb) . '' . "\r\n";
- $actobj = construct_activity_object($item);
- if(strlen($actobj))
- $o .= $actobj;
- $actarg = construct_activity_target($item);
- if(strlen($actarg))
- $o .= $actarg;
-
- $tags = item_getfeedtags($item);
- if(count($tags)) {
- foreach($tags as $t)
- if (($type != 'html') OR ($t[0] != "@"))
- $o .= '' . "\r\n";
- }
-
- /// @TODO
- /// To support these elements, the API needs to be enhanced
- /// $o .= ''."\r\n";
- /// $o .= "\t".''."\r\n";
- /// $o .= "\t".''."\r\n";
-
- // Deactivated since it was meant only for OStatus
- //$o .= item_get_attachment($item);
-
- $o .= item_getfeedattach($item);
-
- $mentioned = get_mentions($item);
- if($mentioned)
- $o .= $mentioned;
-
- call_hooks('atom_entry', $o);
-
- $o .= '' . "\r\n";
-
- return $o;
-}
-
function fix_private_photos($s, $uid, $item = null, $cid = 0) {
if(get_config('system','disable_embedded'))
@@ -4642,7 +3734,6 @@ function fix_private_photos($s, $uid, $item = null, $cid = 0) {
return($new_body);
}
-
function has_permissions($obj) {
if(($obj['allow_cid'] != '') || ($obj['allow_gid'] != '') || ($obj['deny_cid'] != '') || ($obj['deny_gid'] != ''))
return true;
@@ -4703,50 +3794,6 @@ function item_getfeedtags($item) {
return $ret;
}
-function item_get_attachment($item) {
- $o = "";
- $siteinfo = get_attached_data($item["body"]);
-
- switch($siteinfo["type"]) {
- case 'link':
- $o = ''."\r\n";
- break;
- case 'photo':
- $imgdata = get_photo_info($siteinfo["image"]);
- $o = ''."\r\n";
- break;
- case 'video':
- $o = ''."\r\n";
- break;
- default:
- break;
- }
-
- return $o;
-}
-
-function item_getfeedattach($item) {
- $ret = '';
- $arr = explode('[/attach],',$item['attach']);
- if(count($arr)) {
- foreach($arr as $r) {
- $matches = false;
- $cnt = preg_match('|\[attach\]href=\"(.*?)\" length=\"(.*?)\" type=\"(.*?)\" title=\"(.*?)\"|',$r,$matches);
- if($cnt) {
- $ret .= ' 0)) {
+ $r = q("SELECT prvkey FROM user WHERE uid = %d LIMIT 1",
+ intval($contact['uid'])
+ );
- if( $r)
- $authorsig = base64_encode(rsa_sign($signed_text,$r['prvkey'],'sha256'));
+ if($r)
+ $authorsig = base64_encode(rsa_sign($signed_text,$r[0]['prvkey'],'sha256'));
}
if(! isset($authorsig))
@@ -329,6 +338,10 @@ function store_diaspora_like_sig($activity, $post_type, $contact, $post_id) {
$contact_baseurl = substr($contact['url'], $contact_baseurl_start, $contact_baseurl_length);
$diaspora_handle = $contact['nick'] . '@' . $contact_baseurl;
+
+ // This code could never had worked (the return values form the queries were used in a wrong way.
+ // Additionally it is needlessly complicated. Either the contact is owner or not. And we have this data already.
+/*
// Get contact's private key if he's a user of the local Friendica server
$r = q("SELECT `contact`.`uid` FROM `contact` WHERE `url` = '%s' AND `self` = 1 LIMIT 1",
dbesc($contact['url'])
@@ -343,6 +356,17 @@ function store_diaspora_like_sig($activity, $post_type, $contact, $post_id) {
if( $r)
$contact_uprvkey = $r['prvkey'];
}
+*/
+
+ // Is the contact the owner? Then fetch the private key
+ if ($contact['self'] AND ($contact['uid'] > 0)) {
+ $r = q("SELECT prvkey FROM user WHERE uid = %d LIMIT 1",
+ intval($contact['uid'])
+ );
+
+ if($r)
+ $contact_uprvkey = $r[0]['prvkey'];
+ }
$r = q("SELECT guid, parent FROM `item` WHERE id = %d LIMIT 1",
intval($post_id)
@@ -353,7 +377,7 @@ function store_diaspora_like_sig($activity, $post_type, $contact, $post_id) {
intval($r[0]['parent'])
);
if( $p) {
- $signed_text = $r[0]['guid'] . ';Post;' . $p[0]['guid'] . ';true;' . $diaspora_handle;
+ $signed_text = 'true;'.$r[0]['guid'].';Post;'.$p[0]['guid'].';'.$diaspora_handle;
if(isset($contact_uprvkey))
$authorsig = base64_encode(rsa_sign($signed_text,$contact_uprvkey,'sha256'));
diff --git a/include/network.php b/include/network.php
index 611f00632f..c6379e407b 100644
--- a/include/network.php
+++ b/include/network.php
@@ -42,6 +42,7 @@ if(!function_exists('z_fetch_url')){
* @return array an assoziative array with:
* * \e int \b return_code => HTTP return code or 0 if timeout or failure
* * \e boolean \b success => boolean true (if HTTP 2xx result) or false
+ * * \e string \b redirect_url => in case of redirect, content was finally retrieved from this URL
* * \e string \b header => HTTP headers
* * \e string \b body => fetched content
*/
@@ -116,6 +117,9 @@ function z_fetch_url($url,$binary = false, &$redirects = 0, $opts=array()) {
// if it throws any errors.
$s = @curl_exec($ch);
+ if (curl_errno($ch) !== CURLE_OK) {
+ logger('fetch_url error fetching '.$url.': '.curl_error($ch), LOGGER_NORMAL);
+ }
$base = $s;
$curl_info = @curl_getinfo($ch);
@@ -133,6 +137,10 @@ function z_fetch_url($url,$binary = false, &$redirects = 0, $opts=array()) {
$base = substr($base,strlen($chunk));
}
+ $a->set_curl_code($http_code);
+ $a->set_curl_content_type($curl_info['content_type']);
+ $a->set_curl_headers($header);
+
if($http_code == 301 || $http_code == 302 || $http_code == 303 || $http_code == 307) {
$new_location_info = @parse_url($curl_info["redirect_url"]);
$old_location_info = @parse_url($curl_info["url"]);
@@ -160,13 +168,13 @@ function z_fetch_url($url,$binary = false, &$redirects = 0, $opts=array()) {
$a->set_curl_content_type($curl_info['content_type']);
$body = substr($s,strlen($header));
- $a->set_curl_headers($header);
$rc = intval($http_code);
$ret['return_code'] = $rc;
$ret['success'] = (($rc >= 200 && $rc <= 299) ? true : false);
+ $ret['redirect_url'] = $url;
if(! $ret['success']) {
$ret['error'] = curl_error($ch);
$ret['debug'] = $curl_info;
diff --git a/include/notifier.php b/include/notifier.php
index 92e48c3554..6c42f19c6a 100644
--- a/include/notifier.php
+++ b/include/notifier.php
@@ -535,7 +535,7 @@ function notifier_run(&$argv, &$argc){
if($public_message) {
- if (!$followup)
+ if (!$followup AND $top_level)
$r0 = diaspora_fetch_relay();
else
$r0 = array();
diff --git a/include/onepoll.php b/include/onepoll.php
index 516f1dfd4d..6fb191f73d 100644
--- a/include/onepoll.php
+++ b/include/onepoll.php
@@ -27,7 +27,6 @@ function onepoll_run(&$argv, &$argc){
require_once('include/session.php');
require_once('include/datetime.php');
- require_once('library/simplepie/simplepie.inc');
require_once('include/items.php');
require_once('include/Contact.php');
require_once('include/email.php');
@@ -335,7 +334,9 @@ function onepoll_run(&$argv, &$argc){
if($contact['rel'] == CONTACT_IS_FOLLOWER || $contact['blocked'] || $contact['readonly'])
return;
- $xml = fetch_url($contact['poll']);
+ $cookiejar = tempnam(get_temppath(), 'cookiejar-onepoll-');
+ $xml = fetch_url($contact['poll'], false, $redirects, 0, Null, $cookiejar);
+ unlink($cookiejar);
}
elseif($contact['network'] === NETWORK_MAIL || $contact['network'] === NETWORK_MAIL2) {
diff --git a/include/ostatus.php b/include/ostatus.php
index b7799fa9df..37b308db70 100644
--- a/include/ostatus.php
+++ b/include/ostatus.php
@@ -127,7 +127,8 @@ function ostatus_fetchauthor($xpath, $context, $importer, &$contact, $onlyfetch)
$author["owner-link"] = $author["author-link"];
$author["owner-avatar"] = $author["author-avatar"];
- if ($r AND !$onlyfetch) {
+ // Only update the contacts if it is an OStatus contact
+ if ($r AND !$onlyfetch AND ($contact["network"] == NETWORK_OSTATUS)) {
// Update contact data
$value = $xpath->query("atom:link[@rel='salmon']", $context)->item(0)->nodeValue;
@@ -158,24 +159,21 @@ function ostatus_fetchauthor($xpath, $context, $importer, &$contact, $onlyfetch)
logger("Update contact data for contact ".$contact["id"], LOGGER_DEBUG);
- q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `about` = '%s', `location` = '%s', `name-date` = '%s' WHERE `id` = %d AND `network` = '%s'",
+ q("UPDATE `contact` SET `name` = '%s', `nick` = '%s', `about` = '%s', `location` = '%s', `name-date` = '%s' WHERE `id` = %d",
dbesc($contact["name"]), dbesc($contact["nick"]), dbesc($contact["about"]), dbesc($contact["location"]),
- dbesc(datetime_convert()), intval($contact["id"]), dbesc(NETWORK_OSTATUS));
+ dbesc(datetime_convert()), intval($contact["id"]));
poco_check($contact["url"], $contact["name"], $contact["network"], $author["author-avatar"], $contact["about"], $contact["location"],
"", "", "", datetime_convert(), 2, $contact["id"], $contact["uid"]);
}
- if (isset($author["author-avatar"]) AND ($author["author-avatar"] != $r[0]['photo'])) {
+ if (isset($author["author-avatar"]) AND ($author["author-avatar"] != $r[0]['avatar'])) {
logger("Update profile picture for contact ".$contact["id"], LOGGER_DEBUG);
- $photos = import_profile_photo($author["author-avatar"], $importer["uid"], $contact["id"]);
-
- q("UPDATE `contact` SET `photo` = '%s', `thumb` = '%s', `micro` = '%s', `avatar-date` = '%s' WHERE `id` = %d AND `network` = '%s'",
- dbesc($author["author-avatar"]), dbesc($photos[1]), dbesc($photos[2]),
- dbesc(datetime_convert()), intval($contact["id"]), dbesc(NETWORK_OSTATUS));
+ update_contact_avatar($author["author-avatar"], $importer["uid"], $contact["id"]);
}
+
/// @todo Add the "addr" field
$contact["generation"] = 2;
$contact["photo"] = $author["author-avatar"];
@@ -558,29 +556,6 @@ function ostatus_import($xml,$importer,&$contact, &$hub) {
}
logger("Item was stored with id ".$item_id, LOGGER_DEBUG);
- $item["id"] = $item_id;
-
- if ($mention) {
- $u = q("SELECT `notify-flags`, `language`, `username`, `email` FROM user WHERE uid = %d LIMIT 1", intval($item['uid']));
- $r = q("SELECT `parent` FROM `item` WHERE `id` = %d", intval($item_id));
-
- notification(array(
- 'type' => NOTIFY_TAGSELF,
- 'notify_flags' => $u[0]["notify-flags"],
- 'language' => $u[0]["language"],
- 'to_name' => $u[0]["username"],
- 'to_email' => $u[0]["email"],
- 'uid' => $item["uid"],
- 'item' => $item,
- 'link' => $a->get_baseurl().'/display/'.urlencode(get_item_guid($item_id)),
- 'source_name' => $item["author-name"],
- 'source_link' => $item["author-link"],
- 'source_photo' => $item["author-avatar"],
- 'verb' => ACTIVITY_TAG,
- 'otype' => 'item',
- 'parent' => $r[0]["parent"]
- ));
- }
}
}
@@ -1025,28 +1000,6 @@ function ostatus_completion($conversation_url, $uid, $item = array()) {
// Add the conversation entry (but don't fetch the whole conversation)
ostatus_store_conversation($newitem, $conversation_url);
- if ($mention) {
- $u = q("SELECT `notify-flags`, `language`, `username`, `email` FROM user WHERE uid = %d LIMIT 1", intval($uid));
- $r = q("SELECT `parent` FROM `item` WHERE `id` = %d", intval($newitem));
-
- notification(array(
- 'type' => NOTIFY_TAGSELF,
- 'notify_flags' => $u[0]["notify-flags"],
- 'language' => $u[0]["language"],
- 'to_name' => $u[0]["username"],
- 'to_email' => $u[0]["email"],
- 'uid' => $uid,
- 'item' => $arr,
- 'link' => $a->get_baseurl().'/display/'.urlencode(get_item_guid($newitem)),
- 'source_name' => $arr["author-name"],
- 'source_link' => $arr["author-link"],
- 'source_photo' => $arr["author-avatar"],
- 'verb' => ACTIVITY_TAG,
- 'otype' => 'item',
- 'parent' => $r[0]["parent"]
- ));
- }
-
// If the newly created item is the top item then change the parent settings of the thread
// This shouldn't happen anymore. This is supposed to be absolote.
if ($arr["uri"] == $first_id) {
@@ -1121,7 +1074,7 @@ function get_reshared_guid($item) {
return $guid;
}
-function xml_add_element($doc, $parent, $element, $value = "", $attributes = array()) {
+function xml_create_element($doc, $element, $value = "", $attributes = array()) {
$element = $doc->createElement($element, xmlify($value));
foreach ($attributes AS $key => $value) {
@@ -1129,7 +1082,11 @@ function xml_add_element($doc, $parent, $element, $value = "", $attributes = arr
$attribute->value = xmlify($value);
$element->appendChild($attribute);
}
+ return $element;
+}
+function xml_add_element($doc, $parent, $element, $value = "", $attributes = array()) {
+ $element = xml_create_element($doc, $element, $value, $attributes);
$parent->appendChild($element);
}
diff --git a/include/poller.php b/include/poller.php
index c681bfb389..190f3fb1ad 100644
--- a/include/poller.php
+++ b/include/poller.php
@@ -39,8 +39,10 @@ function poller_run(&$argv, &$argc){
}
// Checking the number of workers
- if (poller_too_much_workers(1))
+ if (poller_too_much_workers(1)) {
+ poller_kill_stale_workers();
return;
+ }
if(($argc <= 1) OR ($argv[1] != "no_cron")) {
// Run the cron job that calls all other jobs
@@ -50,16 +52,7 @@ function poller_run(&$argv, &$argc){
proc_run("php","include/cronhooks.php");
// Cleaning dead processes
- $r = q("SELECT DISTINCT(`pid`) FROM `workerqueue` WHERE `executed` != '0000-00-00 00:00:00'");
- foreach($r AS $pid)
- if (!posix_kill($pid["pid"], 0))
- q("UPDATE `workerqueue` SET `executed` = '0000-00-00 00:00:00', `pid` = 0 WHERE `pid` = %d",
- intval($pid["pid"]));
- else {
- /// @TODO Kill long running processes
- /// But: Update processes (like the database update) mustn't be killed
- }
-
+ poller_kill_stale_workers();
} else
// Sleep four seconds before checking for running processes again to avoid having too many workers
sleep(4);
@@ -124,6 +117,32 @@ function poller_run(&$argv, &$argc){
}
+/**
+ * @brief fix the queue entry if the worker process died
+ *
+ */
+function poller_kill_stale_workers() {
+ $r = q("SELECT `pid`, `executed` FROM `workerqueue` WHERE `executed` != '0000-00-00 00:00:00'");
+ foreach($r AS $pid)
+ if (!posix_kill($pid["pid"], 0))
+ q("UPDATE `workerqueue` SET `executed` = '0000-00-00 00:00:00', `pid` = 0 WHERE `pid` = %d",
+ intval($pid["pid"]));
+ else {
+ // Kill long running processes
+ $duration = (time() - strtotime($pid["executed"])) / 60;
+ if ($duration > 180) {
+ logger("Worker process ".$pid["pid"]." took more than 3 hours. It will be killed now.");
+ posix_kill($pid["pid"], SIGTERM);
+
+ // Question: If a process is stale: Should we remove it or should we reschedule it?
+ // By now we rescheduling it. It's maybe not the wisest decision?
+ q("UPDATE `workerqueue` SET `executed` = '0000-00-00 00:00:00', `pid` = 0 WHERE `pid` = %d",
+ intval($pid["pid"]));
+ } else
+ logger("Worker process ".$pid["pid"]." now runs for ".round($duration)." minutes. That's okay.", LOGGER_DEBUG);
+ }
+}
+
function poller_too_much_workers($stage) {
$queues = get_config("system", "worker_queues");
diff --git a/include/profile_update.php b/include/profile_update.php
index 0fcf3617fb..7cc72cc866 100644
--- a/include/profile_update.php
+++ b/include/profile_update.php
@@ -3,6 +3,7 @@
require_once('include/datetime.php');
require_once('include/diaspora.php');
require_once('include/queue_fn.php');
+require_once('include/Contact.php');
function profile_change() {
@@ -53,19 +54,7 @@ function profile_change() {
$about = xmlify($profile['about']);
require_once('include/bbcode.php');
$about = xmlify(strip_tags(bbcode($about)));
- $location = '';
- if($profile['locality'])
- $location .= $profile['locality'];
- if($profile['region']) {
- if($location)
- $location .= ', ';
- $location .= $profile['region'];
- }
- if($profile['country-name']) {
- if($location)
- $location .= ', ';
- $location .= $profile['country-name'];
- }
+ $location = formatted_location($profile);
$location = xmlify($location);
$tags = '';
if($profile['pub_keywords']) {
diff --git a/include/queue.php b/include/queue.php
index cb5fe28ad9..1525ca3abf 100644
--- a/include/queue.php
+++ b/include/queue.php
@@ -1,6 +1,7 @@
UTC_TIMESTAMP() - INTERVAL 12 HOUR && `last` < UTC_TIMESTAMP() - INTERVAL 15 MINUTE ) OR ( `last` < UTC_TIMESTAMP() - INTERVAL 1 HOUR ))");
+ $r = q("SELECT `id` FROM `queue` WHERE ((`created` > UTC_TIMESTAMP() - INTERVAL 12 HOUR && `last` < UTC_TIMESTAMP() - INTERVAL 15 MINUTE) OR (`last` < UTC_TIMESTAMP() - INTERVAL 1 HOUR)) ORDER BY `cid`, `created`");
}
if(! $r){
return;
@@ -116,7 +119,7 @@ function queue_run(&$argv, &$argc){
// so check again if this entry still needs processing
if($queue_id) {
- $qi = q("select * from queue where `id` = %d limit 1",
+ $qi = q("SELECT * FROM `queue` WHERE `id` = %d LIMIT 1",
intval($queue_id)
);
}
@@ -142,8 +145,18 @@ function queue_run(&$argv, &$argc){
continue;
}
- if (!poco_reachable($c[0]['url'])) {
- logger('queue: skipping probably dead url: ' . $c[0]['url']);
+ $server = poco_detect_server($c[0]['url']);
+
+ if (($server != "") AND !in_array($server, $serverlist)) {
+ logger("Check server ".$server." (".$c[0]["network"].")");
+ if (!poco_check_server($server, $c[0]["network"], true))
+ $deadservers[] = $server;
+
+ $serverlist[] = $server;
+ }
+
+ if (($server != "") AND in_array($server, $deadservers)) {
+ logger('queue: skipping known dead server: '.$server);
update_queue_time($q_item['id']);
continue;
}
@@ -166,37 +179,39 @@ function queue_run(&$argv, &$argc){
switch($contact['network']) {
case NETWORK_DFRN:
- logger('queue: dfrndelivery: item ' . $q_item['id'] . ' for ' . $contact['name']);
- $deliver_status = dfrn_deliver($owner,$contact,$data);
+ logger('queue: dfrndelivery: item '.$q_item['id'].' for '.$contact['name'].' <'.$contact['url'].'>');
+ $deliver_status = dfrn::deliver($owner,$contact,$data);
if($deliver_status == (-1)) {
update_queue_time($q_item['id']);
$deadguys[] = $contact['notify'];
- }
- else {
+ } else
remove_queue_item($q_item['id']);
- }
+
break;
case NETWORK_OSTATUS:
if($contact['notify']) {
- logger('queue: slapdelivery: item ' . $q_item['id'] . ' for ' . $contact['name']);
+ logger('queue: slapdelivery: item '.$q_item['id'].' for '.$contact['name'].' <'.$contact['url'].'>');
$deliver_status = slapper($owner,$contact['notify'],$data);
- if($deliver_status == (-1))
+ if($deliver_status == (-1)) {
update_queue_time($q_item['id']);
- else
+ $deadguys[] = $contact['notify'];
+ } else
remove_queue_item($q_item['id']);
}
break;
case NETWORK_DIASPORA:
if($contact['notify']) {
- logger('queue: diaspora_delivery: item ' . $q_item['id'] . ' for ' . $contact['name']);
+ logger('queue: diaspora_delivery: item '.$q_item['id'].' for '.$contact['name'].' <'.$contact['url'].'>');
$deliver_status = diaspora_transmit($owner,$contact,$data,$public,true);
- if($deliver_status == (-1))
+ if($deliver_status == (-1)) {
update_queue_time($q_item['id']);
- else
+ $deadguys[] = $contact['notify'];
+ } else
remove_queue_item($q_item['id']);
+
}
break;
@@ -212,6 +227,7 @@ function queue_run(&$argv, &$argc){
break;
}
+ logger('Deliver status '.$deliver_status.' for item '.$q_item['id'].' to '.$contact['name'].' <'.$contact['url'].'>');
}
return;
diff --git a/include/socgraph.php b/include/socgraph.php
index a01c9c5cb0..c545343393 100644
--- a/include/socgraph.php
+++ b/include/socgraph.php
@@ -289,93 +289,25 @@ function poco_check($profile_url, $name, $network, $profile_photo, $about, $loca
poco_check_server($server_url, $network);
- if(count($x)) {
- $gcid = $x[0]['id'];
+ $gcontact = array("url" => $profile_url,
+ "addr" => $addr,
+ "alias" => $alias,
+ "name" => $name,
+ "network" => $network,
+ "photo" => $profile_photo,
+ "about" => $about,
+ "location" => $location,
+ "gender" => $gender,
+ "keywords" => $keywords,
+ "server_url" => $server_url,
+ "connect" => $connect_url,
+ "notify" => $notify,
+ "updated" => $updated,
+ "generation" => $generation);
- if (($location == "") AND ($x[0]['location'] != ""))
- $location = $x[0]['location'];
+ $gcid = update_gcontact($gcontact);
- if (($about == "") AND ($x[0]['about'] != ""))
- $about = $x[0]['about'];
-
- if (($gender == "") AND ($x[0]['gender'] != ""))
- $gender = $x[0]['gender'];
-
- if (($keywords == "") AND ($x[0]['keywords'] != ""))
- $keywords = $x[0]['keywords'];
-
- if (($addr == "") AND ($x[0]['addr'] != ""))
- $addr = $x[0]['addr'];
-
- if (($alias == "") AND ($x[0]['alias'] != ""))
- $alias = $x[0]['alias'];
-
- if (($notify == "") AND ($x[0]['notify'] != ""))
- $notify = $x[0]['notify'];
-
- if (($generation == 0) AND ($x[0]['generation'] > 0))
- $generation = $x[0]['generation'];
-
- if($x[0]['name'] != $name || $x[0]['photo'] != $profile_photo || $x[0]['updated'] < $updated) {
- q("UPDATE `gcontact` SET `name` = '%s', `addr` = '%s', `network` = '%s', `photo` = '%s', `connect` = '%s', `url` = '%s', `server_url` = '%s',
- `updated` = '%s', `location` = '%s', `about` = '%s', `keywords` = '%s', `gender` = '%s', `generation` = %d,
- `alias` = '$s', `notify` = '%s'
- WHERE (`generation` >= %d OR `generation` = 0) AND `nurl` = '%s'",
- dbesc($name),
- dbesc($addr),
- dbesc($network),
- dbesc($profile_photo),
- dbesc($connect_url),
- dbesc($profile_url),
- dbesc($server_url),
- dbesc($updated),
- dbesc($location),
- dbesc($about),
- dbesc($keywords),
- dbesc($gender),
- dbesc($alias),
- dbesc($notify),
- intval($generation),
- intval($generation),
- dbesc(normalise_link($profile_url))
- );
- }
- } else {
- // Maybe another process had inserted the entry after the first check, so it again
- $x = q("SELECT `id` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
- dbesc(normalise_link($profile_url))
- );
- if(!$x) {
- q("INSERT INTO `gcontact` (`name`, `nick`, `addr`, `network`, `url`, `nurl`, `photo`, `connect`, `server_url`, `created`, `updated`, `location`, `about`, `keywords`, `gender`, `alias`, `notify`, `generation`)
- VALUES ('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d)",
- dbesc($name),
- dbesc($nick),
- dbesc($addr),
- dbesc($network),
- dbesc($profile_url),
- dbesc(normalise_link($profile_url)),
- dbesc($profile_photo),
- dbesc($connect_url),
- dbesc($server_url),
- dbesc(datetime_convert()),
- dbesc($updated),
- dbesc($location),
- dbesc($about),
- dbesc($keywords),
- dbesc($gender),
- dbesc($alias),
- dbesc($notify),
- intval($generation)
- );
- $x = q("SELECT `id` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
- dbesc(normalise_link($profile_url))
- );
- }
- if(count($x))
- $gcid = $x[0]['id'];
- }
-
- if(! $gcid)
+ if(!$gcid)
return $gcid;
$r = q("SELECT * FROM `glink` WHERE `cid` = %d AND `uid` = %d AND `gcid` = %d AND `zcid` = %d LIMIT 1",
@@ -402,13 +334,6 @@ function poco_check($profile_url, $name, $network, $profile_photo, $about, $loca
);
}
- // For unknown reasons there are sometimes duplicates
- //q("DELETE FROM `gcontact` WHERE `nurl` = '%s' AND `id` != %d AND
- // NOT EXISTS (SELECT `gcid` FROM `glink` WHERE `gcid` = `gcontact`.`id`)",
- // dbesc(normalise_link($profile_url)),
- // intval($gcid)
- //);
-
return $gcid;
}
@@ -721,6 +646,10 @@ function poco_to_boolean($val) {
function poco_check_server($server_url, $network = "", $force = false) {
+ // Unify the server address
+ $server_url = trim($server_url, "/");
+ $server_url = str_replace("/index.php", "", $server_url);
+
if ($server_url == "")
return false;
@@ -792,19 +721,23 @@ function poco_check_server($server_url, $network = "", $force = false) {
// Test for Diaspora
$serverret = z_fetch_url($server_url);
- $lines = explode("\n",$serverret["header"]);
- if(count($lines))
- foreach($lines as $line) {
- $line = trim($line);
- if(stristr($line,'X-Diaspora-Version:')) {
- $platform = "Diaspora";
- $version = trim(str_replace("X-Diaspora-Version:", "", $line));
- $version = trim(str_replace("x-diaspora-version:", "", $version));
- $network = NETWORK_DIASPORA;
- $versionparts = explode("-", $version);
- $version = $versionparts[0];
+ if (!$serverret["success"] OR ($serverret["body"] == ""))
+ $failure = true;
+ else {
+ $lines = explode("\n",$serverret["header"]);
+ if(count($lines))
+ foreach($lines as $line) {
+ $line = trim($line);
+ if(stristr($line,'X-Diaspora-Version:')) {
+ $platform = "Diaspora";
+ $version = trim(str_replace("X-Diaspora-Version:", "", $line));
+ $version = trim(str_replace("x-diaspora-version:", "", $version));
+ $network = NETWORK_DIASPORA;
+ $versionparts = explode("-", $version);
+ $version = $versionparts[0];
+ }
}
- }
+ }
}
if (!$failure) {
@@ -1315,18 +1248,30 @@ function poco_discover_federation() {
return;
}
+ // Discover Friendica, Hubzilla and Diaspora servers
$serverdata = fetch_url("http://the-federation.info/pods.json");
- if (!$serverdata)
- return;
+ if ($serverdata) {
+ $servers = json_decode($serverdata);
- $servers = json_decode($serverdata);
+ foreach($servers->pods AS $server)
+ poco_check_server("https://".$server->host);
+ }
- foreach($servers->pods AS $server)
- poco_check_server("https://".$server->host);
+ // Discover GNU Social Servers
+ if (!get_config('system','ostatus_disabled')) {
+ $serverdata = "http://gstools.org/api/get_open_instances/";
+
+ $result = z_fetch_url($serverdata);
+ if ($result["success"]) {
+ $servers = json_decode($result["body"]);
+
+ foreach($servers->data AS $server)
+ poco_check_server($server->instance_address);
+ }
+ }
set_config('poco','last_federation_discovery', time());
-
}
function poco_discover($complete = false) {
@@ -1520,7 +1465,7 @@ function get_gcontact_id($contact) {
if ($contact["network"] == NETWORK_STATUSNET)
$contact["network"] = NETWORK_OSTATUS;
- $r = q("SELECT `id` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
+ $r = q("SELECT `id` FROM `gcontact` WHERE `nurl` = '%s' ORDER BY `id` LIMIT 2",
dbesc(normalise_link($contact["url"])));
if ($r)
@@ -1542,13 +1487,18 @@ function get_gcontact_id($contact) {
intval($contact["generation"])
);
- $r = q("SELECT `id` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
+ $r = q("SELECT `id` FROM `gcontact` WHERE `nurl` = '%s' ORDER BY `id` LIMIT 2",
dbesc(normalise_link($contact["url"])));
if ($r)
$gcontact_id = $r[0]["id"];
}
+ if ((count($r) > 1) AND ($gcontact_id > 0) AND ($contact["url"] != ""))
+ q("DELETE FROM `gcontact` WHERE `nurl` = '%s' AND `id` != %d",
+ dbesc(normalise_link($contact["url"])),
+ intval($gcontact_id));
+
return $gcontact_id;
}
@@ -1567,78 +1517,55 @@ function update_gcontact($contact) {
if (!$gcontact_id)
return false;
- $r = q("SELECT `name`, `nick`, `photo`, `location`, `about`, `addr`, `generation`, `birthday`, `gender`, `keywords`, `hide`, `nsfw`, `network`, `alias`, `notify`, `url`
+ $r = q("SELECT `name`, `nick`, `photo`, `location`, `about`, `addr`, `generation`, `birthday`, `gender`, `keywords`,
+ `hide`, `nsfw`, `network`, `alias`, `notify`, `server_url`, `connect`, `updated`, `url`
FROM `gcontact` WHERE `id` = %d LIMIT 1",
intval($gcontact_id));
- if ($contact["generation"] == 0)
- $contact["generation"] = $r[0]["generation"];
+ // Get all field names
+ $fields = array();
+ foreach ($r[0] AS $field => $data)
+ $fields[$field] = $data;
- if ($contact["photo"] == "")
- $contact["photo"] = $r[0]["photo"];
+ unset($fields["url"]);
+ unset($fields["updated"]);
- if ($contact["name"] == "")
- $contact["name"] = $r[0]["name"];
-
- if ($contact["nick"] == "")
- $contact["nick"] = $r[0]["nick"];
-
- if ($contact["addr"] == "")
- $contact["addr"] = $r[0]["addr"];
-
- if ($contact["location"] =="")
- $contact["location"] = $r[0]["location"];
-
- if ($contact["about"] =="")
- $contact["about"] = $r[0]["about"];
-
- if ($contact["birthday"] =="")
- $contact["birthday"] = $r[0]["birthday"];
-
- if ($contact["gender"] =="")
- $contact["gender"] = $r[0]["gender"];
-
- if ($contact["keywords"] =="")
- $contact["keywords"] = $r[0]["keywords"];
-
- if (!isset($contact["hide"]))
- $contact["hide"] = $r[0]["hide"];
-
- if (!isset($contact["nsfw"]))
- $contact["nsfw"] = $r[0]["nsfw"];
-
- if ($contact["network"] =="")
- $contact["network"] = $r[0]["network"];
-
- if ($contact["alias"] =="")
- $contact["alias"] = $r[0]["alias"];
-
- if ($contact["url"] =="")
- $contact["url"] = $r[0]["url"];
-
- if ($contact["notify"] =="")
- $contact["notify"] = $r[0]["notify"];
+ // assign all unassigned fields from the database entry
+ foreach ($fields AS $field => $data)
+ if (!isset($contact[$field]))
+ $contact[$field] = $r[0][$field];
if ($contact["network"] == NETWORK_STATUSNET)
$contact["network"] = NETWORK_OSTATUS;
- if (($contact["photo"] != $r[0]["photo"]) OR ($contact["name"] != $r[0]["name"]) OR ($contact["nick"] != $r[0]["nick"]) OR ($contact["addr"] != $r[0]["addr"]) OR
- ($contact["birthday"] != $r[0]["birthday"]) OR ($contact["gender"] != $r[0]["gender"]) OR ($contact["keywords"] != $r[0]["keywords"]) OR
- ($contact["hide"] != $r[0]["hide"]) OR ($contact["nsfw"] != $r[0]["nsfw"]) OR ($contact["network"] != $r[0]["network"]) OR
- ($contact["alias"] != $r[0]["alias"]) OR ($contact["notify"] != $r[0]["notify"]) OR ($contact["url"] != $r[0]["url"]) OR
- ($contact["location"] != $r[0]["location"]) OR ($contact["about"] != $r[0]["about"]) OR ($contact["generation"] < $r[0]["generation"])) {
+ if (!isset($contact["updated"]))
+ $contact["updated"] = datetime_convert();
+ // Check if any field changed
+ $update = false;
+ unset($fields["generation"]);
+
+ foreach ($fields AS $field => $data)
+ if ($contact[$field] != $r[0][$field])
+ $update = true;
+
+ if ($contact["generation"] < $r[0]["generation"])
+ $update = true;
+
+ if ($update) {
q("UPDATE `gcontact` SET `photo` = '%s', `name` = '%s', `nick` = '%s', `addr` = '%s', `network` = '%s',
`birthday` = '%s', `gender` = '%s', `keywords` = %d, `hide` = %d, `nsfw` = %d,
`alias` = '%s', `notify` = '%s', `url` = '%s',
- `location` = '%s', `about` = '%s', `generation` = %d, `updated` = '%s'
+ `location` = '%s', `about` = '%s', `generation` = %d, `updated` = '%s',
+ `server_url` = '%s', `connect` = '%s'
WHERE `nurl` = '%s' AND (`generation` = 0 OR `generation` >= %d)",
dbesc($contact["photo"]), dbesc($contact["name"]), dbesc($contact["nick"]),
dbesc($contact["addr"]), dbesc($contact["network"]), dbesc($contact["birthday"]),
dbesc($contact["gender"]), dbesc($contact["keywords"]), intval($contact["hide"]),
intval($contact["nsfw"]), dbesc($contact["alias"]), dbesc($contact["notify"]),
dbesc($contact["url"]), dbesc($contact["location"]), dbesc($contact["about"]),
- intval($contact["generation"]), dbesc(datetime_convert()),
+ intval($contact["generation"]), dbesc($contact["updated"]),
+ dbesc($contact["server_url"]), dbesc($contact["connect"]),
dbesc(normalise_link($contact["url"])), intval($contact["generation"]));
}
@@ -1656,4 +1583,82 @@ function update_gcontact_from_probe($url) {
if ($data["network"] != NETWORK_PHANTOM)
update_gcontact($data);
}
+
+/**
+ * @brief Fetches users of given GNU Social server
+ *
+ * If the "Statistics" plugin is enabled (See http://gstools.org/ for details) we query user data with this.
+ *
+ * @param str $server Server address
+ */
+function gs_fetch_users($server) {
+
+ logger("Fetching users from GNU Social server ".$server, LOGGER_DEBUG);
+
+ $a = get_app();
+
+ $url = $server."/main/statistics";
+
+ $result = z_fetch_url($url);
+ if (!$result["success"])
+ return false;
+
+ $statistics = json_decode($result["body"]);
+
+ if (is_object($statistics->config)) {
+ if ($statistics->config->instance_with_ssl)
+ $server = "https://";
+ else
+ $server = "http://";
+
+ $server .= $statistics->config->instance_address;
+
+ $hostname = $statistics->config->instance_address;
+ } else {
+ if ($statistics->instance_with_ssl)
+ $server = "https://";
+ else
+ $server = "http://";
+
+ $server .= $statistics->instance_address;
+
+ $hostname = $statistics->instance_address;
+ }
+
+ if (is_object($statistics->users))
+ foreach ($statistics->users AS $nick => $user) {
+ $profile_url = $server."/".$user->nickname;
+
+ $contact = array("url" => $profile_url,
+ "name" => $user->fullname,
+ "addr" => $user->nickname."@".$hostname,
+ "nick" => $user->nickname,
+ "about" => $user->bio,
+ "network" => NETWORK_OSTATUS,
+ "photo" => $a->get_baseurl()."/images/person-175.jpg");
+ get_gcontact_id($contact);
+ }
+}
+
+/**
+ * @brief Asking GNU Social server on a regular base for their user data
+ *
+ */
+function gs_discover() {
+
+ $requery_days = intval(get_config("system", "poco_requery_days"));
+
+ $last_update = date("c", time() - (60 * 60 * 24 * $requery_days));
+
+ $r = q("SELECT `nurl`, `url` FROM `gserver` WHERE `last_contact` >= `last_failure` AND `network` = '%s' AND `last_poco_query` < '%s' ORDER BY RAND() LIMIT 5",
+ dbesc(NETWORK_OSTATUS), dbesc($last_update));
+
+ if (!$r)
+ return;
+
+ foreach ($r AS $server) {
+ gs_fetch_users($server["url"]);
+ q("UPDATE `gserver` SET `last_poco_query` = '%s' WHERE `nurl` = '%s'", dbesc(datetime_convert()), dbesc($server["nurl"]));
+ }
+}
?>
diff --git a/include/text.php b/include/text.php
index fc5e79294f..4f3af5aee8 100644
--- a/include/text.php
+++ b/include/text.php
@@ -829,35 +829,6 @@ function qp($s) {
return str_replace ("%","=",rawurlencode($s));
}}
-
-
-if(! function_exists('get_mentions')) {
-/**
- * @param array $item
- * @return string html for mentions #FIXME: remove html
- */
-function get_mentions($item) {
- $o = '';
- if(! strlen($item['tag']))
- return $o;
-
- $arr = explode(',',$item['tag']);
- foreach($arr as $x) {
- $matches = null;
- if(preg_match('/@\[url=([^\]]*)\]/',$x,$matches)) {
- $o .= "\t\t" . '' . "\r\n";
- $o .= "\t\t" . '' . "\r\n";
- }
- }
-
- if (!$item['private']) {
- $o .= "\t\t".''."\r\n";
- $o .= "\t\t".''."\r\n";
- }
-
- return $o;
-}}
-
if(! function_exists('contact_block')) {
/**
* Get html for contact block.
@@ -1533,7 +1504,7 @@ function prepare_body(&$item,$attach = false, $preview = false) {
$pos = strpos($s, $spoilersearch);
$rnd = random_string(8);
- $spoilerreplace = ' '.sprintf(t('Click to open/close')).''.
+ $spoilerreplace = ' '.sprintf(t('Click to open/close')).''.
'
';
$s = substr($s, 0, $pos).$authorreplace.substr($s, $pos+strlen($authorsearch));
}
@@ -1657,54 +1628,6 @@ function get_cats_and_terms($item) {
return array($categories, $folders);
}
-
-
-if(! function_exists('feed_hublinks')) {
-/**
- * return atom link elements for all of our hubs
- * @return string hub link xml elements
- */
-function feed_hublinks() {
- $a = get_app();
- $hub = get_config('system','huburl');
-
- $hubxml = '';
- if(strlen($hub)) {
- $hubs = explode(',', $hub);
- if(count($hubs)) {
- foreach($hubs as $h) {
- $h = trim($h);
- if(! strlen($h))
- continue;
- if ($h === '[internal]')
- $h = z_root() . '/pubsubhubbub';
- $hubxml .= '' . "\n" ;
- }
- }
- }
- return $hubxml;
-}}
-
-
-if(! function_exists('feed_salmonlinks')) {
-/**
- * return atom link elements for salmon endpoints
- * @param string $nick user nickname
- * @return string salmon link xml elements
- */
-function feed_salmonlinks($nick) {
-
- $a = get_app();
-
- $salmon = '' . "\n" ;
-
- // old style links that status.net still needed as of 12/2010
-
- $salmon .= ' ' . "\n" ;
- $salmon .= ' ' . "\n" ;
- return $salmon;
-}}
-
if(! function_exists('get_plink')) {
/**
* get private link for item
diff --git a/include/threads.php b/include/threads.php
index e542295d7b..0320eaa018 100644
--- a/include/threads.php
+++ b/include/threads.php
@@ -66,6 +66,7 @@ function add_thread($itemid, $onlyshadow = false) {
unset($item[0]['id']);
$item[0]['uid'] = 0;
+ $item[0]['origin'] = 0;
$item[0]['contact-id'] = get_contact($item[0]['author-link'], 0);
$public_shadow = item_store($item[0], false, false, true);
diff --git a/js/main.js b/js/main.js
index 1c1d07d526..01dcb98f97 100644
--- a/js/main.js
+++ b/js/main.js
@@ -160,7 +160,9 @@
'inline' : true,
'transition' : 'elastic'
});
-
+ $("a.ajax-popupbox").colorbox({
+ 'transition' : 'elastic'
+ });
/* notifications template */
var notifications_tpl= unescape($("#nav-notifications-template[rel=template]").html());
diff --git a/mod/admin.php b/mod/admin.php
index e9e6323680..7f9000807b 100644
--- a/mod/admin.php
+++ b/mod/admin.php
@@ -271,6 +271,7 @@ function admin_page_federation(&$a) {
// displayed on the stats page.
$platforms = array('Friendica', 'Diaspora', '%%red%%', 'Hubzilla', 'GNU Social', 'StatusNet');
$counts = array();
+ $total = 0;
foreach ($platforms as $p) {
// get a total count for the platform, the name and version of the
@@ -278,6 +279,7 @@ function admin_page_federation(&$a) {
$c = q('SELECT count(*) AS total, platform, network, version FROM gserver
WHERE platform LIKE "%s" AND last_contact > last_failure
ORDER BY version ASC;', $p);
+ $total = $total + $c[0]['total'];
// what versions for that platform do we know at all?
// again only the active nodes
@@ -355,7 +357,7 @@ function admin_page_federation(&$a) {
'$autoactive' => get_config('system', 'poco_completion'),
'$counts' => $counts,
'$version' => FRIENDICA_VERSION,
- '$legendtext' => t('Currently this node is aware of nodes from the following platforms:'),
+ '$legendtext' => sprintf(t('Currently this node is aware of %d nodes from the following platforms:'), $total),
'$baseurl' => $a->get_baseurl(),
));
}
diff --git a/mod/contacts.php b/mod/contacts.php
index f83b1b5daa..0b421433e0 100644
--- a/mod/contacts.php
+++ b/mod/contacts.php
@@ -125,7 +125,7 @@ function contacts_batch_actions(&$a){
}
}
if ($count_actions>0) {
- info ( sprintf( tt("%d contact edited.", "%d contacts edited", $count_actions), $count_actions) );
+ info ( sprintf( tt("%d contact edited.", "%d contacts edited.", $count_actions), $count_actions) );
}
if(x($_SESSION,'return_url'))
@@ -293,23 +293,8 @@ function _contact_update_profile($contact_id) {
intval(local_user())
);
- $photos = import_profile_photo($data['photo'], local_user(), $contact_id);
-
- $r = q("UPDATE `contact` SET `photo` = '%s',
- `thumb` = '%s',
- `micro` = '%s',
- `name-date` = '%s',
- `uri-date` = '%s',
- `avatar-date` = '%s'
- WHERE `id` = %d",
- dbesc($data["photo"]),
- dbesc($photos[1]),
- dbesc($photos[2]),
- dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- intval($contact_id)
- );
+ // Update the entry in the contact table
+ update_contact_avatar($data['photo'], local_user(), $contact_id);
// Update the entry in the gcontact table
update_gcontact_from_probe($data["url"]);
@@ -903,7 +888,10 @@ function contact_posts($a, $contact_id) {
$o .= $tab_str;
- if ($contact["url"]) {
+ $r = q("SELECT `id` FROM `item` WHERE `contact-id` = %d LIMIT 1", intval($contact_id));
+ if ($r)
+ $o .= posts_from_contact($a, $contact_id);
+ elseif ($contact["url"]) {
$r = q("SELECT `id` FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
dbesc(normalise_link($contact["url"])));
diff --git a/mod/crepair.php b/mod/crepair.php
index 6f951bdf6e..5b4db09dac 100644
--- a/mod/crepair.php
+++ b/mod/crepair.php
@@ -80,24 +80,7 @@ function crepair_post(&$a) {
logger('mod-crepair: updating photo from ' . $photo);
require_once("include/Photo.php");
- $photos = import_profile_photo($photo,local_user(),$contact['id']);
-
- $x = q("UPDATE `contact` SET `photo` = '%s',
- `thumb` = '%s',
- `micro` = '%s',
- `name-date` = '%s',
- `uri-date` = '%s',
- `avatar-date` = '%s'
- WHERE `id` = %d
- ",
- dbesc($photos[0]),
- dbesc($photos[1]),
- dbesc($photos[2]),
- dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- intval($contact['id'])
- );
+ update_contact_avatar($photo,local_user(),$contact['id']);
}
if($r)
diff --git a/mod/dfrn_confirm.php b/mod/dfrn_confirm.php
index d5dbab951e..27c04a908d 100644
--- a/mod/dfrn_confirm.php
+++ b/mod/dfrn_confirm.php
@@ -315,7 +315,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
require_once('include/Photo.php');
- $photos = import_profile_photo($contact['photo'],$uid,$contact_id);
+ update_contact_avatar($contact['photo'],$uid,$contact_id);
logger('dfrn_confirm: confirm - imported photos');
@@ -328,27 +328,18 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
if(($relation == CONTACT_IS_SHARING) && ($duplex))
$duplex = 0;
- $r = q("UPDATE `contact` SET
- `photo` = '%s',
- `thumb` = '%s',
- `micro` = '%s',
- `rel` = %d,
+ $r = q("UPDATE `contact` SET `rel` = %d,
`name-date` = '%s',
`uri-date` = '%s',
- `avatar-date` = '%s',
`blocked` = 0,
`pending` = 0,
`duplex` = %d,
`hidden` = %d,
`network` = '%s' WHERE `id` = %d
",
- dbesc($photos[0]),
- dbesc($photos[1]),
- dbesc($photos[2]),
intval($new_relation),
dbesc(datetime_convert()),
dbesc(datetime_convert()),
- dbesc(datetime_convert()),
intval($duplex),
intval($hidden),
dbesc(NETWORK_DFRN),
@@ -394,12 +385,8 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
);
- $r = q("UPDATE `contact` SET `photo` = '%s',
- `thumb` = '%s',
- `micro` = '%s',
- `name-date` = '%s',
+ $r = q("UPDATE `contact` SET `name-date` = '%s',
`uri-date` = '%s',
- `avatar-date` = '%s',
`notify` = '%s',
`poll` = '%s',
`blocked` = 0,
@@ -410,10 +397,6 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
`rel` = %d
WHERE `id` = %d
",
- dbesc($photos[0]),
- dbesc($photos[1]),
- dbesc($photos[2]),
- dbesc(datetime_convert()),
dbesc(datetime_convert()),
dbesc(datetime_convert()),
dbesc($notify),
@@ -683,7 +666,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
require_once("include/Photo.php");
- $photos = import_profile_photo($photo,$local_uid,$dfrn_record);
+ update_contact_avatar($photo,$local_uid,$dfrn_record);
logger('dfrn_confirm: request - photos imported');
@@ -695,13 +678,9 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
$duplex = 0;
$r = q("UPDATE `contact` SET
- `photo` = '%s',
- `thumb` = '%s',
- `micro` = '%s',
`rel` = %d,
`name-date` = '%s',
`uri-date` = '%s',
- `avatar-date` = '%s',
`blocked` = 0,
`pending` = 0,
`duplex` = %d,
@@ -709,13 +688,9 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
`prv` = %d,
`network` = '%s' WHERE `id` = %d
",
- dbesc($photos[0]),
- dbesc($photos[1]),
- dbesc($photos[2]),
intval($new_relation),
dbesc(datetime_convert()),
dbesc(datetime_convert()),
- dbesc(datetime_convert()),
intval($duplex),
intval($forum),
intval($prv),
diff --git a/mod/dfrn_notify.php b/mod/dfrn_notify.php
index fcc5726548..4aa777b550 100644
--- a/mod/dfrn_notify.php
+++ b/mod/dfrn_notify.php
@@ -1,6 +1,5 @@
argv[1], $last_update, $direction);
+ $o = dfrn::feed($dfrn_id, $a->argv[1], $last_update, $direction);
echo $o;
killme();
diff --git a/mod/display.php b/mod/display.php
index ca57af9233..4e33927072 100644
--- a/mod/display.php
+++ b/mod/display.php
@@ -192,13 +192,20 @@ function display_fetchauthor($a, $item) {
$profiledata["photo"] = $r[0]["photo"];
$profiledata["nickname"] = $r[0]["nick"];
$profiledata["addr"] = $r[0]["addr"];
- $profiledata["keywords"] = $r[0]["keywords"];
$profiledata["network"] = $r[0]["network"];
+ if ($r[0]["keywords"])
+ $profiledata["keywords"] = $r[0]["keywords"];
+
if ($showdetails) {
- $profiledata["address"] = $r[0]["location"];
- $profiledata["about"] = $r[0]["about"];
- $profiledata["gender"] = $r[0]["gender"];
+ if ($r[0]["location"])
+ $profiledata["address"] = $r[0]["location"];
+
+ if ($r[0]["about"])
+ $profiledata["about"] = $r[0]["about"];
+
+ if ($r[0]["gender"])
+ $profiledata["gender"] = $r[0]["gender"];
}
}
}
diff --git a/mod/item.php b/mod/item.php
index 80a10179e8..8c5a479646 100644
--- a/mod/item.php
+++ b/mod/item.php
@@ -900,7 +900,7 @@ function item_post(&$a) {
// Store the comment signature information in case we need to relay to Diaspora
- store_diaspora_comment_sig($datarray, $author, ($self ? $a->user['prvkey'] : false), $parent_item, $post_id);
+ store_diaspora_comment_sig($datarray, $author, ($self ? $user['prvkey'] : false), $parent_item, $post_id);
} else {
$parent = $post_id;
@@ -1271,7 +1271,7 @@ function store_diaspora_comment_sig($datarray, $author, $uprvkey, $parent_item,
$signed_text = $datarray['guid'] . ';' . $parent_item['guid'] . ';' . $signed_body . ';' . $diaspora_handle;
if( $uprvkey !== false )
- $authorsig = base64_encode(rsa_sign($signed_text,$uprvkey,'sha256'));
+ $authorsig = rsa_sign($signed_text,$uprvkey,'sha256');
else
$authorsig = '';
diff --git a/mod/profiles.php b/mod/profiles.php
index 3ba57c8831..5c372de8ee 100644
--- a/mod/profiles.php
+++ b/mod/profiles.php
@@ -1,5 +1,5 @@
$locality, "region" => $region, "country-name" => $country_name));
$r = q("UPDATE `contact` SET `about` = '%s', `location` = '%s', `keywords` = '%s', `gender` = '%s' WHERE `self` = 1 AND `uid` = %d",
dbesc($about),
diff --git a/mod/proxy.php b/mod/proxy.php
index c6bf653021..abcaf49127 100644
--- a/mod/proxy.php
+++ b/mod/proxy.php
@@ -238,6 +238,10 @@ function proxy_url($url, $writemode = false, $size = "") {
$a = get_app();
+ if (substr($url, 0, strlen('http')) !== 'http') {
+ return($url);
+ }
+
// Only continue if it isn't a local image and the isn't deactivated
if (proxy_is_local_image($url)) {
$url = str_replace(normalise_link($a->get_baseurl())."/", $a->get_baseurl()."/", $url);
diff --git a/mod/wall_upload.php b/mod/wall_upload.php
index 8bf471d3d2..b815348c70 100644
--- a/mod/wall_upload.php
+++ b/mod/wall_upload.php
@@ -158,13 +158,18 @@ function wall_upload_post(&$a, $desktopmode = true) {
killme();
}
- $r = q("select sum(octet_length(data)) as total from photo where uid = %d and scale = 0 and album != 'Contact Photos' ",
- intval($page_owner_uid)
- );
$limit = service_class_fetch($page_owner_uid,'photo_upload_limit');
- if(($limit !== false) && (($r[0]['total'] + strlen($imagedata)) > $limit)) {
+ if ($limit) {
+ $r = q("select sum(octet_length(data)) as total from photo where uid = %d and scale = 0 and album != 'Contact Photos' ",
+ intval($page_owner_uid)
+ );
+ $size = $r[0]['total'];
+ } else
+ $size = 0;
+
+ if(($limit !== false) && (($size + strlen($imagedata)) > $limit)) {
$msg = upgrade_message(true);
if ($r_json) {
echo json_encode(array('error'=>$msg));
@@ -266,6 +271,7 @@ function wall_upload_post(&$a, $desktopmode = true) {
return $picture;
}
+
if ($r_json) {
echo json_encode(array('ok'=>true));
killme();
diff --git a/update.php b/update.php
index a825c82e92..0689aa19b3 100644
--- a/update.php
+++ b/update.php
@@ -1,6 +1,6 @@
\n"
"Language-Team: LANGUAGE \n"
@@ -33,7 +33,7 @@ msgstr ""
#: mod/contacts.php:128
#, php-format
msgid "%d contact edited."
-msgid_plural "%d contacts edited"
+msgid_plural "%d contacts edited."
msgstr[0] ""
msgstr[1] ""
@@ -53,7 +53,7 @@ msgstr ""
msgid "Failed to update contact record."
msgstr ""
-#: mod/contacts.php:365 mod/manage.php:96 mod/display.php:504
+#: mod/contacts.php:365 mod/manage.php:96 mod/display.php:509
#: mod/profile_photo.php:19 mod/profile_photo.php:175 mod/profile_photo.php:186
#: mod/profile_photo.php:199 mod/ostatus_subscribe.php:9 mod/follow.php:11
#: mod/follow.php:73 mod/follow.php:155 mod/item.php:180 mod/item.php:192
@@ -70,7 +70,7 @@ msgstr ""
#: mod/api.php:31 mod/notes.php:22 mod/poke.php:149 mod/repair_ostatus.php:9
#: mod/invite.php:15 mod/invite.php:101 mod/photos.php:171 mod/photos.php:1105
#: mod/regmod.php:110 mod/uimport.php:23 mod/attach.php:33
-#: include/items.php:5073 index.php:383
+#: include/items.php:5096 index.php:383
msgid "Permission denied."
msgstr ""
@@ -109,7 +109,7 @@ msgstr ""
#: mod/settings.php:1171 mod/settings.php:1172 mod/settings.php:1173
#: mod/settings.php:1174 mod/dfrn_request.php:857 mod/register.php:238
#: mod/suggest.php:29 mod/profiles.php:658 mod/profiles.php:661
-#: mod/profiles.php:687 mod/api.php:105 include/items.php:4905
+#: mod/profiles.php:687 mod/api.php:105 include/items.php:4928
msgid "Yes"
msgstr ""
@@ -118,7 +118,7 @@ msgstr ""
#: mod/fbrowser.php:128 mod/settings.php:660 mod/settings.php:686
#: mod/dfrn_request.php:871 mod/suggest.php:32 mod/editpost.php:148
#: mod/photos.php:247 mod/photos.php:336 include/conversation.php:1220
-#: include/items.php:4908
+#: include/items.php:4931
msgid "Cancel"
msgstr ""
@@ -145,7 +145,7 @@ msgstr ""
msgid "Private communications are not available for this contact."
msgstr ""
-#: mod/contacts.php:544 mod/admin.php:811
+#: mod/contacts.php:544 mod/admin.php:822
msgid "Never"
msgstr ""
@@ -174,7 +174,7 @@ msgstr ""
msgid "Fetch further information for feeds"
msgstr ""
-#: mod/contacts.php:571 mod/admin.php:820
+#: mod/contacts.php:571 mod/admin.php:831
msgid "Disabled"
msgstr ""
@@ -265,12 +265,12 @@ msgid "Connect/Follow"
msgstr ""
#: mod/contacts.php:615 mod/contacts.php:806 mod/contacts.php:865
-#: mod/admin.php:1301
+#: mod/admin.php:1312
msgid "Unblock"
msgstr ""
#: mod/contacts.php:615 mod/contacts.php:806 mod/contacts.php:865
-#: mod/admin.php:1300
+#: mod/admin.php:1311
msgid "Block"
msgstr ""
@@ -428,7 +428,7 @@ msgstr ""
msgid "Unarchive"
msgstr ""
-#: mod/contacts.php:809 mod/group.php:171 mod/admin.php:1299
+#: mod/contacts.php:809 mod/group.php:171 mod/admin.php:1310
#: mod/content.php:440 mod/content.php:743 mod/settings.php:722
#: mod/photos.php:1723 object/Item.php:134 include/conversation.php:635
msgid "Delete"
@@ -546,14 +546,14 @@ msgstr ""
msgid "All Contacts (with secure profile access)"
msgstr ""
-#: mod/display.php:82 mod/display.php:291 mod/display.php:508
-#: mod/viewsrc.php:15 mod/admin.php:225 mod/admin.php:1354 mod/admin.php:1588
-#: mod/notice.php:15 include/items.php:4864
+#: mod/display.php:82 mod/display.php:291 mod/display.php:513
+#: mod/viewsrc.php:15 mod/admin.php:234 mod/admin.php:1365 mod/admin.php:1599
+#: mod/notice.php:15 include/items.php:4887
msgid "Item not found."
msgstr ""
#: mod/display.php:220 mod/videos.php:197 mod/viewcontacts.php:35
-#: mod/community.php:18 mod/dfrn_request.php:786 mod/search.php:93
+#: mod/community.php:22 mod/dfrn_request.php:786 mod/search.php:93
#: mod/search.php:99 mod/directory.php:37 mod/photos.php:976
msgid "Public access denied."
msgstr ""
@@ -562,7 +562,7 @@ msgstr ""
msgid "Access to this profile has been restricted."
msgstr ""
-#: mod/display.php:501
+#: mod/display.php:506
msgid "Item has been removed."
msgstr ""
@@ -597,7 +597,7 @@ msgid ""
"join."
msgstr ""
-#: mod/newmember.php:22 mod/admin.php:1407 mod/admin.php:1665
+#: mod/newmember.php:22 mod/admin.php:1418 mod/admin.php:1676
#: mod/settings.php:109 include/nav.php:182 view/theme/diabook/theme.php:544
#: view/theme/diabook/theme.php:648
msgid "Settings"
@@ -842,15 +842,15 @@ msgstr ""
#: mod/subthread.php:87 mod/tagger.php:62 include/like.php:165
#: include/conversation.php:130 include/conversation.php:266
-#: include/text.php:1993 include/diaspora.php:2147
+#: include/text.php:2000 include/diaspora.php:2169
#: view/theme/diabook/theme.php:471
msgid "photo"
msgstr ""
#: mod/subthread.php:87 mod/tagger.php:62 include/like.php:165
-#: include/like.php:325 include/conversation.php:125
+#: include/like.php:334 include/conversation.php:125
#: include/conversation.php:134 include/conversation.php:261
-#: include/conversation.php:270 include/diaspora.php:2147
+#: include/conversation.php:270 include/diaspora.php:2169
#: view/theme/diabook/theme.php:466 view/theme/diabook/theme.php:475
msgid "status"
msgstr ""
@@ -1161,7 +1161,7 @@ msgstr ""
msgid "Unable to update your contact profile details on our system"
msgstr ""
-#: mod/dfrn_confirm.php:753 mod/dfrn_request.php:741 include/items.php:4276
+#: mod/dfrn_confirm.php:753 mod/dfrn_request.php:741 include/items.php:4299
msgid "[Name Withheld]"
msgstr ""
@@ -1194,7 +1194,7 @@ msgstr ""
msgid "Access to this item is restricted."
msgstr ""
-#: mod/videos.php:383 include/text.php:1465
+#: mod/videos.php:383 include/text.php:1472
msgid "View Video"
msgstr ""
@@ -1288,7 +1288,7 @@ msgid ""
"Password reset failed."
msgstr ""
-#: mod/lostpass.php:109 boot.php:1418
+#: mod/lostpass.php:109 boot.php:1444
msgid "Password Reset"
msgstr ""
@@ -1392,7 +1392,7 @@ msgstr ""
msgid "System"
msgstr ""
-#: mod/notifications.php:87 mod/admin.php:379 include/nav.php:154
+#: mod/notifications.php:87 mod/admin.php:390 include/nav.php:154
msgid "Network"
msgstr ""
@@ -1438,7 +1438,7 @@ msgstr ""
msgid "if applicable"
msgstr ""
-#: mod/notifications.php:176 mod/notifications.php:257 mod/admin.php:1297
+#: mod/notifications.php:176 mod/notifications.php:257 mod/admin.php:1308
msgid "Approve"
msgstr ""
@@ -1795,8 +1795,8 @@ msgstr ""
msgid "Refetch contact data"
msgstr ""
-#: mod/crepair.php:170 mod/admin.php:1295 mod/admin.php:1307 mod/admin.php:1308
-#: mod/admin.php:1321 mod/settings.php:661 mod/settings.php:687
+#: mod/crepair.php:170 mod/admin.php:1306 mod/admin.php:1318 mod/admin.php:1319
+#: mod/admin.php:1332 mod/settings.php:661 mod/settings.php:687
msgid "Name"
msgstr ""
@@ -1846,7 +1846,7 @@ msgid ""
"entries from this contact."
msgstr ""
-#: mod/bookmarklet.php:12 boot.php:1404 include/nav.php:91
+#: mod/bookmarklet.php:12 boot.php:1430 include/nav.php:91
msgid "Login"
msgstr ""
@@ -1902,802 +1902,803 @@ msgstr ""
msgid "Theme settings updated."
msgstr ""
-#: mod/admin.php:147 mod/admin.php:877
+#: mod/admin.php:156 mod/admin.php:888
msgid "Site"
msgstr ""
-#: mod/admin.php:148 mod/admin.php:821 mod/admin.php:1290 mod/admin.php:1305
+#: mod/admin.php:157 mod/admin.php:832 mod/admin.php:1301 mod/admin.php:1316
msgid "Users"
msgstr ""
-#: mod/admin.php:149 mod/admin.php:1405 mod/admin.php:1465 mod/settings.php:72
+#: mod/admin.php:158 mod/admin.php:1416 mod/admin.php:1476 mod/settings.php:72
msgid "Plugins"
msgstr ""
-#: mod/admin.php:150 mod/admin.php:1663 mod/admin.php:1713
+#: mod/admin.php:159 mod/admin.php:1674 mod/admin.php:1724
msgid "Themes"
msgstr ""
-#: mod/admin.php:151 mod/settings.php:50
+#: mod/admin.php:160 mod/settings.php:50
msgid "Additional features"
msgstr ""
-#: mod/admin.php:152
+#: mod/admin.php:161
msgid "DB updates"
msgstr ""
-#: mod/admin.php:153 mod/admin.php:374
+#: mod/admin.php:162 mod/admin.php:385
msgid "Inspect Queue"
msgstr ""
-#: mod/admin.php:154 mod/admin.php:343
+#: mod/admin.php:163 mod/admin.php:354
msgid "Federation Statistics"
msgstr ""
-#: mod/admin.php:168 mod/admin.php:179 mod/admin.php:1781
+#: mod/admin.php:177 mod/admin.php:188 mod/admin.php:1792
msgid "Logs"
msgstr ""
-#: mod/admin.php:169 mod/admin.php:1848
+#: mod/admin.php:178 mod/admin.php:1859
msgid "View Logs"
msgstr ""
-#: mod/admin.php:170
+#: mod/admin.php:179
msgid "probe address"
msgstr ""
-#: mod/admin.php:171
+#: mod/admin.php:180
msgid "check webfinger"
msgstr ""
-#: mod/admin.php:177 include/nav.php:194
+#: mod/admin.php:186 include/nav.php:194
msgid "Admin"
msgstr ""
-#: mod/admin.php:178
+#: mod/admin.php:187
msgid "Plugin Features"
msgstr ""
-#: mod/admin.php:180
+#: mod/admin.php:189
msgid "diagnostics"
msgstr ""
-#: mod/admin.php:181
+#: mod/admin.php:190
msgid "User registrations waiting for confirmation"
msgstr ""
-#: mod/admin.php:336
+#: mod/admin.php:347
msgid ""
"This page offers you some numbers to the known part of the federated social "
"network your Friendica node is part of. These numbers are not complete but "
"only reflect the part of the network your node is aware of."
msgstr ""
-#: mod/admin.php:337
+#: mod/admin.php:348
msgid ""
"The Auto Discovered Contact Directory feature is not enabled, it "
"will improve the data displayed here."
msgstr ""
-#: mod/admin.php:342 mod/admin.php:373 mod/admin.php:430 mod/admin.php:876
-#: mod/admin.php:1289 mod/admin.php:1404 mod/admin.php:1464 mod/admin.php:1662
-#: mod/admin.php:1712 mod/admin.php:1780 mod/admin.php:1847
+#: mod/admin.php:353 mod/admin.php:384 mod/admin.php:441 mod/admin.php:887
+#: mod/admin.php:1300 mod/admin.php:1415 mod/admin.php:1475 mod/admin.php:1673
+#: mod/admin.php:1723 mod/admin.php:1791 mod/admin.php:1858
msgid "Administration"
msgstr ""
-#: mod/admin.php:349
-msgid "Currently this node is aware of nodes from the following platforms:"
+#: mod/admin.php:360
+#, php-format
+msgid "Currently this node is aware of %d nodes from the following platforms:"
msgstr ""
-#: mod/admin.php:376
+#: mod/admin.php:387
msgid "ID"
msgstr ""
-#: mod/admin.php:377
+#: mod/admin.php:388
msgid "Recipient Name"
msgstr ""
-#: mod/admin.php:378
+#: mod/admin.php:389
msgid "Recipient Profile"
msgstr ""
-#: mod/admin.php:380
+#: mod/admin.php:391
msgid "Created"
msgstr ""
-#: mod/admin.php:381
+#: mod/admin.php:392
msgid "Last Tried"
msgstr ""
-#: mod/admin.php:382
+#: mod/admin.php:393
msgid ""
"This page lists the content of the queue for outgoing postings. These are "
"postings the initial delivery failed for. They will be resend later and "
"eventually deleted if the delivery fails permanently."
msgstr ""
-#: mod/admin.php:401 mod/admin.php:1243
+#: mod/admin.php:412 mod/admin.php:1254
msgid "Normal Account"
msgstr ""
-#: mod/admin.php:402 mod/admin.php:1244
+#: mod/admin.php:413 mod/admin.php:1255
msgid "Soapbox Account"
msgstr ""
-#: mod/admin.php:403 mod/admin.php:1245
+#: mod/admin.php:414 mod/admin.php:1256
msgid "Community/Celebrity Account"
msgstr ""
-#: mod/admin.php:404 mod/admin.php:1246
+#: mod/admin.php:415 mod/admin.php:1257
msgid "Automatic Friend Account"
msgstr ""
-#: mod/admin.php:405
+#: mod/admin.php:416
msgid "Blog Account"
msgstr ""
-#: mod/admin.php:406
+#: mod/admin.php:417
msgid "Private Forum"
msgstr ""
-#: mod/admin.php:425
+#: mod/admin.php:436
msgid "Message queues"
msgstr ""
-#: mod/admin.php:431
+#: mod/admin.php:442
msgid "Summary"
msgstr ""
-#: mod/admin.php:433
+#: mod/admin.php:444
msgid "Registered users"
msgstr ""
-#: mod/admin.php:435
+#: mod/admin.php:446
msgid "Pending registrations"
msgstr ""
-#: mod/admin.php:436
+#: mod/admin.php:447
msgid "Version"
msgstr ""
-#: mod/admin.php:441
+#: mod/admin.php:452
msgid "Active plugins"
msgstr ""
-#: mod/admin.php:464
+#: mod/admin.php:475
msgid "Can not parse base url. Must have at least ://"
msgstr ""
-#: mod/admin.php:749
+#: mod/admin.php:760
msgid "RINO2 needs mcrypt php extension to work."
msgstr ""
-#: mod/admin.php:757
+#: mod/admin.php:768
msgid "Site settings updated."
msgstr ""
-#: mod/admin.php:785 mod/settings.php:912
+#: mod/admin.php:796 mod/settings.php:912
msgid "No special theme for mobile devices"
msgstr ""
-#: mod/admin.php:804
+#: mod/admin.php:815
msgid "No community page"
msgstr ""
-#: mod/admin.php:805
+#: mod/admin.php:816
msgid "Public postings from users of this site"
msgstr ""
-#: mod/admin.php:806
+#: mod/admin.php:817
msgid "Global community page"
msgstr ""
-#: mod/admin.php:812
+#: mod/admin.php:823
msgid "At post arrival"
msgstr ""
-#: mod/admin.php:813 include/contact_selectors.php:56
+#: mod/admin.php:824 include/contact_selectors.php:56
msgid "Frequently"
msgstr ""
-#: mod/admin.php:814 include/contact_selectors.php:57
+#: mod/admin.php:825 include/contact_selectors.php:57
msgid "Hourly"
msgstr ""
-#: mod/admin.php:815 include/contact_selectors.php:58
+#: mod/admin.php:826 include/contact_selectors.php:58
msgid "Twice daily"
msgstr ""
-#: mod/admin.php:816 include/contact_selectors.php:59
+#: mod/admin.php:827 include/contact_selectors.php:59
msgid "Daily"
msgstr ""
-#: mod/admin.php:822
+#: mod/admin.php:833
msgid "Users, Global Contacts"
msgstr ""
-#: mod/admin.php:823
+#: mod/admin.php:834
msgid "Users, Global Contacts/fallback"
msgstr ""
-#: mod/admin.php:827
+#: mod/admin.php:838
msgid "One month"
msgstr ""
-#: mod/admin.php:828
+#: mod/admin.php:839
msgid "Three months"
msgstr ""
-#: mod/admin.php:829
+#: mod/admin.php:840
msgid "Half a year"
msgstr ""
-#: mod/admin.php:830
+#: mod/admin.php:841
msgid "One year"
msgstr ""
-#: mod/admin.php:835
+#: mod/admin.php:846
msgid "Multi user instance"
msgstr ""
-#: mod/admin.php:858
+#: mod/admin.php:869
msgid "Closed"
msgstr ""
-#: mod/admin.php:859
+#: mod/admin.php:870
msgid "Requires approval"
msgstr ""
-#: mod/admin.php:860
+#: mod/admin.php:871
msgid "Open"
msgstr ""
-#: mod/admin.php:864
+#: mod/admin.php:875
msgid "No SSL policy, links will track page SSL state"
msgstr ""
-#: mod/admin.php:865
+#: mod/admin.php:876
msgid "Force all links to use SSL"
msgstr ""
-#: mod/admin.php:866
+#: mod/admin.php:877
msgid "Self-signed certificate, use SSL for local links only (discouraged)"
msgstr ""
-#: mod/admin.php:878 mod/admin.php:1466 mod/admin.php:1714 mod/admin.php:1782
-#: mod/admin.php:1931 mod/settings.php:659 mod/settings.php:769
+#: mod/admin.php:889 mod/admin.php:1477 mod/admin.php:1725 mod/admin.php:1793
+#: mod/admin.php:1942 mod/settings.php:659 mod/settings.php:769
#: mod/settings.php:813 mod/settings.php:882 mod/settings.php:969
#: mod/settings.php:1204
msgid "Save Settings"
msgstr ""
-#: mod/admin.php:879 mod/register.php:263
+#: mod/admin.php:890 mod/register.php:263
msgid "Registration"
msgstr ""
-#: mod/admin.php:880
+#: mod/admin.php:891
msgid "File upload"
msgstr ""
-#: mod/admin.php:881
+#: mod/admin.php:892
msgid "Policies"
msgstr ""
-#: mod/admin.php:882
+#: mod/admin.php:893
msgid "Advanced"
msgstr ""
-#: mod/admin.php:883
+#: mod/admin.php:894
msgid "Auto Discovered Contact Directory"
msgstr ""
-#: mod/admin.php:884
+#: mod/admin.php:895
msgid "Performance"
msgstr ""
-#: mod/admin.php:885
+#: mod/admin.php:896
msgid ""
"Relocate - WARNING: advanced function. Could make this server unreachable."
msgstr ""
-#: mod/admin.php:888
+#: mod/admin.php:899
msgid "Site name"
msgstr ""
-#: mod/admin.php:889
+#: mod/admin.php:900
msgid "Host name"
msgstr ""
-#: mod/admin.php:890
+#: mod/admin.php:901
msgid "Sender Email"
msgstr ""
-#: mod/admin.php:890
+#: mod/admin.php:901
msgid ""
"The email address your server shall use to send notification emails from."
msgstr ""
-#: mod/admin.php:891
+#: mod/admin.php:902
msgid "Banner/Logo"
msgstr ""
-#: mod/admin.php:892
+#: mod/admin.php:903
msgid "Shortcut icon"
msgstr ""
-#: mod/admin.php:892
+#: mod/admin.php:903
msgid "Link to an icon that will be used for browsers."
msgstr ""
-#: mod/admin.php:893
+#: mod/admin.php:904
msgid "Touch icon"
msgstr ""
-#: mod/admin.php:893
+#: mod/admin.php:904
msgid "Link to an icon that will be used for tablets and mobiles."
msgstr ""
-#: mod/admin.php:894
+#: mod/admin.php:905
msgid "Additional Info"
msgstr ""
-#: mod/admin.php:894
+#: mod/admin.php:905
#, php-format
msgid ""
"For public servers: you can add additional information here that will be "
"listed at %s/siteinfo."
msgstr ""
-#: mod/admin.php:895
+#: mod/admin.php:906
msgid "System language"
msgstr ""
-#: mod/admin.php:896
+#: mod/admin.php:907
msgid "System theme"
msgstr ""
-#: mod/admin.php:896
+#: mod/admin.php:907
msgid ""
"Default system theme - may be over-ridden by user profiles - change theme settings"
msgstr ""
-#: mod/admin.php:897
+#: mod/admin.php:908
msgid "Mobile system theme"
msgstr ""
-#: mod/admin.php:897
+#: mod/admin.php:908
msgid "Theme for mobile devices"
msgstr ""
-#: mod/admin.php:898
+#: mod/admin.php:909
msgid "SSL link policy"
msgstr ""
-#: mod/admin.php:898
+#: mod/admin.php:909
msgid "Determines whether generated links should be forced to use SSL"
msgstr ""
-#: mod/admin.php:899
+#: mod/admin.php:910
msgid "Force SSL"
msgstr ""
-#: mod/admin.php:899
+#: mod/admin.php:910
msgid ""
"Force all Non-SSL requests to SSL - Attention: on some systems it could lead "
"to endless loops."
msgstr ""
-#: mod/admin.php:900
+#: mod/admin.php:911
msgid "Old style 'Share'"
msgstr ""
-#: mod/admin.php:900
+#: mod/admin.php:911
msgid "Deactivates the bbcode element 'share' for repeating items."
msgstr ""
-#: mod/admin.php:901
+#: mod/admin.php:912
msgid "Hide help entry from navigation menu"
msgstr ""
-#: mod/admin.php:901
+#: mod/admin.php:912
msgid ""
"Hides the menu entry for the Help pages from the navigation menu. You can "
"still access it calling /help directly."
msgstr ""
-#: mod/admin.php:902
+#: mod/admin.php:913
msgid "Single user instance"
msgstr ""
-#: mod/admin.php:902
+#: mod/admin.php:913
msgid "Make this instance multi-user or single-user for the named user"
msgstr ""
-#: mod/admin.php:903
+#: mod/admin.php:914
msgid "Maximum image size"
msgstr ""
-#: mod/admin.php:903
+#: mod/admin.php:914
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr ""
-#: mod/admin.php:904
+#: mod/admin.php:915
msgid "Maximum image length"
msgstr ""
-#: mod/admin.php:904
+#: mod/admin.php:915
msgid ""
"Maximum length in pixels of the longest side of uploaded images. Default is "
"-1, which means no limits."
msgstr ""
-#: mod/admin.php:905
+#: mod/admin.php:916
msgid "JPEG image quality"
msgstr ""
-#: mod/admin.php:905
+#: mod/admin.php:916
msgid ""
"Uploaded JPEGS will be saved at this quality setting [0-100]. Default is "
"100, which is full quality."
msgstr ""
-#: mod/admin.php:907
+#: mod/admin.php:918
msgid "Register policy"
msgstr ""
-#: mod/admin.php:908
+#: mod/admin.php:919
msgid "Maximum Daily Registrations"
msgstr ""
-#: mod/admin.php:908
+#: mod/admin.php:919
msgid ""
"If registration is permitted above, this sets the maximum number of new user "
"registrations to accept per day. If register is set to closed, this setting "
"has no effect."
msgstr ""
-#: mod/admin.php:909
+#: mod/admin.php:920
msgid "Register text"
msgstr ""
-#: mod/admin.php:909
+#: mod/admin.php:920
msgid "Will be displayed prominently on the registration page."
msgstr ""
-#: mod/admin.php:910
+#: mod/admin.php:921
msgid "Accounts abandoned after x days"
msgstr ""
-#: mod/admin.php:910
+#: mod/admin.php:921
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr ""
-#: mod/admin.php:911
+#: mod/admin.php:922
msgid "Allowed friend domains"
msgstr ""
-#: mod/admin.php:911
+#: mod/admin.php:922
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr ""
-#: mod/admin.php:912
+#: mod/admin.php:923
msgid "Allowed email domains"
msgstr ""
-#: mod/admin.php:912
+#: mod/admin.php:923
msgid ""
"Comma separated list of domains which are allowed in email addresses for "
"registrations to this site. Wildcards are accepted. Empty to allow any "
"domains"
msgstr ""
-#: mod/admin.php:913
+#: mod/admin.php:924
msgid "Block public"
msgstr ""
-#: mod/admin.php:913
+#: mod/admin.php:924
msgid ""
"Check to block public access to all otherwise public personal pages on this "
"site unless you are currently logged in."
msgstr ""
-#: mod/admin.php:914
+#: mod/admin.php:925
msgid "Force publish"
msgstr ""
-#: mod/admin.php:914
+#: mod/admin.php:925
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr ""
-#: mod/admin.php:915
+#: mod/admin.php:926
msgid "Global directory URL"
msgstr ""
-#: mod/admin.php:915
+#: mod/admin.php:926
msgid ""
"URL to the global directory. If this is not set, the global directory is "
"completely unavailable to the application."
msgstr ""
-#: mod/admin.php:916
+#: mod/admin.php:927
msgid "Allow threaded items"
msgstr ""
-#: mod/admin.php:916
+#: mod/admin.php:927
msgid "Allow infinite level threading for items on this site."
msgstr ""
-#: mod/admin.php:917
+#: mod/admin.php:928
msgid "Private posts by default for new users"
msgstr ""
-#: mod/admin.php:917
+#: mod/admin.php:928
msgid ""
"Set default post permissions for all new members to the default privacy "
"group rather than public."
msgstr ""
-#: mod/admin.php:918
+#: mod/admin.php:929
msgid "Don't include post content in email notifications"
msgstr ""
-#: mod/admin.php:918
+#: mod/admin.php:929
msgid ""
"Don't include the content of a post/comment/private message/etc. in the "
"email notifications that are sent out from this site, as a privacy measure."
msgstr ""
-#: mod/admin.php:919
+#: mod/admin.php:930
msgid "Disallow public access to addons listed in the apps menu."
msgstr ""
-#: mod/admin.php:919
+#: mod/admin.php:930
msgid ""
"Checking this box will restrict addons listed in the apps menu to members "
"only."
msgstr ""
-#: mod/admin.php:920
+#: mod/admin.php:931
msgid "Don't embed private images in posts"
msgstr ""
-#: mod/admin.php:920
+#: mod/admin.php:931
msgid ""
"Don't replace locally-hosted private photos in posts with an embedded copy "
"of the image. This means that contacts who receive posts containing private "
"photos will have to authenticate and load each image, which may take a while."
msgstr ""
-#: mod/admin.php:921
+#: mod/admin.php:932
msgid "Allow Users to set remote_self"
msgstr ""
-#: mod/admin.php:921
+#: mod/admin.php:932
msgid ""
"With checking this, every user is allowed to mark every contact as a "
"remote_self in the repair contact dialog. Setting this flag on a contact "
"causes mirroring every posting of that contact in the users stream."
msgstr ""
-#: mod/admin.php:922
+#: mod/admin.php:933
msgid "Block multiple registrations"
msgstr ""
-#: mod/admin.php:922
+#: mod/admin.php:933
msgid "Disallow users to register additional accounts for use as pages."
msgstr ""
-#: mod/admin.php:923
+#: mod/admin.php:934
msgid "OpenID support"
msgstr ""
-#: mod/admin.php:923
+#: mod/admin.php:934
msgid "OpenID support for registration and logins."
msgstr ""
-#: mod/admin.php:924
+#: mod/admin.php:935
msgid "Fullname check"
msgstr ""
-#: mod/admin.php:924
+#: mod/admin.php:935
msgid ""
"Force users to register with a space between firstname and lastname in Full "
"name, as an antispam measure"
msgstr ""
-#: mod/admin.php:925
+#: mod/admin.php:936
msgid "UTF-8 Regular expressions"
msgstr ""
-#: mod/admin.php:925
+#: mod/admin.php:936
msgid "Use PHP UTF8 regular expressions"
msgstr ""
-#: mod/admin.php:926
+#: mod/admin.php:937
msgid "Community Page Style"
msgstr ""
-#: mod/admin.php:926
+#: mod/admin.php:937
msgid ""
"Type of community page to show. 'Global community' shows every public "
"posting from an open distributed network that arrived on this server."
msgstr ""
-#: mod/admin.php:927
+#: mod/admin.php:938
msgid "Posts per user on community page"
msgstr ""
-#: mod/admin.php:927
+#: mod/admin.php:938
msgid ""
"The maximum number of posts per user on the community page. (Not valid for "
"'Global Community')"
msgstr ""
-#: mod/admin.php:928
+#: mod/admin.php:939
msgid "Enable OStatus support"
msgstr ""
-#: mod/admin.php:928
+#: mod/admin.php:939
msgid ""
"Provide built-in OStatus (StatusNet, GNU Social etc.) compatibility. All "
"communications in OStatus are public, so privacy warnings will be "
"occasionally displayed."
msgstr ""
-#: mod/admin.php:929
+#: mod/admin.php:940
msgid "OStatus conversation completion interval"
msgstr ""
-#: mod/admin.php:929
+#: mod/admin.php:940
msgid ""
"How often shall the poller check for new entries in OStatus conversations? "
"This can be a very ressource task."
msgstr ""
-#: mod/admin.php:930
+#: mod/admin.php:941
msgid "OStatus support can only be enabled if threading is enabled."
msgstr ""
-#: mod/admin.php:932
+#: mod/admin.php:943
msgid ""
"Diaspora support can't be enabled because Friendica was installed into a sub "
"directory."
msgstr ""
-#: mod/admin.php:933
+#: mod/admin.php:944
msgid "Enable Diaspora support"
msgstr ""
-#: mod/admin.php:933
+#: mod/admin.php:944
msgid "Provide built-in Diaspora network compatibility."
msgstr ""
-#: mod/admin.php:934
+#: mod/admin.php:945
msgid "Only allow Friendica contacts"
msgstr ""
-#: mod/admin.php:934
+#: mod/admin.php:945
msgid ""
"All contacts must use Friendica protocols. All other built-in communication "
"protocols disabled."
msgstr ""
-#: mod/admin.php:935
+#: mod/admin.php:946
msgid "Verify SSL"
msgstr ""
-#: mod/admin.php:935
+#: mod/admin.php:946
msgid ""
"If you wish, you can turn on strict certificate checking. This will mean you "
"cannot connect (at all) to self-signed SSL sites."
msgstr ""
-#: mod/admin.php:936
+#: mod/admin.php:947
msgid "Proxy user"
msgstr ""
-#: mod/admin.php:937
+#: mod/admin.php:948
msgid "Proxy URL"
msgstr ""
-#: mod/admin.php:938
+#: mod/admin.php:949
msgid "Network timeout"
msgstr ""
-#: mod/admin.php:938
+#: mod/admin.php:949
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr ""
-#: mod/admin.php:939
+#: mod/admin.php:950
msgid "Delivery interval"
msgstr ""
-#: mod/admin.php:939
+#: mod/admin.php:950
msgid ""
"Delay background delivery processes by this many seconds to reduce system "
"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
"for large dedicated servers."
msgstr ""
-#: mod/admin.php:940
+#: mod/admin.php:951
msgid "Poll interval"
msgstr ""
-#: mod/admin.php:940
+#: mod/admin.php:951
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr ""
-#: mod/admin.php:941
+#: mod/admin.php:952
msgid "Maximum Load Average"
msgstr ""
-#: mod/admin.php:941
+#: mod/admin.php:952
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr ""
-#: mod/admin.php:942
+#: mod/admin.php:953
msgid "Maximum Load Average (Frontend)"
msgstr ""
-#: mod/admin.php:942
+#: mod/admin.php:953
msgid "Maximum system load before the frontend quits service - default 50."
msgstr ""
-#: mod/admin.php:943
+#: mod/admin.php:954
msgid "Maximum table size for optimization"
msgstr ""
-#: mod/admin.php:943
+#: mod/admin.php:954
msgid ""
"Maximum table size (in MB) for the automatic optimization - default 100 MB. "
"Enter -1 to disable it."
msgstr ""
-#: mod/admin.php:944
+#: mod/admin.php:955
msgid "Minimum level of fragmentation"
msgstr ""
-#: mod/admin.php:944
+#: mod/admin.php:955
msgid ""
"Minimum fragmenation level to start the automatic optimization - default "
"value is 30%."
msgstr ""
-#: mod/admin.php:946
+#: mod/admin.php:957
msgid "Periodical check of global contacts"
msgstr ""
-#: mod/admin.php:946
+#: mod/admin.php:957
msgid ""
"If enabled, the global contacts are checked periodically for missing or "
"outdated data and the vitality of the contacts and servers."
msgstr ""
-#: mod/admin.php:947
+#: mod/admin.php:958
msgid "Days between requery"
msgstr ""
-#: mod/admin.php:947
+#: mod/admin.php:958
msgid "Number of days after which a server is requeried for his contacts."
msgstr ""
-#: mod/admin.php:948
+#: mod/admin.php:959
msgid "Discover contacts from other servers"
msgstr ""
-#: mod/admin.php:948
+#: mod/admin.php:959
msgid ""
"Periodically query other servers for contacts. You can choose between "
"'users': the users on the remote system, 'Global Contacts': active contacts "
@@ -2707,32 +2708,32 @@ msgid ""
"Global Contacts'."
msgstr ""
-#: mod/admin.php:949
+#: mod/admin.php:960
msgid "Timeframe for fetching global contacts"
msgstr ""
-#: mod/admin.php:949
+#: mod/admin.php:960
msgid ""
"When the discovery is activated, this value defines the timeframe for the "
"activity of the global contacts that are fetched from other servers."
msgstr ""
-#: mod/admin.php:950
+#: mod/admin.php:961
msgid "Search the local directory"
msgstr ""
-#: mod/admin.php:950
+#: mod/admin.php:961
msgid ""
"Search the local directory instead of the global directory. When searching "
"locally, every search will be executed on the global directory in the "
"background. This improves the search results when the search is repeated."
msgstr ""
-#: mod/admin.php:952
+#: mod/admin.php:963
msgid "Publish server information"
msgstr ""
-#: mod/admin.php:952
+#: mod/admin.php:963
msgid ""
"If enabled, general server and usage data will be published. The data "
"contains the name and version of the server, number of users with public "
@@ -2740,204 +2741,204 @@ msgid ""
"href='http://the-federation.info/'>the-federation.info for details."
msgstr ""
-#: mod/admin.php:954
+#: mod/admin.php:965
msgid "Use MySQL full text engine"
msgstr ""
-#: mod/admin.php:954
+#: mod/admin.php:965
msgid ""
"Activates the full text engine. Speeds up search - but can only search for "
"four and more characters."
msgstr ""
-#: mod/admin.php:955
+#: mod/admin.php:966
msgid "Suppress Language"
msgstr ""
-#: mod/admin.php:955
+#: mod/admin.php:966
msgid "Suppress language information in meta information about a posting."
msgstr ""
-#: mod/admin.php:956
+#: mod/admin.php:967
msgid "Suppress Tags"
msgstr ""
-#: mod/admin.php:956
+#: mod/admin.php:967
msgid "Suppress showing a list of hashtags at the end of the posting."
msgstr ""
-#: mod/admin.php:957
+#: mod/admin.php:968
msgid "Path to item cache"
msgstr ""
-#: mod/admin.php:957
+#: mod/admin.php:968
msgid "The item caches buffers generated bbcode and external images."
msgstr ""
-#: mod/admin.php:958
+#: mod/admin.php:969
msgid "Cache duration in seconds"
msgstr ""
-#: mod/admin.php:958
+#: mod/admin.php:969
msgid ""
"How long should the cache files be hold? Default value is 86400 seconds (One "
"day). To disable the item cache, set the value to -1."
msgstr ""
-#: mod/admin.php:959
+#: mod/admin.php:970
msgid "Maximum numbers of comments per post"
msgstr ""
-#: mod/admin.php:959
+#: mod/admin.php:970
msgid "How much comments should be shown for each post? Default value is 100."
msgstr ""
-#: mod/admin.php:960
+#: mod/admin.php:971
msgid "Path for lock file"
msgstr ""
-#: mod/admin.php:960
+#: mod/admin.php:971
msgid ""
"The lock file is used to avoid multiple pollers at one time. Only define a "
"folder here."
msgstr ""
-#: mod/admin.php:961
+#: mod/admin.php:972
msgid "Temp path"
msgstr ""
-#: mod/admin.php:961
+#: mod/admin.php:972
msgid ""
"If you have a restricted system where the webserver can't access the system "
"temp path, enter another path here."
msgstr ""
-#: mod/admin.php:962
+#: mod/admin.php:973
msgid "Base path to installation"
msgstr ""
-#: mod/admin.php:962
+#: mod/admin.php:973
msgid ""
"If the system cannot detect the correct path to your installation, enter the "
"correct path here. This setting should only be set if you are using a "
"restricted system and symbolic links to your webroot."
msgstr ""
-#: mod/admin.php:963
+#: mod/admin.php:974
msgid "Disable picture proxy"
msgstr ""
-#: mod/admin.php:963
+#: mod/admin.php:974
msgid ""
"The picture proxy increases performance and privacy. It shouldn't be used on "
"systems with very low bandwith."
msgstr ""
-#: mod/admin.php:964
+#: mod/admin.php:975
msgid "Enable old style pager"
msgstr ""
-#: mod/admin.php:964
+#: mod/admin.php:975
msgid ""
"The old style pager has page numbers but slows down massively the page speed."
msgstr ""
-#: mod/admin.php:965
+#: mod/admin.php:976
msgid "Only search in tags"
msgstr ""
-#: mod/admin.php:965
+#: mod/admin.php:976
msgid "On large systems the text search can slow down the system extremely."
msgstr ""
-#: mod/admin.php:967
+#: mod/admin.php:978
msgid "New base url"
msgstr ""
-#: mod/admin.php:967
+#: mod/admin.php:978
msgid ""
"Change base url for this server. Sends relocate message to all DFRN contacts "
"of all users."
msgstr ""
-#: mod/admin.php:969
+#: mod/admin.php:980
msgid "RINO Encryption"
msgstr ""
-#: mod/admin.php:969
+#: mod/admin.php:980
msgid "Encryption layer between nodes."
msgstr ""
-#: mod/admin.php:970
+#: mod/admin.php:981
msgid "Embedly API key"
msgstr ""
-#: mod/admin.php:970
+#: mod/admin.php:981
msgid ""
"Embedly is used to fetch additional data for "
"web pages. This is an optional parameter."
msgstr ""
-#: mod/admin.php:999
+#: mod/admin.php:1010
msgid "Update has been marked successful"
msgstr ""
-#: mod/admin.php:1007
+#: mod/admin.php:1018
#, php-format
msgid "Database structure update %s was successfully applied."
msgstr ""
-#: mod/admin.php:1010
+#: mod/admin.php:1021
#, php-format
msgid "Executing of database structure update %s failed with error: %s"
msgstr ""
-#: mod/admin.php:1022
+#: mod/admin.php:1033
#, php-format
msgid "Executing %s failed with error: %s"
msgstr ""
-#: mod/admin.php:1025
+#: mod/admin.php:1036
#, php-format
msgid "Update %s was successfully applied."
msgstr ""
-#: mod/admin.php:1029
+#: mod/admin.php:1040
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr ""
-#: mod/admin.php:1031
+#: mod/admin.php:1042
#, php-format
msgid "There was no additional update function %s that needed to be called."
msgstr ""
-#: mod/admin.php:1050
+#: mod/admin.php:1061
msgid "No failed updates."
msgstr ""
-#: mod/admin.php:1051
+#: mod/admin.php:1062
msgid "Check database structure"
msgstr ""
-#: mod/admin.php:1056
+#: mod/admin.php:1067
msgid "Failed Updates"
msgstr ""
-#: mod/admin.php:1057
+#: mod/admin.php:1068
msgid ""
"This does not include updates prior to 1139, which did not return a status."
msgstr ""
-#: mod/admin.php:1058
+#: mod/admin.php:1069
msgid "Mark success (if update was manually applied)"
msgstr ""
-#: mod/admin.php:1059
+#: mod/admin.php:1070
msgid "Attempt to execute this update step automatically"
msgstr ""
-#: mod/admin.php:1091
+#: mod/admin.php:1102
#, php-format
msgid ""
"\n"
@@ -2945,7 +2946,7 @@ msgid ""
"\t\t\t\tthe administrator of %2$s has set up an account for you."
msgstr ""
-#: mod/admin.php:1094
+#: mod/admin.php:1105
#, php-format
msgid ""
"\n"
@@ -2981,168 +2982,168 @@ msgid ""
"\t\t\tThank you and welcome to %4$s."
msgstr ""
-#: mod/admin.php:1126 include/user.php:423
+#: mod/admin.php:1137 include/user.php:423
#, php-format
msgid "Registration details for %s"
msgstr ""
-#: mod/admin.php:1138
+#: mod/admin.php:1149
#, php-format
msgid "%s user blocked/unblocked"
msgid_plural "%s users blocked/unblocked"
msgstr[0] ""
msgstr[1] ""
-#: mod/admin.php:1145
+#: mod/admin.php:1156
#, php-format
msgid "%s user deleted"
msgid_plural "%s users deleted"
msgstr[0] ""
msgstr[1] ""
-#: mod/admin.php:1192
+#: mod/admin.php:1203
#, php-format
msgid "User '%s' deleted"
msgstr ""
-#: mod/admin.php:1200
+#: mod/admin.php:1211
#, php-format
msgid "User '%s' unblocked"
msgstr ""
-#: mod/admin.php:1200
+#: mod/admin.php:1211
#, php-format
msgid "User '%s' blocked"
msgstr ""
-#: mod/admin.php:1291
+#: mod/admin.php:1302
msgid "Add User"
msgstr ""
-#: mod/admin.php:1292
+#: mod/admin.php:1303
msgid "select all"
msgstr ""
-#: mod/admin.php:1293
+#: mod/admin.php:1304
msgid "User registrations waiting for confirm"
msgstr ""
-#: mod/admin.php:1294
+#: mod/admin.php:1305
msgid "User waiting for permanent deletion"
msgstr ""
-#: mod/admin.php:1295
+#: mod/admin.php:1306
msgid "Request date"
msgstr ""
-#: mod/admin.php:1295 mod/admin.php:1307 mod/admin.php:1308 mod/admin.php:1323
+#: mod/admin.php:1306 mod/admin.php:1318 mod/admin.php:1319 mod/admin.php:1334
#: include/contact_selectors.php:79 include/contact_selectors.php:86
msgid "Email"
msgstr ""
-#: mod/admin.php:1296
+#: mod/admin.php:1307
msgid "No registrations."
msgstr ""
-#: mod/admin.php:1298
+#: mod/admin.php:1309
msgid "Deny"
msgstr ""
-#: mod/admin.php:1302
+#: mod/admin.php:1313
msgid "Site admin"
msgstr ""
-#: mod/admin.php:1303
+#: mod/admin.php:1314
msgid "Account expired"
msgstr ""
-#: mod/admin.php:1306
+#: mod/admin.php:1317
msgid "New User"
msgstr ""
-#: mod/admin.php:1307 mod/admin.php:1308
+#: mod/admin.php:1318 mod/admin.php:1319
msgid "Register date"
msgstr ""
-#: mod/admin.php:1307 mod/admin.php:1308
+#: mod/admin.php:1318 mod/admin.php:1319
msgid "Last login"
msgstr ""
-#: mod/admin.php:1307 mod/admin.php:1308
+#: mod/admin.php:1318 mod/admin.php:1319
msgid "Last item"
msgstr ""
-#: mod/admin.php:1307
+#: mod/admin.php:1318
msgid "Deleted since"
msgstr ""
-#: mod/admin.php:1308 mod/settings.php:41
+#: mod/admin.php:1319 mod/settings.php:41
msgid "Account"
msgstr ""
-#: mod/admin.php:1310
+#: mod/admin.php:1321
msgid ""
"Selected users will be deleted!\\n\\nEverything these users had posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: mod/admin.php:1311
+#: mod/admin.php:1322
msgid ""
"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
"site will be permanently deleted!\\n\\nAre you sure?"
msgstr ""
-#: mod/admin.php:1321
+#: mod/admin.php:1332
msgid "Name of the new user."
msgstr ""
-#: mod/admin.php:1322
+#: mod/admin.php:1333
msgid "Nickname"
msgstr ""
-#: mod/admin.php:1322
+#: mod/admin.php:1333
msgid "Nickname of the new user."
msgstr ""
-#: mod/admin.php:1323
+#: mod/admin.php:1334
msgid "Email address of the new user."
msgstr ""
-#: mod/admin.php:1366
+#: mod/admin.php:1377
#, php-format
msgid "Plugin %s disabled."
msgstr ""
-#: mod/admin.php:1370
+#: mod/admin.php:1381
#, php-format
msgid "Plugin %s enabled."
msgstr ""
-#: mod/admin.php:1381 mod/admin.php:1617
+#: mod/admin.php:1392 mod/admin.php:1628
msgid "Disable"
msgstr ""
-#: mod/admin.php:1383 mod/admin.php:1619
+#: mod/admin.php:1394 mod/admin.php:1630
msgid "Enable"
msgstr ""
-#: mod/admin.php:1406 mod/admin.php:1664
+#: mod/admin.php:1417 mod/admin.php:1675
msgid "Toggle"
msgstr ""
-#: mod/admin.php:1414 mod/admin.php:1673
+#: mod/admin.php:1425 mod/admin.php:1684
msgid "Author: "
msgstr ""
-#: mod/admin.php:1415 mod/admin.php:1674
+#: mod/admin.php:1426 mod/admin.php:1685
msgid "Maintainer: "
msgstr ""
-#: mod/admin.php:1467
+#: mod/admin.php:1478
msgid "Reload active plugins"
msgstr ""
-#: mod/admin.php:1472
+#: mod/admin.php:1483
#, php-format
msgid ""
"There are currently no plugins available on your node. You can find the "
@@ -3150,62 +3151,62 @@ msgid ""
"in the open plugin registry at %2$s"
msgstr ""
-#: mod/admin.php:1577
+#: mod/admin.php:1588
msgid "No themes found."
msgstr ""
-#: mod/admin.php:1655
+#: mod/admin.php:1666
msgid "Screenshot"
msgstr ""
-#: mod/admin.php:1715
+#: mod/admin.php:1726
msgid "Reload active themes"
msgstr ""
-#: mod/admin.php:1720
+#: mod/admin.php:1731
#, php-format
msgid "No themes found on the system. They should be paced in %1$s"
msgstr ""
-#: mod/admin.php:1721
+#: mod/admin.php:1732
msgid "[Experimental]"
msgstr ""
-#: mod/admin.php:1722
+#: mod/admin.php:1733
msgid "[Unsupported]"
msgstr ""
-#: mod/admin.php:1746
+#: mod/admin.php:1757
msgid "Log settings updated."
msgstr ""
-#: mod/admin.php:1783
+#: mod/admin.php:1794
msgid "Clear"
msgstr ""
-#: mod/admin.php:1788
+#: mod/admin.php:1799
msgid "Enable Debugging"
msgstr ""
-#: mod/admin.php:1789
+#: mod/admin.php:1800
msgid "Log file"
msgstr ""
-#: mod/admin.php:1789
+#: mod/admin.php:1800
msgid ""
"Must be writable by web server. Relative to your Friendica top-level "
"directory."
msgstr ""
-#: mod/admin.php:1790
+#: mod/admin.php:1801
msgid "Log level"
msgstr ""
-#: mod/admin.php:1793
+#: mod/admin.php:1804
msgid "PHP logging"
msgstr ""
-#: mod/admin.php:1794
+#: mod/admin.php:1805
msgid ""
"To enable logging of PHP errors and warnings you can add the following to "
"the .htconfig.php file of your installation. The filename set in the "
@@ -3214,20 +3215,20 @@ msgid ""
"'display_errors' is to enable these options, set to '0' to disable them."
msgstr ""
-#: mod/admin.php:1920 mod/admin.php:1921 mod/settings.php:759
+#: mod/admin.php:1931 mod/admin.php:1932 mod/settings.php:759
msgid "Off"
msgstr ""
-#: mod/admin.php:1920 mod/admin.php:1921 mod/settings.php:759
+#: mod/admin.php:1931 mod/admin.php:1932 mod/settings.php:759
msgid "On"
msgstr ""
-#: mod/admin.php:1921
+#: mod/admin.php:1932
#, php-format
msgid "Lock feature %s"
msgstr ""
-#: mod/admin.php:1929
+#: mod/admin.php:1940
msgid "Manage Additional Features"
msgstr ""
@@ -3505,7 +3506,7 @@ msgstr ""
msgid "Edit event"
msgstr ""
-#: mod/events.php:421 include/text.php:1721 include/text.php:1728
+#: mod/events.php:421 include/text.php:1728 include/text.php:1735
msgid "link to source"
msgstr ""
@@ -3612,15 +3613,15 @@ msgstr[0] ""
msgstr[1] ""
#: mod/content.php:607 object/Item.php:421 object/Item.php:434
-#: include/text.php:1997
+#: include/text.php:2004
msgid "comment"
msgid_plural "comments"
msgstr[0] ""
msgstr[1] ""
-#: mod/content.php:608 boot.php:863 object/Item.php:422
+#: mod/content.php:608 boot.php:870 object/Item.php:422
#: include/contact_widgets.php:242 include/forums.php:110
-#: include/items.php:5184 view/theme/vier/theme.php:264
+#: include/items.php:5207 view/theme/vier/theme.php:264
msgid "show more"
msgstr ""
@@ -3658,7 +3659,7 @@ msgid "This is you"
msgstr ""
#: mod/content.php:711 mod/photos.php:1629 mod/photos.php:1677
-#: mod/photos.php:1765 boot.php:862 object/Item.php:393 object/Item.php:709
+#: mod/photos.php:1765 boot.php:869 object/Item.php:393 object/Item.php:709
msgid "Comment"
msgstr ""
@@ -4148,16 +4149,16 @@ msgstr ""
msgid "link"
msgstr ""
-#: mod/community.php:23
+#: mod/community.php:27
msgid "Not available."
msgstr ""
-#: mod/community.php:32 include/nav.php:136 include/nav.php:138
+#: mod/community.php:36 include/nav.php:136 include/nav.php:138
#: view/theme/diabook/theme.php:129
msgid "Community"
msgstr ""
-#: mod/community.php:62 mod/community.php:71 mod/search.php:228
+#: mod/community.php:66 mod/community.php:75 mod/search.php:228
msgid "No results."
msgstr ""
@@ -5082,7 +5083,7 @@ msgstr ""
msgid "Choose a nickname: "
msgstr ""
-#: mod/register.php:280 boot.php:1379 include/nav.php:108
+#: mod/register.php:280 boot.php:1405 include/nav.php:108
msgid "Register"
msgstr ""
@@ -6126,60 +6127,60 @@ msgstr ""
msgid "Item was not found."
msgstr ""
-#: boot.php:861
+#: boot.php:868
msgid "Delete this item?"
msgstr ""
-#: boot.php:864
+#: boot.php:871
msgid "show fewer"
msgstr ""
-#: boot.php:1266
+#: boot.php:1292
#, php-format
msgid "Update %s failed. See error logs."
msgstr ""
-#: boot.php:1378
+#: boot.php:1404
msgid "Create a New Account"
msgstr ""
-#: boot.php:1403 include/nav.php:72
+#: boot.php:1429 include/nav.php:72
msgid "Logout"
msgstr ""
-#: boot.php:1406
+#: boot.php:1432
msgid "Nickname or Email address: "
msgstr ""
-#: boot.php:1407
+#: boot.php:1433
msgid "Password: "
msgstr ""
-#: boot.php:1408
+#: boot.php:1434
msgid "Remember me"
msgstr ""
-#: boot.php:1411
+#: boot.php:1437
msgid "Or login using OpenID: "
msgstr ""
-#: boot.php:1417
+#: boot.php:1443
msgid "Forgot your password?"
msgstr ""
-#: boot.php:1420
+#: boot.php:1446
msgid "Website Terms of Service"
msgstr ""
-#: boot.php:1421
+#: boot.php:1447
msgid "terms of service"
msgstr ""
-#: boot.php:1423
+#: boot.php:1449
msgid "Website Privacy Policy"
msgstr ""
-#: boot.php:1424
+#: boot.php:1450
msgid "privacy policy"
msgstr ""
@@ -6681,12 +6682,12 @@ msgstr ""
msgid "%1$d %2$s ago"
msgstr ""
-#: include/datetime.php:474 include/items.php:2477
+#: include/datetime.php:474 include/items.php:2500
#, php-format
msgid "%s's birthday"
msgstr ""
-#: include/datetime.php:475 include/items.php:2478
+#: include/datetime.php:475 include/items.php:2501
#, php-format
msgid "Happy Birthday %s"
msgstr ""
@@ -6825,12 +6826,12 @@ msgid "Only You Can See This"
msgstr ""
#: include/like.php:167 include/conversation.php:122
-#: include/conversation.php:258 include/text.php:1991
+#: include/conversation.php:258 include/text.php:1998
#: view/theme/diabook/theme.php:463
msgid "event"
msgstr ""
-#: include/like.php:184 include/conversation.php:141 include/diaspora.php:2163
+#: include/like.php:184 include/conversation.php:141 include/diaspora.php:2185
#: view/theme/diabook/theme.php:480
#, php-format
msgid "%1$s likes %2$s's %3$s"
@@ -7326,31 +7327,31 @@ msgstr ""
msgid "surprised"
msgstr ""
-#: include/text.php:1497
+#: include/text.php:1504
msgid "bytes"
msgstr ""
-#: include/text.php:1529 include/text.php:1541
+#: include/text.php:1536 include/text.php:1548
msgid "Click to open/close"
msgstr ""
-#: include/text.php:1715
+#: include/text.php:1722
msgid "View on separate page"
msgstr ""
-#: include/text.php:1716
+#: include/text.php:1723
msgid "view on separate page"
msgstr ""
-#: include/text.php:1995
+#: include/text.php:2002
msgid "activity"
msgstr ""
-#: include/text.php:1998
+#: include/text.php:2005
msgid "post"
msgstr ""
-#: include/text.php:2166
+#: include/text.php:2173
msgid "Item filed"
msgstr ""
@@ -7784,7 +7785,7 @@ msgstr ""
msgid "Sharing notification from Diaspora network"
msgstr ""
-#: include/diaspora.php:2604
+#: include/diaspora.php:2625
msgid "Attachments:"
msgstr ""
@@ -7796,11 +7797,11 @@ msgstr ""
msgid "noreply"
msgstr ""
-#: include/items.php:4903
+#: include/items.php:4926
msgid "Do you really want to delete this item?"
msgstr ""
-#: include/items.php:5178
+#: include/items.php:5201
msgid "Archives"
msgstr ""
@@ -8316,11 +8317,11 @@ msgstr ""
msgid "Please visit %s to approve or reject the request."
msgstr ""
-#: include/oembed.php:214
+#: include/oembed.php:226
msgid "Embedded content"
msgstr ""
-#: include/oembed.php:223
+#: include/oembed.php:235
msgid "Embedding disabled"
msgstr ""
diff --git a/view/de/messages.po b/view/de/messages.po
index 3da9621ff1..9840156ca4 100644
--- a/view/de/messages.po
+++ b/view/de/messages.po
@@ -32,8 +32,8 @@ msgid ""
msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-01-18 18:49+0100\n"
-"PO-Revision-Date: 2016-01-19 09:53+0000\n"
+"POT-Creation-Date: 2016-01-24 06:49+0100\n"
+"PO-Revision-Date: 2016-01-24 13:15+0000\n"
"Last-Translator: bavatar \n"
"Language-Team: German (http://www.transifex.com/Friendica/friendica/language/de/)\n"
"MIME-Version: 1.0\n"
@@ -57,9 +57,9 @@ msgstr "Forum"
#: mod/contacts.php:128
#, php-format
msgid "%d contact edited."
-msgid_plural "%d contacts edited"
+msgid_plural "%d contacts edited."
msgstr[0] "%d Kontakt bearbeitet."
-msgstr[1] "%d Kontakte bearbeitet"
+msgstr[1] "%d Kontakte bearbeitet."
#: mod/contacts.php:159 mod/contacts.php:383
msgid "Could not access contact record."
@@ -77,7 +77,7 @@ msgstr "Kontakt aktualisiert."
msgid "Failed to update contact record."
msgstr "Aktualisierung der Kontaktdaten fehlgeschlagen."
-#: mod/contacts.php:365 mod/manage.php:96 mod/display.php:504
+#: mod/contacts.php:365 mod/manage.php:96 mod/display.php:509
#: mod/profile_photo.php:19 mod/profile_photo.php:175
#: mod/profile_photo.php:186 mod/profile_photo.php:199
#: mod/ostatus_subscribe.php:9 mod/follow.php:11 mod/follow.php:73
@@ -95,7 +95,7 @@ msgstr "Aktualisierung der Kontaktdaten fehlgeschlagen."
#: mod/api.php:26 mod/api.php:31 mod/notes.php:22 mod/poke.php:149
#: mod/repair_ostatus.php:9 mod/invite.php:15 mod/invite.php:101
#: mod/photos.php:171 mod/photos.php:1105 mod/regmod.php:110
-#: mod/uimport.php:23 mod/attach.php:33 include/items.php:5073 index.php:383
+#: mod/uimport.php:23 mod/attach.php:33 include/items.php:5096 index.php:383
msgid "Permission denied."
msgstr "Zugriff verweigert."
@@ -134,7 +134,7 @@ msgstr "Möchtest Du wirklich diesen Kontakt löschen?"
#: mod/settings.php:1171 mod/settings.php:1172 mod/settings.php:1173
#: mod/settings.php:1174 mod/dfrn_request.php:857 mod/register.php:238
#: mod/suggest.php:29 mod/profiles.php:658 mod/profiles.php:661
-#: mod/profiles.php:687 mod/api.php:105 include/items.php:4905
+#: mod/profiles.php:687 mod/api.php:105 include/items.php:4928
msgid "Yes"
msgstr "Ja"
@@ -143,7 +143,7 @@ msgstr "Ja"
#: mod/fbrowser.php:128 mod/settings.php:660 mod/settings.php:686
#: mod/dfrn_request.php:871 mod/suggest.php:32 mod/editpost.php:148
#: mod/photos.php:247 mod/photos.php:336 include/conversation.php:1220
-#: include/items.php:4908
+#: include/items.php:4931
msgid "Cancel"
msgstr "Abbrechen"
@@ -170,7 +170,7 @@ msgstr "%s teilt mit Dir"
msgid "Private communications are not available for this contact."
msgstr "Private Kommunikation ist für diesen Kontakt nicht verfügbar."
-#: mod/contacts.php:544 mod/admin.php:811
+#: mod/contacts.php:544 mod/admin.php:822
msgid "Never"
msgstr "Niemals"
@@ -199,7 +199,7 @@ msgstr "Verbindungen mit diesem Kontakt verloren!"
msgid "Fetch further information for feeds"
msgstr "Weitere Informationen zu Feeds holen"
-#: mod/contacts.php:571 mod/admin.php:820
+#: mod/contacts.php:571 mod/admin.php:831
msgid "Disabled"
msgstr "Deaktiviert"
@@ -290,12 +290,12 @@ msgid "Connect/Follow"
msgstr "Verbinden/Folgen"
#: mod/contacts.php:615 mod/contacts.php:806 mod/contacts.php:865
-#: mod/admin.php:1301
+#: mod/admin.php:1312
msgid "Unblock"
msgstr "Entsperren"
#: mod/contacts.php:615 mod/contacts.php:806 mod/contacts.php:865
-#: mod/admin.php:1300
+#: mod/admin.php:1311
msgid "Block"
msgstr "Sperren"
@@ -454,7 +454,7 @@ msgstr "Archivieren"
msgid "Unarchive"
msgstr "Aus Archiv zurückholen"
-#: mod/contacts.php:809 mod/group.php:171 mod/admin.php:1299
+#: mod/contacts.php:809 mod/group.php:171 mod/admin.php:1310
#: mod/content.php:440 mod/content.php:743 mod/settings.php:722
#: mod/photos.php:1723 object/Item.php:134 include/conversation.php:635
msgid "Delete"
@@ -572,14 +572,14 @@ msgstr "Sichtbar für"
msgid "All Contacts (with secure profile access)"
msgstr "Alle Kontakte (mit gesichertem Profilzugriff)"
-#: mod/display.php:82 mod/display.php:291 mod/display.php:508
-#: mod/viewsrc.php:15 mod/admin.php:225 mod/admin.php:1354 mod/admin.php:1588
-#: mod/notice.php:15 include/items.php:4864
+#: mod/display.php:82 mod/display.php:291 mod/display.php:513
+#: mod/viewsrc.php:15 mod/admin.php:234 mod/admin.php:1365 mod/admin.php:1599
+#: mod/notice.php:15 include/items.php:4887
msgid "Item not found."
msgstr "Beitrag nicht gefunden."
#: mod/display.php:220 mod/videos.php:197 mod/viewcontacts.php:35
-#: mod/community.php:18 mod/dfrn_request.php:786 mod/search.php:93
+#: mod/community.php:22 mod/dfrn_request.php:786 mod/search.php:93
#: mod/search.php:99 mod/directory.php:37 mod/photos.php:976
msgid "Public access denied."
msgstr "Öffentlicher Zugriff verweigert."
@@ -588,7 +588,7 @@ msgstr "Öffentlicher Zugriff verweigert."
msgid "Access to this profile has been restricted."
msgstr "Der Zugriff zu diesem Profil wurde eingeschränkt."
-#: mod/display.php:501
+#: mod/display.php:506
msgid "Item has been removed."
msgstr "Eintrag wurde entfernt."
@@ -623,7 +623,7 @@ msgid ""
" join."
msgstr "Auf der Quick Start Seite findest Du eine kurze Einleitung in die einzelnen Funktionen Deines Profils und die Netzwerk-Reiter, wo Du interessante Foren findest und neue Kontakte knüpfst."
-#: mod/newmember.php:22 mod/admin.php:1407 mod/admin.php:1665
+#: mod/newmember.php:22 mod/admin.php:1418 mod/admin.php:1676
#: mod/settings.php:109 include/nav.php:182 view/theme/diabook/theme.php:544
#: view/theme/diabook/theme.php:648
msgid "Settings"
@@ -868,15 +868,15 @@ msgstr "Hochladen des Bildes gescheitert."
#: mod/subthread.php:87 mod/tagger.php:62 include/like.php:165
#: include/conversation.php:130 include/conversation.php:266
-#: include/text.php:1993 include/diaspora.php:2147
+#: include/text.php:2000 include/diaspora.php:2169
#: view/theme/diabook/theme.php:471
msgid "photo"
msgstr "Foto"
#: mod/subthread.php:87 mod/tagger.php:62 include/like.php:165
-#: include/like.php:325 include/conversation.php:125
+#: include/like.php:334 include/conversation.php:125
#: include/conversation.php:134 include/conversation.php:261
-#: include/conversation.php:270 include/diaspora.php:2147
+#: include/conversation.php:270 include/diaspora.php:2169
#: view/theme/diabook/theme.php:466 view/theme/diabook/theme.php:475
msgid "status"
msgstr "Status"
@@ -1190,7 +1190,7 @@ msgstr "Deine Kontaktreferenzen konnten nicht in unserem System gespeichert werd
msgid "Unable to update your contact profile details on our system"
msgstr "Die Updates für Dein Profil konnten nicht gespeichert werden"
-#: mod/dfrn_confirm.php:753 mod/dfrn_request.php:741 include/items.php:4276
+#: mod/dfrn_confirm.php:753 mod/dfrn_request.php:741 include/items.php:4299
msgid "[Name Withheld]"
msgstr "[Name unterdrückt]"
@@ -1223,7 +1223,7 @@ msgstr "Keine Videos ausgewählt"
msgid "Access to this item is restricted."
msgstr "Zugriff zu diesem Eintrag wurde eingeschränkt."
-#: mod/videos.php:383 include/text.php:1465
+#: mod/videos.php:383 include/text.php:1472
msgid "View Video"
msgstr "Video ansehen"
@@ -1315,7 +1315,7 @@ msgid ""
"Password reset failed."
msgstr "Anfrage konnte nicht verifiziert werden. (Eventuell hast Du bereits eine ähnliche Anfrage gestellt.) Zurücksetzen des Passworts gescheitert."
-#: mod/lostpass.php:109 boot.php:1418
+#: mod/lostpass.php:109 boot.php:1444
msgid "Password Reset"
msgstr "Passwort zurücksetzen"
@@ -1418,7 +1418,7 @@ msgstr "Verwerfen"
msgid "System"
msgstr "System"
-#: mod/notifications.php:87 mod/admin.php:379 include/nav.php:154
+#: mod/notifications.php:87 mod/admin.php:390 include/nav.php:154
msgid "Network"
msgstr "Netzwerk"
@@ -1464,7 +1464,7 @@ msgstr "Neue-Kontakt Nachricht senden"
msgid "if applicable"
msgstr "falls anwendbar"
-#: mod/notifications.php:176 mod/notifications.php:257 mod/admin.php:1297
+#: mod/notifications.php:176 mod/notifications.php:257 mod/admin.php:1308
msgid "Approve"
msgstr "Genehmigen"
@@ -1821,8 +1821,8 @@ msgstr "Zurück zum Kontakteditor"
msgid "Refetch contact data"
msgstr "Kontaktdaten neu laden"
-#: mod/crepair.php:170 mod/admin.php:1295 mod/admin.php:1307
-#: mod/admin.php:1308 mod/admin.php:1321 mod/settings.php:661
+#: mod/crepair.php:170 mod/admin.php:1306 mod/admin.php:1318
+#: mod/admin.php:1319 mod/admin.php:1332 mod/settings.php:661
#: mod/settings.php:687
msgid "Name"
msgstr "Name"
@@ -1873,7 +1873,7 @@ msgid ""
"entries from this contact."
msgstr "Markiere diesen Kontakt als remote_self (entferntes Konto), dies veranlasst Friendica alle Top-Level Beiträge dieses Kontakts an all Deine Kontakte zu senden."
-#: mod/bookmarklet.php:12 boot.php:1404 include/nav.php:91
+#: mod/bookmarklet.php:12 boot.php:1430 include/nav.php:91
msgid "Login"
msgstr "Anmeldung"
@@ -1930,574 +1930,575 @@ msgstr "Kontakte, die keiner Gruppe zugewiesen sind"
msgid "Theme settings updated."
msgstr "Themeneinstellungen aktualisiert."
-#: mod/admin.php:147 mod/admin.php:877
+#: mod/admin.php:156 mod/admin.php:888
msgid "Site"
msgstr "Seite"
-#: mod/admin.php:148 mod/admin.php:821 mod/admin.php:1290 mod/admin.php:1305
+#: mod/admin.php:157 mod/admin.php:832 mod/admin.php:1301 mod/admin.php:1316
msgid "Users"
msgstr "Nutzer"
-#: mod/admin.php:149 mod/admin.php:1405 mod/admin.php:1465 mod/settings.php:72
+#: mod/admin.php:158 mod/admin.php:1416 mod/admin.php:1476 mod/settings.php:72
msgid "Plugins"
msgstr "Plugins"
-#: mod/admin.php:150 mod/admin.php:1663 mod/admin.php:1713
+#: mod/admin.php:159 mod/admin.php:1674 mod/admin.php:1724
msgid "Themes"
msgstr "Themen"
-#: mod/admin.php:151 mod/settings.php:50
+#: mod/admin.php:160 mod/settings.php:50
msgid "Additional features"
msgstr "Zusätzliche Features"
-#: mod/admin.php:152
+#: mod/admin.php:161
msgid "DB updates"
msgstr "DB Updates"
-#: mod/admin.php:153 mod/admin.php:374
+#: mod/admin.php:162 mod/admin.php:385
msgid "Inspect Queue"
msgstr "Warteschlange Inspizieren"
-#: mod/admin.php:154 mod/admin.php:343
+#: mod/admin.php:163 mod/admin.php:354
msgid "Federation Statistics"
msgstr "Federation Statistik"
-#: mod/admin.php:168 mod/admin.php:179 mod/admin.php:1781
+#: mod/admin.php:177 mod/admin.php:188 mod/admin.php:1792
msgid "Logs"
msgstr "Protokolle"
-#: mod/admin.php:169 mod/admin.php:1848
+#: mod/admin.php:178 mod/admin.php:1859
msgid "View Logs"
msgstr "Protokolle anzeigen"
-#: mod/admin.php:170
+#: mod/admin.php:179
msgid "probe address"
msgstr "Adresse untersuchen"
-#: mod/admin.php:171
+#: mod/admin.php:180
msgid "check webfinger"
msgstr "Webfinger überprüfen"
-#: mod/admin.php:177 include/nav.php:194
+#: mod/admin.php:186 include/nav.php:194
msgid "Admin"
msgstr "Administration"
-#: mod/admin.php:178
+#: mod/admin.php:187
msgid "Plugin Features"
msgstr "Plugin Features"
-#: mod/admin.php:180
+#: mod/admin.php:189
msgid "diagnostics"
msgstr "Diagnose"
-#: mod/admin.php:181
+#: mod/admin.php:190
msgid "User registrations waiting for confirmation"
msgstr "Nutzeranmeldungen die auf Bestätigung warten"
-#: mod/admin.php:336
+#: mod/admin.php:347
msgid ""
"This page offers you some numbers to the known part of the federated social "
"network your Friendica node is part of. These numbers are not complete but "
"only reflect the part of the network your node is aware of."
msgstr "Diese Seite präsentiert einige Zahlen zu dem bekannten Teil des föderalen sozialen Netzwerks, von dem deine Friendica Installation ein Teil ist. Diese Zahlen sind nicht absolut und reflektieren nur den Teil des Netzwerks, den dein Knoten kennt."
-#: mod/admin.php:337
+#: mod/admin.php:348
msgid ""
"The Auto Discovered Contact Directory feature is not enabled, it "
"will improve the data displayed here."
msgstr "Die Funktion um Automatisch ein Kontaktverzeichnis erstellen ist nicht aktiv. Es wird die hier angezeigten Daten verbessern."
-#: mod/admin.php:342 mod/admin.php:373 mod/admin.php:430 mod/admin.php:876
-#: mod/admin.php:1289 mod/admin.php:1404 mod/admin.php:1464 mod/admin.php:1662
-#: mod/admin.php:1712 mod/admin.php:1780 mod/admin.php:1847
+#: mod/admin.php:353 mod/admin.php:384 mod/admin.php:441 mod/admin.php:887
+#: mod/admin.php:1300 mod/admin.php:1415 mod/admin.php:1475 mod/admin.php:1673
+#: mod/admin.php:1723 mod/admin.php:1791 mod/admin.php:1858
msgid "Administration"
msgstr "Administration"
-#: mod/admin.php:349
-msgid "Currently this node is aware of nodes from the following platforms:"
-msgstr "Momentan kennt dieser Knoten andere Knoten der folgenden Plattformen:"
+#: mod/admin.php:360
+#, php-format
+msgid "Currently this node is aware of %d nodes from the following platforms:"
+msgstr "Momentan kennt dieser Knoten %d andere Knoten der folgenden Plattformen:"
-#: mod/admin.php:376
+#: mod/admin.php:387
msgid "ID"
msgstr "ID"
-#: mod/admin.php:377
+#: mod/admin.php:388
msgid "Recipient Name"
msgstr "Empfänger Name"
-#: mod/admin.php:378
+#: mod/admin.php:389
msgid "Recipient Profile"
msgstr "Empfänger Profil"
-#: mod/admin.php:380
+#: mod/admin.php:391
msgid "Created"
msgstr "Erstellt"
-#: mod/admin.php:381
+#: mod/admin.php:392
msgid "Last Tried"
msgstr "Zuletzt versucht"
-#: mod/admin.php:382
+#: mod/admin.php:393
msgid ""
"This page lists the content of the queue for outgoing postings. These are "
"postings the initial delivery failed for. They will be resend later and "
"eventually deleted if the delivery fails permanently."
msgstr "Auf dieser Seite werden die in der Warteschlange eingereihten Beiträge aufgelistet. Bei diesen Beiträgen schlug die erste Zustellung fehl. Es wird später wiederholt versucht die Beiträge zuzustellen, bis sie schließlich gelöscht werden."
-#: mod/admin.php:401 mod/admin.php:1243
+#: mod/admin.php:412 mod/admin.php:1254
msgid "Normal Account"
msgstr "Normales Konto"
-#: mod/admin.php:402 mod/admin.php:1244
+#: mod/admin.php:413 mod/admin.php:1255
msgid "Soapbox Account"
msgstr "Marktschreier-Konto"
-#: mod/admin.php:403 mod/admin.php:1245
+#: mod/admin.php:414 mod/admin.php:1256
msgid "Community/Celebrity Account"
msgstr "Forum/Promi-Konto"
-#: mod/admin.php:404 mod/admin.php:1246
+#: mod/admin.php:415 mod/admin.php:1257
msgid "Automatic Friend Account"
msgstr "Automatisches Freundekonto"
-#: mod/admin.php:405
+#: mod/admin.php:416
msgid "Blog Account"
msgstr "Blog-Konto"
-#: mod/admin.php:406
+#: mod/admin.php:417
msgid "Private Forum"
msgstr "Privates Forum"
-#: mod/admin.php:425
+#: mod/admin.php:436
msgid "Message queues"
msgstr "Nachrichten-Warteschlangen"
-#: mod/admin.php:431
+#: mod/admin.php:442
msgid "Summary"
msgstr "Zusammenfassung"
-#: mod/admin.php:433
+#: mod/admin.php:444
msgid "Registered users"
msgstr "Registrierte Nutzer"
-#: mod/admin.php:435
+#: mod/admin.php:446
msgid "Pending registrations"
msgstr "Anstehende Anmeldungen"
-#: mod/admin.php:436
+#: mod/admin.php:447
msgid "Version"
msgstr "Version"
-#: mod/admin.php:441
+#: mod/admin.php:452
msgid "Active plugins"
msgstr "Aktive Plugins"
-#: mod/admin.php:464
+#: mod/admin.php:475
msgid "Can not parse base url. Must have at least ://"
msgstr "Die Basis-URL konnte nicht analysiert werden. Sie muss mindestens aus :// bestehen"
-#: mod/admin.php:749
+#: mod/admin.php:760
msgid "RINO2 needs mcrypt php extension to work."
msgstr "RINO2 benötigt die PHP Extension mcrypt."
-#: mod/admin.php:757
+#: mod/admin.php:768
msgid "Site settings updated."
msgstr "Seiteneinstellungen aktualisiert."
-#: mod/admin.php:785 mod/settings.php:912
+#: mod/admin.php:796 mod/settings.php:912
msgid "No special theme for mobile devices"
msgstr "Kein spezielles Theme für mobile Geräte verwenden."
-#: mod/admin.php:804
+#: mod/admin.php:815
msgid "No community page"
msgstr "Keine Gemeinschaftsseite"
-#: mod/admin.php:805
+#: mod/admin.php:816
msgid "Public postings from users of this site"
msgstr "Öffentliche Beiträge von Nutzer_innen dieser Seite"
-#: mod/admin.php:806
+#: mod/admin.php:817
msgid "Global community page"
msgstr "Globale Gemeinschaftsseite"
-#: mod/admin.php:812
+#: mod/admin.php:823
msgid "At post arrival"
msgstr "Beim Empfang von Nachrichten"
-#: mod/admin.php:813 include/contact_selectors.php:56
+#: mod/admin.php:824 include/contact_selectors.php:56
msgid "Frequently"
msgstr "immer wieder"
-#: mod/admin.php:814 include/contact_selectors.php:57
+#: mod/admin.php:825 include/contact_selectors.php:57
msgid "Hourly"
msgstr "Stündlich"
-#: mod/admin.php:815 include/contact_selectors.php:58
+#: mod/admin.php:826 include/contact_selectors.php:58
msgid "Twice daily"
msgstr "Zweimal täglich"
-#: mod/admin.php:816 include/contact_selectors.php:59
+#: mod/admin.php:827 include/contact_selectors.php:59
msgid "Daily"
msgstr "Täglich"
-#: mod/admin.php:822
+#: mod/admin.php:833
msgid "Users, Global Contacts"
msgstr "Nutzer, globale Kontakte"
-#: mod/admin.php:823
+#: mod/admin.php:834
msgid "Users, Global Contacts/fallback"
msgstr "Nutzer, globale Kontakte / Fallback"
-#: mod/admin.php:827
+#: mod/admin.php:838
msgid "One month"
msgstr "ein Monat"
-#: mod/admin.php:828
+#: mod/admin.php:839
msgid "Three months"
msgstr "drei Monate"
-#: mod/admin.php:829
+#: mod/admin.php:840
msgid "Half a year"
msgstr "ein halbes Jahr"
-#: mod/admin.php:830
+#: mod/admin.php:841
msgid "One year"
msgstr "ein Jahr"
-#: mod/admin.php:835
+#: mod/admin.php:846
msgid "Multi user instance"
msgstr "Mehrbenutzer Instanz"
-#: mod/admin.php:858
+#: mod/admin.php:869
msgid "Closed"
msgstr "Geschlossen"
-#: mod/admin.php:859
+#: mod/admin.php:870
msgid "Requires approval"
msgstr "Bedarf der Zustimmung"
-#: mod/admin.php:860
+#: mod/admin.php:871
msgid "Open"
msgstr "Offen"
-#: mod/admin.php:864
+#: mod/admin.php:875
msgid "No SSL policy, links will track page SSL state"
msgstr "Keine SSL Richtlinie, Links werden das verwendete Protokoll beibehalten"
-#: mod/admin.php:865
+#: mod/admin.php:876
msgid "Force all links to use SSL"
msgstr "SSL für alle Links erzwingen"
-#: mod/admin.php:866
+#: mod/admin.php:877
msgid "Self-signed certificate, use SSL for local links only (discouraged)"
msgstr "Selbst-unterzeichnetes Zertifikat, SSL nur für lokale Links verwenden (nicht empfohlen)"
-#: mod/admin.php:878 mod/admin.php:1466 mod/admin.php:1714 mod/admin.php:1782
-#: mod/admin.php:1931 mod/settings.php:659 mod/settings.php:769
+#: mod/admin.php:889 mod/admin.php:1477 mod/admin.php:1725 mod/admin.php:1793
+#: mod/admin.php:1942 mod/settings.php:659 mod/settings.php:769
#: mod/settings.php:813 mod/settings.php:882 mod/settings.php:969
#: mod/settings.php:1204
msgid "Save Settings"
msgstr "Einstellungen speichern"
-#: mod/admin.php:879 mod/register.php:263
+#: mod/admin.php:890 mod/register.php:263
msgid "Registration"
msgstr "Registrierung"
-#: mod/admin.php:880
+#: mod/admin.php:891
msgid "File upload"
msgstr "Datei hochladen"
-#: mod/admin.php:881
+#: mod/admin.php:892
msgid "Policies"
msgstr "Regeln"
-#: mod/admin.php:882
+#: mod/admin.php:893
msgid "Advanced"
msgstr "Erweitert"
-#: mod/admin.php:883
+#: mod/admin.php:894
msgid "Auto Discovered Contact Directory"
msgstr "Automatisch ein Kontaktverzeichnis erstellen"
-#: mod/admin.php:884
+#: mod/admin.php:895
msgid "Performance"
msgstr "Performance"
-#: mod/admin.php:885
+#: mod/admin.php:896
msgid ""
"Relocate - WARNING: advanced function. Could make this server unreachable."
msgstr "Umsiedeln - WARNUNG: Könnte diesen Server unerreichbar machen."
-#: mod/admin.php:888
+#: mod/admin.php:899
msgid "Site name"
msgstr "Seitenname"
-#: mod/admin.php:889
+#: mod/admin.php:900
msgid "Host name"
msgstr "Host Name"
-#: mod/admin.php:890
+#: mod/admin.php:901
msgid "Sender Email"
msgstr "Absender für Emails"
-#: mod/admin.php:890
+#: mod/admin.php:901
msgid ""
"The email address your server shall use to send notification emails from."
msgstr "Die E-Mail Adresse die dein Server zum Versenden von Benachrichtigungen verwenden soll."
-#: mod/admin.php:891
+#: mod/admin.php:902
msgid "Banner/Logo"
msgstr "Banner/Logo"
-#: mod/admin.php:892
+#: mod/admin.php:903
msgid "Shortcut icon"
msgstr "Shortcut Icon"
-#: mod/admin.php:892
+#: mod/admin.php:903
msgid "Link to an icon that will be used for browsers."
msgstr "Link zu einem Icon, das Browser verwenden werden."
-#: mod/admin.php:893
+#: mod/admin.php:904
msgid "Touch icon"
msgstr "Touch Icon"
-#: mod/admin.php:893
+#: mod/admin.php:904
msgid "Link to an icon that will be used for tablets and mobiles."
msgstr "Link zu einem Icon das Tablets und Handies verwenden sollen."
-#: mod/admin.php:894
+#: mod/admin.php:905
msgid "Additional Info"
msgstr "Zusätzliche Informationen"
-#: mod/admin.php:894
+#: mod/admin.php:905
#, php-format
msgid ""
"For public servers: you can add additional information here that will be "
"listed at %s/siteinfo."
msgstr "Für öffentliche Server kannst Du hier zusätzliche Informationen angeben, die dann auf %s/siteinfo angezeigt werden."
-#: mod/admin.php:895
+#: mod/admin.php:906
msgid "System language"
msgstr "Systemsprache"
-#: mod/admin.php:896
+#: mod/admin.php:907
msgid "System theme"
msgstr "Systemweites Theme"
-#: mod/admin.php:896
+#: mod/admin.php:907
msgid ""
"Default system theme - may be over-ridden by user profiles - change theme settings"
msgstr "Vorgabe für das System-Theme - kann von Benutzerprofilen überschrieben werden - Theme-Einstellungen ändern"
-#: mod/admin.php:897
+#: mod/admin.php:908
msgid "Mobile system theme"
msgstr "Systemweites mobiles Theme"
-#: mod/admin.php:897
+#: mod/admin.php:908
msgid "Theme for mobile devices"
msgstr "Thema für mobile Geräte"
-#: mod/admin.php:898
+#: mod/admin.php:909
msgid "SSL link policy"
msgstr "Regeln für SSL Links"
-#: mod/admin.php:898
+#: mod/admin.php:909
msgid "Determines whether generated links should be forced to use SSL"
msgstr "Bestimmt, ob generierte Links SSL verwenden müssen"
-#: mod/admin.php:899
+#: mod/admin.php:910
msgid "Force SSL"
msgstr "Erzwinge SSL"
-#: mod/admin.php:899
+#: mod/admin.php:910
msgid ""
"Force all Non-SSL requests to SSL - Attention: on some systems it could lead"
" to endless loops."
msgstr "Erzinge alle Nicht-SSL Anfragen auf SSL - Achtung: auf manchen Systemen verursacht dies eine Endlosschleife."
-#: mod/admin.php:900
+#: mod/admin.php:911
msgid "Old style 'Share'"
msgstr "Altes \"Teilen\" Element"
-#: mod/admin.php:900
+#: mod/admin.php:911
msgid "Deactivates the bbcode element 'share' for repeating items."
msgstr "Deaktiviert das BBCode Element \"share\" beim Wiederholen von Beiträgen."
-#: mod/admin.php:901
+#: mod/admin.php:912
msgid "Hide help entry from navigation menu"
msgstr "Verberge den Menüeintrag für die Hilfe im Navigationsmenü"
-#: mod/admin.php:901
+#: mod/admin.php:912
msgid ""
"Hides the menu entry for the Help pages from the navigation menu. You can "
"still access it calling /help directly."
msgstr "Verbirgt den Menüeintrag für die Hilfe-Seiten im Navigationsmenü. Die Seiten können weiterhin über /help aufgerufen werden."
-#: mod/admin.php:902
+#: mod/admin.php:913
msgid "Single user instance"
msgstr "Ein-Nutzer Instanz"
-#: mod/admin.php:902
+#: mod/admin.php:913
msgid "Make this instance multi-user or single-user for the named user"
msgstr "Regelt ob es sich bei dieser Instanz um eine ein Personen Installation oder eine Installation mit mehr als einem Nutzer handelt."
-#: mod/admin.php:903
+#: mod/admin.php:914
msgid "Maximum image size"
msgstr "Maximale Bildgröße"
-#: mod/admin.php:903
+#: mod/admin.php:914
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr "Maximale Uploadgröße von Bildern in Bytes. Standard ist 0, d.h. ohne Limit."
-#: mod/admin.php:904
+#: mod/admin.php:915
msgid "Maximum image length"
msgstr "Maximale Bildlänge"
-#: mod/admin.php:904
+#: mod/admin.php:915
msgid ""
"Maximum length in pixels of the longest side of uploaded images. Default is "
"-1, which means no limits."
msgstr "Maximale Länge in Pixeln der längsten Seite eines hoch geladenen Bildes. Grundeinstellung ist -1 was keine Einschränkung bedeutet."
-#: mod/admin.php:905
+#: mod/admin.php:916
msgid "JPEG image quality"
msgstr "Qualität des JPEG Bildes"
-#: mod/admin.php:905
+#: mod/admin.php:916
msgid ""
"Uploaded JPEGS will be saved at this quality setting [0-100]. Default is "
"100, which is full quality."
msgstr "Hoch geladene JPEG Bilder werden mit dieser Qualität [0-100] gespeichert. Grundeinstellung ist 100, kein Qualitätsverlust."
-#: mod/admin.php:907
+#: mod/admin.php:918
msgid "Register policy"
msgstr "Registrierungsmethode"
-#: mod/admin.php:908
+#: mod/admin.php:919
msgid "Maximum Daily Registrations"
msgstr "Maximum täglicher Registrierungen"
-#: mod/admin.php:908
+#: mod/admin.php:919
msgid ""
"If registration is permitted above, this sets the maximum number of new user"
" registrations to accept per day. If register is set to closed, this "
"setting has no effect."
msgstr "Wenn die Registrierung weiter oben erlaubt ist, regelt dies die maximale Anzahl von Neuanmeldungen pro Tag. Wenn die Registrierung geschlossen ist, hat diese Einstellung keinen Effekt."
-#: mod/admin.php:909
+#: mod/admin.php:920
msgid "Register text"
msgstr "Registrierungstext"
-#: mod/admin.php:909
+#: mod/admin.php:920
msgid "Will be displayed prominently on the registration page."
msgstr "Wird gut sichtbar auf der Registrierungsseite angezeigt."
-#: mod/admin.php:910
+#: mod/admin.php:921
msgid "Accounts abandoned after x days"
msgstr "Nutzerkonten gelten nach x Tagen als unbenutzt"
-#: mod/admin.php:910
+#: mod/admin.php:921
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr "Verschwende keine System-Ressourcen auf das Pollen externer Seiten, wenn Konten nicht mehr benutzt werden. 0 eingeben für kein Limit."
-#: mod/admin.php:911
+#: mod/admin.php:922
msgid "Allowed friend domains"
msgstr "Erlaubte Domains für Kontakte"
-#: mod/admin.php:911
+#: mod/admin.php:922
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr "Liste der Domains, die für Freundschaften erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben."
-#: mod/admin.php:912
+#: mod/admin.php:923
msgid "Allowed email domains"
msgstr "Erlaubte Domains für E-Mails"
-#: mod/admin.php:912
+#: mod/admin.php:923
msgid ""
"Comma separated list of domains which are allowed in email addresses for "
"registrations to this site. Wildcards are accepted. Empty to allow any "
"domains"
msgstr "Liste der Domains, die für E-Mail-Adressen bei der Registrierung erlaubt sind, durch Kommas getrennt. Platzhalter werden akzeptiert. Leer lassen, um alle Domains zu erlauben."
-#: mod/admin.php:913
+#: mod/admin.php:924
msgid "Block public"
msgstr "Öffentlichen Zugriff blockieren"
-#: mod/admin.php:913
+#: mod/admin.php:924
msgid ""
"Check to block public access to all otherwise public personal pages on this "
"site unless you are currently logged in."
msgstr "Klicken, um öffentlichen Zugriff auf sonst öffentliche Profile zu blockieren, wenn man nicht eingeloggt ist."
-#: mod/admin.php:914
+#: mod/admin.php:925
msgid "Force publish"
msgstr "Erzwinge Veröffentlichung"
-#: mod/admin.php:914
+#: mod/admin.php:925
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr "Klicken, um Anzeige aller Profile dieses Servers im Verzeichnis zu erzwingen."
-#: mod/admin.php:915
+#: mod/admin.php:926
msgid "Global directory URL"
msgstr "URL des weltweiten Verzeichnisses"
-#: mod/admin.php:915
+#: mod/admin.php:926
msgid ""
"URL to the global directory. If this is not set, the global directory is "
"completely unavailable to the application."
msgstr "URL des weltweiten Verzeichnisses. Wenn diese nicht gesetzt ist, ist das Verzeichnis für die Applikation nicht erreichbar."
-#: mod/admin.php:916
+#: mod/admin.php:927
msgid "Allow threaded items"
msgstr "Erlaube Threads in Diskussionen"
-#: mod/admin.php:916
+#: mod/admin.php:927
msgid "Allow infinite level threading for items on this site."
msgstr "Erlaube ein unendliches Level für Threads auf dieser Seite."
-#: mod/admin.php:917
+#: mod/admin.php:928
msgid "Private posts by default for new users"
msgstr "Private Beiträge als Standard für neue Nutzer"
-#: mod/admin.php:917
+#: mod/admin.php:928
msgid ""
"Set default post permissions for all new members to the default privacy "
"group rather than public."
msgstr "Die Standard-Zugriffsrechte für neue Nutzer werden so gesetzt, dass als Voreinstellung in die private Gruppe gepostet wird anstelle von öffentlichen Beiträgen."
-#: mod/admin.php:918
+#: mod/admin.php:929
msgid "Don't include post content in email notifications"
msgstr "Inhalte von Beiträgen nicht in E-Mail-Benachrichtigungen versenden"
-#: mod/admin.php:918
+#: mod/admin.php:929
msgid ""
"Don't include the content of a post/comment/private message/etc. in the "
"email notifications that are sent out from this site, as a privacy measure."
msgstr "Inhalte von Beiträgen/Kommentaren/privaten Nachrichten/usw., zum Datenschutz nicht in E-Mail-Benachrichtigungen einbinden."
-#: mod/admin.php:919
+#: mod/admin.php:930
msgid "Disallow public access to addons listed in the apps menu."
msgstr "Öffentlichen Zugriff auf Addons im Apps Menü verbieten."
-#: mod/admin.php:919
+#: mod/admin.php:930
msgid ""
"Checking this box will restrict addons listed in the apps menu to members "
"only."
msgstr "Wenn ausgewählt werden die im Apps Menü aufgeführten Addons nur angemeldeten Nutzern der Seite zur Verfügung gestellt."
-#: mod/admin.php:920
+#: mod/admin.php:931
msgid "Don't embed private images in posts"
msgstr "Private Bilder nicht in Beiträgen einbetten."
-#: mod/admin.php:920
+#: mod/admin.php:931
msgid ""
"Don't replace locally-hosted private photos in posts with an embedded copy "
"of the image. This means that contacts who receive posts containing private "
@@ -2505,228 +2506,228 @@ msgid ""
"while."
msgstr "Ersetze lokal gehostete private Fotos in Beiträgen nicht mit einer eingebetteten Kopie des Bildes. Dies bedeutet, dass Kontakte, die Beiträge mit privaten Fotos erhalten sich zunächst auf den jeweiligen Servern authentifizieren müssen bevor die Bilder geladen und angezeigt werden, was eine gewisse Zeit dauert."
-#: mod/admin.php:921
+#: mod/admin.php:932
msgid "Allow Users to set remote_self"
msgstr "Nutzern erlauben das remote_self Flag zu setzen"
-#: mod/admin.php:921
+#: mod/admin.php:932
msgid ""
"With checking this, every user is allowed to mark every contact as a "
"remote_self in the repair contact dialog. Setting this flag on a contact "
"causes mirroring every posting of that contact in the users stream."
msgstr "Ist dies ausgewählt kann jeder Nutzer jeden seiner Kontakte als remote_self (entferntes Konto) im Kontakt reparieren Dialog markieren. Nach dem setzten dieses Flags werden alle Top-Level Beiträge dieser Kontakte automatisch in den Stream dieses Nutzers gepostet."
-#: mod/admin.php:922
+#: mod/admin.php:933
msgid "Block multiple registrations"
msgstr "Unterbinde Mehrfachregistrierung"
-#: mod/admin.php:922
+#: mod/admin.php:933
msgid "Disallow users to register additional accounts for use as pages."
msgstr "Benutzern nicht erlauben, weitere Konten als zusätzliche Profile anzulegen."
-#: mod/admin.php:923
+#: mod/admin.php:934
msgid "OpenID support"
msgstr "OpenID Unterstützung"
-#: mod/admin.php:923
+#: mod/admin.php:934
msgid "OpenID support for registration and logins."
msgstr "OpenID-Unterstützung für Registrierung und Login."
-#: mod/admin.php:924
+#: mod/admin.php:935
msgid "Fullname check"
msgstr "Namen auf Vollständigkeit überprüfen"
-#: mod/admin.php:924
+#: mod/admin.php:935
msgid ""
"Force users to register with a space between firstname and lastname in Full "
"name, as an antispam measure"
msgstr "Leerzeichen zwischen Vor- und Nachname im vollständigen Namen erzwingen, um SPAM zu vermeiden."
-#: mod/admin.php:925
+#: mod/admin.php:936
msgid "UTF-8 Regular expressions"
msgstr "UTF-8 Reguläre Ausdrücke"
-#: mod/admin.php:925
+#: mod/admin.php:936
msgid "Use PHP UTF8 regular expressions"
msgstr "PHP UTF8 Ausdrücke verwenden"
-#: mod/admin.php:926
+#: mod/admin.php:937
msgid "Community Page Style"
msgstr "Art der Gemeinschaftsseite"
-#: mod/admin.php:926
+#: mod/admin.php:937
msgid ""
"Type of community page to show. 'Global community' shows every public "
"posting from an open distributed network that arrived on this server."
msgstr "Welche Art der Gemeinschaftsseite soll verwendet werden? Globale Gemeinschaftsseite zeigt alle öffentlichen Beiträge eines offenen dezentralen Netzwerks an die auf diesem Server eintreffen."
-#: mod/admin.php:927
+#: mod/admin.php:938
msgid "Posts per user on community page"
msgstr "Anzahl der Beiträge pro Benutzer auf der Gemeinschaftsseite"
-#: mod/admin.php:927
+#: mod/admin.php:938
msgid ""
"The maximum number of posts per user on the community page. (Not valid for "
"'Global Community')"
msgstr "Die Anzahl der Beiträge die von jedem Nutzer maximal auf der Gemeinschaftsseite angezeigt werden sollen. Dieser Parameter wird nicht für die Globale Gemeinschaftsseite genutzt."
-#: mod/admin.php:928
+#: mod/admin.php:939
msgid "Enable OStatus support"
msgstr "OStatus Unterstützung aktivieren"
-#: mod/admin.php:928
+#: mod/admin.php:939
msgid ""
"Provide built-in OStatus (StatusNet, GNU Social etc.) compatibility. All "
"communications in OStatus are public, so privacy warnings will be "
"occasionally displayed."
msgstr "Biete die eingebaute OStatus (iStatusNet, GNU Social, etc.) Unterstützung an. Jede Kommunikation in OStatus ist öffentlich, Privatsphäre Warnungen werden nur bei Bedarf angezeigt."
-#: mod/admin.php:929
+#: mod/admin.php:940
msgid "OStatus conversation completion interval"
msgstr "Intervall zum Vervollständigen von OStatus Unterhaltungen"
-#: mod/admin.php:929
+#: mod/admin.php:940
msgid ""
"How often shall the poller check for new entries in OStatus conversations? "
"This can be a very ressource task."
msgstr "Wie oft soll der Poller checken ob es neue Nachrichten in OStatus Unterhaltungen gibt die geladen werden müssen. Je nach Anzahl der OStatus Kontakte könnte dies ein sehr Ressourcen lastiger Job sein."
-#: mod/admin.php:930
+#: mod/admin.php:941
msgid "OStatus support can only be enabled if threading is enabled."
msgstr "OStatus Unterstützung kann nur aktiviert werden wenn \"Threading\" aktiviert ist. "
-#: mod/admin.php:932
+#: mod/admin.php:943
msgid ""
"Diaspora support can't be enabled because Friendica was installed into a sub"
" directory."
msgstr "Diaspora Unterstützung kann nicht aktiviert werden da Friendica in ein Unterverzeichnis installiert ist."
-#: mod/admin.php:933
+#: mod/admin.php:944
msgid "Enable Diaspora support"
msgstr "Diaspora Unterstützung aktivieren"
-#: mod/admin.php:933
+#: mod/admin.php:944
msgid "Provide built-in Diaspora network compatibility."
msgstr "Verwende die eingebaute Diaspora-Verknüpfung."
-#: mod/admin.php:934
+#: mod/admin.php:945
msgid "Only allow Friendica contacts"
msgstr "Nur Friendica-Kontakte erlauben"
-#: mod/admin.php:934
+#: mod/admin.php:945
msgid ""
"All contacts must use Friendica protocols. All other built-in communication "
"protocols disabled."
msgstr "Alle Kontakte müssen das Friendica Protokoll nutzen. Alle anderen Kommunikationsprotokolle werden deaktiviert."
-#: mod/admin.php:935
+#: mod/admin.php:946
msgid "Verify SSL"
msgstr "SSL Überprüfen"
-#: mod/admin.php:935
+#: mod/admin.php:946
msgid ""
"If you wish, you can turn on strict certificate checking. This will mean you"
" cannot connect (at all) to self-signed SSL sites."
msgstr "Wenn gewollt, kann man hier eine strenge Zertifikatkontrolle einstellen. Das bedeutet, dass man zu keinen Seiten mit selbst unterzeichnetem SSL eine Verbindung herstellen kann."
-#: mod/admin.php:936
+#: mod/admin.php:947
msgid "Proxy user"
msgstr "Proxy Nutzer"
-#: mod/admin.php:937
+#: mod/admin.php:948
msgid "Proxy URL"
msgstr "Proxy URL"
-#: mod/admin.php:938
+#: mod/admin.php:949
msgid "Network timeout"
msgstr "Netzwerk Wartezeit"
-#: mod/admin.php:938
+#: mod/admin.php:949
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr "Der Wert ist in Sekunden. Setze 0 für unbegrenzt (nicht empfohlen)."
-#: mod/admin.php:939
+#: mod/admin.php:950
msgid "Delivery interval"
msgstr "Zustellungsintervall"
-#: mod/admin.php:939
+#: mod/admin.php:950
msgid ""
"Delay background delivery processes by this many seconds to reduce system "
"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
"for large dedicated servers."
msgstr "Verzögere im Hintergrund laufende Auslieferungsprozesse um die angegebene Anzahl an Sekunden, um die Systemlast zu verringern. Empfehlungen: 4-5 für Shared-Hosts, 2-3 für VPS, 0-1 für große dedizierte Server."
-#: mod/admin.php:940
+#: mod/admin.php:951
msgid "Poll interval"
msgstr "Abfrageintervall"
-#: mod/admin.php:940
+#: mod/admin.php:951
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr "Verzögere Hintergrundprozesse um diese Anzahl an Sekunden, um die Systemlast zu reduzieren. Bei 0 Sekunden wird das Auslieferungsintervall verwendet."
-#: mod/admin.php:941
+#: mod/admin.php:952
msgid "Maximum Load Average"
msgstr "Maximum Load Average"
-#: mod/admin.php:941
+#: mod/admin.php:952
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr "Maximale Systemlast bevor Verteil- und Empfangsprozesse verschoben werden - Standard 50"
-#: mod/admin.php:942
+#: mod/admin.php:953
msgid "Maximum Load Average (Frontend)"
msgstr "Maximum Load Average (Frontend)"
-#: mod/admin.php:942
+#: mod/admin.php:953
msgid "Maximum system load before the frontend quits service - default 50."
msgstr "Maximale Systemlast bevor Vordergrundprozesse pausiert werden - Standard 50."
-#: mod/admin.php:943
+#: mod/admin.php:954
msgid "Maximum table size for optimization"
msgstr "Maximale Tabellengröße zur Optimierung"
-#: mod/admin.php:943
+#: mod/admin.php:954
msgid ""
"Maximum table size (in MB) for the automatic optimization - default 100 MB. "
"Enter -1 to disable it."
msgstr "Maximale Tabellengröße (in MB) für die automatische Optimierung - Standard 100 MB. Gib -1 für Deaktivierung ein."
-#: mod/admin.php:944
+#: mod/admin.php:955
msgid "Minimum level of fragmentation"
msgstr "Minimaler Fragmentationsgrad"
-#: mod/admin.php:944
+#: mod/admin.php:955
msgid ""
"Minimum fragmenation level to start the automatic optimization - default "
"value is 30%."
msgstr "Minimales Fragmentationsgrad von Datenbanktabellen um die automatische Optimierung einzuleiten - Standardwert ist 30%"
-#: mod/admin.php:946
+#: mod/admin.php:957
msgid "Periodical check of global contacts"
msgstr "Regelmäßig globale Kontakte überprüfen"
-#: mod/admin.php:946
+#: mod/admin.php:957
msgid ""
"If enabled, the global contacts are checked periodically for missing or "
"outdated data and the vitality of the contacts and servers."
msgstr "Wenn diese Option aktiviert ist, werden die globalen Kontakte regelmäßig auf fehlende oder veraltete Daten sowie auf Erreichbarkeit des Kontakts und des Servers überprüft."
-#: mod/admin.php:947
+#: mod/admin.php:958
msgid "Days between requery"
msgstr "Tage zwischen erneuten Abfragen"
-#: mod/admin.php:947
+#: mod/admin.php:958
msgid "Number of days after which a server is requeried for his contacts."
msgstr "Legt das Abfrageintervall fest, nachdem ein Server erneut nach Kontakten abgefragt werden soll."
-#: mod/admin.php:948
+#: mod/admin.php:959
msgid "Discover contacts from other servers"
msgstr "Neue Kontakte auf anderen Servern entdecken"
-#: mod/admin.php:948
+#: mod/admin.php:959
msgid ""
"Periodically query other servers for contacts. You can choose between "
"'users': the users on the remote system, 'Global Contacts': active contacts "
@@ -2736,32 +2737,32 @@ msgid ""
"Global Contacts'."
msgstr "Regelmäßig andere Server nach potentiellen Kontakten absuchen. Du kannst zwischen 'Nutzern', den tatsächlichen Nutzern des anderen Systems und 'globalen Kontakten', aktiven Kontakten die auf dem System bekannt sind, wählen. Der Fallback-Mechanismus ist für ältere Friendica und Redmatrix Server gedacht, bei denen globale Kontakte noch nicht verfügbar sind. Durch den Fallbackmodus entsteht auf deinem Server eine wesentlich höhere Last, empfohlen wird der Modus 'Nutzer, globale Kontakte'."
-#: mod/admin.php:949
+#: mod/admin.php:960
msgid "Timeframe for fetching global contacts"
msgstr "Zeitfenster für globale Kontakte"
-#: mod/admin.php:949
+#: mod/admin.php:960
msgid ""
"When the discovery is activated, this value defines the timeframe for the "
"activity of the global contacts that are fetched from other servers."
msgstr "Wenn die Entdeckung neuer Kontakte aktiv ist, definiert dieses Zeitfenster den Zeitraum in dem globale Kontakte als aktiv gelten und von anderen Servern importiert werden."
-#: mod/admin.php:950
+#: mod/admin.php:961
msgid "Search the local directory"
msgstr "Lokales Verzeichnis durchsuchen"
-#: mod/admin.php:950
+#: mod/admin.php:961
msgid ""
"Search the local directory instead of the global directory. When searching "
"locally, every search will be executed on the global directory in the "
"background. This improves the search results when the search is repeated."
msgstr "Suche im lokalen Verzeichnis anstelle des globalen Verzeichnisses durchführen. Jede Suche wird im Hintergrund auch im globalen Verzeichnis durchgeführt umd die Suchresultate zu verbessern, wenn diese Suche wiederholt wird."
-#: mod/admin.php:952
+#: mod/admin.php:963
msgid "Publish server information"
msgstr "Server Informationen veröffentlichen"
-#: mod/admin.php:952
+#: mod/admin.php:963
msgid ""
"If enabled, general server and usage data will be published. The data "
"contains the name and version of the server, number of users with public "
@@ -2769,205 +2770,205 @@ msgid ""
" href='http://the-federation.info/'>the-federation.info for details."
msgstr "Wenn aktiviert, werden allgemeine Informationen über den Server und Nutzungsdaten veröffentlicht. Die Daten beinhalten den Namen sowie die Version des Servers, die Anzahl der Nutzer_innen mit öffentlichen Profilen, die Anzahl der Beiträge sowie aktivierte Protokolle und Connectoren. Für Details bitte the-federation.info aufrufen."
-#: mod/admin.php:954
+#: mod/admin.php:965
msgid "Use MySQL full text engine"
msgstr "Nutze MySQL full text engine"
-#: mod/admin.php:954
+#: mod/admin.php:965
msgid ""
"Activates the full text engine. Speeds up search - but can only search for "
"four and more characters."
msgstr "Aktiviert die 'full text engine'. Beschleunigt die Suche - aber es kann nur nach vier oder mehr Zeichen gesucht werden."
-#: mod/admin.php:955
+#: mod/admin.php:966
msgid "Suppress Language"
msgstr "Sprachinformation unterdrücken"
-#: mod/admin.php:955
+#: mod/admin.php:966
msgid "Suppress language information in meta information about a posting."
msgstr "Verhindert das Erzeugen der Meta-Information zur Spracherkennung eines Beitrags."
-#: mod/admin.php:956
+#: mod/admin.php:967
msgid "Suppress Tags"
msgstr "Tags Unterdrücken"
-#: mod/admin.php:956
+#: mod/admin.php:967
msgid "Suppress showing a list of hashtags at the end of the posting."
msgstr "Unterdrückt die Anzeige von Tags am Ende eines Beitrags."
-#: mod/admin.php:957
+#: mod/admin.php:968
msgid "Path to item cache"
msgstr "Pfad zum Eintrag Cache"
-#: mod/admin.php:957
+#: mod/admin.php:968
msgid "The item caches buffers generated bbcode and external images."
msgstr "Im Item-Cache werden externe Bilder und geparster BBCode zwischen gespeichert."
-#: mod/admin.php:958
+#: mod/admin.php:969
msgid "Cache duration in seconds"
msgstr "Cache-Dauer in Sekunden"
-#: mod/admin.php:958
+#: mod/admin.php:969
msgid ""
"How long should the cache files be hold? Default value is 86400 seconds (One"
" day). To disable the item cache, set the value to -1."
msgstr "Wie lange sollen die gecachedten Dateien vorgehalten werden? Grundeinstellung sind 86400 Sekunden (ein Tag). Um den Item Cache zu deaktivieren, setze diesen Wert auf -1."
-#: mod/admin.php:959
+#: mod/admin.php:970
msgid "Maximum numbers of comments per post"
msgstr "Maximale Anzahl von Kommentaren pro Beitrag"
-#: mod/admin.php:959
+#: mod/admin.php:970
msgid "How much comments should be shown for each post? Default value is 100."
msgstr "Wie viele Kommentare sollen pro Beitrag angezeigt werden? Standardwert sind 100."
-#: mod/admin.php:960
+#: mod/admin.php:971
msgid "Path for lock file"
msgstr "Pfad für die Sperrdatei"
-#: mod/admin.php:960
+#: mod/admin.php:971
msgid ""
"The lock file is used to avoid multiple pollers at one time. Only define a "
"folder here."
msgstr "Die lock-Datei wird benutzt, damit nicht mehrere poller auf einmal laufen. Definiere hier einen Dateiverzeichnis."
-#: mod/admin.php:961
+#: mod/admin.php:972
msgid "Temp path"
msgstr "Temp Pfad"
-#: mod/admin.php:961
+#: mod/admin.php:972
msgid ""
"If you have a restricted system where the webserver can't access the system "
"temp path, enter another path here."
msgstr "Solltest du ein eingeschränktes System haben, auf dem der Webserver nicht auf das temp Verzeichnis des Systems zugreifen kann, setze hier einen anderen Pfad."
-#: mod/admin.php:962
+#: mod/admin.php:973
msgid "Base path to installation"
msgstr "Basis-Pfad zur Installation"
-#: mod/admin.php:962
+#: mod/admin.php:973
msgid ""
"If the system cannot detect the correct path to your installation, enter the"
" correct path here. This setting should only be set if you are using a "
"restricted system and symbolic links to your webroot."
msgstr "Falls das System nicht den korrekten Pfad zu deiner Installation gefunden hat, gib den richtigen Pfad bitte hier ein. Du solltest hier den Pfad nur auf einem eingeschränkten System angeben müssen, bei dem du mit symbolischen Links auf dein Webverzeichnis verweist."
-#: mod/admin.php:963
+#: mod/admin.php:974
msgid "Disable picture proxy"
msgstr "Bilder Proxy deaktivieren"
-#: mod/admin.php:963
+#: mod/admin.php:974
msgid ""
"The picture proxy increases performance and privacy. It shouldn't be used on"
" systems with very low bandwith."
msgstr "Der Proxy für Bilder verbessert die Leistung und Privatsphäre der Nutzer. Er sollte nicht auf Systemen verwendet werden, die nur über begrenzte Bandbreite verfügen."
-#: mod/admin.php:964
+#: mod/admin.php:975
msgid "Enable old style pager"
msgstr "Den Old-Style Pager aktiviren"
-#: mod/admin.php:964
+#: mod/admin.php:975
msgid ""
"The old style pager has page numbers but slows down massively the page "
"speed."
msgstr "Der Old-Style Pager zeigt Seitennummern an, verlangsamt aber auch drastisch das Laden einer Seite."
-#: mod/admin.php:965
+#: mod/admin.php:976
msgid "Only search in tags"
msgstr "Nur in Tags suchen"
-#: mod/admin.php:965
+#: mod/admin.php:976
msgid "On large systems the text search can slow down the system extremely."
msgstr "Auf großen Knoten kann die Volltext-Suche das System ausbremsen."
-#: mod/admin.php:967
+#: mod/admin.php:978
msgid "New base url"
msgstr "Neue Basis-URL"
-#: mod/admin.php:967
+#: mod/admin.php:978
msgid ""
"Change base url for this server. Sends relocate message to all DFRN contacts"
" of all users."
msgstr "Ändert die Basis-URL dieses Servers und sendet eine Umzugsmitteilung an alle DFRN Kontakte deiner Nutzer_innen."
-#: mod/admin.php:969
+#: mod/admin.php:980
msgid "RINO Encryption"
msgstr "RINO Verschlüsselung"
-#: mod/admin.php:969
+#: mod/admin.php:980
msgid "Encryption layer between nodes."
msgstr "Verschlüsselung zwischen Friendica Instanzen"
-#: mod/admin.php:970
+#: mod/admin.php:981
msgid "Embedly API key"
msgstr "Embedly API Schlüssel"
-#: mod/admin.php:970
+#: mod/admin.php:981
msgid ""
"Embedly is used to fetch additional data for "
"web pages. This is an optional parameter."
msgstr "Embedly wird verwendet um zusätzliche Informationen von Webseiten zu laden. Dies ist ein optionaler Parameter."
-#: mod/admin.php:999
+#: mod/admin.php:1010
msgid "Update has been marked successful"
msgstr "Update wurde als erfolgreich markiert"
-#: mod/admin.php:1007
+#: mod/admin.php:1018
#, php-format
msgid "Database structure update %s was successfully applied."
msgstr "Das Update %s der Struktur der Datenbank wurde erfolgreich angewandt."
-#: mod/admin.php:1010
+#: mod/admin.php:1021
#, php-format
msgid "Executing of database structure update %s failed with error: %s"
msgstr "Das Update %s der Struktur der Datenbank schlug mit folgender Fehlermeldung fehl: %s"
-#: mod/admin.php:1022
+#: mod/admin.php:1033
#, php-format
msgid "Executing %s failed with error: %s"
msgstr "Die Ausführung von %s schlug fehl. Fehlermeldung: %s"
-#: mod/admin.php:1025
+#: mod/admin.php:1036
#, php-format
msgid "Update %s was successfully applied."
msgstr "Update %s war erfolgreich."
-#: mod/admin.php:1029
+#: mod/admin.php:1040
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr "Update %s hat keinen Status zurückgegeben. Unbekannter Status."
-#: mod/admin.php:1031
+#: mod/admin.php:1042
#, php-format
msgid "There was no additional update function %s that needed to be called."
msgstr "Es gab keine weitere Update-Funktion, die von %s ausgeführt werden musste."
-#: mod/admin.php:1050
+#: mod/admin.php:1061
msgid "No failed updates."
msgstr "Keine fehlgeschlagenen Updates."
-#: mod/admin.php:1051
+#: mod/admin.php:1062
msgid "Check database structure"
msgstr "Datenbank Struktur überprüfen"
-#: mod/admin.php:1056
+#: mod/admin.php:1067
msgid "Failed Updates"
msgstr "Fehlgeschlagene Updates"
-#: mod/admin.php:1057
+#: mod/admin.php:1068
msgid ""
"This does not include updates prior to 1139, which did not return a status."
msgstr "Ohne Updates vor 1139, da diese keinen Status zurückgegeben haben."
-#: mod/admin.php:1058
+#: mod/admin.php:1069
msgid "Mark success (if update was manually applied)"
msgstr "Als erfolgreich markieren (falls das Update manuell installiert wurde)"
-#: mod/admin.php:1059
+#: mod/admin.php:1070
msgid "Attempt to execute this update step automatically"
msgstr "Versuchen, diesen Schritt automatisch auszuführen"
-#: mod/admin.php:1091
+#: mod/admin.php:1102
#, php-format
msgid ""
"\n"
@@ -2975,7 +2976,7 @@ msgid ""
"\t\t\t\tthe administrator of %2$s has set up an account for you."
msgstr "\nHallo %1$s,\n\nauf %2$s wurde ein Account für Dich angelegt."
-#: mod/admin.php:1094
+#: mod/admin.php:1105
#, php-format
msgid ""
"\n"
@@ -3005,168 +3006,168 @@ msgid ""
"\t\t\tThank you and welcome to %4$s."
msgstr "\nNachfolgend die Anmelde-Details:\n\tAdresse der Seite:\t%1$s\n\tBenutzername:\t%2$s\n\tPasswort:\t%3$s\n\nDu kannst Dein Passwort unter \"Einstellungen\" ändern, sobald Du Dich\nangemeldet hast.\n\nBitte nimm Dir ein paar Minuten um die anderen Einstellungen auf dieser\nSeite zu kontrollieren.\n\nEventuell magst Du ja auch einige Informationen über Dich in Deinem\nProfil veröffentlichen, damit andere Leute Dich einfacher finden können.\nBearbeite hierfür einfach Dein Standard-Profil (über die Profil-Seite).\n\nWir empfehlen Dir, Deinen kompletten Namen anzugeben und ein zu Dir\npassendes Profilbild zu wählen, damit Dich alte Bekannte wieder finden.\nAußerdem ist es nützlich, wenn Du auf Deinem Profil Schlüsselwörter\nangibst. Das erleichtert es, Leute zu finden, die Deine Interessen teilen.\n\nWir respektieren Deine Privatsphäre - keine dieser Angaben ist nötig.\nWenn Du neu im Netzwerk bist und noch niemanden kennst, dann können sie\nallerdings dabei helfen, neue und interessante Kontakte zu knüpfen.\n\nNun viel Spaß, gute Begegnungen und willkommen auf %4$s."
-#: mod/admin.php:1126 include/user.php:423
+#: mod/admin.php:1137 include/user.php:423
#, php-format
msgid "Registration details for %s"
msgstr "Details der Registration von %s"
-#: mod/admin.php:1138
+#: mod/admin.php:1149
#, php-format
msgid "%s user blocked/unblocked"
msgid_plural "%s users blocked/unblocked"
msgstr[0] "%s Benutzer geblockt/freigegeben"
msgstr[1] "%s Benutzer geblockt/freigegeben"
-#: mod/admin.php:1145
+#: mod/admin.php:1156
#, php-format
msgid "%s user deleted"
msgid_plural "%s users deleted"
msgstr[0] "%s Nutzer gelöscht"
msgstr[1] "%s Nutzer gelöscht"
-#: mod/admin.php:1192
+#: mod/admin.php:1203
#, php-format
msgid "User '%s' deleted"
msgstr "Nutzer '%s' gelöscht"
-#: mod/admin.php:1200
+#: mod/admin.php:1211
#, php-format
msgid "User '%s' unblocked"
msgstr "Nutzer '%s' entsperrt"
-#: mod/admin.php:1200
+#: mod/admin.php:1211
#, php-format
msgid "User '%s' blocked"
msgstr "Nutzer '%s' gesperrt"
-#: mod/admin.php:1291
+#: mod/admin.php:1302
msgid "Add User"
msgstr "Nutzer hinzufügen"
-#: mod/admin.php:1292
+#: mod/admin.php:1303
msgid "select all"
msgstr "Alle auswählen"
-#: mod/admin.php:1293
+#: mod/admin.php:1304
msgid "User registrations waiting for confirm"
msgstr "Neuanmeldungen, die auf Deine Bestätigung warten"
-#: mod/admin.php:1294
+#: mod/admin.php:1305
msgid "User waiting for permanent deletion"
msgstr "Nutzer wartet auf permanente Löschung"
-#: mod/admin.php:1295
+#: mod/admin.php:1306
msgid "Request date"
msgstr "Anfragedatum"
-#: mod/admin.php:1295 mod/admin.php:1307 mod/admin.php:1308 mod/admin.php:1323
+#: mod/admin.php:1306 mod/admin.php:1318 mod/admin.php:1319 mod/admin.php:1334
#: include/contact_selectors.php:79 include/contact_selectors.php:86
msgid "Email"
msgstr "E-Mail"
-#: mod/admin.php:1296
+#: mod/admin.php:1307
msgid "No registrations."
msgstr "Keine Neuanmeldungen."
-#: mod/admin.php:1298
+#: mod/admin.php:1309
msgid "Deny"
msgstr "Verwehren"
-#: mod/admin.php:1302
+#: mod/admin.php:1313
msgid "Site admin"
msgstr "Seitenadministrator"
-#: mod/admin.php:1303
+#: mod/admin.php:1314
msgid "Account expired"
msgstr "Account ist abgelaufen"
-#: mod/admin.php:1306
+#: mod/admin.php:1317
msgid "New User"
msgstr "Neuer Nutzer"
-#: mod/admin.php:1307 mod/admin.php:1308
+#: mod/admin.php:1318 mod/admin.php:1319
msgid "Register date"
msgstr "Anmeldedatum"
-#: mod/admin.php:1307 mod/admin.php:1308
+#: mod/admin.php:1318 mod/admin.php:1319
msgid "Last login"
msgstr "Letzte Anmeldung"
-#: mod/admin.php:1307 mod/admin.php:1308
+#: mod/admin.php:1318 mod/admin.php:1319
msgid "Last item"
msgstr "Letzter Beitrag"
-#: mod/admin.php:1307
+#: mod/admin.php:1318
msgid "Deleted since"
msgstr "Gelöscht seit"
-#: mod/admin.php:1308 mod/settings.php:41
+#: mod/admin.php:1319 mod/settings.php:41
msgid "Account"
msgstr "Nutzerkonto"
-#: mod/admin.php:1310
+#: mod/admin.php:1321
msgid ""
"Selected users will be deleted!\\n\\nEverything these users had posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Die markierten Nutzer werden gelöscht!\\n\\nAlle Beiträge, die diese Nutzer auf dieser Seite veröffentlicht haben, werden permanent gelöscht!\\n\\nBist Du sicher?"
-#: mod/admin.php:1311
+#: mod/admin.php:1322
msgid ""
"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
"site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Der Nutzer {0} wird gelöscht!\\n\\nAlles was dieser Nutzer auf dieser Seite veröffentlicht hat, wird permanent gelöscht!\\n\\nBist Du sicher?"
-#: mod/admin.php:1321
+#: mod/admin.php:1332
msgid "Name of the new user."
msgstr "Name des neuen Nutzers"
-#: mod/admin.php:1322
+#: mod/admin.php:1333
msgid "Nickname"
msgstr "Spitzname"
-#: mod/admin.php:1322
+#: mod/admin.php:1333
msgid "Nickname of the new user."
msgstr "Spitznamen für den neuen Nutzer"
-#: mod/admin.php:1323
+#: mod/admin.php:1334
msgid "Email address of the new user."
msgstr "Email Adresse des neuen Nutzers"
-#: mod/admin.php:1366
+#: mod/admin.php:1377
#, php-format
msgid "Plugin %s disabled."
msgstr "Plugin %s deaktiviert."
-#: mod/admin.php:1370
+#: mod/admin.php:1381
#, php-format
msgid "Plugin %s enabled."
msgstr "Plugin %s aktiviert."
-#: mod/admin.php:1381 mod/admin.php:1617
+#: mod/admin.php:1392 mod/admin.php:1628
msgid "Disable"
msgstr "Ausschalten"
-#: mod/admin.php:1383 mod/admin.php:1619
+#: mod/admin.php:1394 mod/admin.php:1630
msgid "Enable"
msgstr "Einschalten"
-#: mod/admin.php:1406 mod/admin.php:1664
+#: mod/admin.php:1417 mod/admin.php:1675
msgid "Toggle"
msgstr "Umschalten"
-#: mod/admin.php:1414 mod/admin.php:1673
+#: mod/admin.php:1425 mod/admin.php:1684
msgid "Author: "
msgstr "Autor:"
-#: mod/admin.php:1415 mod/admin.php:1674
+#: mod/admin.php:1426 mod/admin.php:1685
msgid "Maintainer: "
msgstr "Betreuer:"
-#: mod/admin.php:1467
+#: mod/admin.php:1478
msgid "Reload active plugins"
msgstr "Aktive Plugins neu laden"
-#: mod/admin.php:1472
+#: mod/admin.php:1483
#, php-format
msgid ""
"There are currently no plugins available on your node. You can find the "
@@ -3174,62 +3175,62 @@ msgid ""
"in the open plugin registry at %2$s"
msgstr "Es sind derzeit keine Plugins auf diesem Knoten verfügbar. Du findest das offizielle Plugin-Repository unter %1$s und weitere eventuell interessante Plugins im offenen Plugins-Verzeichnis auf %2$s."
-#: mod/admin.php:1577
+#: mod/admin.php:1588
msgid "No themes found."
msgstr "Keine Themen gefunden."
-#: mod/admin.php:1655
+#: mod/admin.php:1666
msgid "Screenshot"
msgstr "Bildschirmfoto"
-#: mod/admin.php:1715
+#: mod/admin.php:1726
msgid "Reload active themes"
msgstr "Aktives Theme neu laden"
-#: mod/admin.php:1720
+#: mod/admin.php:1731
#, php-format
msgid "No themes found on the system. They should be paced in %1$s"
msgstr "Es wurden keine Themes auf dem System gefunden. Diese sollten in %1$s patziert werden."
-#: mod/admin.php:1721
+#: mod/admin.php:1732
msgid "[Experimental]"
msgstr "[Experimentell]"
-#: mod/admin.php:1722
+#: mod/admin.php:1733
msgid "[Unsupported]"
msgstr "[Nicht unterstützt]"
-#: mod/admin.php:1746
+#: mod/admin.php:1757
msgid "Log settings updated."
msgstr "Protokolleinstellungen aktualisiert."
-#: mod/admin.php:1783
+#: mod/admin.php:1794
msgid "Clear"
msgstr "löschen"
-#: mod/admin.php:1788
+#: mod/admin.php:1799
msgid "Enable Debugging"
msgstr "Protokoll führen"
-#: mod/admin.php:1789
+#: mod/admin.php:1800
msgid "Log file"
msgstr "Protokolldatei"
-#: mod/admin.php:1789
+#: mod/admin.php:1800
msgid ""
"Must be writable by web server. Relative to your Friendica top-level "
"directory."
msgstr "Webserver muss Schreibrechte besitzen. Abhängig vom Friendica-Installationsverzeichnis."
-#: mod/admin.php:1790
+#: mod/admin.php:1801
msgid "Log level"
msgstr "Protokoll-Level"
-#: mod/admin.php:1793
+#: mod/admin.php:1804
msgid "PHP logging"
msgstr "PHP Protokollieren"
-#: mod/admin.php:1794
+#: mod/admin.php:1805
msgid ""
"To enable logging of PHP errors and warnings you can add the following to "
"the .htconfig.php file of your installation. The filename set in the "
@@ -3238,20 +3239,20 @@ msgid ""
"'display_errors' is to enable these options, set to '0' to disable them."
msgstr "Um PHP Warnungen und Fehler zu protokollieren, kannst du die folgenden Zeilen zur .htconfig.php Datei deiner Installation hinzufügen. Den Dateinamen der Log-Datei legst du in der Zeile mit dem 'error_log' fest, Er ist relativ zum Friendica-Stammverzeichnis und muss schreibbar durch den Webserver sein. Eine \"1\" als Option für die Punkte 'log_errors' und 'display_errors' aktiviert die Funktionen zum Protokollieren bzw. Anzeigen der Fehler, eine \"0\" deaktiviert sie."
-#: mod/admin.php:1920 mod/admin.php:1921 mod/settings.php:759
+#: mod/admin.php:1931 mod/admin.php:1932 mod/settings.php:759
msgid "Off"
msgstr "Aus"
-#: mod/admin.php:1920 mod/admin.php:1921 mod/settings.php:759
+#: mod/admin.php:1931 mod/admin.php:1932 mod/settings.php:759
msgid "On"
msgstr "An"
-#: mod/admin.php:1921
+#: mod/admin.php:1932
#, php-format
msgid "Lock feature %s"
msgstr "Feature festlegen: %s"
-#: mod/admin.php:1929
+#: mod/admin.php:1940
msgid "Manage Additional Features"
msgstr "Zusätzliche Features Verwalten"
@@ -3529,7 +3530,7 @@ msgstr "l, F j"
msgid "Edit event"
msgstr "Veranstaltung bearbeiten"
-#: mod/events.php:421 include/text.php:1721 include/text.php:1728
+#: mod/events.php:421 include/text.php:1728 include/text.php:1735
msgid "link to source"
msgstr "Link zum Originalbeitrag"
@@ -3636,15 +3637,15 @@ msgstr[0] "%d Kommentar"
msgstr[1] "%d Kommentare"
#: mod/content.php:607 object/Item.php:421 object/Item.php:434
-#: include/text.php:1997
+#: include/text.php:2004
msgid "comment"
msgid_plural "comments"
msgstr[0] "Kommentar"
msgstr[1] "Kommentare"
-#: mod/content.php:608 boot.php:863 object/Item.php:422
+#: mod/content.php:608 boot.php:870 object/Item.php:422
#: include/contact_widgets.php:242 include/forums.php:110
-#: include/items.php:5184 view/theme/vier/theme.php:264
+#: include/items.php:5207 view/theme/vier/theme.php:264
msgid "show more"
msgstr "mehr anzeigen"
@@ -3682,7 +3683,7 @@ msgid "This is you"
msgstr "Das bist Du"
#: mod/content.php:711 mod/photos.php:1629 mod/photos.php:1677
-#: mod/photos.php:1765 boot.php:862 object/Item.php:393 object/Item.php:709
+#: mod/photos.php:1765 boot.php:869 object/Item.php:393 object/Item.php:709
msgid "Comment"
msgstr "Kommentar"
@@ -4173,16 +4174,16 @@ msgstr "Profilübereinstimmungen"
msgid "link"
msgstr "Link"
-#: mod/community.php:23
+#: mod/community.php:27
msgid "Not available."
msgstr "Nicht verfügbar."
-#: mod/community.php:32 include/nav.php:136 include/nav.php:138
+#: mod/community.php:36 include/nav.php:136 include/nav.php:138
#: view/theme/diabook/theme.php:129
msgid "Community"
msgstr "Gemeinschaft"
-#: mod/community.php:62 mod/community.php:71 mod/search.php:228
+#: mod/community.php:66 mod/community.php:75 mod/search.php:228
msgid "No results."
msgstr "Keine Ergebnisse."
@@ -5109,7 +5110,7 @@ msgstr "Wähle einen Spitznamen für Dein Profil. Dieser muss mit einem Buchstab
msgid "Choose a nickname: "
msgstr "Spitznamen wählen: "
-#: mod/register.php:280 boot.php:1379 include/nav.php:108
+#: mod/register.php:280 boot.php:1405 include/nav.php:108
msgid "Register"
msgstr "Registrieren"
@@ -6154,60 +6155,60 @@ msgstr "Beitrag nicht verfügbar."
msgid "Item was not found."
msgstr "Beitrag konnte nicht gefunden werden."
-#: boot.php:861
+#: boot.php:868
msgid "Delete this item?"
msgstr "Diesen Beitrag löschen?"
-#: boot.php:864
+#: boot.php:871
msgid "show fewer"
msgstr "weniger anzeigen"
-#: boot.php:1266
+#: boot.php:1292
#, php-format
msgid "Update %s failed. See error logs."
msgstr "Update %s fehlgeschlagen. Bitte Fehlerprotokoll überprüfen."
-#: boot.php:1378
+#: boot.php:1404
msgid "Create a New Account"
msgstr "Neues Konto erstellen"
-#: boot.php:1403 include/nav.php:72
+#: boot.php:1429 include/nav.php:72
msgid "Logout"
msgstr "Abmelden"
-#: boot.php:1406
+#: boot.php:1432
msgid "Nickname or Email address: "
msgstr "Spitzname oder E-Mail-Adresse: "
-#: boot.php:1407
+#: boot.php:1433
msgid "Password: "
msgstr "Passwort: "
-#: boot.php:1408
+#: boot.php:1434
msgid "Remember me"
msgstr "Anmeldedaten merken"
-#: boot.php:1411
+#: boot.php:1437
msgid "Or login using OpenID: "
msgstr "Oder melde Dich mit Deiner OpenID an: "
-#: boot.php:1417
+#: boot.php:1443
msgid "Forgot your password?"
msgstr "Passwort vergessen?"
-#: boot.php:1420
+#: boot.php:1446
msgid "Website Terms of Service"
msgstr "Website Nutzungsbedingungen"
-#: boot.php:1421
+#: boot.php:1447
msgid "terms of service"
msgstr "Nutzungsbedingungen"
-#: boot.php:1423
+#: boot.php:1449
msgid "Website Privacy Policy"
msgstr "Website Datenschutzerklärung"
-#: boot.php:1424
+#: boot.php:1450
msgid "privacy policy"
msgstr "Datenschutzerklärung"
@@ -6708,12 +6709,12 @@ msgstr "Sekunden"
msgid "%1$d %2$s ago"
msgstr "%1$d %2$s her"
-#: include/datetime.php:474 include/items.php:2477
+#: include/datetime.php:474 include/items.php:2500
#, php-format
msgid "%s's birthday"
msgstr "%ss Geburtstag"
-#: include/datetime.php:475 include/items.php:2478
+#: include/datetime.php:475 include/items.php:2501
#, php-format
msgid "Happy Birthday %s"
msgstr "Herzlichen Glückwunsch %s"
@@ -6852,12 +6853,12 @@ msgid "Only You Can See This"
msgstr "Nur Du kannst das sehen"
#: include/like.php:167 include/conversation.php:122
-#: include/conversation.php:258 include/text.php:1991
+#: include/conversation.php:258 include/text.php:1998
#: view/theme/diabook/theme.php:463
msgid "event"
msgstr "Event"
-#: include/like.php:184 include/conversation.php:141 include/diaspora.php:2163
+#: include/like.php:184 include/conversation.php:141 include/diaspora.php:2185
#: view/theme/diabook/theme.php:480
#, php-format
msgid "%1$s likes %2$s's %3$s"
@@ -7353,31 +7354,31 @@ msgstr "entspannt"
msgid "surprised"
msgstr "überrascht"
-#: include/text.php:1497
+#: include/text.php:1504
msgid "bytes"
msgstr "Byte"
-#: include/text.php:1529 include/text.php:1541
+#: include/text.php:1536 include/text.php:1548
msgid "Click to open/close"
msgstr "Zum öffnen/schließen klicken"
-#: include/text.php:1715
+#: include/text.php:1722
msgid "View on separate page"
msgstr "Auf separater Seite ansehen"
-#: include/text.php:1716
+#: include/text.php:1723
msgid "view on separate page"
msgstr "auf separater Seite ansehen"
-#: include/text.php:1995
+#: include/text.php:2002
msgid "activity"
msgstr "Aktivität"
-#: include/text.php:1998
+#: include/text.php:2005
msgid "post"
msgstr "Beitrag"
-#: include/text.php:2166
+#: include/text.php:2173
msgid "Item filed"
msgstr "Beitrag abgelegt"
@@ -7806,7 +7807,7 @@ msgstr "\nDie Anmelde-Details sind die folgenden:\n\tAdresse der Seite:\t%3$s\n\
msgid "Sharing notification from Diaspora network"
msgstr "Freigabe-Benachrichtigung von Diaspora"
-#: include/diaspora.php:2604
+#: include/diaspora.php:2625
msgid "Attachments:"
msgstr "Anhänge:"
@@ -7818,11 +7819,11 @@ msgstr "(kein Betreff)"
msgid "noreply"
msgstr "noreply"
-#: include/items.php:4903
+#: include/items.php:4926
msgid "Do you really want to delete this item?"
msgstr "Möchtest Du wirklich dieses Item löschen?"
-#: include/items.php:5178
+#: include/items.php:5201
msgid "Archives"
msgstr "Archiv"
@@ -8338,11 +8339,11 @@ msgstr "Kompletter Name:\t%1$s\\nURL der Seite:\t%2$s\\nLogin Name:\t%3$s (%4$s)
msgid "Please visit %s to approve or reject the request."
msgstr "Bitte besuche %s um die Anfrage zu bearbeiten."
-#: include/oembed.php:214
+#: include/oembed.php:226
msgid "Embedded content"
msgstr "Eingebetteter Inhalt"
-#: include/oembed.php:223
+#: include/oembed.php:235
msgid "Embedding disabled"
msgstr "Einbettungen deaktiviert"
diff --git a/view/de/strings.php b/view/de/strings.php
index f3b04b7c3b..1a1fc07830 100644
--- a/view/de/strings.php
+++ b/view/de/strings.php
@@ -9,7 +9,7 @@ $a->strings["Network:"] = "Netzwerk";
$a->strings["Forum"] = "Forum";
$a->strings["%d contact edited."] = array(
0 => "%d Kontakt bearbeitet.",
- 1 => "%d Kontakte bearbeitet",
+ 1 => "%d Kontakte bearbeitet.",
);
$a->strings["Could not access contact record."] = "Konnte nicht auf die Kontaktdaten zugreifen.";
$a->strings["Could not locate selected profile."] = "Konnte das ausgewählte Profil nicht finden.";
@@ -431,7 +431,7 @@ $a->strings["User registrations waiting for confirmation"] = "Nutzeranmeldungen
$a->strings["This page offers you some numbers to the known part of the federated social network your Friendica node is part of. These numbers are not complete but only reflect the part of the network your node is aware of."] = "Diese Seite präsentiert einige Zahlen zu dem bekannten Teil des föderalen sozialen Netzwerks, von dem deine Friendica Installation ein Teil ist. Diese Zahlen sind nicht absolut und reflektieren nur den Teil des Netzwerks, den dein Knoten kennt.";
$a->strings["The Auto Discovered Contact Directory feature is not enabled, it will improve the data displayed here."] = "Die Funktion um Automatisch ein Kontaktverzeichnis erstellen ist nicht aktiv. Es wird die hier angezeigten Daten verbessern.";
$a->strings["Administration"] = "Administration";
-$a->strings["Currently this node is aware of nodes from the following platforms:"] = "Momentan kennt dieser Knoten andere Knoten der folgenden Plattformen:";
+$a->strings["Currently this node is aware of %d nodes from the following platforms:"] = "Momentan kennt dieser Knoten %d andere Knoten der folgenden Plattformen:";
$a->strings["ID"] = "ID";
$a->strings["Recipient Name"] = "Empfänger Name";
$a->strings["Recipient Profile"] = "Empfänger Profil";
diff --git a/view/nl/messages.po b/view/nl/messages.po
index ba81fdb03b..5ae713daf2 100644
--- a/view/nl/messages.po
+++ b/view/nl/messages.po
@@ -9,15 +9,15 @@
# Gert Cauwenberg , 2013
# jeroenpraat , 2012-2014
# jeroenpraat , 2012
-# Karel Vandecandelaere , 2015
+# Karel Vandecandelaere , 2015-2016
# Ralph , 2015
msgid ""
msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2015-11-08 21:46+0100\n"
-"PO-Revision-Date: 2015-11-17 23:49+0000\n"
-"Last-Translator: Ralph \n"
+"POT-Creation-Date: 2016-01-18 18:49+0100\n"
+"PO-Revision-Date: 2016-01-20 13:13+0000\n"
+"Last-Translator: Karel Vandecandelaere \n"
"Language-Team: Dutch (http://www.transifex.com/Friendica/friendica/language/nl/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -25,233 +25,182 @@ msgstr ""
"Language: nl\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: mod/contacts.php:118
+#: mod/contacts.php:50 include/identity.php:395
+msgid "Network:"
+msgstr "Netwerk:"
+
+#: mod/contacts.php:51 mod/contacts.php:961 mod/videos.php:37
+#: mod/viewcontacts.php:105 mod/dirfind.php:214 mod/network.php:598
+#: mod/allfriends.php:77 mod/match.php:82 mod/directory.php:172
+#: mod/common.php:123 mod/suggest.php:95 mod/photos.php:41
+#: include/identity.php:298
+msgid "Forum"
+msgstr "Forum"
+
+#: mod/contacts.php:128
#, php-format
msgid "%d contact edited."
msgid_plural "%d contacts edited"
-msgstr[0] ""
-msgstr[1] ""
+msgstr[0] "%d contact gewijzigd."
+msgstr[1] "%d contacten gewijzigd."
-#: mod/contacts.php:149 mod/contacts.php:372
+#: mod/contacts.php:159 mod/contacts.php:383
msgid "Could not access contact record."
msgstr "Kon geen toegang krijgen tot de contactgegevens"
-#: mod/contacts.php:163
+#: mod/contacts.php:173
msgid "Could not locate selected profile."
msgstr "Kon het geselecteerde profiel niet vinden."
-#: mod/contacts.php:196
+#: mod/contacts.php:206
msgid "Contact updated."
msgstr "Contact bijgewerkt."
-#: mod/contacts.php:198 mod/dfrn_request.php:576
+#: mod/contacts.php:208 mod/dfrn_request.php:575
msgid "Failed to update contact record."
msgstr "Ik kon de contactgegevens niet aanpassen."
-#: mod/contacts.php:354 mod/manage.php:96 mod/display.php:496
-#: mod/profile_photo.php:19 mod/profile_photo.php:169
-#: mod/profile_photo.php:180 mod/profile_photo.php:193
-#: mod/ostatus_subscribe.php:9 mod/follow.php:10 mod/follow.php:72
-#: mod/follow.php:137 mod/item.php:169 mod/item.php:185 mod/group.php:19
+#: mod/contacts.php:365 mod/manage.php:96 mod/display.php:504
+#: mod/profile_photo.php:19 mod/profile_photo.php:175
+#: mod/profile_photo.php:186 mod/profile_photo.php:199
+#: mod/ostatus_subscribe.php:9 mod/follow.php:11 mod/follow.php:73
+#: mod/follow.php:155 mod/item.php:180 mod/item.php:192 mod/group.php:19
#: mod/dfrn_confirm.php:55 mod/fsuggest.php:78 mod/wall_upload.php:77
-#: mod/wall_upload.php:80 mod/viewcontacts.php:24 mod/notifications.php:69
-#: mod/message.php:45 mod/message.php:181 mod/crepair.php:120
+#: mod/wall_upload.php:80 mod/viewcontacts.php:40 mod/notifications.php:69
+#: mod/message.php:45 mod/message.php:181 mod/crepair.php:117
#: mod/dirfind.php:11 mod/nogroup.php:25 mod/network.php:4
-#: mod/allfriends.php:11 mod/events.php:165 mod/wallmessage.php:9
+#: mod/allfriends.php:12 mod/events.php:165 mod/wallmessage.php:9
#: mod/wallmessage.php:33 mod/wallmessage.php:79 mod/wallmessage.php:103
#: mod/wall_attach.php:67 mod/wall_attach.php:70 mod/settings.php:20
-#: mod/settings.php:116 mod/settings.php:635 mod/register.php:42
-#: mod/delegate.php:12 mod/common.php:17 mod/mood.php:114 mod/suggest.php:58
+#: mod/settings.php:126 mod/settings.php:646 mod/register.php:42
+#: mod/delegate.php:12 mod/common.php:18 mod/mood.php:114 mod/suggest.php:58
#: mod/profiles.php:165 mod/profiles.php:615 mod/editpost.php:10
#: mod/api.php:26 mod/api.php:31 mod/notes.php:22 mod/poke.php:149
#: mod/repair_ostatus.php:9 mod/invite.php:15 mod/invite.php:101
-#: mod/photos.php:163 mod/photos.php:1097 mod/regmod.php:110
-#: mod/uimport.php:23 mod/attach.php:33 include/items.php:5103 index.php:382
+#: mod/photos.php:171 mod/photos.php:1105 mod/regmod.php:110
+#: mod/uimport.php:23 mod/attach.php:33 include/items.php:5073 index.php:383
msgid "Permission denied."
msgstr "Toegang geweigerd"
-#: mod/contacts.php:393
+#: mod/contacts.php:404
msgid "Contact has been blocked"
msgstr "Contact is geblokkeerd"
-#: mod/contacts.php:393
+#: mod/contacts.php:404
msgid "Contact has been unblocked"
msgstr "Contact is gedeblokkeerd"
-#: mod/contacts.php:404
+#: mod/contacts.php:415
msgid "Contact has been ignored"
msgstr "Contact wordt genegeerd"
-#: mod/contacts.php:404
+#: mod/contacts.php:415
msgid "Contact has been unignored"
msgstr "Contact wordt niet meer genegeerd"
-#: mod/contacts.php:416
+#: mod/contacts.php:427
msgid "Contact has been archived"
msgstr "Contact is gearchiveerd"
-#: mod/contacts.php:416
+#: mod/contacts.php:427
msgid "Contact has been unarchived"
msgstr "Contact is niet meer gearchiveerd"
-#: mod/contacts.php:443 mod/contacts.php:816
+#: mod/contacts.php:454 mod/contacts.php:802
msgid "Do you really want to delete this contact?"
msgstr "Wil je echt dit contact verwijderen?"
-#: mod/contacts.php:445 mod/follow.php:105 mod/message.php:216
-#: mod/settings.php:1091 mod/settings.php:1097 mod/settings.php:1105
-#: mod/settings.php:1109 mod/settings.php:1114 mod/settings.php:1120
-#: mod/settings.php:1126 mod/settings.php:1132 mod/settings.php:1158
-#: mod/settings.php:1159 mod/settings.php:1160 mod/settings.php:1161
-#: mod/settings.php:1162 mod/dfrn_request.php:848 mod/register.php:235
+#: mod/contacts.php:456 mod/follow.php:110 mod/message.php:216
+#: mod/settings.php:1103 mod/settings.php:1109 mod/settings.php:1117
+#: mod/settings.php:1121 mod/settings.php:1126 mod/settings.php:1132
+#: mod/settings.php:1138 mod/settings.php:1144 mod/settings.php:1170
+#: mod/settings.php:1171 mod/settings.php:1172 mod/settings.php:1173
+#: mod/settings.php:1174 mod/dfrn_request.php:857 mod/register.php:238
#: mod/suggest.php:29 mod/profiles.php:658 mod/profiles.php:661
-#: mod/profiles.php:687 mod/api.php:105 include/items.php:4935
+#: mod/profiles.php:687 mod/api.php:105 include/items.php:4905
msgid "Yes"
msgstr "Ja"
-#: mod/contacts.php:448 mod/tagrm.php:11 mod/tagrm.php:94 mod/follow.php:116
-#: mod/videos.php:123 mod/message.php:219 mod/fbrowser.php:93
-#: mod/fbrowser.php:128 mod/settings.php:649 mod/settings.php:675
-#: mod/dfrn_request.php:862 mod/suggest.php:32 mod/editpost.php:147
-#: mod/photos.php:239 mod/photos.php:328 include/conversation.php:1221
-#: include/items.php:4938
+#: mod/contacts.php:459 mod/tagrm.php:11 mod/tagrm.php:94 mod/follow.php:121
+#: mod/videos.php:131 mod/message.php:219 mod/fbrowser.php:93
+#: mod/fbrowser.php:128 mod/settings.php:660 mod/settings.php:686
+#: mod/dfrn_request.php:871 mod/suggest.php:32 mod/editpost.php:148
+#: mod/photos.php:247 mod/photos.php:336 include/conversation.php:1220
+#: include/items.php:4908
msgid "Cancel"
msgstr "Annuleren"
-#: mod/contacts.php:460
+#: mod/contacts.php:471
msgid "Contact has been removed."
msgstr "Contact is verwijderd."
-#: mod/contacts.php:498
+#: mod/contacts.php:512
#, php-format
msgid "You are mutual friends with %s"
msgstr "Je bent wederzijds bevriend met %s"
-#: mod/contacts.php:502
+#: mod/contacts.php:516
#, php-format
msgid "You are sharing with %s"
msgstr "Je deelt met %s"
-#: mod/contacts.php:507
+#: mod/contacts.php:521
#, php-format
msgid "%s is sharing with you"
msgstr "%s deelt met jou"
-#: mod/contacts.php:527
+#: mod/contacts.php:541
msgid "Private communications are not available for this contact."
msgstr "Privécommunicatie met dit contact is niet beschikbaar."
-#: mod/contacts.php:530 mod/admin.php:643
+#: mod/contacts.php:544 mod/admin.php:811
msgid "Never"
msgstr "Nooit"
-#: mod/contacts.php:534
+#: mod/contacts.php:548
msgid "(Update was successful)"
msgstr "(Wijziging is geslaagd)"
-#: mod/contacts.php:534
+#: mod/contacts.php:548
msgid "(Update was not successful)"
msgstr "(Wijziging is niet geslaagd)"
-#: mod/contacts.php:536
+#: mod/contacts.php:550
msgid "Suggest friends"
msgstr "Stel vrienden voor"
-#: mod/contacts.php:540
+#: mod/contacts.php:554
#, php-format
msgid "Network type: %s"
msgstr "Netwerk type: %s"
-#: mod/contacts.php:543 include/contact_widgets.php:200
-#, php-format
-msgid "%d contact in common"
-msgid_plural "%d contacts in common"
-msgstr[0] "%d gedeeld contact"
-msgstr[1] "%d gedeelde contacten"
-
-#: mod/contacts.php:548
-msgid "View all contacts"
-msgstr "Alle contacten zien"
-
-#: mod/contacts.php:553 mod/contacts.php:636 mod/contacts.php:820
-#: mod/admin.php:1114
-msgid "Unblock"
-msgstr "Blokkering opheffen"
-
-#: mod/contacts.php:553 mod/contacts.php:636 mod/contacts.php:820
-#: mod/admin.php:1113
-msgid "Block"
-msgstr "Blokkeren"
-
-#: mod/contacts.php:556
-msgid "Toggle Blocked status"
-msgstr "Schakel geblokkeerde status"
-
-#: mod/contacts.php:561 mod/contacts.php:637 mod/contacts.php:821
-msgid "Unignore"
-msgstr "Negeer niet meer"
-
-#: mod/contacts.php:561 mod/contacts.php:637 mod/contacts.php:821
-#: mod/notifications.php:54 mod/notifications.php:179
-#: mod/notifications.php:259
-msgid "Ignore"
-msgstr "Negeren"
-
-#: mod/contacts.php:564
-msgid "Toggle Ignored status"
-msgstr "Schakel negeerstatus"
-
-#: mod/contacts.php:570 mod/contacts.php:822
-msgid "Unarchive"
-msgstr "Archiveer niet meer"
-
-#: mod/contacts.php:570 mod/contacts.php:822
-msgid "Archive"
-msgstr "Archiveer"
-
-#: mod/contacts.php:573
-msgid "Toggle Archive status"
-msgstr "Schakel archiveringsstatus"
-
-#: mod/contacts.php:578
-msgid "Repair"
-msgstr "Herstellen"
-
-#: mod/contacts.php:581
-msgid "Advanced Contact Settings"
-msgstr "Geavanceerde instellingen voor contacten"
-
-#: mod/contacts.php:589
+#: mod/contacts.php:567
msgid "Communications lost with this contact!"
msgstr "Communicatie met dit contact is verbroken!"
-#: mod/contacts.php:592
+#: mod/contacts.php:570
msgid "Fetch further information for feeds"
msgstr ""
-#: mod/contacts.php:593 mod/admin.php:652
+#: mod/contacts.php:571 mod/admin.php:820
msgid "Disabled"
msgstr "Uitgeschakeld"
-#: mod/contacts.php:593
+#: mod/contacts.php:571
msgid "Fetch information"
msgstr ""
-#: mod/contacts.php:593
+#: mod/contacts.php:571
msgid "Fetch information and keywords"
msgstr ""
-#: mod/contacts.php:606
-msgid "Contact Editor"
-msgstr "Contactbewerker"
-
-#: mod/contacts.php:608 mod/manage.php:124 mod/fsuggest.php:107
-#: mod/message.php:342 mod/message.php:525 mod/crepair.php:195
-#: mod/events.php:574 mod/content.php:712 mod/install.php:253
-#: mod/install.php:291 mod/mood.php:137 mod/profiles.php:696
+#: mod/contacts.php:587 mod/manage.php:143 mod/fsuggest.php:107
+#: mod/message.php:342 mod/message.php:525 mod/crepair.php:196
+#: mod/events.php:574 mod/content.php:712 mod/install.php:261
+#: mod/install.php:299 mod/mood.php:137 mod/profiles.php:696
#: mod/localtime.php:45 mod/poke.php:198 mod/invite.php:140
-#: mod/photos.php:1129 mod/photos.php:1253 mod/photos.php:1571
-#: mod/photos.php:1622 mod/photos.php:1670 mod/photos.php:1758
+#: mod/photos.php:1137 mod/photos.php:1261 mod/photos.php:1579
+#: mod/photos.php:1630 mod/photos.php:1678 mod/photos.php:1766
#: object/Item.php:710 view/theme/cleanzero/config.php:80
#: view/theme/dispy/config.php:70 view/theme/quattro/config.php:64
#: view/theme/diabook/config.php:148 view/theme/diabook/theme.php:633
@@ -259,208 +208,304 @@ msgstr "Contactbewerker"
msgid "Submit"
msgstr "Opslaan"
-#: mod/contacts.php:609
+#: mod/contacts.php:588
msgid "Profile Visibility"
msgstr "Zichtbaarheid profiel"
-#: mod/contacts.php:610
+#: mod/contacts.php:589
#, php-format
msgid ""
"Please choose the profile you would like to display to %s when viewing your "
"profile securely."
msgstr "Kies het profiel dat getoond moet worden wanneer %s uw profiel bezoekt. "
-#: mod/contacts.php:611
+#: mod/contacts.php:590
msgid "Contact Information / Notes"
msgstr "Contactinformatie / aantekeningen"
-#: mod/contacts.php:612
+#: mod/contacts.php:591
msgid "Edit contact notes"
msgstr "Wijzig aantekeningen over dit contact"
-#: mod/contacts.php:617 mod/contacts.php:860 mod/viewcontacts.php:66
+#: mod/contacts.php:596 mod/contacts.php:952 mod/viewcontacts.php:97
#: mod/nogroup.php:41
#, php-format
msgid "Visit %s's profile [%s]"
msgstr "Bekijk het profiel van %s [%s]"
-#: mod/contacts.php:618
+#: mod/contacts.php:597
msgid "Block/Unblock contact"
msgstr "Blokkeer/deblokkeer contact"
-#: mod/contacts.php:619
+#: mod/contacts.php:598
msgid "Ignore contact"
msgstr "Negeer contact"
-#: mod/contacts.php:620
+#: mod/contacts.php:599
msgid "Repair URL settings"
msgstr "Repareer URL-instellingen"
-#: mod/contacts.php:621
+#: mod/contacts.php:600
msgid "View conversations"
msgstr "Toon conversaties"
-#: mod/contacts.php:623
+#: mod/contacts.php:602
msgid "Delete contact"
msgstr "Verwijder contact"
-#: mod/contacts.php:627
+#: mod/contacts.php:606
msgid "Last update:"
msgstr "Laatste wijziging:"
-#: mod/contacts.php:629
+#: mod/contacts.php:608
msgid "Update public posts"
msgstr "Openbare posts aanpassen"
-#: mod/contacts.php:631 mod/admin.php:1650
+#: mod/contacts.php:610
msgid "Update now"
msgstr "Wijzig nu"
-#: mod/contacts.php:633 mod/dirfind.php:190 mod/allfriends.php:67
-#: mod/match.php:71 mod/suggest.php:82 include/contact_widgets.php:32
+#: mod/contacts.php:612 mod/follow.php:103 mod/dirfind.php:196
+#: mod/allfriends.php:65 mod/match.php:71 mod/suggest.php:82
+#: include/contact_widgets.php:32 include/Contact.php:297
#: include/conversation.php:924
msgid "Connect/Follow"
msgstr "Verbind/Volg"
-#: mod/contacts.php:640
+#: mod/contacts.php:615 mod/contacts.php:806 mod/contacts.php:865
+#: mod/admin.php:1301
+msgid "Unblock"
+msgstr "Blokkering opheffen"
+
+#: mod/contacts.php:615 mod/contacts.php:806 mod/contacts.php:865
+#: mod/admin.php:1300
+msgid "Block"
+msgstr "Blokkeren"
+
+#: mod/contacts.php:616 mod/contacts.php:807 mod/contacts.php:872
+msgid "Unignore"
+msgstr "Negeer niet meer"
+
+#: mod/contacts.php:616 mod/contacts.php:807 mod/contacts.php:872
+#: mod/notifications.php:54 mod/notifications.php:179
+#: mod/notifications.php:259
+msgid "Ignore"
+msgstr "Negeren"
+
+#: mod/contacts.php:619
msgid "Currently blocked"
msgstr "Op dit moment geblokkeerd"
-#: mod/contacts.php:641
+#: mod/contacts.php:620
msgid "Currently ignored"
msgstr "Op dit moment genegeerd"
-#: mod/contacts.php:642
+#: mod/contacts.php:621
msgid "Currently archived"
msgstr "Op dit moment gearchiveerd"
-#: mod/contacts.php:643 mod/notifications.php:172 mod/notifications.php:251
+#: mod/contacts.php:622 mod/notifications.php:172 mod/notifications.php:251
msgid "Hide this contact from others"
msgstr "Verberg dit contact voor anderen"
-#: mod/contacts.php:643
+#: mod/contacts.php:622
msgid ""
"Replies/likes to your public posts may still be visible"
msgstr "Antwoorden of 'vind ik leuk's op je openbare posts kunnen nog zichtbaar zijn"
-#: mod/contacts.php:644
+#: mod/contacts.php:623
msgid "Notification for new posts"
msgstr "Meldingen voor nieuwe berichten"
-#: mod/contacts.php:644
+#: mod/contacts.php:623
msgid "Send a notification of every new post of this contact"
msgstr ""
-#: mod/contacts.php:647
+#: mod/contacts.php:626
msgid "Blacklisted keywords"
msgstr ""
-#: mod/contacts.php:647
+#: mod/contacts.php:626
msgid ""
"Comma separated list of keywords that should not be converted to hashtags, "
"when \"Fetch information and keywords\" is selected"
msgstr ""
-#: mod/contacts.php:654 mod/follow.php:121 mod/notifications.php:255
+#: mod/contacts.php:633 mod/follow.php:126 mod/notifications.php:255
msgid "Profile URL"
msgstr "Profiel url"
-#: mod/contacts.php:700
+#: mod/contacts.php:636 mod/notifications.php:244 mod/events.php:566
+#: mod/directory.php:145 include/identity.php:308 include/bb2diaspora.php:170
+#: include/event.php:36 include/event.php:60
+msgid "Location:"
+msgstr "Plaats:"
+
+#: mod/contacts.php:638 mod/notifications.php:246 mod/directory.php:153
+#: include/identity.php:317 include/identity.php:631
+msgid "About:"
+msgstr "Over:"
+
+#: mod/contacts.php:640 mod/follow.php:134 mod/notifications.php:248
+#: include/identity.php:625
+msgid "Tags:"
+msgstr "Labels:"
+
+#: mod/contacts.php:685
msgid "Suggestions"
msgstr "Voorstellen"
-#: mod/contacts.php:703
+#: mod/contacts.php:688
msgid "Suggest potential friends"
msgstr "Stel vrienden voor"
-#: mod/contacts.php:708 mod/group.php:192
+#: mod/contacts.php:693 mod/group.php:192
msgid "All Contacts"
msgstr "Alle Contacten"
-#: mod/contacts.php:711
+#: mod/contacts.php:696
msgid "Show all contacts"
msgstr "Toon alle contacten"
-#: mod/contacts.php:716
+#: mod/contacts.php:701
msgid "Unblocked"
msgstr "Niet geblokkeerd"
-#: mod/contacts.php:719
+#: mod/contacts.php:704
msgid "Only show unblocked contacts"
msgstr "Toon alleen niet-geblokkeerde contacten"
-#: mod/contacts.php:725
+#: mod/contacts.php:710
msgid "Blocked"
msgstr "Geblokkeerd"
-#: mod/contacts.php:728
+#: mod/contacts.php:713
msgid "Only show blocked contacts"
msgstr "Toon alleen geblokkeerde contacten"
-#: mod/contacts.php:734
+#: mod/contacts.php:719
msgid "Ignored"
msgstr "Genegeerd"
-#: mod/contacts.php:737
+#: mod/contacts.php:722
msgid "Only show ignored contacts"
msgstr "Toon alleen genegeerde contacten"
-#: mod/contacts.php:743
+#: mod/contacts.php:728
msgid "Archived"
msgstr "Gearchiveerd"
-#: mod/contacts.php:746
+#: mod/contacts.php:731
msgid "Only show archived contacts"
msgstr "Toon alleen gearchiveerde contacten"
-#: mod/contacts.php:752
+#: mod/contacts.php:737
msgid "Hidden"
msgstr "Verborgen"
-#: mod/contacts.php:755
+#: mod/contacts.php:740
msgid "Only show hidden contacts"
msgstr "Toon alleen verborgen contacten"
-#: mod/contacts.php:807 include/text.php:1005 include/nav.php:123
-#: include/nav.php:187 view/theme/diabook/theme.php:125
+#: mod/contacts.php:793 mod/contacts.php:841 mod/viewcontacts.php:116
+#: include/identity.php:741 include/identity.php:744 include/text.php:1012
+#: include/nav.php:123 include/nav.php:187 view/theme/diabook/theme.php:125
msgid "Contacts"
msgstr "Contacten"
-#: mod/contacts.php:811
+#: mod/contacts.php:797
msgid "Search your contacts"
msgstr "Doorzoek je contacten"
-#: mod/contacts.php:812
+#: mod/contacts.php:798
msgid "Finding: "
msgstr "Gevonden:"
-#: mod/contacts.php:813 mod/directory.php:202 include/contact_widgets.php:34
+#: mod/contacts.php:799 mod/directory.php:210 include/contact_widgets.php:34
msgid "Find"
msgstr "Zoek"
-#: mod/contacts.php:819 mod/settings.php:146 mod/settings.php:674
+#: mod/contacts.php:805 mod/settings.php:156 mod/settings.php:685
msgid "Update"
msgstr "Wijzigen"
-#: mod/contacts.php:823 mod/group.php:171 mod/admin.php:1112
-#: mod/content.php:440 mod/content.php:743 mod/settings.php:711
-#: mod/photos.php:1715 object/Item.php:134 include/conversation.php:635
+#: mod/contacts.php:808 mod/contacts.php:879
+msgid "Archive"
+msgstr "Archiveer"
+
+#: mod/contacts.php:808 mod/contacts.php:879
+msgid "Unarchive"
+msgstr "Archiveer niet meer"
+
+#: mod/contacts.php:809 mod/group.php:171 mod/admin.php:1299
+#: mod/content.php:440 mod/content.php:743 mod/settings.php:722
+#: mod/photos.php:1723 object/Item.php:134 include/conversation.php:635
msgid "Delete"
msgstr "Verwijder"
-#: mod/contacts.php:836
+#: mod/contacts.php:822 include/identity.php:686 include/nav.php:75
+msgid "Status"
+msgstr "Tijdlijn"
+
+#: mod/contacts.php:825 mod/follow.php:143 include/identity.php:689
+msgid "Status Messages and Posts"
+msgstr "Berichten op jouw tijdlijn"
+
+#: mod/contacts.php:830 mod/profperm.php:104 mod/newmember.php:32
+#: include/identity.php:579 include/identity.php:665 include/identity.php:694
+#: include/nav.php:76 view/theme/diabook/theme.php:124
+msgid "Profile"
+msgstr "Profiel"
+
+#: mod/contacts.php:833 include/identity.php:697
+msgid "Profile Details"
+msgstr "Profieldetails"
+
+#: mod/contacts.php:844
+msgid "View all contacts"
+msgstr "Alle contacten zien"
+
+#: mod/contacts.php:850 mod/common.php:134
+msgid "Common Friends"
+msgstr "Gedeelde Vrienden"
+
+#: mod/contacts.php:853
+msgid "View all common friends"
+msgstr ""
+
+#: mod/contacts.php:857
+msgid "Repair"
+msgstr "Herstellen"
+
+#: mod/contacts.php:860
+msgid "Advanced Contact Settings"
+msgstr "Geavanceerde instellingen voor contacten"
+
+#: mod/contacts.php:868
+msgid "Toggle Blocked status"
+msgstr "Schakel geblokkeerde status"
+
+#: mod/contacts.php:875
+msgid "Toggle Ignored status"
+msgstr "Schakel negeerstatus"
+
+#: mod/contacts.php:882
+msgid "Toggle Archive status"
+msgstr "Schakel archiveringsstatus"
+
+#: mod/contacts.php:924
msgid "Mutual Friendship"
msgstr "Wederzijdse vriendschap"
-#: mod/contacts.php:840
+#: mod/contacts.php:928
msgid "is a fan of yours"
msgstr "Is een fan van jou"
-#: mod/contacts.php:844
+#: mod/contacts.php:932
msgid "you are a fan of"
msgstr "Jij bent een fan van"
-#: mod/contacts.php:861 mod/nogroup.php:42
+#: mod/contacts.php:953 mod/nogroup.php:42
msgid "Edit contact"
msgstr "Contact bewerken"
@@ -468,17 +513,17 @@ msgstr "Contact bewerken"
msgid "No profile"
msgstr "Geen profiel"
-#: mod/manage.php:120
+#: mod/manage.php:139
msgid "Manage Identities and/or Pages"
msgstr "Beheer Identiteiten en/of Pagina's"
-#: mod/manage.php:121
+#: mod/manage.php:140
msgid ""
"Toggle between different identities or community/group pages which share "
"your account details or which you have been granted \"manage\" permissions"
msgstr "Wissel tussen verschillende identiteiten of forum/groeppagina's die jouw accountdetails delen of waar je \"beheerdersrechten\" hebt gekregen."
-#: mod/manage.php:122
+#: mod/manage.php:141
msgid "Select an identity to manage: "
msgstr "Selecteer een identiteit om te beheren:"
@@ -486,7 +531,7 @@ msgstr "Selecteer een identiteit om te beheren:"
msgid "Post successful."
msgstr "Bericht succesvol geplaatst."
-#: mod/profperm.php:19 mod/group.php:72 index.php:381
+#: mod/profperm.php:19 mod/group.php:72 index.php:382
msgid "Permission denied"
msgstr "Toegang geweigerd"
@@ -498,13 +543,7 @@ msgstr "Ongeldige profiel-identificatie."
msgid "Profile Visibility Editor"
msgstr ""
-#: mod/profperm.php:104 mod/newmember.php:32 include/identity.php:530
-#: include/identity.php:611 include/identity.php:641 include/nav.php:76
-#: view/theme/diabook/theme.php:124
-msgid "Profile"
-msgstr "Profiel"
-
-#: mod/profperm.php:106 mod/group.php:222
+#: mod/profperm.php:106 mod/group.php:223
msgid "Click on a contact to add or remove."
msgstr "Klik op een contact om het toe te voegen of te verwijderen."
@@ -516,23 +555,23 @@ msgstr "Zichtbaar voor"
msgid "All Contacts (with secure profile access)"
msgstr "Alle contacten (met veilige profieltoegang)"
-#: mod/display.php:82 mod/display.php:283 mod/display.php:500
-#: mod/viewsrc.php:15 mod/admin.php:196 mod/admin.php:1157 mod/admin.php:1378
-#: mod/notice.php:15 include/items.php:4894
+#: mod/display.php:82 mod/display.php:291 mod/display.php:508
+#: mod/viewsrc.php:15 mod/admin.php:225 mod/admin.php:1354 mod/admin.php:1588
+#: mod/notice.php:15 include/items.php:4864
msgid "Item not found."
msgstr "Item niet gevonden."
-#: mod/display.php:211 mod/videos.php:189 mod/viewcontacts.php:19
-#: mod/community.php:18 mod/dfrn_request.php:777 mod/search.php:93
-#: mod/search.php:99 mod/directory.php:37 mod/photos.php:968
+#: mod/display.php:220 mod/videos.php:197 mod/viewcontacts.php:35
+#: mod/community.php:18 mod/dfrn_request.php:786 mod/search.php:93
+#: mod/search.php:99 mod/directory.php:37 mod/photos.php:976
msgid "Public access denied."
msgstr "Niet vrij toegankelijk"
-#: mod/display.php:331 mod/profile.php:155
+#: mod/display.php:339 mod/profile.php:155
msgid "Access to this profile has been restricted."
msgstr "Toegang tot dit profiel is beperkt."
-#: mod/display.php:493
+#: mod/display.php:501
msgid "Item has been removed."
msgstr "Item is verwijderd."
@@ -567,8 +606,8 @@ msgid ""
" join."
msgstr "Op je Snelstart pagina kun je een korte inleiding vinden over je profiel en netwerk tabs, om enkele nieuwe connecties te leggen en groepen te vinden om lid van te worden."
-#: mod/newmember.php:22 mod/admin.php:1209 mod/admin.php:1454
-#: mod/settings.php:99 include/nav.php:182 view/theme/diabook/theme.php:544
+#: mod/newmember.php:22 mod/admin.php:1407 mod/admin.php:1665
+#: mod/settings.php:109 include/nav.php:182 view/theme/diabook/theme.php:544
#: view/theme/diabook/theme.php:648
msgid "Settings"
msgstr "Instellingen"
@@ -592,7 +631,7 @@ msgid ""
"potential friends know exactly how to find you."
msgstr "Controleer ook de andere instellingen, in het bijzonder de privacy-instellingen. Een niet-gepubliceerd adres is zoals een privé-telefoonnummer. In het algemeen wil je waarschijnlijk je adres publiceren - tenzij al je vrienden en mogelijke vrienden precies weten hoe je te vinden."
-#: mod/newmember.php:36 mod/profile_photo.php:244 mod/profiles.php:709
+#: mod/newmember.php:36 mod/profile_photo.php:250 mod/profiles.php:709
msgid "Upload Profile Photo"
msgstr "Profielfoto uploaden"
@@ -629,60 +668,44 @@ msgstr "Stel enkele openbare sleutelwoorden in voor je standaard profiel die je
msgid "Connecting"
msgstr "Verbinding aan het maken"
-#: mod/newmember.php:49 mod/newmember.php:51 include/contact_selectors.php:81
-msgid "Facebook"
-msgstr "Facebook"
-
-#: mod/newmember.php:49
-msgid ""
-"Authorise the Facebook Connector if you currently have a Facebook account "
-"and we will (optionally) import all your Facebook friends and conversations."
-msgstr "Machtig de Facebook Connector als je een Facebook account hebt. We zullen (optioneel) al je Facebook vrienden en conversaties importeren."
-
#: mod/newmember.php:51
-msgid ""
-"If this is your own personal server, installing the Facebook addon "
-"may ease your transition to the free social web."
-msgstr "Als dit jouw eigen persoonlijke server is kan het installeren van de Facebook toevoeging je overgang naar het vrije sociale web vergemakkelijken."
-
-#: mod/newmember.php:56
msgid "Importing Emails"
msgstr "E-mails importeren"
-#: mod/newmember.php:56
+#: mod/newmember.php:51
msgid ""
"Enter your email access information on your Connector Settings page if you "
"wish to import and interact with friends or mailing lists from your email "
"INBOX"
msgstr "Vul je e-mailtoegangsinformatie in op je pagina met verbindingsinstellingen als je vrienden of mailinglijsten uit je e-mail-inbox wilt importeren, en met hen wilt communiceren"
-#: mod/newmember.php:58
+#: mod/newmember.php:53
msgid "Go to Your Contacts Page"
msgstr "Ga naar je contactenpagina"
-#: mod/newmember.php:58
+#: mod/newmember.php:53
msgid ""
"Your Contacts page is your gateway to managing friendships and connecting "
"with friends on other networks. Typically you enter their address or site "
"URL in the Add New Contact dialog."
msgstr "Je contactenpagina is jouw poort om vriendschappen te beheren en verbinding te leggen met vrienden op andere netwerken. Je kunt hun adres of URL toevoegen in de Voeg nieuw contact toe dialoog."
-#: mod/newmember.php:60
+#: mod/newmember.php:55
msgid "Go to Your Site's Directory"
msgstr "Ga naar de gids van je website"
-#: mod/newmember.php:60
+#: mod/newmember.php:55
msgid ""
"The Directory page lets you find other people in this network or other "
"federated sites. Look for a Connect or Follow link on "
"their profile page. Provide your own Identity Address if requested."
msgstr "In de gids vind je andere mensen in dit netwerk of op andere federatieve sites. Zoek naar het woord Connect of Follow op hun profielpagina (meestal aan de linkerkant). Vul je eigen identiteitsadres in wanneer daar om wordt gevraagd."
-#: mod/newmember.php:62
+#: mod/newmember.php:57
msgid "Finding New People"
msgstr "Nieuwe mensen vinden"
-#: mod/newmember.php:62
+#: mod/newmember.php:57
msgid ""
"On the side panel of the Contacts page are several tools to find new "
"friends. We can match people by interest, look up people by name or "
@@ -691,41 +714,41 @@ msgid ""
"hours."
msgstr "Op het zijpaneel van de Contacten pagina vind je verschillende tools om nieuwe vrienden te zoeken. We kunnen mensen op interesses matchen, mensen opzoeken op naam of hobby, en suggesties doen gebaseerd op netwerk-relaties. Op een nieuwe webstek beginnen vriendschapssuggesties meestal binnen de 24 uur beschikbaar te worden."
-#: mod/newmember.php:66 include/group.php:272
+#: mod/newmember.php:61 include/group.php:283
msgid "Groups"
msgstr "Groepen"
-#: mod/newmember.php:70
+#: mod/newmember.php:65
msgid "Group Your Contacts"
msgstr "Groepeer je contacten"
-#: mod/newmember.php:70
+#: mod/newmember.php:65
msgid ""
"Once you have made some friends, organize them into private conversation "
"groups from the sidebar of your Contacts page and then you can interact with"
" each group privately on your Network page."
msgstr "Als je een aantal vrienden gemaakt hebt kun je ze in je eigen conversatiegroepen indelen vanuit de zijbalk van je 'Conacten' pagina, en dan kun je met elke groep apart contact houden op je Netwerk pagina. "
-#: mod/newmember.php:73
+#: mod/newmember.php:68
msgid "Why Aren't My Posts Public?"
msgstr "Waarom zijn mijn berichten niet openbaar?"
-#: mod/newmember.php:73
+#: mod/newmember.php:68
msgid ""
"Friendica respects your privacy. By default, your posts will only show up to"
" people you've added as friends. For more information, see the help section "
"from the link above."
msgstr "Friendica respecteert je privacy. Standaard zullen je berichten alleen zichtbaar zijn voor personen die jij als vriend hebt toegevoegd. Lees de help (zie de verwijzing hierboven) voor meer informatie."
-#: mod/newmember.php:78
+#: mod/newmember.php:73
msgid "Getting Help"
msgstr "Hulp krijgen"
-#: mod/newmember.php:82
+#: mod/newmember.php:77
msgid "Go to the Help Section"
msgstr "Ga naar de help"
-#: mod/newmember.php:82
+#: mod/newmember.php:77
msgid ""
"Our help pages may be consulted for detail on other program"
" features and resources."
@@ -740,7 +763,7 @@ msgid ""
"Account not found and OpenID registration is not permitted on this site."
msgstr "Account niet gevonden, en OpenID-registratie is niet toegelaten op deze website."
-#: mod/openid.php:93 include/auth.php:112 include/auth.php:175
+#: mod/openid.php:93 include/auth.php:118 include/auth.php:181
msgid "Login failed."
msgstr "Login mislukt."
@@ -749,95 +772,95 @@ msgid "Image uploaded but image cropping failed."
msgstr "Afbeelding opgeladen, maar bijsnijden mislukt."
#: mod/profile_photo.php:74 mod/profile_photo.php:81 mod/profile_photo.php:88
-#: mod/profile_photo.php:204 mod/profile_photo.php:296
-#: mod/profile_photo.php:305 mod/photos.php:70 mod/photos.php:184
-#: mod/photos.php:767 mod/photos.php:1237 mod/photos.php:1260
-#: mod/photos.php:1854 include/user.php:343 include/user.php:350
-#: include/user.php:357 view/theme/diabook/theme.php:500
+#: mod/profile_photo.php:210 mod/profile_photo.php:302
+#: mod/profile_photo.php:311 mod/photos.php:78 mod/photos.php:192
+#: mod/photos.php:775 mod/photos.php:1245 mod/photos.php:1268
+#: mod/photos.php:1862 include/user.php:345 include/user.php:352
+#: include/user.php:359 view/theme/diabook/theme.php:500
msgid "Profile Photos"
msgstr "Profielfoto's"
#: mod/profile_photo.php:77 mod/profile_photo.php:84 mod/profile_photo.php:91
-#: mod/profile_photo.php:308
+#: mod/profile_photo.php:314
#, php-format
msgid "Image size reduction [%s] failed."
msgstr "Verkleining van de afbeelding [%s] mislukt."
-#: mod/profile_photo.php:118
+#: mod/profile_photo.php:124
msgid ""
"Shift-reload the page or clear browser cache if the new photo does not "
"display immediately."
msgstr "Shift-herlaad de pagina, of maak de browser cache leeg als nieuwe foto's niet onmiddellijk verschijnen."
-#: mod/profile_photo.php:128
+#: mod/profile_photo.php:134
msgid "Unable to process image"
msgstr "Ik kan de afbeelding niet verwerken"
-#: mod/profile_photo.php:144 mod/wall_upload.php:151 mod/photos.php:803
+#: mod/profile_photo.php:150 mod/wall_upload.php:151 mod/photos.php:811
#, php-format
msgid "Image exceeds size limit of %s"
msgstr ""
-#: mod/profile_photo.php:153 mod/wall_upload.php:183 mod/photos.php:843
+#: mod/profile_photo.php:159 mod/wall_upload.php:183 mod/photos.php:851
msgid "Unable to process image."
msgstr "Niet in staat om de afbeelding te verwerken"
-#: mod/profile_photo.php:242
+#: mod/profile_photo.php:248
msgid "Upload File:"
msgstr "Upload bestand:"
-#: mod/profile_photo.php:243
+#: mod/profile_photo.php:249
msgid "Select a profile:"
msgstr "Kies een profiel:"
-#: mod/profile_photo.php:245
+#: mod/profile_photo.php:251
msgid "Upload"
msgstr "Uploaden"
-#: mod/profile_photo.php:248
+#: mod/profile_photo.php:254
msgid "or"
msgstr "of"
-#: mod/profile_photo.php:248
+#: mod/profile_photo.php:254
msgid "skip this step"
msgstr "Deze stap overslaan"
-#: mod/profile_photo.php:248
+#: mod/profile_photo.php:254
msgid "select a photo from your photo albums"
msgstr "Kies een foto uit je fotoalbums"
-#: mod/profile_photo.php:262
+#: mod/profile_photo.php:268
msgid "Crop Image"
msgstr "Afbeelding bijsnijden"
-#: mod/profile_photo.php:263
+#: mod/profile_photo.php:269
msgid "Please adjust the image cropping for optimum viewing."
msgstr "Pas het afsnijden van de afbeelding aan voor het beste resultaat."
-#: mod/profile_photo.php:265
+#: mod/profile_photo.php:271
msgid "Done Editing"
msgstr "Wijzigingen compleet"
-#: mod/profile_photo.php:299
+#: mod/profile_photo.php:305
msgid "Image uploaded successfully."
msgstr "Uploaden van afbeelding gelukt."
-#: mod/profile_photo.php:301 mod/wall_upload.php:216 mod/photos.php:870
+#: mod/profile_photo.php:307 mod/wall_upload.php:216 mod/photos.php:878
msgid "Image upload failed."
msgstr "Uploaden van afbeelding mislukt."
-#: mod/subthread.php:87 mod/tagger.php:62 mod/like.php:168
+#: mod/subthread.php:87 mod/tagger.php:62 include/like.php:165
#: include/conversation.php:130 include/conversation.php:266
-#: include/text.php:1988 include/diaspora.php:2140
+#: include/text.php:1993 include/diaspora.php:2147
#: view/theme/diabook/theme.php:471
msgid "photo"
msgstr "foto"
-#: mod/subthread.php:87 mod/tagger.php:62 mod/like.php:168 mod/like.php:346
-#: include/conversation.php:125 include/conversation.php:134
-#: include/conversation.php:261 include/conversation.php:270
-#: include/diaspora.php:2140 view/theme/diabook/theme.php:466
-#: view/theme/diabook/theme.php:475
+#: mod/subthread.php:87 mod/tagger.php:62 include/like.php:165
+#: include/like.php:325 include/conversation.php:125
+#: include/conversation.php:134 include/conversation.php:261
+#: include/conversation.php:270 include/diaspora.php:2147
+#: view/theme/diabook/theme.php:466 view/theme/diabook/theme.php:475
msgid "status"
msgstr "status"
@@ -863,7 +886,7 @@ msgid "Remove"
msgstr "Verwijderen"
#: mod/ostatus_subscribe.php:14
-msgid "Subsribing to OStatus contacts"
+msgid "Subscribing to OStatus contacts"
msgstr ""
#: mod/ostatus_subscribe.php:25
@@ -898,8 +921,8 @@ msgstr "Verboden"
msgid "Keep this window open until done."
msgstr "Houd dit scherm open tot het klaar is"
-#: mod/filer.php:30 include/conversation.php:1133
-#: include/conversation.php:1151
+#: mod/filer.php:30 include/conversation.php:1132
+#: include/conversation.php:1150
msgid "Save to Folder:"
msgstr "Bewaren in map:"
@@ -907,73 +930,59 @@ msgstr "Bewaren in map:"
msgid "- select -"
msgstr "- Kies -"
-#: mod/filer.php:31 mod/editpost.php:108 mod/notes.php:61 include/text.php:997
+#: mod/filer.php:31 mod/editpost.php:109 mod/notes.php:61
+#: include/text.php:1004
msgid "Save"
msgstr "Bewaren"
-#: mod/follow.php:18 mod/dfrn_request.php:861
+#: mod/follow.php:19 mod/dfrn_request.php:870
msgid "Submit Request"
msgstr "Aanvraag indienen"
-#: mod/follow.php:29
+#: mod/follow.php:30
msgid "You already added this contact."
msgstr "Je hebt deze kontakt al toegevoegd"
-#: mod/follow.php:38
+#: mod/follow.php:39
msgid "Diaspora support isn't enabled. Contact can't be added."
msgstr ""
-#: mod/follow.php:45
+#: mod/follow.php:46
msgid "OStatus support is disabled. Contact can't be added."
msgstr ""
-#: mod/follow.php:52
+#: mod/follow.php:53
msgid "The network type couldn't be detected. Contact can't be added."
msgstr ""
-#: mod/follow.php:104 mod/dfrn_request.php:847
+#: mod/follow.php:109 mod/dfrn_request.php:856
msgid "Please answer the following:"
msgstr "Beantwoord het volgende:"
-#: mod/follow.php:105 mod/dfrn_request.php:848
+#: mod/follow.php:110 mod/dfrn_request.php:857
#, php-format
msgid "Does %s know you?"
msgstr "Kent %s jou?"
-#: mod/follow.php:105 mod/settings.php:1091 mod/settings.php:1097
-#: mod/settings.php:1105 mod/settings.php:1109 mod/settings.php:1114
-#: mod/settings.php:1120 mod/settings.php:1126 mod/settings.php:1132
-#: mod/settings.php:1158 mod/settings.php:1159 mod/settings.php:1160
-#: mod/settings.php:1161 mod/settings.php:1162 mod/dfrn_request.php:848
-#: mod/register.php:236 mod/profiles.php:658 mod/profiles.php:662
+#: mod/follow.php:110 mod/settings.php:1103 mod/settings.php:1109
+#: mod/settings.php:1117 mod/settings.php:1121 mod/settings.php:1126
+#: mod/settings.php:1132 mod/settings.php:1138 mod/settings.php:1144
+#: mod/settings.php:1170 mod/settings.php:1171 mod/settings.php:1172
+#: mod/settings.php:1173 mod/settings.php:1174 mod/dfrn_request.php:857
+#: mod/register.php:239 mod/profiles.php:658 mod/profiles.php:662
#: mod/profiles.php:687 mod/api.php:106
msgid "No"
msgstr "Nee"
-#: mod/follow.php:106 mod/dfrn_request.php:852
+#: mod/follow.php:111 mod/dfrn_request.php:861
msgid "Add a personal note:"
msgstr "Voeg een persoonlijke opmerking toe:"
-#: mod/follow.php:112 mod/dfrn_request.php:858
+#: mod/follow.php:117 mod/dfrn_request.php:867
msgid "Your Identity Address:"
msgstr "Adres van uw identiteit:"
-#: mod/follow.php:125 mod/notifications.php:244 mod/events.php:566
-#: mod/directory.php:139 include/identity.php:268 include/bb2diaspora.php:170
-#: include/event.php:36 include/event.php:60
-msgid "Location:"
-msgstr "Plaats:"
-
-#: mod/follow.php:127 mod/notifications.php:246 mod/directory.php:147
-#: include/identity.php:277 include/identity.php:582
-msgid "About:"
-msgstr "Over:"
-
-#: mod/follow.php:129 mod/notifications.php:248 include/identity.php:576
-msgid "Tags:"
-msgstr "Labels:"
-
-#: mod/follow.php:162
+#: mod/follow.php:180
msgid "Contact added"
msgstr "Contact toegevoegd"
@@ -981,39 +990,39 @@ msgstr "Contact toegevoegd"
msgid "Unable to locate original post."
msgstr "Ik kan de originele post niet meer vinden."
-#: mod/item.php:322
+#: mod/item.php:329
msgid "Empty post discarded."
msgstr "Lege post weggegooid."
-#: mod/item.php:461 mod/wall_upload.php:213 mod/wall_upload.php:227
-#: mod/wall_upload.php:234 include/Photo.php:954 include/Photo.php:969
-#: include/Photo.php:976 include/Photo.php:998 include/message.php:145
+#: mod/item.php:467 mod/wall_upload.php:213 mod/wall_upload.php:227
+#: mod/wall_upload.php:234 include/Photo.php:958 include/Photo.php:973
+#: include/Photo.php:980 include/Photo.php:1002 include/message.php:145
msgid "Wall Photos"
msgstr ""
-#: mod/item.php:835
+#: mod/item.php:842
msgid "System error. Post not saved."
msgstr "Systeemfout. Post niet bewaard."
-#: mod/item.php:964
+#: mod/item.php:971
#, php-format
msgid ""
"This message was sent to you by %s, a member of the Friendica social "
"network."
msgstr "Dit bericht werd naar jou gestuurd door %s, een lid van het Friendica sociale netwerk."
-#: mod/item.php:966
+#: mod/item.php:973
#, php-format
msgid "You may visit them online at %s"
msgstr "Je kunt ze online bezoeken op %s"
-#: mod/item.php:967
+#: mod/item.php:974
msgid ""
"Please contact the sender by replying to this post if you do not wish to "
"receive these messages."
msgstr "Contacteer de afzender door op dit bericht te antwoorden als je deze berichten niet wilt ontvangen."
-#: mod/item.php:971
+#: mod/item.php:978
#, php-format
msgid "%s posted an update."
msgstr "%s heeft een wijziging geplaatst."
@@ -1042,7 +1051,7 @@ msgstr "Bewaar groep"
msgid "Create a group of contacts/friends."
msgstr "Maak een groep contacten/vrienden aan."
-#: mod/group.php:94 mod/group.php:178 include/group.php:275
+#: mod/group.php:94 mod/group.php:178 include/group.php:289
msgid "Group Name: "
msgstr "Groepsnaam:"
@@ -1062,7 +1071,11 @@ msgstr "Groepsbewerker"
msgid "Members"
msgstr "Leden"
-#: mod/apps.php:7 index.php:225
+#: mod/group.php:193 mod/network.php:576 mod/content.php:130
+msgid "Group is empty"
+msgstr "De groep is leeg"
+
+#: mod/apps.php:7 index.php:226
msgid "You must be logged in to use addons. "
msgstr "Je moet ingelogd zijn om deze addons te kunnen gebruiken. "
@@ -1080,7 +1093,7 @@ msgid "Profile not found."
msgstr "Profiel niet gevonden"
#: mod/dfrn_confirm.php:120 mod/fsuggest.php:20 mod/fsuggest.php:92
-#: mod/crepair.php:134
+#: mod/crepair.php:131
msgid "Contact not found."
msgstr "Contact niet gevonden"
@@ -1119,7 +1132,7 @@ msgid "Unable to set contact photo."
msgstr "Ik kan geen contact foto instellen."
#: mod/dfrn_confirm.php:487 include/conversation.php:185
-#: include/diaspora.php:636
+#: include/diaspora.php:637
#, php-format
msgid "%1$s is now friends with %2$s"
msgstr "%1$s is nu bevriend met %2$s"
@@ -1160,7 +1173,7 @@ msgstr "Niet in staat om op dit systeem je contactreferenties in te stellen."
msgid "Unable to update your contact profile details on our system"
msgstr ""
-#: mod/dfrn_confirm.php:753 mod/dfrn_request.php:732 include/items.php:4313
+#: mod/dfrn_confirm.php:753 mod/dfrn_request.php:741 include/items.php:4276
msgid "[Name Withheld]"
msgstr "[Naam achtergehouden]"
@@ -1169,7 +1182,7 @@ msgstr "[Naam achtergehouden]"
msgid "%1$s has joined %2$s"
msgstr "%1$s is toegetreden tot %2$s"
-#: mod/profile.php:21 include/identity.php:77
+#: mod/profile.php:21 include/identity.php:51
msgid "Requested profile is not available."
msgstr "Gevraagde profiel is niet beschikbaar."
@@ -1177,35 +1190,35 @@ msgstr "Gevraagde profiel is niet beschikbaar."
msgid "Tips for New Members"
msgstr "Tips voor nieuwe leden"
-#: mod/videos.php:115
+#: mod/videos.php:123
msgid "Do you really want to delete this video?"
msgstr "Wil je deze video echt verwijderen?"
-#: mod/videos.php:120
+#: mod/videos.php:128
msgid "Delete Video"
msgstr "Verwijder video"
-#: mod/videos.php:199
+#: mod/videos.php:207
msgid "No videos selected"
msgstr "Geen video's geselecteerd"
-#: mod/videos.php:300 mod/photos.php:1079
+#: mod/videos.php:308 mod/photos.php:1087
msgid "Access to this item is restricted."
msgstr "Toegang tot dit item is beperkt."
-#: mod/videos.php:375 include/text.php:1458
+#: mod/videos.php:383 include/text.php:1465
msgid "View Video"
msgstr "Bekijk Video"
-#: mod/videos.php:382 mod/photos.php:1882
+#: mod/videos.php:390 mod/photos.php:1890
msgid "View Album"
msgstr "Album bekijken"
-#: mod/videos.php:391
+#: mod/videos.php:399
msgid "Recent Videos"
msgstr "Recente video's"
-#: mod/videos.php:393
+#: mod/videos.php:401
msgid "Upload New Videos"
msgstr "Nieuwe video's uploaden"
@@ -1229,7 +1242,7 @@ msgstr "Stel een vriend voor aan %s"
#: mod/wall_upload.php:20 mod/wall_upload.php:33 mod/wall_upload.php:86
#: mod/wall_upload.php:122 mod/wall_upload.php:125 mod/wall_attach.php:17
-#: mod/wall_attach.php:25 mod/wall_attach.php:76 include/api.php:1702
+#: mod/wall_attach.php:25 mod/wall_attach.php:76 include/api.php:1781
msgid "Invalid request."
msgstr ""
@@ -1285,7 +1298,7 @@ msgid ""
"Password reset failed."
msgstr "Verzoek kon niet geverifieerd worden. (Misschien heb je het voordien al ingediend.) Wachtwoord niet opnieuw ingesteld."
-#: mod/lostpass.php:109 boot.php:1295
+#: mod/lostpass.php:109 boot.php:1418
msgid "Password Reset"
msgstr "Wachtwoord opnieuw instellen"
@@ -1359,57 +1372,22 @@ msgstr "Bijnaam of e-mail:"
msgid "Reset"
msgstr "Opnieuw"
-#: mod/like.php:170 include/conversation.php:122 include/conversation.php:258
-#: include/text.php:1986 view/theme/diabook/theme.php:463
-msgid "event"
-msgstr "gebeurtenis"
-
-#: mod/like.php:187 include/conversation.php:141 include/diaspora.php:2156
-#: view/theme/diabook/theme.php:480
-#, php-format
-msgid "%1$s likes %2$s's %3$s"
-msgstr "%1$s vindt het %3$s van %2$s leuk"
-
-#: mod/like.php:189 include/conversation.php:144
-#, php-format
-msgid "%1$s doesn't like %2$s's %3$s"
-msgstr "%1$s vindt het %3$s van %2$s niet leuk"
-
-#: mod/like.php:191
-#, php-format
-msgid "%1$s is attending %2$s's %3$s"
-msgstr ""
-
-#: mod/like.php:193
-#, php-format
-msgid "%1$s is not attending %2$s's %3$s"
-msgstr ""
-
-#: mod/like.php:195
-#, php-format
-msgid "%1$s may attend %2$s's %3$s"
-msgstr ""
-
-#: mod/ping.php:257
+#: mod/ping.php:265
msgid "{0} wants to be your friend"
msgstr "{0} wilt je vriend worden"
-#: mod/ping.php:272
+#: mod/ping.php:280
msgid "{0} sent you a message"
msgstr "{0} stuurde jou een bericht"
-#: mod/ping.php:287
+#: mod/ping.php:295
msgid "{0} requested registration"
msgstr "{0} vroeg om zich te registreren"
-#: mod/viewcontacts.php:41
+#: mod/viewcontacts.php:72
msgid "No contacts."
msgstr "Geen contacten."
-#: mod/viewcontacts.php:83 include/text.php:917
-msgid "View Contacts"
-msgstr "Bekijk contacten"
-
#: mod/notifications.php:29
msgid "Invalid request identifier."
msgstr "Ongeldige request identifier."
@@ -1423,11 +1401,11 @@ msgstr "Verwerpen"
msgid "System"
msgstr "Systeem"
-#: mod/notifications.php:87 mod/admin.php:228 include/nav.php:154
+#: mod/notifications.php:87 mod/admin.php:379 include/nav.php:154
msgid "Network"
msgstr "Netwerk"
-#: mod/notifications.php:93 mod/network.php:385
+#: mod/notifications.php:93 mod/network.php:384
msgid "Personal"
msgstr "Persoonlijk"
@@ -1469,7 +1447,7 @@ msgstr "Bericht over een nieuwe vriend"
msgid "if applicable"
msgstr "Indien toepasbaar"
-#: mod/notifications.php:176 mod/notifications.php:257 mod/admin.php:1110
+#: mod/notifications.php:176 mod/notifications.php:257 mod/admin.php:1297
msgid "Approve"
msgstr "Goedkeuren"
@@ -1519,8 +1497,8 @@ msgstr "Vriendschapsverzoek"
msgid "New Follower"
msgstr "Nieuwe Volger"
-#: mod/notifications.php:250 mod/directory.php:141 include/identity.php:270
-#: include/identity.php:541
+#: mod/notifications.php:250 mod/directory.php:147 include/identity.php:310
+#: include/identity.php:590
msgid "Gender:"
msgstr "Geslacht:"
@@ -1691,7 +1669,7 @@ msgstr "Gesprek verwijderd."
#: mod/message.php:290 mod/message.php:298 mod/message.php:427
#: mod/message.php:435 mod/wallmessage.php:127 mod/wallmessage.php:135
-#: include/conversation.php:1129 include/conversation.php:1147
+#: include/conversation.php:1128 include/conversation.php:1146
msgid "Please enter a link URL:"
msgstr "Vul een internetadres/URL in:"
@@ -1713,19 +1691,19 @@ msgid "Your message:"
msgstr "Jouw bericht:"
#: mod/message.php:339 mod/message.php:523 mod/wallmessage.php:154
-#: mod/editpost.php:109 include/conversation.php:1184
+#: mod/editpost.php:110 include/conversation.php:1183
msgid "Upload photo"
msgstr "Foto uploaden"
#: mod/message.php:340 mod/message.php:524 mod/wallmessage.php:155
-#: mod/editpost.php:113 include/conversation.php:1188
+#: mod/editpost.php:114 include/conversation.php:1187
msgid "Insert web link"
msgstr "Voeg een webadres in"
#: mod/message.php:341 mod/message.php:526 mod/content.php:501
-#: mod/content.php:885 mod/wallmessage.php:156 mod/editpost.php:123
-#: mod/photos.php:1602 object/Item.php:396 include/conversation.php:713
-#: include/conversation.php:1202
+#: mod/content.php:885 mod/wallmessage.php:156 mod/editpost.php:124
+#: mod/photos.php:1610 object/Item.php:396 include/conversation.php:713
+#: include/conversation.php:1201
msgid "Please wait"
msgstr "Even geduld"
@@ -1741,7 +1719,7 @@ msgstr "Bericht niet beschikbaar."
msgid "Delete message"
msgstr "Verwijder bericht"
-#: mod/message.php:507 mod/message.php:582
+#: mod/message.php:507 mod/message.php:584
msgid "Delete conversation"
msgstr "Verwijder gesprek"
@@ -1755,26 +1733,26 @@ msgstr "Geen beveiligde communicatie beschikbaar. Je kunt misschienWARNING: This is highly advanced and if you enter incorrect"
" information your communications with this contact may stop working."
msgstr ""
-#: mod/crepair.php:141
+#: mod/crepair.php:138
msgid ""
"Please use your browser 'Back' button now if you are "
"uncertain what to do on this page."
msgstr "Gebruik nu de \"terug\"-knop in je webbrowser wanneer je niet weet wat je op deze pagina moet doen."
-#: mod/crepair.php:154 mod/crepair.php:156
+#: mod/crepair.php:151 mod/crepair.php:153
msgid "No mirroring"
msgstr ""
-#: mod/crepair.php:154
+#: mod/crepair.php:151
msgid "Mirror as forwarded posting"
msgstr ""
-#: mod/crepair.php:154 mod/crepair.php:156
+#: mod/crepair.php:151 mod/crepair.php:153
msgid "Mirror as my own posting"
msgstr ""
-#: mod/crepair.php:162
-msgid "Repair Contact Settings"
-msgstr "Contactinstellingen herstellen"
-
-#: mod/crepair.php:166
+#: mod/crepair.php:167
msgid "Return to contact editor"
msgstr "Ga terug naar contactbewerker"
-#: mod/crepair.php:168
+#: mod/crepair.php:169
msgid "Refetch contact data"
msgstr ""
-#: mod/crepair.php:169 mod/admin.php:1108 mod/admin.php:1120
-#: mod/admin.php:1121 mod/admin.php:1134 mod/settings.php:650
-#: mod/settings.php:676
+#: mod/crepair.php:170 mod/admin.php:1295 mod/admin.php:1307
+#: mod/admin.php:1308 mod/admin.php:1321 mod/settings.php:661
+#: mod/settings.php:687
msgid "Name"
msgstr "Naam"
-#: mod/crepair.php:170
+#: mod/crepair.php:171
msgid "Account Nickname"
msgstr "Bijnaam account"
-#: mod/crepair.php:171
+#: mod/crepair.php:172
msgid "@Tagname - overrides Name/Nickname"
msgstr "@Labelnaam - krijgt voorrang op naam/bijnaam"
-#: mod/crepair.php:172
+#: mod/crepair.php:173
msgid "Account URL"
msgstr "URL account"
-#: mod/crepair.php:173
+#: mod/crepair.php:174
msgid "Friend Request URL"
msgstr "URL vriendschapsverzoek"
-#: mod/crepair.php:174
+#: mod/crepair.php:175
msgid "Friend Confirm URL"
msgstr "URL vriendschapsbevestiging"
-#: mod/crepair.php:175
+#: mod/crepair.php:176
msgid "Notification Endpoint URL"
msgstr ""
-#: mod/crepair.php:176
+#: mod/crepair.php:177
msgid "Poll/Feed URL"
msgstr "URL poll/feed"
-#: mod/crepair.php:177
+#: mod/crepair.php:178
msgid "New photo from this URL"
msgstr "Nieuwe foto van deze URL"
-#: mod/crepair.php:178
+#: mod/crepair.php:179
msgid "Remote Self"
msgstr ""
-#: mod/crepair.php:181
+#: mod/crepair.php:182
msgid "Mirror postings from this contact"
msgstr ""
-#: mod/crepair.php:183
+#: mod/crepair.php:184
msgid ""
"Mark this contact as remote_self, this will cause friendica to repost new "
"entries from this contact."
msgstr ""
-#: mod/bookmarklet.php:12 boot.php:1281 include/nav.php:91
+#: mod/bookmarklet.php:12 boot.php:1404 include/nav.php:91
msgid "Login"
msgstr "Login"
@@ -1894,34 +1868,35 @@ msgstr ""
msgid "Access denied."
msgstr "Toegang geweigerd"
-#: mod/dirfind.php:188 mod/allfriends.php:82 mod/match.php:84
-#: mod/suggest.php:97 include/contact_widgets.php:10 include/identity.php:188
+#: mod/dirfind.php:194 mod/allfriends.php:80 mod/match.php:85
+#: mod/suggest.php:98 include/contact_widgets.php:10 include/identity.php:212
msgid "Connect"
msgstr "Verbinden"
-#: mod/dirfind.php:189 mod/allfriends.php:66 mod/match.php:70
-#: mod/directory.php:156 mod/suggest.php:81 include/Contact.php:335
+#: mod/dirfind.php:195 mod/allfriends.php:64 mod/match.php:70
+#: mod/directory.php:162 mod/suggest.php:81 include/Contact.php:283
+#: include/Contact.php:296 include/Contact.php:338
#: include/conversation.php:912 include/conversation.php:926
msgid "View Profile"
msgstr "Bekijk profiel"
-#: mod/dirfind.php:217
+#: mod/dirfind.php:224
#, php-format
msgid "People Search - %s"
msgstr ""
-#: mod/dirfind.php:224 mod/match.php:104
+#: mod/dirfind.php:231 mod/match.php:105
msgid "No matches"
msgstr "Geen resultaten"
-#: mod/fbrowser.php:32 include/identity.php:649 include/nav.php:77
+#: mod/fbrowser.php:32 include/identity.php:702 include/nav.php:77
#: view/theme/diabook/theme.php:126
msgid "Photos"
msgstr "Foto's"
-#: mod/fbrowser.php:41 mod/fbrowser.php:62 mod/photos.php:54
-#: mod/photos.php:184 mod/photos.php:1111 mod/photos.php:1237
-#: mod/photos.php:1260 mod/photos.php:1830 mod/photos.php:1842
+#: mod/fbrowser.php:41 mod/fbrowser.php:62 mod/photos.php:62
+#: mod/photos.php:192 mod/photos.php:1119 mod/photos.php:1245
+#: mod/photos.php:1268 mod/photos.php:1838 mod/photos.php:1850
#: view/theme/diabook/theme.php:499
msgid "Contact Photos"
msgstr "Contactfoto's"
@@ -1934,548 +1909,578 @@ msgstr "Bestanden"
msgid "Contacts who are not members of a group"
msgstr "Contacten die geen leden zijn van een groep"
-#: mod/admin.php:80
+#: mod/admin.php:92
msgid "Theme settings updated."
msgstr "Thema-instellingen aangepast."
-#: mod/admin.php:127 mod/admin.php:709
+#: mod/admin.php:147 mod/admin.php:877
msgid "Site"
msgstr "Website"
-#: mod/admin.php:128 mod/admin.php:653 mod/admin.php:1103 mod/admin.php:1118
+#: mod/admin.php:148 mod/admin.php:821 mod/admin.php:1290 mod/admin.php:1305
msgid "Users"
msgstr "Gebruiker"
-#: mod/admin.php:129 mod/admin.php:1207 mod/admin.php:1267 mod/settings.php:66
+#: mod/admin.php:149 mod/admin.php:1405 mod/admin.php:1465 mod/settings.php:72
msgid "Plugins"
msgstr "Plugins"
-#: mod/admin.php:130 mod/admin.php:1452 mod/admin.php:1503
+#: mod/admin.php:150 mod/admin.php:1663 mod/admin.php:1713
msgid "Themes"
msgstr "Thema's"
-#: mod/admin.php:131
+#: mod/admin.php:151 mod/settings.php:50
+msgid "Additional features"
+msgstr "Extra functies"
+
+#: mod/admin.php:152
msgid "DB updates"
msgstr "DB aanpassingen"
-#: mod/admin.php:132 mod/admin.php:223
+#: mod/admin.php:153 mod/admin.php:374
msgid "Inspect Queue"
msgstr ""
-#: mod/admin.php:147 mod/admin.php:156 mod/admin.php:1591
+#: mod/admin.php:154 mod/admin.php:343
+msgid "Federation Statistics"
+msgstr ""
+
+#: mod/admin.php:168 mod/admin.php:179 mod/admin.php:1781
msgid "Logs"
msgstr "Logs"
-#: mod/admin.php:148
+#: mod/admin.php:169 mod/admin.php:1848
+msgid "View Logs"
+msgstr ""
+
+#: mod/admin.php:170
msgid "probe address"
msgstr ""
-#: mod/admin.php:149
+#: mod/admin.php:171
msgid "check webfinger"
msgstr ""
-#: mod/admin.php:154 include/nav.php:194
+#: mod/admin.php:177 include/nav.php:194
msgid "Admin"
msgstr "Beheer"
-#: mod/admin.php:155
+#: mod/admin.php:178
msgid "Plugin Features"
msgstr "Plugin Functies"
-#: mod/admin.php:157
+#: mod/admin.php:180
msgid "diagnostics"
msgstr ""
-#: mod/admin.php:158
+#: mod/admin.php:181
msgid "User registrations waiting for confirmation"
msgstr "Gebruikersregistraties wachten op bevestiging"
-#: mod/admin.php:222 mod/admin.php:272 mod/admin.php:708 mod/admin.php:1102
-#: mod/admin.php:1206 mod/admin.php:1266 mod/admin.php:1451 mod/admin.php:1502
-#: mod/admin.php:1590
+#: mod/admin.php:336
+msgid ""
+"This page offers you some numbers to the known part of the federated social "
+"network your Friendica node is part of. These numbers are not complete but "
+"only reflect the part of the network your node is aware of."
+msgstr ""
+
+#: mod/admin.php:337
+msgid ""
+"The Auto Discovered Contact Directory feature is not enabled, it "
+"will improve the data displayed here."
+msgstr ""
+
+#: mod/admin.php:342 mod/admin.php:373 mod/admin.php:430 mod/admin.php:876
+#: mod/admin.php:1289 mod/admin.php:1404 mod/admin.php:1464 mod/admin.php:1662
+#: mod/admin.php:1712 mod/admin.php:1780 mod/admin.php:1847
msgid "Administration"
msgstr "Beheer"
-#: mod/admin.php:225
+#: mod/admin.php:349
+msgid "Currently this node is aware of nodes from the following platforms:"
+msgstr ""
+
+#: mod/admin.php:376
msgid "ID"
msgstr "ID"
-#: mod/admin.php:226
+#: mod/admin.php:377
msgid "Recipient Name"
msgstr ""
-#: mod/admin.php:227
+#: mod/admin.php:378
msgid "Recipient Profile"
msgstr ""
-#: mod/admin.php:229
+#: mod/admin.php:380
msgid "Created"
msgstr ""
-#: mod/admin.php:230
+#: mod/admin.php:381
msgid "Last Tried"
msgstr ""
-#: mod/admin.php:231
+#: mod/admin.php:382
msgid ""
"This page lists the content of the queue for outgoing postings. These are "
"postings the initial delivery failed for. They will be resend later and "
"eventually deleted if the delivery fails permanently."
msgstr ""
-#: mod/admin.php:243 mod/admin.php:1056
+#: mod/admin.php:401 mod/admin.php:1243
msgid "Normal Account"
msgstr "Normaal account"
-#: mod/admin.php:244 mod/admin.php:1057
+#: mod/admin.php:402 mod/admin.php:1244
msgid "Soapbox Account"
msgstr "Zeepkist-account"
-#: mod/admin.php:245 mod/admin.php:1058
+#: mod/admin.php:403 mod/admin.php:1245
msgid "Community/Celebrity Account"
msgstr "Account voor een groep/forum of beroemdheid"
-#: mod/admin.php:246 mod/admin.php:1059
+#: mod/admin.php:404 mod/admin.php:1246
msgid "Automatic Friend Account"
msgstr "Automatisch Vriendschapsaccount"
-#: mod/admin.php:247
+#: mod/admin.php:405
msgid "Blog Account"
msgstr "Blog Account"
-#: mod/admin.php:248
+#: mod/admin.php:406
msgid "Private Forum"
msgstr "Privéforum/-groep"
-#: mod/admin.php:267
+#: mod/admin.php:425
msgid "Message queues"
msgstr "Bericht-wachtrijen"
-#: mod/admin.php:273
+#: mod/admin.php:431
msgid "Summary"
msgstr "Samenvatting"
-#: mod/admin.php:275
+#: mod/admin.php:433
msgid "Registered users"
msgstr "Geregistreerde gebruikers"
-#: mod/admin.php:277
+#: mod/admin.php:435
msgid "Pending registrations"
msgstr "Registraties die in de wacht staan"
-#: mod/admin.php:278
+#: mod/admin.php:436
msgid "Version"
msgstr "Versie"
-#: mod/admin.php:283
+#: mod/admin.php:441
msgid "Active plugins"
msgstr "Actieve plug-ins"
-#: mod/admin.php:306
+#: mod/admin.php:464
msgid "Can not parse base url. Must have at least ://"
msgstr ""
-#: mod/admin.php:585
+#: mod/admin.php:749
msgid "RINO2 needs mcrypt php extension to work."
msgstr ""
-#: mod/admin.php:593
+#: mod/admin.php:757
msgid "Site settings updated."
msgstr "Site instellingen gewijzigd."
-#: mod/admin.php:617 mod/settings.php:901
+#: mod/admin.php:785 mod/settings.php:912
msgid "No special theme for mobile devices"
msgstr "Geen speciaal thema voor mobiele apparaten"
-#: mod/admin.php:636
+#: mod/admin.php:804
msgid "No community page"
msgstr ""
-#: mod/admin.php:637
+#: mod/admin.php:805
msgid "Public postings from users of this site"
msgstr ""
-#: mod/admin.php:638
+#: mod/admin.php:806
msgid "Global community page"
msgstr ""
-#: mod/admin.php:644
+#: mod/admin.php:812
msgid "At post arrival"
msgstr ""
-#: mod/admin.php:645 include/contact_selectors.php:56
+#: mod/admin.php:813 include/contact_selectors.php:56
msgid "Frequently"
msgstr "Frequent"
-#: mod/admin.php:646 include/contact_selectors.php:57
+#: mod/admin.php:814 include/contact_selectors.php:57
msgid "Hourly"
msgstr "elk uur"
-#: mod/admin.php:647 include/contact_selectors.php:58
+#: mod/admin.php:815 include/contact_selectors.php:58
msgid "Twice daily"
msgstr "Twee keer per dag"
-#: mod/admin.php:648 include/contact_selectors.php:59
+#: mod/admin.php:816 include/contact_selectors.php:59
msgid "Daily"
msgstr "dagelijks"
-#: mod/admin.php:654
+#: mod/admin.php:822
msgid "Users, Global Contacts"
msgstr ""
-#: mod/admin.php:655
+#: mod/admin.php:823
msgid "Users, Global Contacts/fallback"
msgstr ""
-#: mod/admin.php:659
+#: mod/admin.php:827
msgid "One month"
msgstr ""
-#: mod/admin.php:660
+#: mod/admin.php:828
msgid "Three months"
msgstr ""
-#: mod/admin.php:661
+#: mod/admin.php:829
msgid "Half a year"
msgstr ""
-#: mod/admin.php:662
+#: mod/admin.php:830
msgid "One year"
msgstr ""
-#: mod/admin.php:667
+#: mod/admin.php:835
msgid "Multi user instance"
msgstr "Server voor meerdere gebruikers"
-#: mod/admin.php:690
+#: mod/admin.php:858
msgid "Closed"
msgstr "Gesloten"
-#: mod/admin.php:691
+#: mod/admin.php:859
msgid "Requires approval"
msgstr "Toestemming vereist"
-#: mod/admin.php:692
+#: mod/admin.php:860
msgid "Open"
msgstr "Open"
-#: mod/admin.php:696
+#: mod/admin.php:864
msgid "No SSL policy, links will track page SSL state"
msgstr "Geen SSL beleid, links zullen SSL status van pagina volgen"
-#: mod/admin.php:697
+#: mod/admin.php:865
msgid "Force all links to use SSL"
msgstr "Verplicht alle links om SSL te gebruiken"
-#: mod/admin.php:698
+#: mod/admin.php:866
msgid "Self-signed certificate, use SSL for local links only (discouraged)"
msgstr "Zelf-ondertekend certificaat, gebruik SSL alleen voor lokale links (afgeraden)"
-#: mod/admin.php:710 mod/admin.php:1268 mod/admin.php:1504 mod/admin.php:1592
-#: mod/settings.php:648 mod/settings.php:758 mod/settings.php:802
-#: mod/settings.php:871 mod/settings.php:957 mod/settings.php:1192
+#: mod/admin.php:878 mod/admin.php:1466 mod/admin.php:1714 mod/admin.php:1782
+#: mod/admin.php:1931 mod/settings.php:659 mod/settings.php:769
+#: mod/settings.php:813 mod/settings.php:882 mod/settings.php:969
+#: mod/settings.php:1204
msgid "Save Settings"
msgstr "Instellingen opslaan"
-#: mod/admin.php:711 mod/register.php:260
+#: mod/admin.php:879 mod/register.php:263
msgid "Registration"
msgstr "Registratie"
-#: mod/admin.php:712
+#: mod/admin.php:880
msgid "File upload"
msgstr "Uploaden bestand"
-#: mod/admin.php:713
+#: mod/admin.php:881
msgid "Policies"
msgstr "Beleid"
-#: mod/admin.php:714
+#: mod/admin.php:882
msgid "Advanced"
msgstr "Geavanceerd"
-#: mod/admin.php:715
+#: mod/admin.php:883
msgid "Auto Discovered Contact Directory"
msgstr ""
-#: mod/admin.php:716
+#: mod/admin.php:884
msgid "Performance"
msgstr "Performantie"
-#: mod/admin.php:717
+#: mod/admin.php:885
msgid ""
"Relocate - WARNING: advanced function. Could make this server unreachable."
msgstr ""
-#: mod/admin.php:720
+#: mod/admin.php:888
msgid "Site name"
msgstr "Site naam"
-#: mod/admin.php:721
+#: mod/admin.php:889
msgid "Host name"
msgstr ""
-#: mod/admin.php:722
+#: mod/admin.php:890
msgid "Sender Email"
msgstr ""
-#: mod/admin.php:722
+#: mod/admin.php:890
msgid ""
"The email address your server shall use to send notification emails from."
msgstr ""
-#: mod/admin.php:723
+#: mod/admin.php:891
msgid "Banner/Logo"
msgstr "Banner/Logo"
-#: mod/admin.php:724
+#: mod/admin.php:892
msgid "Shortcut icon"
msgstr ""
-#: mod/admin.php:724
+#: mod/admin.php:892
msgid "Link to an icon that will be used for browsers."
msgstr ""
-#: mod/admin.php:725
+#: mod/admin.php:893
msgid "Touch icon"
msgstr ""
-#: mod/admin.php:725
+#: mod/admin.php:893
msgid "Link to an icon that will be used for tablets and mobiles."
msgstr ""
-#: mod/admin.php:726
+#: mod/admin.php:894
msgid "Additional Info"
msgstr ""
-#: mod/admin.php:726
+#: mod/admin.php:894
#, php-format
msgid ""
"For public servers: you can add additional information here that will be "
"listed at %s/siteinfo."
msgstr ""
-#: mod/admin.php:727
+#: mod/admin.php:895
msgid "System language"
msgstr "Systeemtaal"
-#: mod/admin.php:728
+#: mod/admin.php:896
msgid "System theme"
msgstr "Systeem thema"
-#: mod/admin.php:728
+#: mod/admin.php:896
msgid ""
"Default system theme - may be over-ridden by user profiles - change theme settings"
msgstr "Standaard systeem thema - kan door gebruikersprofielen veranderd worden - verander thema instellingen"
-#: mod/admin.php:729
+#: mod/admin.php:897
msgid "Mobile system theme"
msgstr "Mobiel systeem thema"
-#: mod/admin.php:729
+#: mod/admin.php:897
msgid "Theme for mobile devices"
msgstr "Thema voor mobiele apparaten"
-#: mod/admin.php:730
+#: mod/admin.php:898
msgid "SSL link policy"
msgstr "Beleid SSL-links"
-#: mod/admin.php:730
+#: mod/admin.php:898
msgid "Determines whether generated links should be forced to use SSL"
msgstr "Bepaald of gegenereerde verwijzingen verplicht SSL moeten gebruiken"
-#: mod/admin.php:731
+#: mod/admin.php:899
msgid "Force SSL"
msgstr ""
-#: mod/admin.php:731
+#: mod/admin.php:899
msgid ""
"Force all Non-SSL requests to SSL - Attention: on some systems it could lead"
" to endless loops."
msgstr ""
-#: mod/admin.php:732
+#: mod/admin.php:900
msgid "Old style 'Share'"
msgstr ""
-#: mod/admin.php:732
+#: mod/admin.php:900
msgid "Deactivates the bbcode element 'share' for repeating items."
msgstr ""
-#: mod/admin.php:733
+#: mod/admin.php:901
msgid "Hide help entry from navigation menu"
msgstr "Verberg de 'help' uit het navigatiemenu"
-#: mod/admin.php:733
+#: mod/admin.php:901
msgid ""
"Hides the menu entry for the Help pages from the navigation menu. You can "
"still access it calling /help directly."
msgstr "Verbergt het menu-item voor de Help pagina's uit het navigatiemenu. Je kunt ze nog altijd vinden door /help direct in te geven."
-#: mod/admin.php:734
+#: mod/admin.php:902
msgid "Single user instance"
msgstr "Server voor één gebruiker"
-#: mod/admin.php:734
+#: mod/admin.php:902
msgid "Make this instance multi-user or single-user for the named user"
msgstr "Stel deze server in voor meerdere gebruikers, of enkel voor de geselecteerde gebruiker."
-#: mod/admin.php:735
+#: mod/admin.php:903
msgid "Maximum image size"
msgstr "Maximum afbeeldingsgrootte"
-#: mod/admin.php:735
+#: mod/admin.php:903
msgid ""
"Maximum size in bytes of uploaded images. Default is 0, which means no "
"limits."
msgstr "Maximum afmeting in bytes van afbeeldingen. Standaard is 0, dus geen beperking."
-#: mod/admin.php:736
+#: mod/admin.php:904
msgid "Maximum image length"
msgstr "Maximum afbeeldingslengte"
-#: mod/admin.php:736
+#: mod/admin.php:904
msgid ""
"Maximum length in pixels of the longest side of uploaded images. Default is "
"-1, which means no limits."
msgstr "Maximum lengte in pixels van de langste kant van afbeeldingen. Standaard is -1, dus geen beperkingen."
-#: mod/admin.php:737
+#: mod/admin.php:905
msgid "JPEG image quality"
msgstr "JPEG afbeeldingskwaliteit"
-#: mod/admin.php:737
+#: mod/admin.php:905
msgid ""
"Uploaded JPEGS will be saved at this quality setting [0-100]. Default is "
"100, which is full quality."
msgstr "JPEGS zullen met deze kwaliteitsinstelling bewaard worden [0-100]. Standaard is 100, dit is volledige kwaliteit."
-#: mod/admin.php:739
+#: mod/admin.php:907
msgid "Register policy"
msgstr "Registratiebeleid"
-#: mod/admin.php:740
+#: mod/admin.php:908
msgid "Maximum Daily Registrations"
msgstr "Maximum aantal registraties per dag"
-#: mod/admin.php:740
+#: mod/admin.php:908
msgid ""
"If registration is permitted above, this sets the maximum number of new user"
" registrations to accept per day. If register is set to closed, this "
"setting has no effect."
msgstr "Als registratie hierboven is toegelaten, zet dit het maximum aantal registraties van nieuwe gebruikers per dag. Als registratie niet is toegelaten heeft deze instelling geen effect."
-#: mod/admin.php:741
+#: mod/admin.php:909
msgid "Register text"
msgstr "Registratietekst"
-#: mod/admin.php:741
+#: mod/admin.php:909
msgid "Will be displayed prominently on the registration page."
msgstr "Dit zal prominent op de registratiepagina getoond worden."
-#: mod/admin.php:742
+#: mod/admin.php:910
msgid "Accounts abandoned after x days"
msgstr "Verlaten accounts na x dagen"
-#: mod/admin.php:742
+#: mod/admin.php:910
msgid ""
"Will not waste system resources polling external sites for abandonded "
"accounts. Enter 0 for no time limit."
msgstr "Dit zal geen systeembronnen verspillen aan het nakijken van externe sites voor verlaten accounts. Geef 0 is voor geen tijdslimiet."
-#: mod/admin.php:743
+#: mod/admin.php:911
msgid "Allowed friend domains"
msgstr "Toegelaten vriend domeinen"
-#: mod/admin.php:743
+#: mod/admin.php:911
msgid ""
"Comma separated list of domains which are allowed to establish friendships "
"with this site. Wildcards are accepted. Empty to allow any domains"
msgstr "Komma-gescheiden lijst van domeinen die een vriendschapsband met deze website mogen aangaan. Jokers zijn toegelaten. Laat leeg om alle domeinen toe te laten."
-#: mod/admin.php:744
+#: mod/admin.php:912
msgid "Allowed email domains"
msgstr "Toegelaten e-mail domeinen"
-#: mod/admin.php:744
+#: mod/admin.php:912
msgid ""
"Comma separated list of domains which are allowed in email addresses for "
"registrations to this site. Wildcards are accepted. Empty to allow any "
"domains"
msgstr "Door komma's gescheiden lijst met e-maildomeinen die op deze website mogen registeren. Wildcards zijn toegestaan.\nLeeg laten om alle domeinen toe te staan."
-#: mod/admin.php:745
+#: mod/admin.php:913
msgid "Block public"
msgstr "Openbare toegang blokkeren"
-#: mod/admin.php:745
+#: mod/admin.php:913
msgid ""
"Check to block public access to all otherwise public personal pages on this "
"site unless you are currently logged in."
msgstr "Kruis dit aan om alle openbare persoonlijke pagina's alleen toegankelijk te maken voor ingelogde gebruikers."
-#: mod/admin.php:746
+#: mod/admin.php:914
msgid "Force publish"
msgstr "Dwing publiceren af"
-#: mod/admin.php:746
+#: mod/admin.php:914
msgid ""
"Check to force all profiles on this site to be listed in the site directory."
msgstr "Kruis dit aan om af te dwingen dat alle profielen op deze website in de gids van deze website gepubliceerd worden."
-#: mod/admin.php:747
+#: mod/admin.php:915
msgid "Global directory URL"
msgstr ""
-#: mod/admin.php:747
+#: mod/admin.php:915
msgid ""
"URL to the global directory. If this is not set, the global directory is "
"completely unavailable to the application."
msgstr ""
-#: mod/admin.php:748
+#: mod/admin.php:916
msgid "Allow threaded items"
msgstr "Sta threads in conversaties toe"
-#: mod/admin.php:748
+#: mod/admin.php:916
msgid "Allow infinite level threading for items on this site."
msgstr "Sta oneindige niveaus threads in conversaties op deze website toe."
-#: mod/admin.php:749
+#: mod/admin.php:917
msgid "Private posts by default for new users"
msgstr "Privéberichten als standaard voor nieuwe gebruikers"
-#: mod/admin.php:749
+#: mod/admin.php:917
msgid ""
"Set default post permissions for all new members to the default privacy "
"group rather than public."
msgstr "Stel de standaardrechten van berichten voor nieuwe leden op de standaard privacygroep in, in plaats van openbaar."
-#: mod/admin.php:750
+#: mod/admin.php:918
msgid "Don't include post content in email notifications"
msgstr "De inhoud van het bericht niet insluiten bij e-mailnotificaties"
-#: mod/admin.php:750
+#: mod/admin.php:918
msgid ""
"Don't include the content of a post/comment/private message/etc. in the "
"email notifications that are sent out from this site, as a privacy measure."
msgstr "De inhoud van berichten/commentaar/privéberichten/enzovoort niet insluiten in e-mailnotificaties die door deze website verzonden worden, voor de bescherming van je privacy."
-#: mod/admin.php:751
+#: mod/admin.php:919
msgid "Disallow public access to addons listed in the apps menu."
msgstr ""
-#: mod/admin.php:751
+#: mod/admin.php:919
msgid ""
"Checking this box will restrict addons listed in the apps menu to members "
"only."
msgstr ""
-#: mod/admin.php:752
+#: mod/admin.php:920
msgid "Don't embed private images in posts"
msgstr ""
-#: mod/admin.php:752
+#: mod/admin.php:920
msgid ""
"Don't replace locally-hosted private photos in posts with an embedded copy "
"of the image. This means that contacts who receive posts containing private "
@@ -2483,208 +2488,228 @@ msgid ""
"while."
msgstr ""
-#: mod/admin.php:753
+#: mod/admin.php:921
msgid "Allow Users to set remote_self"
msgstr ""
-#: mod/admin.php:753
+#: mod/admin.php:921
msgid ""
"With checking this, every user is allowed to mark every contact as a "
"remote_self in the repair contact dialog. Setting this flag on a contact "
"causes mirroring every posting of that contact in the users stream."
msgstr ""
-#: mod/admin.php:754
+#: mod/admin.php:922
msgid "Block multiple registrations"
msgstr "Blokkeer meerdere registraties"
-#: mod/admin.php:754
+#: mod/admin.php:922
msgid "Disallow users to register additional accounts for use as pages."
msgstr "Laat niet toe dat gebruikers meerdere accounts aanmaken."
-#: mod/admin.php:755
+#: mod/admin.php:923
msgid "OpenID support"
msgstr "OpenID ondersteuning"
-#: mod/admin.php:755
+#: mod/admin.php:923
msgid "OpenID support for registration and logins."
msgstr "OpenID ondersteuning voor registraties en logins."
-#: mod/admin.php:756
+#: mod/admin.php:924
msgid "Fullname check"
msgstr "Controleer volledige naam"
-#: mod/admin.php:756
+#: mod/admin.php:924
msgid ""
"Force users to register with a space between firstname and lastname in Full "
"name, as an antispam measure"
msgstr "Verplicht gebruikers om zich te registreren met een spatie tussen voornaam en achternaam, als anti-spam maatregel"
-#: mod/admin.php:757
+#: mod/admin.php:925
msgid "UTF-8 Regular expressions"
msgstr "UTF-8 reguliere uitdrukkingen"
-#: mod/admin.php:757
+#: mod/admin.php:925
msgid "Use PHP UTF8 regular expressions"
msgstr "Gebruik PHP UTF8 reguliere uitdrukkingen"
-#: mod/admin.php:758
+#: mod/admin.php:926
msgid "Community Page Style"
msgstr ""
-#: mod/admin.php:758
+#: mod/admin.php:926
msgid ""
"Type of community page to show. 'Global community' shows every public "
"posting from an open distributed network that arrived on this server."
msgstr ""
-#: mod/admin.php:759
+#: mod/admin.php:927
msgid "Posts per user on community page"
msgstr ""
-#: mod/admin.php:759
+#: mod/admin.php:927
msgid ""
"The maximum number of posts per user on the community page. (Not valid for "
"'Global Community')"
msgstr ""
-#: mod/admin.php:760
+#: mod/admin.php:928
msgid "Enable OStatus support"
msgstr "Activeer OStatus ondersteuning"
-#: mod/admin.php:760
+#: mod/admin.php:928
msgid ""
"Provide built-in OStatus (StatusNet, GNU Social etc.) compatibility. All "
"communications in OStatus are public, so privacy warnings will be "
"occasionally displayed."
msgstr ""
-#: mod/admin.php:761
+#: mod/admin.php:929
msgid "OStatus conversation completion interval"
msgstr ""
-#: mod/admin.php:761
+#: mod/admin.php:929
msgid ""
"How often shall the poller check for new entries in OStatus conversations? "
"This can be a very ressource task."
msgstr ""
-#: mod/admin.php:762
+#: mod/admin.php:930
msgid "OStatus support can only be enabled if threading is enabled."
msgstr ""
-#: mod/admin.php:764
+#: mod/admin.php:932
msgid ""
"Diaspora support can't be enabled because Friendica was installed into a sub"
" directory."
msgstr ""
-#: mod/admin.php:765
+#: mod/admin.php:933
msgid "Enable Diaspora support"
msgstr "Activeer Diaspora ondersteuning"
-#: mod/admin.php:765
+#: mod/admin.php:933
msgid "Provide built-in Diaspora network compatibility."
msgstr "Bied ingebouwde ondersteuning voor het Diaspora netwerk."
-#: mod/admin.php:766
+#: mod/admin.php:934
msgid "Only allow Friendica contacts"
msgstr "Laat alleen Friendica contacten toe"
-#: mod/admin.php:766
+#: mod/admin.php:934
msgid ""
"All contacts must use Friendica protocols. All other built-in communication "
"protocols disabled."
msgstr "Alle contacten moeten een Friendica protocol gebruiken. Alle andere ingebouwde communicatieprotocols worden uitgeschakeld."
-#: mod/admin.php:767
+#: mod/admin.php:935
msgid "Verify SSL"
msgstr "Controleer SSL"
-#: mod/admin.php:767
+#: mod/admin.php:935
msgid ""
"If you wish, you can turn on strict certificate checking. This will mean you"
" cannot connect (at all) to self-signed SSL sites."
msgstr "Als je wilt kun je striktere certificaat controle activeren. Dit betekent dat je (totaal) niet kunt connecteren met sites die zelf-ondertekende SSL certificaten gebruiken."
-#: mod/admin.php:768
+#: mod/admin.php:936
msgid "Proxy user"
msgstr "Proxy-gebruiker"
-#: mod/admin.php:769
+#: mod/admin.php:937
msgid "Proxy URL"
msgstr "Proxy-URL"
-#: mod/admin.php:770
+#: mod/admin.php:938
msgid "Network timeout"
msgstr "Netwerk timeout"
-#: mod/admin.php:770
+#: mod/admin.php:938
msgid "Value is in seconds. Set to 0 for unlimited (not recommended)."
msgstr "Waarde is in seconden. Zet op 0 voor onbeperkt (niet aanbevolen)."
-#: mod/admin.php:771
+#: mod/admin.php:939
msgid "Delivery interval"
msgstr "Afleverinterval"
-#: mod/admin.php:771
+#: mod/admin.php:939
msgid ""
"Delay background delivery processes by this many seconds to reduce system "
"load. Recommend: 4-5 for shared hosts, 2-3 for virtual private servers. 0-1 "
"for large dedicated servers."
msgstr "Stel achtergrond processen voor aflevering een aantal seconden uit om systeembelasting te beperken. Aanbevolen: 4-5 voor gedeelde hosten, 2-3 voor virtuele privé servers, 0-1 voor grote servers."
-#: mod/admin.php:772
+#: mod/admin.php:940
msgid "Poll interval"
msgstr "Poll-interval"
-#: mod/admin.php:772
+#: mod/admin.php:940
msgid ""
"Delay background polling processes by this many seconds to reduce system "
"load. If 0, use delivery interval."
msgstr "Stel achtergrondprocessen zoveel seconden uit om de systeembelasting te beperken. Indien 0 wordt het afleverinterval gebruikt."
-#: mod/admin.php:773
+#: mod/admin.php:941
msgid "Maximum Load Average"
msgstr "Maximum gemiddelde belasting"
-#: mod/admin.php:773
+#: mod/admin.php:941
msgid ""
"Maximum system load before delivery and poll processes are deferred - "
"default 50."
msgstr "Maximum systeembelasting voordat aflever- en poll-processen uitgesteld worden - standaard 50."
-#: mod/admin.php:774
+#: mod/admin.php:942
msgid "Maximum Load Average (Frontend)"
msgstr ""
-#: mod/admin.php:774
+#: mod/admin.php:942
msgid "Maximum system load before the frontend quits service - default 50."
msgstr ""
-#: mod/admin.php:776
+#: mod/admin.php:943
+msgid "Maximum table size for optimization"
+msgstr ""
+
+#: mod/admin.php:943
+msgid ""
+"Maximum table size (in MB) for the automatic optimization - default 100 MB. "
+"Enter -1 to disable it."
+msgstr ""
+
+#: mod/admin.php:944
+msgid "Minimum level of fragmentation"
+msgstr ""
+
+#: mod/admin.php:944
+msgid ""
+"Minimum fragmenation level to start the automatic optimization - default "
+"value is 30%."
+msgstr ""
+
+#: mod/admin.php:946
msgid "Periodical check of global contacts"
msgstr ""
-#: mod/admin.php:776
+#: mod/admin.php:946
msgid ""
"If enabled, the global contacts are checked periodically for missing or "
"outdated data and the vitality of the contacts and servers."
msgstr ""
-#: mod/admin.php:777
+#: mod/admin.php:947
msgid "Days between requery"
msgstr ""
-#: mod/admin.php:777
+#: mod/admin.php:947
msgid "Number of days after which a server is requeried for his contacts."
msgstr ""
-#: mod/admin.php:778
+#: mod/admin.php:948
msgid "Discover contacts from other servers"
msgstr ""
-#: mod/admin.php:778
+#: mod/admin.php:948
msgid ""
"Periodically query other servers for contacts. You can choose between "
"'users': the users on the remote system, 'Global Contacts': active contacts "
@@ -2694,32 +2719,32 @@ msgid ""
"Global Contacts'."
msgstr ""
-#: mod/admin.php:779
+#: mod/admin.php:949
msgid "Timeframe for fetching global contacts"
msgstr ""
-#: mod/admin.php:779
+#: mod/admin.php:949
msgid ""
"When the discovery is activated, this value defines the timeframe for the "
"activity of the global contacts that are fetched from other servers."
msgstr ""
-#: mod/admin.php:780
+#: mod/admin.php:950
msgid "Search the local directory"
msgstr ""
-#: mod/admin.php:780
+#: mod/admin.php:950
msgid ""
"Search the local directory instead of the global directory. When searching "
"locally, every search will be executed on the global directory in the "
"background. This improves the search results when the search is repeated."
msgstr ""
-#: mod/admin.php:782
+#: mod/admin.php:952
msgid "Publish server information"
msgstr ""
-#: mod/admin.php:782
+#: mod/admin.php:952
msgid ""
"If enabled, general server and usage data will be published. The data "
"contains the name and version of the server, number of users with public "
@@ -2727,205 +2752,205 @@ msgid ""
" href='http://the-federation.info/'>the-federation.info for details."
msgstr ""
-#: mod/admin.php:784
+#: mod/admin.php:954
msgid "Use MySQL full text engine"
msgstr "Gebruik de tekst-zoekfunctie van MySQL"
-#: mod/admin.php:784
+#: mod/admin.php:954
msgid ""
"Activates the full text engine. Speeds up search - but can only search for "
"four and more characters."
msgstr "Activeert de zoekmotor. Dit maakt zoeken sneller, maar het kan alleen zoeken naar teksten van minstens vier letters."
-#: mod/admin.php:785
+#: mod/admin.php:955
msgid "Suppress Language"
msgstr ""
-#: mod/admin.php:785
+#: mod/admin.php:955
msgid "Suppress language information in meta information about a posting."
msgstr ""
-#: mod/admin.php:786
+#: mod/admin.php:956
msgid "Suppress Tags"
msgstr ""
-#: mod/admin.php:786
+#: mod/admin.php:956
msgid "Suppress showing a list of hashtags at the end of the posting."
msgstr ""
-#: mod/admin.php:787
+#: mod/admin.php:957
msgid "Path to item cache"
msgstr "Pad naar cache voor items"
-#: mod/admin.php:787
+#: mod/admin.php:957
msgid "The item caches buffers generated bbcode and external images."
msgstr ""
-#: mod/admin.php:788
+#: mod/admin.php:958
msgid "Cache duration in seconds"
msgstr "Cache tijdsduur in seconden"
-#: mod/admin.php:788
+#: mod/admin.php:958
msgid ""
"How long should the cache files be hold? Default value is 86400 seconds (One"
" day). To disable the item cache, set the value to -1."
msgstr ""
-#: mod/admin.php:789
+#: mod/admin.php:959
msgid "Maximum numbers of comments per post"
msgstr ""
-#: mod/admin.php:789
+#: mod/admin.php:959
msgid "How much comments should be shown for each post? Default value is 100."
msgstr ""
-#: mod/admin.php:790
+#: mod/admin.php:960
msgid "Path for lock file"
msgstr "Pad voor lock bestand"
-#: mod/admin.php:790
+#: mod/admin.php:960
msgid ""
"The lock file is used to avoid multiple pollers at one time. Only define a "
"folder here."
msgstr ""
-#: mod/admin.php:791
+#: mod/admin.php:961
msgid "Temp path"
msgstr "Tijdelijk pad"
-#: mod/admin.php:791
+#: mod/admin.php:961
msgid ""
"If you have a restricted system where the webserver can't access the system "
"temp path, enter another path here."
msgstr ""
-#: mod/admin.php:792
+#: mod/admin.php:962
msgid "Base path to installation"
msgstr "Basispad voor installatie"
-#: mod/admin.php:792
+#: mod/admin.php:962
msgid ""
"If the system cannot detect the correct path to your installation, enter the"
" correct path here. This setting should only be set if you are using a "
"restricted system and symbolic links to your webroot."
msgstr ""
-#: mod/admin.php:793
+#: mod/admin.php:963
msgid "Disable picture proxy"
msgstr ""
-#: mod/admin.php:793
+#: mod/admin.php:963
msgid ""
"The picture proxy increases performance and privacy. It shouldn't be used on"
" systems with very low bandwith."
msgstr ""
-#: mod/admin.php:794
+#: mod/admin.php:964
msgid "Enable old style pager"
msgstr ""
-#: mod/admin.php:794
+#: mod/admin.php:964
msgid ""
"The old style pager has page numbers but slows down massively the page "
"speed."
msgstr ""
-#: mod/admin.php:795
+#: mod/admin.php:965
msgid "Only search in tags"
msgstr ""
-#: mod/admin.php:795
+#: mod/admin.php:965
msgid "On large systems the text search can slow down the system extremely."
msgstr ""
-#: mod/admin.php:797
+#: mod/admin.php:967
msgid "New base url"
msgstr ""
-#: mod/admin.php:797
+#: mod/admin.php:967
msgid ""
"Change base url for this server. Sends relocate message to all DFRN contacts"
" of all users."
msgstr ""
-#: mod/admin.php:799
+#: mod/admin.php:969
msgid "RINO Encryption"
msgstr ""
-#: mod/admin.php:799
+#: mod/admin.php:969
msgid "Encryption layer between nodes."
msgstr ""
-#: mod/admin.php:800
+#: mod/admin.php:970
msgid "Embedly API key"
msgstr ""
-#: mod/admin.php:800
+#: mod/admin.php:970
msgid ""
"Embedly is used to fetch additional data for "
"web pages. This is an optional parameter."
msgstr ""
-#: mod/admin.php:818
+#: mod/admin.php:999
msgid "Update has been marked successful"
msgstr "Wijziging succesvol gemarkeerd "
-#: mod/admin.php:826
+#: mod/admin.php:1007
#, php-format
msgid "Database structure update %s was successfully applied."
msgstr ""
-#: mod/admin.php:829
+#: mod/admin.php:1010
#, php-format
msgid "Executing of database structure update %s failed with error: %s"
msgstr ""
-#: mod/admin.php:841
+#: mod/admin.php:1022
#, php-format
msgid "Executing %s failed with error: %s"
msgstr ""
-#: mod/admin.php:844
+#: mod/admin.php:1025
#, php-format
msgid "Update %s was successfully applied."
msgstr "Wijziging %s geslaagd."
-#: mod/admin.php:848
+#: mod/admin.php:1029
#, php-format
msgid "Update %s did not return a status. Unknown if it succeeded."
msgstr "Wijziging %s gaf geen status terug. We weten niet of de wijziging geslaagd is."
-#: mod/admin.php:850
+#: mod/admin.php:1031
#, php-format
msgid "There was no additional update function %s that needed to be called."
msgstr ""
-#: mod/admin.php:869
+#: mod/admin.php:1050
msgid "No failed updates."
msgstr "Geen misluke wijzigingen"
-#: mod/admin.php:870
+#: mod/admin.php:1051
msgid "Check database structure"
msgstr ""
-#: mod/admin.php:875
+#: mod/admin.php:1056
msgid "Failed Updates"
msgstr "Misluke wijzigingen"
-#: mod/admin.php:876
+#: mod/admin.php:1057
msgid ""
"This does not include updates prior to 1139, which did not return a status."
msgstr "Dit is zonder de wijzigingen voor 1139, welke geen status teruggaven."
-#: mod/admin.php:877
+#: mod/admin.php:1058
msgid "Mark success (if update was manually applied)"
msgstr "Markeren als succes (als aanpassing manueel doorgevoerd werd)"
-#: mod/admin.php:878
+#: mod/admin.php:1059
msgid "Attempt to execute this update step automatically"
msgstr "Probeer deze stap automatisch uit te voeren"
-#: mod/admin.php:910
+#: mod/admin.php:1091
#, php-format
msgid ""
"\n"
@@ -2933,7 +2958,7 @@ msgid ""
"\t\t\t\tthe administrator of %2$s has set up an account for you."
msgstr ""
-#: mod/admin.php:913
+#: mod/admin.php:1094
#, php-format
msgid ""
"\n"
@@ -2963,295 +2988,318 @@ msgid ""
"\t\t\tThank you and welcome to %4$s."
msgstr ""
-#: mod/admin.php:945 include/user.php:421
+#: mod/admin.php:1126 include/user.php:423
#, php-format
msgid "Registration details for %s"
msgstr "Registratie details voor %s"
-#: mod/admin.php:957
+#: mod/admin.php:1138
#, php-format
msgid "%s user blocked/unblocked"
msgid_plural "%s users blocked/unblocked"
msgstr[0] "%s gebruiker geblokkeerd/niet geblokkeerd"
msgstr[1] "%s gebruikers geblokkeerd/niet geblokkeerd"
-#: mod/admin.php:964
+#: mod/admin.php:1145
#, php-format
msgid "%s user deleted"
msgid_plural "%s users deleted"
msgstr[0] "%s gebruiker verwijderd"
msgstr[1] "%s gebruikers verwijderd"
-#: mod/admin.php:1003
+#: mod/admin.php:1192
#, php-format
msgid "User '%s' deleted"
msgstr "Gebruiker '%s' verwijderd"
-#: mod/admin.php:1011
+#: mod/admin.php:1200
#, php-format
msgid "User '%s' unblocked"
msgstr "Gebruiker '%s' niet meer geblokkeerd"
-#: mod/admin.php:1011
+#: mod/admin.php:1200
#, php-format
msgid "User '%s' blocked"
msgstr "Gebruiker '%s' geblokkeerd"
-#: mod/admin.php:1104
+#: mod/admin.php:1291
msgid "Add User"
msgstr "Gebruiker toevoegen"
-#: mod/admin.php:1105
+#: mod/admin.php:1292
msgid "select all"
msgstr "Alles selecteren"
-#: mod/admin.php:1106
+#: mod/admin.php:1293
msgid "User registrations waiting for confirm"
msgstr "Gebruikersregistraties wachten op een bevestiging"
-#: mod/admin.php:1107
+#: mod/admin.php:1294
msgid "User waiting for permanent deletion"
msgstr ""
-#: mod/admin.php:1108
+#: mod/admin.php:1295
msgid "Request date"
msgstr "Registratiedatum"
-#: mod/admin.php:1108 mod/admin.php:1120 mod/admin.php:1121 mod/admin.php:1136
+#: mod/admin.php:1295 mod/admin.php:1307 mod/admin.php:1308 mod/admin.php:1323
#: include/contact_selectors.php:79 include/contact_selectors.php:86
msgid "Email"
msgstr "E-mail"
-#: mod/admin.php:1109
+#: mod/admin.php:1296
msgid "No registrations."
msgstr "Geen registraties."
-#: mod/admin.php:1111
+#: mod/admin.php:1298
msgid "Deny"
msgstr "Weiger"
-#: mod/admin.php:1115
+#: mod/admin.php:1302
msgid "Site admin"
msgstr "Sitebeheerder"
-#: mod/admin.php:1116
+#: mod/admin.php:1303
msgid "Account expired"
msgstr "Account verlopen"
-#: mod/admin.php:1119
+#: mod/admin.php:1306
msgid "New User"
msgstr "Nieuwe gebruiker"
-#: mod/admin.php:1120 mod/admin.php:1121
+#: mod/admin.php:1307 mod/admin.php:1308
msgid "Register date"
msgstr "Registratiedatum"
-#: mod/admin.php:1120 mod/admin.php:1121
+#: mod/admin.php:1307 mod/admin.php:1308
msgid "Last login"
msgstr "Laatste login"
-#: mod/admin.php:1120 mod/admin.php:1121
+#: mod/admin.php:1307 mod/admin.php:1308
msgid "Last item"
msgstr "Laatste item"
-#: mod/admin.php:1120
+#: mod/admin.php:1307
msgid "Deleted since"
msgstr "Verwijderd sinds"
-#: mod/admin.php:1121 mod/settings.php:41
+#: mod/admin.php:1308 mod/settings.php:41
msgid "Account"
msgstr "Account"
-#: mod/admin.php:1123
+#: mod/admin.php:1310
msgid ""
"Selected users will be deleted!\\n\\nEverything these users had posted on "
"this site will be permanently deleted!\\n\\nAre you sure?"
msgstr "Geselecteerde gebruikers zullen verwijderd worden!\\n\\nAlles wat deze gebruikers gepost hebben op deze website zal permanent verwijderd worden!\\n\\nBen je zeker?"
-#: mod/admin.php:1124
+#: mod/admin.php:1311
msgid ""
"The user {0} will be deleted!\\n\\nEverything this user has posted on this "
"site will be permanently deleted!\\n\\nAre you sure?"
msgstr "De gebruiker {0} zal verwijderd worden!\\n\\nAlles wat deze gebruiker gepost heeft op deze website zal permanent verwijderd worden!\\n\\nBen je zeker?"
-#: mod/admin.php:1134
+#: mod/admin.php:1321
msgid "Name of the new user."
msgstr "Naam van nieuwe gebruiker"
-#: mod/admin.php:1135
+#: mod/admin.php:1322
msgid "Nickname"
msgstr "Bijnaam"
-#: mod/admin.php:1135
+#: mod/admin.php:1322
msgid "Nickname of the new user."
msgstr "Bijnaam van nieuwe gebruiker"
-#: mod/admin.php:1136
+#: mod/admin.php:1323
msgid "Email address of the new user."
msgstr "E-mailadres van nieuwe gebruiker"
-#: mod/admin.php:1169
+#: mod/admin.php:1366
#, php-format
msgid "Plugin %s disabled."
msgstr "Plugin %s uitgeschakeld."
-#: mod/admin.php:1173
+#: mod/admin.php:1370
#, php-format
msgid "Plugin %s enabled."
msgstr "Plugin %s ingeschakeld."
-#: mod/admin.php:1183 mod/admin.php:1407
+#: mod/admin.php:1381 mod/admin.php:1617
msgid "Disable"
msgstr "Uitschakelen"
-#: mod/admin.php:1185 mod/admin.php:1409
+#: mod/admin.php:1383 mod/admin.php:1619
msgid "Enable"
msgstr "Inschakelen"
-#: mod/admin.php:1208 mod/admin.php:1453
+#: mod/admin.php:1406 mod/admin.php:1664
msgid "Toggle"
msgstr "Schakelaar"
-#: mod/admin.php:1216 mod/admin.php:1463
+#: mod/admin.php:1414 mod/admin.php:1673
msgid "Author: "
msgstr "Auteur:"
-#: mod/admin.php:1217 mod/admin.php:1464
+#: mod/admin.php:1415 mod/admin.php:1674
msgid "Maintainer: "
msgstr "Onderhoud:"
-#: mod/admin.php:1269
+#: mod/admin.php:1467
msgid "Reload active plugins"
msgstr ""
-#: mod/admin.php:1367
+#: mod/admin.php:1472
+#, php-format
+msgid ""
+"There are currently no plugins available on your node. You can find the "
+"official plugin repository at %1$s and might find other interesting plugins "
+"in the open plugin registry at %2$s"
+msgstr ""
+
+#: mod/admin.php:1577
msgid "No themes found."
msgstr "Geen thema's gevonden."
-#: mod/admin.php:1445
+#: mod/admin.php:1655
msgid "Screenshot"
msgstr "Schermafdruk"
-#: mod/admin.php:1505
+#: mod/admin.php:1715
msgid "Reload active themes"
msgstr ""
-#: mod/admin.php:1509
+#: mod/admin.php:1720
+#, php-format
+msgid "No themes found on the system. They should be paced in %1$s"
+msgstr ""
+
+#: mod/admin.php:1721
msgid "[Experimental]"
msgstr "[Experimenteel]"
-#: mod/admin.php:1510
+#: mod/admin.php:1722
msgid "[Unsupported]"
msgstr "[Niet ondersteund]"
-#: mod/admin.php:1537
+#: mod/admin.php:1746
msgid "Log settings updated."
msgstr "Log instellingen gewijzigd"
-#: mod/admin.php:1593
+#: mod/admin.php:1783
msgid "Clear"
msgstr "Wis"
-#: mod/admin.php:1599
+#: mod/admin.php:1788
msgid "Enable Debugging"
msgstr ""
-#: mod/admin.php:1600
+#: mod/admin.php:1789
msgid "Log file"
msgstr "Logbestand"
-#: mod/admin.php:1600
+#: mod/admin.php:1789
msgid ""
"Must be writable by web server. Relative to your Friendica top-level "
"directory."
msgstr "De webserver moet hier kunnen schrijven. Relatief t.o.v. van de hoogste folder binnen uw Friendica-installatie."
-#: mod/admin.php:1601
+#: mod/admin.php:1790
msgid "Log level"
msgstr "Log niveau"
-#: mod/admin.php:1651 include/acl_selectors.php:347
-msgid "Close"
-msgstr "Afsluiten"
+#: mod/admin.php:1793
+msgid "PHP logging"
+msgstr ""
-#: mod/admin.php:1657
-msgid "FTP Host"
-msgstr "FTP Server"
+#: mod/admin.php:1794
+msgid ""
+"To enable logging of PHP errors and warnings you can add the following to "
+"the .htconfig.php file of your installation. The filename set in the "
+"'error_log' line is relative to the friendica top-level directory and must "
+"be writeable by the web server. The option '1' for 'log_errors' and "
+"'display_errors' is to enable these options, set to '0' to disable them."
+msgstr ""
-#: mod/admin.php:1658
-msgid "FTP Path"
-msgstr "FTP Pad"
+#: mod/admin.php:1920 mod/admin.php:1921 mod/settings.php:759
+msgid "Off"
+msgstr "Uit"
-#: mod/admin.php:1659
-msgid "FTP User"
-msgstr "FTP Gebruiker"
+#: mod/admin.php:1920 mod/admin.php:1921 mod/settings.php:759
+msgid "On"
+msgstr "Aan"
-#: mod/admin.php:1660
-msgid "FTP Password"
-msgstr "FTP wachtwoord"
+#: mod/admin.php:1921
+#, php-format
+msgid "Lock feature %s"
+msgstr ""
-#: mod/network.php:143
+#: mod/admin.php:1929
+msgid "Manage Additional Features"
+msgstr ""
+
+#: mod/network.php:146
#, php-format
msgid "Search Results For: %s"
msgstr ""
-#: mod/network.php:195 mod/search.php:25
+#: mod/network.php:191 mod/search.php:25
msgid "Remove term"
msgstr "Verwijder zoekterm"
-#: mod/network.php:204 mod/search.php:34 include/features.php:43
+#: mod/network.php:200 mod/search.php:34 include/features.php:84
msgid "Saved Searches"
msgstr "Opgeslagen zoekopdrachten"
-#: mod/network.php:205 include/group.php:279
+#: mod/network.php:201 include/group.php:293
msgid "add"
msgstr "toevoegen"
-#: mod/network.php:366
+#: mod/network.php:365
msgid "Commented Order"
msgstr "Nieuwe reacties bovenaan"
-#: mod/network.php:369
+#: mod/network.php:368
msgid "Sort by Comment Date"
msgstr "Berichten met nieuwe reacties bovenaan"
-#: mod/network.php:374
+#: mod/network.php:373
msgid "Posted Order"
msgstr "Nieuwe berichten bovenaan"
-#: mod/network.php:377
+#: mod/network.php:376
msgid "Sort by Post Date"
msgstr "Nieuwe berichten bovenaan"
-#: mod/network.php:388
+#: mod/network.php:387
msgid "Posts that mention or involve you"
msgstr "Alleen berichten die jou vermelden of op jou betrekking hebben"
-#: mod/network.php:396
+#: mod/network.php:395
msgid "New"
msgstr "Nieuw"
-#: mod/network.php:399
+#: mod/network.php:398
msgid "Activity Stream - by date"
msgstr "Activiteitenstroom - volgens datum"
-#: mod/network.php:407
+#: mod/network.php:406
msgid "Shared Links"
msgstr "Gedeelde links"
-#: mod/network.php:410
+#: mod/network.php:409
msgid "Interesting Links"
msgstr "Interessante links"
-#: mod/network.php:418
+#: mod/network.php:417
msgid "Starred"
msgstr "Met ster"
-#: mod/network.php:421
+#: mod/network.php:420
msgid "Favourite Posts"
msgstr "Favoriete berichten"
-#: mod/network.php:480
+#: mod/network.php:479
#, php-format
msgid "Warning: This group contains %s member from an insecure network."
msgid_plural ""
@@ -3259,49 +3307,31 @@ msgid_plural ""
msgstr[0] "Waarschuwing: Deze groep bevat %s lid van een onveilig netwerk."
msgstr[1] "Waarschuwing: Deze groep bevat %s leden van een onveilig netwerk."
-#: mod/network.php:483
+#: mod/network.php:482
msgid "Private messages to this group are at risk of public disclosure."
msgstr "Privéberichten naar deze groep kunnen openbaar gemaakt worden."
-#: mod/network.php:550 mod/content.php:119
+#: mod/network.php:549 mod/content.php:119
msgid "No such group"
msgstr "Zo'n groep bestaat niet"
-#: mod/network.php:567 mod/content.php:130
-msgid "Group is empty"
-msgstr "De groep is leeg"
-
-#: mod/network.php:578 mod/content.php:135
+#: mod/network.php:580 mod/content.php:135
#, php-format
msgid "Group: %s"
msgstr ""
-#: mod/network.php:596
-#, php-format
-msgid "Contact: %s"
-msgstr ""
-
-#: mod/network.php:600
+#: mod/network.php:608
msgid "Private messages to this person are at risk of public disclosure."
msgstr "Privéberichten naar deze persoon kunnen openbaar gemaakt worden."
-#: mod/network.php:605
+#: mod/network.php:613
msgid "Invalid contact."
msgstr "Ongeldig contact."
-#: mod/allfriends.php:45
+#: mod/allfriends.php:43
msgid "No friends to display."
msgstr "Geen vrienden om te laten zien."
-#: mod/allfriends.php:79 mod/common.php:122
-msgid "Forum"
-msgstr ""
-
-#: mod/allfriends.php:92
-#, php-format
-msgid "Friends of %s"
-msgstr "Vrienden van %s"
-
#: mod/events.php:71 mod/events.php:73
msgid "Event can not end before it has started."
msgstr ""
@@ -3338,31 +3368,31 @@ msgstr ""
msgid "Sat"
msgstr ""
-#: mod/events.php:208 mod/settings.php:936 include/text.php:1267
+#: mod/events.php:208 mod/settings.php:948 include/text.php:1274
msgid "Sunday"
msgstr "Zondag"
-#: mod/events.php:209 mod/settings.php:936 include/text.php:1267
+#: mod/events.php:209 mod/settings.php:948 include/text.php:1274
msgid "Monday"
msgstr "Maandag"
-#: mod/events.php:210 include/text.php:1267
+#: mod/events.php:210 include/text.php:1274
msgid "Tuesday"
msgstr "Dinsdag"
-#: mod/events.php:211 include/text.php:1267
+#: mod/events.php:211 include/text.php:1274
msgid "Wednesday"
msgstr "Woensdag"
-#: mod/events.php:212 include/text.php:1267
+#: mod/events.php:212 include/text.php:1274
msgid "Thursday"
msgstr "Donderdag"
-#: mod/events.php:213 include/text.php:1267
+#: mod/events.php:213 include/text.php:1274
msgid "Friday"
msgstr "Vrijdag"
-#: mod/events.php:214 include/text.php:1267
+#: mod/events.php:214 include/text.php:1274
msgid "Saturday"
msgstr "Zaterdag"
@@ -3382,7 +3412,7 @@ msgstr ""
msgid "Apr"
msgstr ""
-#: mod/events.php:219 mod/events.php:231 include/text.php:1271
+#: mod/events.php:219 mod/events.php:231 include/text.php:1278
msgid "May"
msgstr "Mei"
@@ -3414,47 +3444,47 @@ msgstr ""
msgid "Dec"
msgstr ""
-#: mod/events.php:227 include/text.php:1271
+#: mod/events.php:227 include/text.php:1278
msgid "January"
msgstr "Januari"
-#: mod/events.php:228 include/text.php:1271
+#: mod/events.php:228 include/text.php:1278
msgid "February"
msgstr "Februari"
-#: mod/events.php:229 include/text.php:1271
+#: mod/events.php:229 include/text.php:1278
msgid "March"
msgstr "Maart"
-#: mod/events.php:230 include/text.php:1271
+#: mod/events.php:230 include/text.php:1278
msgid "April"
msgstr "April"
-#: mod/events.php:232 include/text.php:1271
+#: mod/events.php:232 include/text.php:1278
msgid "June"
msgstr "Juni"
-#: mod/events.php:233 include/text.php:1271
+#: mod/events.php:233 include/text.php:1278
msgid "July"
msgstr "Juli"
-#: mod/events.php:234 include/text.php:1271
+#: mod/events.php:234 include/text.php:1278
msgid "August"
msgstr "Augustus"
-#: mod/events.php:235 include/text.php:1271
+#: mod/events.php:235 include/text.php:1278
msgid "September"
msgstr "September"
-#: mod/events.php:236 include/text.php:1271
+#: mod/events.php:236 include/text.php:1278
msgid "October"
msgstr "Oktober"
-#: mod/events.php:237 include/text.php:1271
+#: mod/events.php:237 include/text.php:1278
msgid "November"
msgstr "November"
-#: mod/events.php:238 include/text.php:1271
+#: mod/events.php:238 include/text.php:1278
msgid "December"
msgstr "December"
@@ -3482,11 +3512,11 @@ msgstr "l j F"
msgid "Edit event"
msgstr "Gebeurtenis bewerken"
-#: mod/events.php:421 include/text.php:1714 include/text.php:1721
+#: mod/events.php:421 include/text.php:1721 include/text.php:1728
msgid "link to source"
msgstr "Verwijzing naar bron"
-#: mod/events.php:456 include/identity.php:669 include/nav.php:79
+#: mod/events.php:456 include/identity.php:722 include/nav.php:79
#: include/nav.php:140 view/theme/diabook/theme.php:127
msgid "Events"
msgstr "Gebeurtenissen"
@@ -3499,7 +3529,7 @@ msgstr "Maak een nieuwe gebeurtenis"
msgid "Previous"
msgstr "Vorige"
-#: mod/events.php:459 mod/install.php:212
+#: mod/events.php:459 mod/install.php:220
msgid "Next"
msgstr "Volgende"
@@ -3543,9 +3573,9 @@ msgstr "Titel:"
msgid "Share this event"
msgstr "Deel deze gebeurtenis"
-#: mod/events.php:572 mod/content.php:721 mod/editpost.php:144
-#: mod/photos.php:1623 mod/photos.php:1671 mod/photos.php:1759
-#: object/Item.php:719 include/conversation.php:1217
+#: mod/events.php:572 mod/content.php:721 mod/editpost.php:145
+#: mod/photos.php:1631 mod/photos.php:1679 mod/photos.php:1767
+#: object/Item.php:719 include/conversation.php:1216
msgid "Preview"
msgstr "Voorvertoning"
@@ -3560,7 +3590,7 @@ msgid ""
"code or the translation of Friendica. Thank you all!"
msgstr ""
-#: mod/content.php:439 mod/content.php:742 mod/photos.php:1714
+#: mod/content.php:439 mod/content.php:742 mod/photos.php:1722
#: object/Item.php:133 include/conversation.php:634
msgid "Select"
msgstr "Kies"
@@ -3589,22 +3619,23 @@ msgstr[0] "%d reactie"
msgstr[1] "%d reacties"
#: mod/content.php:607 object/Item.php:421 object/Item.php:434
-#: include/text.php:1992
+#: include/text.php:1997
msgid "comment"
msgid_plural "comments"
msgstr[0] "reactie"
msgstr[1] "reacties"
-#: mod/content.php:608 boot.php:773 object/Item.php:422
-#: include/contact_widgets.php:205 include/items.php:5214
+#: mod/content.php:608 boot.php:863 object/Item.php:422
+#: include/contact_widgets.php:242 include/forums.php:110
+#: include/items.php:5184 view/theme/vier/theme.php:264
msgid "show more"
msgstr "toon meer"
-#: mod/content.php:622 mod/photos.php:1410 object/Item.php:117
+#: mod/content.php:622 mod/photos.php:1418 object/Item.php:117
msgid "Private Message"
msgstr "Privébericht"
-#: mod/content.php:686 mod/photos.php:1599 object/Item.php:253
+#: mod/content.php:686 mod/photos.php:1607 object/Item.php:253
msgid "I like this (toggle)"
msgstr "Vind ik leuk"
@@ -3612,7 +3643,7 @@ msgstr "Vind ik leuk"
msgid "like"
msgstr "leuk"
-#: mod/content.php:687 mod/photos.php:1600 object/Item.php:254
+#: mod/content.php:687 mod/photos.php:1608 object/Item.php:254
msgid "I don't like this (toggle)"
msgstr "Vind ik niet leuk"
@@ -3628,13 +3659,13 @@ msgstr "Delen"
msgid "share"
msgstr "Delen"
-#: mod/content.php:709 mod/photos.php:1619 mod/photos.php:1667
-#: mod/photos.php:1755 object/Item.php:707
+#: mod/content.php:709 mod/photos.php:1627 mod/photos.php:1675
+#: mod/photos.php:1763 object/Item.php:707
msgid "This is you"
msgstr "Dit ben jij"
-#: mod/content.php:711 mod/photos.php:1621 mod/photos.php:1669
-#: mod/photos.php:1757 boot.php:772 object/Item.php:393 object/Item.php:709
+#: mod/content.php:711 mod/photos.php:1629 mod/photos.php:1677
+#: mod/photos.php:1765 boot.php:862 object/Item.php:393 object/Item.php:709
msgid "Comment"
msgstr "Reacties"
@@ -3670,7 +3701,7 @@ msgstr "Link"
msgid "Video"
msgstr "Video"
-#: mod/content.php:730 mod/settings.php:710 object/Item.php:122
+#: mod/content.php:730 mod/settings.php:721 object/Item.php:122
#: object/Item.php:124
msgid "Edit"
msgstr "Bewerken"
@@ -3725,105 +3756,105 @@ msgstr "Dit zal je account volledig verwijderen. Dit kan niet hersteld worden al
msgid "Please enter your password for verification:"
msgstr "Voer je wachtwoord in voor verificatie:"
-#: mod/install.php:120
+#: mod/install.php:128
msgid "Friendica Communications Server - Setup"
msgstr ""
-#: mod/install.php:126
+#: mod/install.php:134
msgid "Could not connect to database."
msgstr "Kon geen toegang krijgen tot de database."
-#: mod/install.php:130
+#: mod/install.php:138
msgid "Could not create table."
msgstr "Kon tabel niet aanmaken."
-#: mod/install.php:136
+#: mod/install.php:144
msgid "Your Friendica site database has been installed."
msgstr "De database van je Friendica-website is geïnstalleerd."
-#: mod/install.php:141
+#: mod/install.php:149
msgid ""
"You may need to import the file \"database.sql\" manually using phpmyadmin "
"or mysql."
msgstr "Het kan nodig zijn om het bestand \"database.sql\" manueel te importeren met phpmyadmin of mysql."
-#: mod/install.php:142 mod/install.php:211 mod/install.php:569
+#: mod/install.php:150 mod/install.php:219 mod/install.php:577
msgid "Please see the file \"INSTALL.txt\"."
msgstr "Zie het bestand \"INSTALL.txt\"."
-#: mod/install.php:154
+#: mod/install.php:162
msgid "Database already in use."
msgstr ""
-#: mod/install.php:208
+#: mod/install.php:216
msgid "System check"
msgstr "Systeemcontrole"
-#: mod/install.php:213
+#: mod/install.php:221
msgid "Check again"
msgstr "Controleer opnieuw"
-#: mod/install.php:232
+#: mod/install.php:240
msgid "Database connection"
msgstr "Verbinding met database"
-#: mod/install.php:233
+#: mod/install.php:241
msgid ""
"In order to install Friendica we need to know how to connect to your "
"database."
msgstr "Om Friendica te kunnen installeren moet ik weten hoe ik jouw database kan bereiken."
-#: mod/install.php:234
+#: mod/install.php:242
msgid ""
"Please contact your hosting provider or site administrator if you have "
"questions about these settings."
msgstr "Neem contact op met jouw hostingprovider of websitebeheerder, wanneer je vragen hebt over deze instellingen. "
-#: mod/install.php:235
+#: mod/install.php:243
msgid ""
"The database you specify below should already exist. If it does not, please "
"create it before continuing."
msgstr "De database die je hier opgeeft zou al moeten bestaan. Maak anders de database aan voordat je verder gaat."
-#: mod/install.php:239
+#: mod/install.php:247
msgid "Database Server Name"
msgstr "Servernaam database"
-#: mod/install.php:240
+#: mod/install.php:248
msgid "Database Login Name"
msgstr "Gebruikersnaam database"
-#: mod/install.php:241
+#: mod/install.php:249
msgid "Database Login Password"
msgstr "Wachtwoord database"
-#: mod/install.php:242
+#: mod/install.php:250
msgid "Database Name"
msgstr "Naam database"
-#: mod/install.php:243 mod/install.php:282
+#: mod/install.php:251 mod/install.php:290
msgid "Site administrator email address"
msgstr "E-mailadres van de websitebeheerder"
-#: mod/install.php:243 mod/install.php:282
+#: mod/install.php:251 mod/install.php:290
msgid ""
"Your account email address must match this in order to use the web admin "
"panel."
msgstr "Het e-mailadres van je account moet hiermee overeenkomen om het administratiepaneel te kunnen gebruiken."
-#: mod/install.php:247 mod/install.php:285
+#: mod/install.php:255 mod/install.php:293
msgid "Please select a default timezone for your website"
msgstr "Selecteer een standaard tijdzone voor uw website"
-#: mod/install.php:272
+#: mod/install.php:280
msgid "Site settings"
msgstr "Website-instellingen"
-#: mod/install.php:326
+#: mod/install.php:334
msgid "Could not find a command line version of PHP in the web server PATH."
msgstr "Kan geen command-line-versie van PHP vinden in het PATH van de webserver."
-#: mod/install.php:327
+#: mod/install.php:335
msgid ""
"If you don't have a command line version of PHP installed on server, you "
"will not be able to run background polling via cron. See 'Setup the poller'"
msgstr ""
-#: mod/install.php:331
+#: mod/install.php:339
msgid "PHP executable path"
msgstr "PATH van het PHP commando"
-#: mod/install.php:331
+#: mod/install.php:339
msgid ""
"Enter full path to php executable. You can leave this blank to continue the "
"installation."
msgstr "Vul het volledige path in naar het php programma. Je kunt dit blanco laten om de installatie verder te zetten."
-#: mod/install.php:336
+#: mod/install.php:344
msgid "Command line PHP"
msgstr "PHP-opdrachtregel"
-#: mod/install.php:345
+#: mod/install.php:353
msgid "PHP executable is not the php cli binary (could be cgi-fgci version)"
msgstr ""
-#: mod/install.php:346
+#: mod/install.php:354
msgid "Found PHP version: "
msgstr "Gevonden PHP versie:"
-#: mod/install.php:348
+#: mod/install.php:356
msgid "PHP cli binary"
msgstr ""
-#: mod/install.php:359
+#: mod/install.php:367
msgid ""
"The command line version of PHP on your system does not have "
"\"register_argc_argv\" enabled."
msgstr "De command-line versie van PHP op jouw systeem heeft \"register_argc_argv\" niet geactiveerd."
-#: mod/install.php:360
+#: mod/install.php:368
msgid "This is required for message delivery to work."
msgstr "Dit is nodig om het verzenden van berichten mogelijk te maken."
-#: mod/install.php:362
+#: mod/install.php:370
msgid "PHP register_argc_argv"
msgstr "PHP register_argc_argv"
-#: mod/install.php:383
+#: mod/install.php:391
msgid ""
"Error: the \"openssl_pkey_new\" function on this system is not able to "
"generate encryption keys"
msgstr ""
-#: mod/install.php:384
+#: mod/install.php:392
msgid ""
"If running under Windows, please see "
"\"http://www.php.net/manual/en/openssl.installation.php\"."
msgstr "Zie \"http://www.php.net/manual/en/openssl.installation.php\" wanneer u Friendica onder Windows draait."
-#: mod/install.php:386
+#: mod/install.php:394
msgid "Generate encryption keys"
msgstr ""
-#: mod/install.php:393
+#: mod/install.php:401
msgid "libCurl PHP module"
msgstr "libCurl PHP module"
-#: mod/install.php:394
+#: mod/install.php:402
msgid "GD graphics PHP module"
msgstr "GD graphics PHP module"
-#: mod/install.php:395
+#: mod/install.php:403
msgid "OpenSSL PHP module"
msgstr "OpenSSL PHP module"
-#: mod/install.php:396
+#: mod/install.php:404
msgid "mysqli PHP module"
msgstr "mysqli PHP module"
-#: mod/install.php:397
+#: mod/install.php:405
msgid "mb_string PHP module"
msgstr "mb_string PHP module"
-#: mod/install.php:398
+#: mod/install.php:406
msgid "mcrypt PHP module"
msgstr ""
-#: mod/install.php:403 mod/install.php:405
+#: mod/install.php:411 mod/install.php:413
msgid "Apache mod_rewrite module"
msgstr "Apache mod_rewrite module"
-#: mod/install.php:403
+#: mod/install.php:411
msgid ""
"Error: Apache webserver mod-rewrite module is required but not installed."
msgstr "Fout: Apache-module mod-rewrite is vereist, maar niet geïnstalleerd."
-#: mod/install.php:411
+#: mod/install.php:419
msgid "Error: libCURL PHP module required but not installed."
msgstr "Fout: PHP-module libCURL is vereist, maar niet geïnstalleerd."
-#: mod/install.php:415
+#: mod/install.php:423
msgid ""
"Error: GD graphics PHP module with JPEG support required but not installed."
msgstr "Fout: PHP-module GD graphics met JPEG support is vereist, maar niet geïnstalleerd."
-#: mod/install.php:419
+#: mod/install.php:427
msgid "Error: openssl PHP module required but not installed."
msgstr "Fout: PHP-module openssl is vereist, maar niet geïnstalleerd."
-#: mod/install.php:423
+#: mod/install.php:431
msgid "Error: mysqli PHP module required but not installed."
msgstr "Fout: PHP-module mysqli is vereist, maar niet geïnstalleerd."
-#: mod/install.php:427
+#: mod/install.php:435
msgid "Error: mb_string PHP module required but not installed."
msgstr "Fout: PHP-module mb_string is vereist, maar niet geïnstalleerd."
-#: mod/install.php:431
+#: mod/install.php:439
msgid "Error: mcrypt PHP module required but not installed."
msgstr ""
-#: mod/install.php:443
+#: mod/install.php:451
msgid ""
"Function mcrypt_create_iv() is not defined. This is needed to enable RINO2 "
"encryption layer."
msgstr ""
-#: mod/install.php:445
+#: mod/install.php:453
msgid "mcrypt_create_iv() function"
msgstr ""
-#: mod/install.php:461
+#: mod/install.php:469
msgid ""
"The web installer needs to be able to create a file called \".htconfig.php\""
" in the top folder of your web server and it is unable to do so."
msgstr "Het installatieprogramma moet een bestand \".htconfig.php\" in de bovenste map van je webserver aanmaken, maar kan dit niet doen."
-#: mod/install.php:462
+#: mod/install.php:470
msgid ""
"This is most often a permission setting, as the web server may not be able "
"to write files in your folder - even if you can."
msgstr "Dit is meestal een permissieprobleem, omdat de webserver niet in staat is om in deze map bestanden weg te schrijven - ook al kun je dit zelf wel."
-#: mod/install.php:463
+#: mod/install.php:471
msgid ""
"At the end of this procedure, we will give you a text to save in a file "
"named .htconfig.php in your Friendica top folder."
msgstr "Op het einde van deze procedure zal ik je een tekst geven om te bewaren in een bestand .htconfig.php in je hoogste Friendica map."
-#: mod/install.php:464
+#: mod/install.php:472
msgid ""
"You can alternatively skip this procedure and perform a manual installation."
" Please see the file \"INSTALL.txt\" for instructions."
msgstr "Je kunt ook deze procedure overslaan, en een manuele installatie uitvoeren. Lees het bestand \"INSTALL.txt\" voor instructies."
-#: mod/install.php:467
+#: mod/install.php:475
msgid ".htconfig.php is writable"
msgstr ".htconfig.php is schrijfbaar"
-#: mod/install.php:477
+#: mod/install.php:485
msgid ""
"Friendica uses the Smarty3 template engine to render its web views. Smarty3 "
"compiles templates to PHP to speed up rendering."
msgstr "Friendica gebruikt het Smarty3 sjabloon systeem om zijn webpagina's weer te geven. Smarty3 compileert sjablonen naar PHP om de weergave te versnellen."
-#: mod/install.php:478
+#: mod/install.php:486
msgid ""
"In order to store these compiled templates, the web server needs to have "
"write access to the directory view/smarty3/ under the Friendica top level "
"folder."
msgstr "Om deze gecompileerde sjablonen op te slaan moet de webserver schrijftoegang hebben tot de folder view/smarty3, t.o.v. van de hoogste folder van je Friendica-installatie."
-#: mod/install.php:479
+#: mod/install.php:487
msgid ""
"Please ensure that the user that your web server runs as (e.g. www-data) has"
" write access to this folder."
msgstr "Zorg ervoor dat de gebruiker waaronder je webserver runt (bijv. www-data) schrijf-toegang heeft tot deze map."
-#: mod/install.php:480
+#: mod/install.php:488
msgid ""
"Note: as a security measure, you should give the web server write access to "
"view/smarty3/ only--not the template files (.tpl) that it contains."
msgstr "Opmerking: voor een goede beveiliging zou je de webserver alleen schrijf-toegang moeten geven voor de map view/smarty3 -- niet voor de template bestanden (.tpl) die in die map zitten."
-#: mod/install.php:483
+#: mod/install.php:491
msgid "view/smarty3 is writable"
msgstr "view/smarty3 is schrijfbaar"
-#: mod/install.php:499
+#: mod/install.php:507
msgid ""
"Url rewrite in .htaccess is not working. Check your server configuration."
msgstr ""
-#: mod/install.php:501
+#: mod/install.php:509
msgid "Url rewrite is working"
msgstr ""
-#: mod/install.php:518
+#: mod/install.php:526
msgid "ImageMagick PHP extension is installed"
msgstr ""
-#: mod/install.php:520
+#: mod/install.php:528
msgid "ImageMagick supports GIF"
msgstr ""
-#: mod/install.php:528
+#: mod/install.php:536
msgid ""
"The database configuration file \".htconfig.php\" could not be written. "
"Please use the enclosed text to create a configuration file in your web "
"server root."
msgstr "Het databaseconfiguratiebestand \".htconfig.php\" kon niet worden weggeschreven. Je kunt de bijgevoegde tekst gebruiken om in een configuratiebestand aan te maken in de hoogste map van je webserver."
-#: mod/install.php:567
+#: mod/install.php:575
msgid "
What next
"
msgstr "
Wat nu
"
-#: mod/install.php:568
+#: mod/install.php:576
msgid ""
"IMPORTANT: You will need to [manually] setup a scheduled task for the "
"poller."
@@ -4066,19 +4097,19 @@ msgid ""
"your site allow private mail from unknown senders."
msgstr "Als je wilt dat %s antwoordt moet je nakijken dat de privacy-instellingen op jouw website privéberichten van onbekende afzenders toelaat."
-#: mod/help.php:31
+#: mod/help.php:41
msgid "Help:"
msgstr "Help:"
-#: mod/help.php:36 include/nav.php:113 view/theme/vier/theme.php:273
+#: mod/help.php:47 include/nav.php:113 view/theme/vier/theme.php:302
msgid "Help"
msgstr "Help"
-#: mod/help.php:42 mod/p.php:16 mod/p.php:25 index.php:269
+#: mod/help.php:53 mod/p.php:16 mod/p.php:25 index.php:270
msgid "Not Found"
msgstr "Niet gevonden"
-#: mod/help.php:45 index.php:272
+#: mod/help.php:56 index.php:273
msgid "Page not found."
msgstr "Pagina niet gevonden"
@@ -4113,11 +4144,11 @@ msgstr "Uploaden van bestand mislukt."
msgid "No keywords to match. Please add keywords to your default profile."
msgstr "Geen sleutelwoorden om te zoeken. Voeg sleutelwoorden toe aan je standaard profiel."
-#: mod/match.php:83
+#: mod/match.php:84
msgid "is interested in:"
msgstr "Is geïnteresseerd in:"
-#: mod/match.php:97
+#: mod/match.php:98
msgid "Profile Match"
msgstr "Profielmatch"
@@ -4134,727 +4165,715 @@ msgstr "Niet beschikbaar"
msgid "Community"
msgstr "Website"
-#: mod/community.php:62 mod/community.php:71 mod/search.php:218
+#: mod/community.php:62 mod/community.php:71 mod/search.php:228
msgid "No results."
msgstr "Geen resultaten."
-#: mod/settings.php:34 mod/photos.php:109
+#: mod/settings.php:34 mod/photos.php:117
msgid "everybody"
msgstr "iedereen"
-#: mod/settings.php:47
-msgid "Additional features"
-msgstr "Extra functies"
-
-#: mod/settings.php:53
+#: mod/settings.php:58
msgid "Display"
msgstr "Weergave"
-#: mod/settings.php:60 mod/settings.php:853
+#: mod/settings.php:65 mod/settings.php:864
msgid "Social Networks"
msgstr "Sociale netwerken"
-#: mod/settings.php:72 include/nav.php:180
+#: mod/settings.php:79 include/nav.php:180
msgid "Delegations"
msgstr ""
-#: mod/settings.php:78
+#: mod/settings.php:86
msgid "Connected apps"
msgstr "Verbonden applicaties"
-#: mod/settings.php:84 mod/uexport.php:85
+#: mod/settings.php:93 mod/uexport.php:85
msgid "Export personal data"
msgstr "Persoonlijke gegevens exporteren"
-#: mod/settings.php:90
+#: mod/settings.php:100
msgid "Remove account"
msgstr "Account verwijderen"
-#: mod/settings.php:143
+#: mod/settings.php:153
msgid "Missing some important data!"
msgstr "Een belangrijk gegeven ontbreekt!"
-#: mod/settings.php:256
+#: mod/settings.php:266
msgid "Failed to connect with email account using the settings provided."
msgstr "Ik kon geen verbinding maken met het e-mail account met de gegeven instellingen."
-#: mod/settings.php:261
+#: mod/settings.php:271
msgid "Email settings updated."
msgstr "E-mail instellingen bijgewerkt.."
-#: mod/settings.php:276
+#: mod/settings.php:286
msgid "Features updated"
msgstr "Functies bijgewerkt"
-#: mod/settings.php:341
+#: mod/settings.php:353
msgid "Relocate message has been send to your contacts"
msgstr ""
-#: mod/settings.php:355 include/user.php:39
+#: mod/settings.php:367 include/user.php:39
msgid "Passwords do not match. Password unchanged."
msgstr "Wachtwoorden komen niet overeen. Wachtwoord niet gewijzigd."
-#: mod/settings.php:360
+#: mod/settings.php:372
msgid "Empty passwords are not allowed. Password unchanged."
msgstr "Lege wachtwoorden zijn niet toegelaten. Wachtwoord niet gewijzigd."
-#: mod/settings.php:368
+#: mod/settings.php:380
msgid "Wrong password."
msgstr "Verkeerd wachtwoord."
-#: mod/settings.php:379
+#: mod/settings.php:391
msgid "Password changed."
msgstr "Wachtwoord gewijzigd."
-#: mod/settings.php:381
+#: mod/settings.php:393
msgid "Password update failed. Please try again."
msgstr "Wachtwoord-)wijziging mislukt. Probeer opnieuw."
-#: mod/settings.php:450
+#: mod/settings.php:462
msgid " Please use a shorter name."
msgstr "Gebruik een kortere naam."
-#: mod/settings.php:452
+#: mod/settings.php:464
msgid " Name too short."
msgstr "Naam te kort."
-#: mod/settings.php:461
+#: mod/settings.php:473
msgid "Wrong Password"
msgstr "Verkeerd wachtwoord"
-#: mod/settings.php:466
+#: mod/settings.php:478
msgid " Not valid email."
msgstr "Geen geldig e-mailadres."
-#: mod/settings.php:472
+#: mod/settings.php:484
msgid " Cannot change to that email."
msgstr "Kan niet veranderen naar die e-mail."
-#: mod/settings.php:528
+#: mod/settings.php:540
msgid "Private forum has no privacy permissions. Using default privacy group."
msgstr "Privéforum/-groep heeft geen privacyrechten. De standaard privacygroep wordt gebruikt."
-#: mod/settings.php:532
+#: mod/settings.php:544
msgid "Private forum has no privacy permissions and no default privacy group."
msgstr "Privéforum/-groep heeft geen privacyrechten en geen standaard privacygroep."
-#: mod/settings.php:571
+#: mod/settings.php:583
msgid "Settings updated."
msgstr "Instellingen bijgewerkt."
-#: mod/settings.php:647 mod/settings.php:673 mod/settings.php:709
+#: mod/settings.php:658 mod/settings.php:684 mod/settings.php:720
msgid "Add application"
msgstr "Toepassing toevoegen"
-#: mod/settings.php:651 mod/settings.php:677
+#: mod/settings.php:662 mod/settings.php:688
msgid "Consumer Key"
msgstr "Gebruikerssleutel"
-#: mod/settings.php:652 mod/settings.php:678
+#: mod/settings.php:663 mod/settings.php:689
msgid "Consumer Secret"
msgstr "Gebruikersgeheim"
-#: mod/settings.php:653 mod/settings.php:679
+#: mod/settings.php:664 mod/settings.php:690
msgid "Redirect"
msgstr "Doorverwijzing"
-#: mod/settings.php:654 mod/settings.php:680
+#: mod/settings.php:665 mod/settings.php:691
msgid "Icon url"
msgstr "URL pictogram"
-#: mod/settings.php:665
+#: mod/settings.php:676
msgid "You can't edit this application."
msgstr "Je kunt deze toepassing niet wijzigen."
-#: mod/settings.php:708
+#: mod/settings.php:719
msgid "Connected Apps"
msgstr "Verbonden applicaties"
-#: mod/settings.php:712
+#: mod/settings.php:723
msgid "Client key starts with"
msgstr ""
-#: mod/settings.php:713
+#: mod/settings.php:724
msgid "No name"
msgstr "Geen naam"
-#: mod/settings.php:714
+#: mod/settings.php:725
msgid "Remove authorization"
msgstr "Verwijder authorisatie"
-#: mod/settings.php:726
+#: mod/settings.php:737
msgid "No Plugin settings configured"
msgstr ""
-#: mod/settings.php:734
+#: mod/settings.php:745
msgid "Plugin Settings"
msgstr "Plugin Instellingen"
-#: mod/settings.php:748
-msgid "Off"
-msgstr "Uit"
-
-#: mod/settings.php:748
-msgid "On"
-msgstr "Aan"
-
-#: mod/settings.php:756
+#: mod/settings.php:767
msgid "Additional Features"
msgstr "Extra functies"
-#: mod/settings.php:766 mod/settings.php:770
+#: mod/settings.php:777 mod/settings.php:781
msgid "General Social Media Settings"
msgstr ""
-#: mod/settings.php:776
+#: mod/settings.php:787
msgid "Disable intelligent shortening"
msgstr ""
-#: mod/settings.php:778
+#: mod/settings.php:789
msgid ""
"Normally the system tries to find the best link to add to shortened posts. "
"If this option is enabled then every shortened post will always point to the"
" original friendica post."
msgstr ""
-#: mod/settings.php:784
+#: mod/settings.php:795
msgid "Automatically follow any GNU Social (OStatus) followers/mentioners"
msgstr ""
-#: mod/settings.php:786
+#: mod/settings.php:797
msgid ""
"If you receive a message from an unknown OStatus user, this option decides "
"what to do. If it is checked, a new contact will be created for every "
"unknown user."
msgstr ""
-#: mod/settings.php:795
+#: mod/settings.php:806
msgid "Your legacy GNU Social account"
msgstr ""
-#: mod/settings.php:797
+#: mod/settings.php:808
msgid ""
"If you enter your old GNU Social/Statusnet account name here (in the format "
"user@domain.tld), your contacts will be added automatically. The field will "
"be emptied when done."
msgstr ""
-#: mod/settings.php:800
+#: mod/settings.php:811
msgid "Repair OStatus subscriptions"
msgstr ""
-#: mod/settings.php:809 mod/settings.php:810
+#: mod/settings.php:820 mod/settings.php:821
#, php-format
msgid "Built-in support for %s connectivity is %s"
msgstr "Ingebouwde ondersteuning voor connectiviteit met %s is %s"
-#: mod/settings.php:809 mod/dfrn_request.php:856
+#: mod/settings.php:820 mod/dfrn_request.php:865
#: include/contact_selectors.php:80
msgid "Diaspora"
msgstr "Diaspora"
-#: mod/settings.php:809 mod/settings.php:810
+#: mod/settings.php:820 mod/settings.php:821
msgid "enabled"
msgstr "ingeschakeld"
-#: mod/settings.php:809 mod/settings.php:810
+#: mod/settings.php:820 mod/settings.php:821
msgid "disabled"
msgstr "uitgeschakeld"
-#: mod/settings.php:810
+#: mod/settings.php:821
msgid "GNU Social (OStatus)"
msgstr ""
-#: mod/settings.php:846
+#: mod/settings.php:857
msgid "Email access is disabled on this site."
msgstr "E-mailtoegang is op deze website uitgeschakeld."
-#: mod/settings.php:858
+#: mod/settings.php:869
msgid "Email/Mailbox Setup"
msgstr "E-mail Instellen"
-#: mod/settings.php:859
+#: mod/settings.php:870
msgid ""
"If you wish to communicate with email contacts using this service "
"(optional), please specify how to connect to your mailbox."
msgstr "Als je wilt communiceren met e-mail contacten via deze dienst (optioneel), moet je hier opgeven hoe ik jouw mailbox kan bereiken."
-#: mod/settings.php:860
+#: mod/settings.php:871
msgid "Last successful email check:"
msgstr "Laatste succesvolle e-mail controle:"
-#: mod/settings.php:862
+#: mod/settings.php:873
msgid "IMAP server name:"
msgstr "IMAP server naam:"
-#: mod/settings.php:863
+#: mod/settings.php:874
msgid "IMAP port:"
msgstr "IMAP poort:"
-#: mod/settings.php:864
+#: mod/settings.php:875
msgid "Security:"
msgstr "Beveiliging:"
-#: mod/settings.php:864 mod/settings.php:869
+#: mod/settings.php:875 mod/settings.php:880
msgid "None"
msgstr "Geen"
-#: mod/settings.php:865
+#: mod/settings.php:876
msgid "Email login name:"
msgstr "E-mail login naam:"
-#: mod/settings.php:866
+#: mod/settings.php:877
msgid "Email password:"
msgstr "E-mail wachtwoord:"
-#: mod/settings.php:867
+#: mod/settings.php:878
msgid "Reply-to address:"
msgstr "Antwoord adres:"
-#: mod/settings.php:868
+#: mod/settings.php:879
msgid "Send public posts to all email contacts:"
msgstr "Openbare posts naar alle e-mail contacten versturen:"
-#: mod/settings.php:869
+#: mod/settings.php:880
msgid "Action after import:"
msgstr "Actie na importeren:"
-#: mod/settings.php:869
+#: mod/settings.php:880
msgid "Mark as seen"
msgstr "Als 'gelezen' markeren"
-#: mod/settings.php:869
+#: mod/settings.php:880
msgid "Move to folder"
msgstr "Naar map verplaatsen"
-#: mod/settings.php:870
+#: mod/settings.php:881
msgid "Move to folder:"
msgstr "Verplaatsen naar map:"
-#: mod/settings.php:955
+#: mod/settings.php:967
msgid "Display Settings"
msgstr "Scherminstellingen"
-#: mod/settings.php:961 mod/settings.php:979
+#: mod/settings.php:973 mod/settings.php:991
msgid "Display Theme:"
msgstr "Schermthema:"
-#: mod/settings.php:962
+#: mod/settings.php:974
msgid "Mobile Theme:"
msgstr "Mobiel thema:"
-#: mod/settings.php:963
+#: mod/settings.php:975
msgid "Update browser every xx seconds"
msgstr "Browser elke xx seconden verversen"
-#: mod/settings.php:963
-msgid "Minimum of 10 seconds, no maximum"
-msgstr "Minimum 10 seconden, geen maximum"
+#: mod/settings.php:975
+msgid "Minimum of 10 seconds. Enter -1 to disable it."
+msgstr ""
-#: mod/settings.php:964
+#: mod/settings.php:976
msgid "Number of items to display per page:"
msgstr "Aantal items te tonen per pagina:"
-#: mod/settings.php:964 mod/settings.php:965
+#: mod/settings.php:976 mod/settings.php:977
msgid "Maximum of 100 items"
msgstr "Maximum 100 items"
-#: mod/settings.php:965
+#: mod/settings.php:977
msgid "Number of items to display per page when viewed from mobile device:"
msgstr "Aantal items per pagina als je een mobiel toestel gebruikt:"
-#: mod/settings.php:966
+#: mod/settings.php:978
msgid "Don't show emoticons"
msgstr "Emoticons niet tonen"
-#: mod/settings.php:967
+#: mod/settings.php:979
msgid "Calendar"
msgstr ""
-#: mod/settings.php:968
+#: mod/settings.php:980
msgid "Beginning of week:"
msgstr ""
-#: mod/settings.php:969
+#: mod/settings.php:981
msgid "Don't show notices"
msgstr ""
-#: mod/settings.php:970
+#: mod/settings.php:982
msgid "Infinite scroll"
msgstr "Oneindig scrollen"
-#: mod/settings.php:971
+#: mod/settings.php:983
msgid "Automatic updates only at the top of the network page"
msgstr ""
-#: mod/settings.php:973 view/theme/cleanzero/config.php:82
+#: mod/settings.php:985 view/theme/cleanzero/config.php:82
#: view/theme/dispy/config.php:72 view/theme/quattro/config.php:66
#: view/theme/diabook/config.php:150 view/theme/vier/config.php:109
#: view/theme/duepuntozero/config.php:61
msgid "Theme settings"
msgstr "Thema-instellingen"
-#: mod/settings.php:1050
+#: mod/settings.php:1062
msgid "User Types"
msgstr "Gebruikerstypes"
-#: mod/settings.php:1051
+#: mod/settings.php:1063
msgid "Community Types"
msgstr "Forum/groepstypes"
-#: mod/settings.php:1052
+#: mod/settings.php:1064
msgid "Normal Account Page"
msgstr "Normale accountpagina"
-#: mod/settings.php:1053
+#: mod/settings.php:1065
msgid "This account is a normal personal profile"
msgstr "Deze account is een normaal persoonlijk profiel"
-#: mod/settings.php:1056
+#: mod/settings.php:1068
msgid "Soapbox Page"
msgstr "Zeepkist-pagina"
-#: mod/settings.php:1057
+#: mod/settings.php:1069
msgid "Automatically approve all connection/friend requests as read-only fans"
msgstr "Keur automatisch alle vriendschaps-/connectieverzoeken goed als fans met alleen recht tot lezen."
-#: mod/settings.php:1060
+#: mod/settings.php:1072
msgid "Community Forum/Celebrity Account"
msgstr "Forum/groeps- of beroemdheid-account"
-#: mod/settings.php:1061
+#: mod/settings.php:1073
msgid ""
"Automatically approve all connection/friend requests as read-write fans"
msgstr "Keur automatisch alle vriendschaps-/connectieverzoeken goed als fans met recht tot lezen en schrijven."
-#: mod/settings.php:1064
+#: mod/settings.php:1076
msgid "Automatic Friend Page"
msgstr "Automatisch Vriendschapspagina"
-#: mod/settings.php:1065
+#: mod/settings.php:1077
msgid "Automatically approve all connection/friend requests as friends"
msgstr "Keur automatisch alle vriendschaps-/connectieverzoeken goed als vrienden."
-#: mod/settings.php:1068
+#: mod/settings.php:1080
msgid "Private Forum [Experimental]"
msgstr "Privé-forum [experimenteel]"
-#: mod/settings.php:1069
+#: mod/settings.php:1081
msgid "Private forum - approved members only"
msgstr "Privé-forum - enkel voor goedgekeurde leden"
-#: mod/settings.php:1081
+#: mod/settings.php:1093
msgid "OpenID:"
msgstr "OpenID:"
-#: mod/settings.php:1081
+#: mod/settings.php:1093
msgid "(Optional) Allow this OpenID to login to this account."
msgstr "(Optioneel) Laat dit OpenID toe om in te loggen op deze account."
-#: mod/settings.php:1091
+#: mod/settings.php:1103
msgid "Publish your default profile in your local site directory?"
msgstr "Je standaardprofiel in je lokale gids publiceren?"
-#: mod/settings.php:1097
+#: mod/settings.php:1109
msgid "Publish your default profile in the global social directory?"
msgstr "Je standaardprofiel in de globale sociale gids publiceren?"
-#: mod/settings.php:1105
+#: mod/settings.php:1117
msgid "Hide your contact/friend list from viewers of your default profile?"
msgstr "Je vrienden/contacten verbergen voor bezoekers van je standaard profiel?"
-#: mod/settings.php:1109 include/acl_selectors.php:330
+#: mod/settings.php:1121 include/acl_selectors.php:331
msgid "Hide your profile details from unknown viewers?"
msgstr "Je profieldetails verbergen voor onbekende bezoekers?"
-#: mod/settings.php:1109
+#: mod/settings.php:1121
msgid ""
"If enabled, posting public messages to Diaspora and other networks isn't "
"possible."
msgstr ""
-#: mod/settings.php:1114
+#: mod/settings.php:1126
msgid "Allow friends to post to your profile page?"
msgstr "Vrienden toestaan om op jou profielpagina te posten?"
-#: mod/settings.php:1120
+#: mod/settings.php:1132
msgid "Allow friends to tag your posts?"
msgstr "Sta vrienden toe om jouw berichten te labelen?"
-#: mod/settings.php:1126
+#: mod/settings.php:1138
msgid "Allow us to suggest you as a potential friend to new members?"
msgstr "Sta je mij toe om jou als mogelijke vriend voor te stellen aan nieuwe leden?"
-#: mod/settings.php:1132
+#: mod/settings.php:1144
msgid "Permit unknown people to send you private mail?"
msgstr "Mogen onbekende personen jou privé berichten sturen?"
-#: mod/settings.php:1140
+#: mod/settings.php:1152
msgid "Profile is not published."
msgstr "Profiel is niet gepubliceerd."
-#: mod/settings.php:1148
+#: mod/settings.php:1160
#, php-format
msgid "Your Identity Address is '%s' or '%s'."
msgstr ""
-#: mod/settings.php:1155
+#: mod/settings.php:1167
msgid "Automatically expire posts after this many days:"
msgstr "Laat berichten automatisch vervallen na zo veel dagen:"
-#: mod/settings.php:1155
+#: mod/settings.php:1167
msgid "If empty, posts will not expire. Expired posts will be deleted"
msgstr "Berichten zullen niet vervallen indien leeg. Vervallen berichten zullen worden verwijderd."
-#: mod/settings.php:1156
+#: mod/settings.php:1168
msgid "Advanced expiration settings"
msgstr "Geavanceerde instellingen voor vervallen"
-#: mod/settings.php:1157
+#: mod/settings.php:1169
msgid "Advanced Expiration"
msgstr "Geavanceerd Verval:"
-#: mod/settings.php:1158
+#: mod/settings.php:1170
msgid "Expire posts:"
msgstr "Laat berichten vervallen:"
-#: mod/settings.php:1159
+#: mod/settings.php:1171
msgid "Expire personal notes:"
msgstr "Laat persoonlijke aantekeningen verlopen:"
-#: mod/settings.php:1160
+#: mod/settings.php:1172
msgid "Expire starred posts:"
msgstr "Laat berichten met ster verlopen"
-#: mod/settings.php:1161
+#: mod/settings.php:1173
msgid "Expire photos:"
msgstr "Laat foto's vervallen:"
-#: mod/settings.php:1162
+#: mod/settings.php:1174
msgid "Only expire posts by others:"
msgstr "Laat alleen berichten door anderen vervallen:"
-#: mod/settings.php:1190
+#: mod/settings.php:1202
msgid "Account Settings"
msgstr "Account Instellingen"
-#: mod/settings.php:1198
+#: mod/settings.php:1210
msgid "Password Settings"
msgstr "Wachtwoord Instellingen"
-#: mod/settings.php:1199 mod/register.php:271
+#: mod/settings.php:1211 mod/register.php:274
msgid "New Password:"
msgstr "Nieuw Wachtwoord:"
-#: mod/settings.php:1200 mod/register.php:272
+#: mod/settings.php:1212 mod/register.php:275
msgid "Confirm:"
msgstr "Bevestig:"
-#: mod/settings.php:1200
+#: mod/settings.php:1212
msgid "Leave password fields blank unless changing"
msgstr "Laat de wachtwoord-velden leeg, tenzij je het wilt veranderen"
-#: mod/settings.php:1201
+#: mod/settings.php:1213
msgid "Current Password:"
msgstr "Huidig wachtwoord:"
-#: mod/settings.php:1201 mod/settings.php:1202
+#: mod/settings.php:1213 mod/settings.php:1214
msgid "Your current password to confirm the changes"
msgstr "Je huidig wachtwoord om de wijzigingen te bevestigen"
-#: mod/settings.php:1202
+#: mod/settings.php:1214
msgid "Password:"
msgstr "Wachtwoord:"
-#: mod/settings.php:1206
+#: mod/settings.php:1218
msgid "Basic Settings"
msgstr "Basis Instellingen"
-#: mod/settings.php:1207 include/identity.php:539
+#: mod/settings.php:1219 include/identity.php:588
msgid "Full Name:"
msgstr "Volledige Naam:"
-#: mod/settings.php:1208
+#: mod/settings.php:1220
msgid "Email Address:"
msgstr "E-mailadres:"
-#: mod/settings.php:1209
+#: mod/settings.php:1221
msgid "Your Timezone:"
msgstr "Je Tijdzone:"
-#: mod/settings.php:1210
+#: mod/settings.php:1222
msgid "Your Language:"
msgstr ""
-#: mod/settings.php:1210
+#: mod/settings.php:1222
msgid ""
"Set the language we use to show you friendica interface and to send you "
"emails"
msgstr ""
-#: mod/settings.php:1211
+#: mod/settings.php:1223
msgid "Default Post Location:"
msgstr "Standaard locatie:"
-#: mod/settings.php:1212
+#: mod/settings.php:1224
msgid "Use Browser Location:"
msgstr "Gebruik Webbrowser Locatie:"
-#: mod/settings.php:1215
+#: mod/settings.php:1227
msgid "Security and Privacy Settings"
msgstr "Instellingen voor Beveiliging en Privacy"
-#: mod/settings.php:1217
+#: mod/settings.php:1229
msgid "Maximum Friend Requests/Day:"
msgstr "Maximum aantal vriendschapsverzoeken per dag:"
-#: mod/settings.php:1217 mod/settings.php:1247
+#: mod/settings.php:1229 mod/settings.php:1259
msgid "(to prevent spam abuse)"
msgstr "(om spam misbruik te voorkomen)"
-#: mod/settings.php:1218
+#: mod/settings.php:1230
msgid "Default Post Permissions"
msgstr "Standaard rechten voor nieuwe berichten"
-#: mod/settings.php:1219
+#: mod/settings.php:1231
msgid "(click to open/close)"
msgstr "(klik om te openen/sluiten)"
-#: mod/settings.php:1228 mod/photos.php:1191 mod/photos.php:1576
+#: mod/settings.php:1240 mod/photos.php:1199 mod/photos.php:1584
msgid "Show to Groups"
msgstr "Tonen aan groepen"
-#: mod/settings.php:1229 mod/photos.php:1192 mod/photos.php:1577
+#: mod/settings.php:1241 mod/photos.php:1200 mod/photos.php:1585
msgid "Show to Contacts"
msgstr "Tonen aan contacten"
-#: mod/settings.php:1230
+#: mod/settings.php:1242
msgid "Default Private Post"
msgstr "Standaard Privé Post"
-#: mod/settings.php:1231
+#: mod/settings.php:1243
msgid "Default Public Post"
msgstr "Standaard Publieke Post"
-#: mod/settings.php:1235
+#: mod/settings.php:1247
msgid "Default Permissions for New Posts"
msgstr "Standaard rechten voor nieuwe berichten"
-#: mod/settings.php:1247
+#: mod/settings.php:1259
msgid "Maximum private messages per day from unknown people:"
msgstr "Maximum aantal privé-berichten per dag van onbekende personen:"
-#: mod/settings.php:1250
+#: mod/settings.php:1262
msgid "Notification Settings"
msgstr "Notificatie Instellingen"
-#: mod/settings.php:1251
+#: mod/settings.php:1263
msgid "By default post a status message when:"
msgstr "Post automatisch een bericht op je tijdlijn wanneer:"
-#: mod/settings.php:1252
+#: mod/settings.php:1264
msgid "accepting a friend request"
msgstr "Een vriendschapsverzoek accepteren"
-#: mod/settings.php:1253
+#: mod/settings.php:1265
msgid "joining a forum/community"
msgstr "Lid worden van een groep/forum"
-#: mod/settings.php:1254
+#: mod/settings.php:1266
msgid "making an interesting profile change"
msgstr "Een interessante verandering aan je profiel"
-#: mod/settings.php:1255
+#: mod/settings.php:1267
msgid "Send a notification email when:"
msgstr "Stuur een notificatie e-mail wanneer:"
-#: mod/settings.php:1256
+#: mod/settings.php:1268
msgid "You receive an introduction"
msgstr "Je ontvangt een vriendschaps- of connectieverzoek"
-#: mod/settings.php:1257
+#: mod/settings.php:1269
msgid "Your introductions are confirmed"
msgstr "Jouw vriendschaps- of connectieverzoeken zijn bevestigd"
-#: mod/settings.php:1258
+#: mod/settings.php:1270
msgid "Someone writes on your profile wall"
msgstr "Iemand iets op je tijdlijn schrijft"
-#: mod/settings.php:1259
+#: mod/settings.php:1271
msgid "Someone writes a followup comment"
msgstr "Iemand een reactie schrijft"
-#: mod/settings.php:1260
+#: mod/settings.php:1272
msgid "You receive a private message"
msgstr "Je een privé-bericht ontvangt"
-#: mod/settings.php:1261
+#: mod/settings.php:1273
msgid "You receive a friend suggestion"
msgstr "Je een suggestie voor een vriendschap ontvangt"
-#: mod/settings.php:1262
+#: mod/settings.php:1274
msgid "You are tagged in a post"
msgstr "Je expliciet in een bericht bent genoemd"
-#: mod/settings.php:1263
+#: mod/settings.php:1275
msgid "You are poked/prodded/etc. in a post"
msgstr "Je in een bericht bent aangestoten/gepord/etc."
-#: mod/settings.php:1265
+#: mod/settings.php:1277
msgid "Activate desktop notifications"
msgstr ""
-#: mod/settings.php:1265
+#: mod/settings.php:1277
msgid "Show desktop popup on new notifications"
msgstr ""
-#: mod/settings.php:1267
+#: mod/settings.php:1279
msgid "Text-only notification emails"
msgstr ""
-#: mod/settings.php:1269
+#: mod/settings.php:1281
msgid "Send text only notification emails, without the html part"
msgstr ""
-#: mod/settings.php:1271
+#: mod/settings.php:1283
msgid "Advanced Account/Page Type Settings"
msgstr ""
-#: mod/settings.php:1272
+#: mod/settings.php:1284
msgid "Change the behaviour of this account for special situations"
msgstr ""
-#: mod/settings.php:1275
+#: mod/settings.php:1287
msgid "Relocate"
msgstr ""
-#: mod/settings.php:1276
+#: mod/settings.php:1288
msgid ""
"If you have moved this profile from another server, and some of your "
"contacts don't receive your updates, try pushing this button."
msgstr ""
-#: mod/settings.php:1277
+#: mod/settings.php:1289
msgid "Resend relocate message to contacts"
msgstr ""
-#: mod/dfrn_request.php:95
+#: mod/dfrn_request.php:96
msgid "This introduction has already been accepted."
msgstr "Verzoek is al goedgekeurd"
-#: mod/dfrn_request.php:120 mod/dfrn_request.php:518
+#: mod/dfrn_request.php:119 mod/dfrn_request.php:516
msgid "Profile location is not valid or does not contain profile information."
msgstr "Profiel is ongeldig of bevat geen informatie"
-#: mod/dfrn_request.php:125 mod/dfrn_request.php:523
+#: mod/dfrn_request.php:124 mod/dfrn_request.php:521
msgid "Warning: profile location has no identifiable owner name."
msgstr "Waarschuwing: de profiellocatie heeft geen identificeerbare eigenaar."
-#: mod/dfrn_request.php:127 mod/dfrn_request.php:525
+#: mod/dfrn_request.php:126 mod/dfrn_request.php:523
msgid "Warning: profile location has no profile photo."
msgstr "Waarschuwing: Profieladres heeft geen profielfoto."
-#: mod/dfrn_request.php:130 mod/dfrn_request.php:528
+#: mod/dfrn_request.php:129 mod/dfrn_request.php:526
#, 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"
@@ -4898,66 +4917,68 @@ msgstr "Geen geldig e-mailadres"
msgid "This account has not been configured for email. Request failed."
msgstr "Aanvraag mislukt. Dit account is niet geconfigureerd voor e-mail."
-#: mod/dfrn_request.php:463
-msgid "Unable to resolve your name at the provided location."
-msgstr "Ik kan jouw naam op het opgegeven adres niet vinden."
-
-#: mod/dfrn_request.php:476
+#: mod/dfrn_request.php:474
msgid "You have already introduced yourself here."
msgstr "Je hebt jezelf hier al voorgesteld."
-#: mod/dfrn_request.php:480
+#: mod/dfrn_request.php:478
#, php-format
msgid "Apparently you are already friends with %s."
msgstr "Blijkbaar bent u al bevriend met %s."
-#: mod/dfrn_request.php:501
+#: mod/dfrn_request.php:499
msgid "Invalid profile URL."
msgstr "Ongeldig profiel adres."
-#: mod/dfrn_request.php:507 include/follow.php:72
+#: mod/dfrn_request.php:505 include/follow.php:72
msgid "Disallowed profile URL."
msgstr "Niet toegelaten profiel adres."
-#: mod/dfrn_request.php:597
+#: mod/dfrn_request.php:596
msgid "Your introduction has been sent."
msgstr "Je verzoek is verzonden."
-#: mod/dfrn_request.php:650
+#: mod/dfrn_request.php:636
+msgid ""
+"Remote subscription can't be done for your network. Please subscribe "
+"directly on your system."
+msgstr ""
+
+#: mod/dfrn_request.php:659
msgid "Please login to confirm introduction."
msgstr "Log in om je verzoek te bevestigen."
-#: mod/dfrn_request.php:660
+#: mod/dfrn_request.php:669
msgid ""
"Incorrect identity currently logged in. Please login to "
"this profile."
msgstr "Je huidige identiteit is niet de juiste. Log met dit profiel in."
-#: mod/dfrn_request.php:674 mod/dfrn_request.php:691
+#: mod/dfrn_request.php:683 mod/dfrn_request.php:700
msgid "Confirm"
msgstr "Bevestig"
-#: mod/dfrn_request.php:686
+#: mod/dfrn_request.php:695
msgid "Hide this contact"
msgstr "Verberg dit contact"
-#: mod/dfrn_request.php:689
+#: mod/dfrn_request.php:698
#, php-format
msgid "Welcome home %s."
msgstr "Welkom terug %s."
-#: mod/dfrn_request.php:690
+#: mod/dfrn_request.php:699
#, php-format
msgid "Please confirm your introduction/connection request to %s."
msgstr "Bevestig je vriendschaps-/connectieverzoek voor %s."
-#: mod/dfrn_request.php:819
+#: mod/dfrn_request.php:828
msgid ""
"Please enter your 'Identity Address' from one of the following supported "
"communications networks:"
msgstr "Vul hier uw 'Identiteitsadres' in van een van de volgende ondersteunde communicatienetwerken:"
-#: mod/dfrn_request.php:840
+#: mod/dfrn_request.php:849
#, php-format
msgid ""
"If you are not yet a member of the free social web, ."
msgstr ""
-#: mod/dfrn_request.php:845
+#: mod/dfrn_request.php:854
msgid "Friend/Connection Request"
msgstr "Vriendschaps-/connectieverzoek"
-#: mod/dfrn_request.php:846
+#: mod/dfrn_request.php:855
msgid ""
"Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, "
"testuser@identi.ca"
msgstr "Voorbeelden: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca"
-#: mod/dfrn_request.php:854 include/contact_selectors.php:76
+#: mod/dfrn_request.php:863 include/contact_selectors.php:76
msgid "Friendica"
msgstr "Friendica"
-#: mod/dfrn_request.php:855
+#: mod/dfrn_request.php:864
msgid "StatusNet/Federated Social Web"
msgstr "StatusNet/Gefedereerde Sociale Web"
-#: mod/dfrn_request.php:857
+#: mod/dfrn_request.php:866
#, php-format
msgid ""
" - please do not use this form. Instead, enter %s into your Diaspora search"
@@ -5002,80 +5023,84 @@ msgid ""
"password: %s
You can change your password after login."
msgstr ""
-#: mod/register.php:107
+#: mod/register.php:104
+msgid "Registration successful."
+msgstr ""
+
+#: mod/register.php:110
msgid "Your registration can not be processed."
msgstr "Je registratie kan niet verwerkt worden."
-#: mod/register.php:150
+#: mod/register.php:153
msgid "Your registration is pending approval by the site owner."
msgstr "Jouw registratie wacht op goedkeuring van de beheerder."
-#: mod/register.php:188 mod/uimport.php:50
+#: mod/register.php:191 mod/uimport.php:50
msgid ""
"This site has exceeded the number of allowed daily account registrations. "
"Please try again tomorrow."
msgstr "Deze website heeft het toegelaten dagelijkse aantal registraties overschreden. Probeer morgen opnieuw."
-#: mod/register.php:216
+#: mod/register.php:219
msgid ""
"You may (optionally) fill in this form via OpenID by supplying your OpenID "
"and clicking 'Register'."
msgstr "Je kunt (optioneel) dit formulier invullen via OpenID door je OpenID in te geven en op 'Registreren' te klikken."
-#: mod/register.php:217
+#: mod/register.php:220
msgid ""
"If you are not familiar with OpenID, please leave that field blank and fill "
"in the rest of the items."
msgstr "Laat dit veld leeg als je niet vertrouwd bent met OpenID, en vul de rest van de items in."
-#: mod/register.php:218
+#: mod/register.php:221
msgid "Your OpenID (optional): "
msgstr "Je OpenID (optioneel):"
-#: mod/register.php:232
+#: mod/register.php:235
msgid "Include your profile in member directory?"
msgstr "Je profiel in de ledengids opnemen?"
-#: mod/register.php:256
+#: mod/register.php:259
msgid "Membership on this site is by invitation only."
msgstr "Lidmaatschap van deze website is uitsluitend op uitnodiging."
-#: mod/register.php:257
+#: mod/register.php:260
msgid "Your invitation ID: "
msgstr "Je uitnodigingsid:"
-#: mod/register.php:268
+#: mod/register.php:271
msgid "Your Full Name (e.g. Joe Smith, real or real-looking): "
msgstr ""
-#: mod/register.php:269
+#: mod/register.php:272
msgid "Your Email Address: "
msgstr "Je email adres:"
-#: mod/register.php:271
+#: mod/register.php:274
msgid "Leave empty for an auto generated password."
msgstr ""
-#: mod/register.php:273
+#: mod/register.php:276
msgid ""
"Choose a profile nickname. This must begin with a text character. Your "
"profile address on this site will then be "
"'nickname@$sitename'."
msgstr "Kies een bijnaam voor je profiel. Deze moet met een letter beginnen. Je profieladres op deze website zal dan 'bijnaam@$sitename' zijn."
-#: mod/register.php:274
+#: mod/register.php:277
msgid "Choose a nickname: "
msgstr "Kies een bijnaam:"
-#: mod/register.php:277 boot.php:1256 include/nav.php:108
+#: mod/register.php:280 boot.php:1379 include/nav.php:108
msgid "Register"
msgstr "Registreer"
-#: mod/register.php:283 mod/uimport.php:64
+#: mod/register.php:286 mod/uimport.php:64
msgid "Import"
msgstr "Importeren"
-#: mod/register.php:284
+#: mod/register.php:287
msgid "Import your profile to this friendica instance"
msgstr ""
@@ -5087,62 +5112,54 @@ msgstr "Systeem onbeschikbaar wegens onderhoud"
msgid "Only logged in users are permitted to perform a search."
msgstr ""
-#: mod/search.php:115
+#: mod/search.php:124
msgid "Too Many Requests"
msgstr ""
-#: mod/search.php:116
+#: mod/search.php:125
msgid "Only one search per minute is permitted for not logged in users."
msgstr ""
-#: mod/search.php:126 include/text.php:996 include/nav.php:118
+#: mod/search.php:136 include/text.php:1003 include/nav.php:118
msgid "Search"
msgstr "Zoeken"
-#: mod/search.php:224
+#: mod/search.php:234
#, php-format
msgid "Items tagged with: %s"
msgstr ""
-#: mod/search.php:226
+#: mod/search.php:236
#, php-format
msgid "Search results for: %s"
msgstr ""
-#: mod/directory.php:116 mod/profiles.php:760
-msgid "Age: "
-msgstr "Leeftijd:"
-
-#: mod/directory.php:119
-msgid "Gender: "
-msgstr "Geslacht:"
-
-#: mod/directory.php:143 include/identity.php:273 include/identity.php:561
+#: mod/directory.php:149 include/identity.php:313 include/identity.php:610
msgid "Status:"
msgstr "Tijdlijn:"
-#: mod/directory.php:145 include/identity.php:275 include/identity.php:572
+#: mod/directory.php:151 include/identity.php:315 include/identity.php:621
msgid "Homepage:"
msgstr "Website:"
-#: mod/directory.php:195 view/theme/diabook/theme.php:525
-#: view/theme/vier/theme.php:191
+#: mod/directory.php:203 view/theme/diabook/theme.php:525
+#: view/theme/vier/theme.php:205
msgid "Global Directory"
msgstr "Globale gids"
-#: mod/directory.php:197
+#: mod/directory.php:205
msgid "Find on this site"
msgstr "Op deze website zoeken"
-#: mod/directory.php:199
+#: mod/directory.php:207
msgid "Finding:"
msgstr ""
-#: mod/directory.php:201
+#: mod/directory.php:209
msgid "Site Directory"
msgstr "Websitegids"
-#: mod/directory.php:208
+#: mod/directory.php:216
msgid "No entries (some entries may be hidden)."
msgstr "Geen gegevens (sommige gegevens kunnen verborgen zijn)."
@@ -5181,14 +5198,10 @@ msgstr "Toevoegen"
msgid "No entries."
msgstr "Geen gegevens."
-#: mod/common.php:85
+#: mod/common.php:86
msgid "No contacts in common."
msgstr "Geen gedeelde contacten."
-#: mod/common.php:133
-msgid "Common Friends"
-msgstr "Gedeelde Vrienden"
-
#: mod/uexport.php:77
msgid "Export account"
msgstr "Account exporteren"
@@ -5233,12 +5246,12 @@ msgid ""
"hours."
msgstr "Geen voorstellen beschikbaar. Als dit een nieuwe website is, kun je het over 24 uur nog eens proberen."
-#: mod/suggest.php:83 mod/suggest.php:100
+#: mod/suggest.php:83 mod/suggest.php:101
msgid "Ignore/Hide"
msgstr "Negeren/Verbergen"
-#: mod/suggest.php:110 include/contact_widgets.php:35
-#: view/theme/diabook/theme.php:527 view/theme/vier/theme.php:193
+#: mod/suggest.php:111 include/contact_widgets.php:35
+#: view/theme/diabook/theme.php:527 view/theme/vier/theme.php:207
msgid "Friend Suggestions"
msgstr "Vriendschapsvoorstellen"
@@ -5270,11 +5283,11 @@ msgstr "Echtelijke staat"
msgid "Romantic Partner"
msgstr "Romantische Partner"
-#: mod/profiles.php:344 mod/photos.php:1639 include/conversation.php:508
+#: mod/profiles.php:344 mod/photos.php:1647 include/conversation.php:508
msgid "Likes"
msgstr "Houdt van"
-#: mod/profiles.php:348 mod/photos.php:1639 include/conversation.php:508
+#: mod/profiles.php:348 mod/photos.php:1647 include/conversation.php:508
msgid "Dislikes"
msgstr "Houdt niet van"
@@ -5453,7 +5466,7 @@ msgstr "Voorbeelden: Kathleen123, Kathleen Peeters, kathleen@voorbeeld.nl"
msgid "Since [date]:"
msgstr "Sinds [datum]:"
-#: mod/profiles.php:724 include/identity.php:570
+#: mod/profiles.php:724 include/identity.php:619
msgid "Sexual Preference:"
msgstr "Seksuele Voorkeur:"
@@ -5461,11 +5474,11 @@ msgstr "Seksuele Voorkeur:"
msgid "Homepage URL:"
msgstr "Adres tijdlijn:"
-#: mod/profiles.php:726 include/identity.php:574
+#: mod/profiles.php:726 include/identity.php:623
msgid "Hometown:"
msgstr "Woonplaats:"
-#: mod/profiles.php:727 include/identity.php:578
+#: mod/profiles.php:727 include/identity.php:627
msgid "Political Views:"
msgstr "Politieke standpunten:"
@@ -5481,11 +5494,11 @@ msgstr "Publieke Sleutelwoorden:"
msgid "Private Keywords:"
msgstr "Privé Sleutelwoorden:"
-#: mod/profiles.php:731 include/identity.php:586
+#: mod/profiles.php:731 include/identity.php:635
msgid "Likes:"
msgstr "Houdt van:"
-#: mod/profiles.php:732 include/identity.php:588
+#: mod/profiles.php:732 include/identity.php:637
msgid "Dislikes:"
msgstr "Houdt niet van:"
@@ -5547,27 +5560,31 @@ msgid ""
"be visible to anybody using the internet."
msgstr "Dit is jouw publiek profiel. Het kan zichtbaar zijn voor iedereen op het internet."
+#: mod/profiles.php:760
+msgid "Age: "
+msgstr "Leeftijd:"
+
#: mod/profiles.php:813
msgid "Edit/Manage Profiles"
msgstr "Wijzig/Beheer Profielen"
-#: mod/profiles.php:814 include/identity.php:231 include/identity.php:257
+#: mod/profiles.php:814 include/identity.php:260 include/identity.php:286
msgid "Change profile photo"
msgstr "Profiel foto wijzigen"
-#: mod/profiles.php:815 include/identity.php:232
+#: mod/profiles.php:815 include/identity.php:261
msgid "Create New Profile"
msgstr "Maak nieuw profiel"
-#: mod/profiles.php:826 include/identity.php:242
+#: mod/profiles.php:826 include/identity.php:271
msgid "Profile Image"
msgstr "Profiel afbeelding"
-#: mod/profiles.php:828 include/identity.php:245
+#: mod/profiles.php:828 include/identity.php:274
msgid "visible to everybody"
msgstr "zichtbaar voor iedereen"
-#: mod/profiles.php:829 include/identity.php:246
+#: mod/profiles.php:829 include/identity.php:275
msgid "Edit visibility"
msgstr "Pas zichtbaarheid aan"
@@ -5579,111 +5596,111 @@ msgstr "Item niet gevonden"
msgid "Edit post"
msgstr "Bericht bewerken"
-#: mod/editpost.php:110 include/conversation.php:1185
+#: mod/editpost.php:111 include/conversation.php:1184
msgid "upload photo"
msgstr "Foto uploaden"
-#: mod/editpost.php:111 include/conversation.php:1186
+#: mod/editpost.php:112 include/conversation.php:1185
msgid "Attach file"
msgstr "Bestand bijvoegen"
-#: mod/editpost.php:112 include/conversation.php:1187
+#: mod/editpost.php:113 include/conversation.php:1186
msgid "attach file"
msgstr "bestand bijvoegen"
-#: mod/editpost.php:114 include/conversation.php:1189
+#: mod/editpost.php:115 include/conversation.php:1188
msgid "web link"
msgstr "webadres"
-#: mod/editpost.php:115 include/conversation.php:1190
+#: mod/editpost.php:116 include/conversation.php:1189
msgid "Insert video link"
msgstr "Voeg video toe"
-#: mod/editpost.php:116 include/conversation.php:1191
+#: mod/editpost.php:117 include/conversation.php:1190
msgid "video link"
msgstr "video adres"
-#: mod/editpost.php:117 include/conversation.php:1192
+#: mod/editpost.php:118 include/conversation.php:1191
msgid "Insert audio link"
msgstr "Voeg audio adres toe"
-#: mod/editpost.php:118 include/conversation.php:1193
+#: mod/editpost.php:119 include/conversation.php:1192
msgid "audio link"
msgstr "audio adres"
-#: mod/editpost.php:119 include/conversation.php:1194
+#: mod/editpost.php:120 include/conversation.php:1193
msgid "Set your location"
msgstr "Stel uw locatie in"
-#: mod/editpost.php:120 include/conversation.php:1195
+#: mod/editpost.php:121 include/conversation.php:1194
msgid "set location"
msgstr "Stel uw locatie in"
-#: mod/editpost.php:121 include/conversation.php:1196
+#: mod/editpost.php:122 include/conversation.php:1195
msgid "Clear browser location"
msgstr "Verwijder locatie uit uw webbrowser"
-#: mod/editpost.php:122 include/conversation.php:1197
+#: mod/editpost.php:123 include/conversation.php:1196
msgid "clear location"
msgstr "Verwijder locatie uit uw webbrowser"
-#: mod/editpost.php:124 include/conversation.php:1203
+#: mod/editpost.php:125 include/conversation.php:1202
msgid "Permission settings"
msgstr "Instellingen van rechten"
-#: mod/editpost.php:132 include/acl_selectors.php:343
+#: mod/editpost.php:133 include/acl_selectors.php:344
msgid "CC: email addresses"
msgstr "CC: e-mailadressen"
-#: mod/editpost.php:133 include/conversation.php:1212
+#: mod/editpost.php:134 include/conversation.php:1211
msgid "Public post"
msgstr "Openbare post"
-#: mod/editpost.php:136 include/conversation.php:1199
+#: mod/editpost.php:137 include/conversation.php:1198
msgid "Set title"
msgstr "Titel plaatsen"
-#: mod/editpost.php:138 include/conversation.php:1201
+#: mod/editpost.php:139 include/conversation.php:1200
msgid "Categories (comma-separated list)"
msgstr "Categorieën (komma-gescheiden lijst)"
-#: mod/editpost.php:139 include/acl_selectors.php:344
+#: mod/editpost.php:140 include/acl_selectors.php:345
msgid "Example: bob@example.com, mary@example.com"
msgstr "Voorbeeld: bob@voorbeeld.nl, an@voorbeeld.be"
-#: mod/friendica.php:59
+#: mod/friendica.php:70
msgid "This is Friendica, version"
msgstr "Dit is Friendica, versie"
-#: mod/friendica.php:60
+#: mod/friendica.php:71
msgid "running at web location"
msgstr "draaiend op web-adres"
-#: mod/friendica.php:62
+#: mod/friendica.php:73
msgid ""
"Please visit Friendica.com to learn "
"more about the Friendica project."
msgstr "Bezoek Friendica.com om meer te leren over het Friendica project."
-#: mod/friendica.php:64
+#: mod/friendica.php:75
msgid "Bug reports and issues: please visit"
msgstr "Bug rapporten en problemen: bezoek"
-#: mod/friendica.php:64
+#: mod/friendica.php:75
msgid "the bugtracker at github"
msgstr ""
-#: mod/friendica.php:65
+#: mod/friendica.php:76
msgid ""
"Suggestions, praise, donations, etc. - please email \"Info\" at Friendica - "
"dot com"
msgstr "Suggesties, lof, donaties, enzovoort - stuur een e-mail naar \"info\" op Friendica - dot com"
-#: mod/friendica.php:79
+#: mod/friendica.php:90
msgid "Installed plugins/addons/apps:"
msgstr "Geïnstalleerde plugins/toepassingen:"
-#: mod/friendica.php:92
+#: mod/friendica.php:103
msgid "No installed plugins/addons/apps"
msgstr "Geen plugins of toepassingen geïnstalleerd"
@@ -5713,7 +5730,7 @@ msgstr "Privacyinformatie op afstand niet beschikbaar."
msgid "Visible to:"
msgstr "Zichtbaar voor:"
-#: mod/notes.php:46 include/identity.php:677
+#: mod/notes.php:46 include/identity.php:730
msgid "Personal Notes"
msgstr "Persoonlijke Nota's"
@@ -5771,7 +5788,7 @@ msgid "Make this post private"
msgstr "Dit bericht privé maken"
#: mod/repair_ostatus.php:14
-msgid "Resubsribing to OStatus contacts"
+msgid "Resubscribing to OStatus contacts"
msgstr ""
#: mod/repair_ostatus.php:30
@@ -5870,197 +5887,197 @@ msgid ""
"important, please visit http://friendica.com"
msgstr "Voor meer informatie over het Friendica project en waarom wij denken dat het belangrijk is kun je http://friendica.com/ bezoeken"
-#: mod/photos.php:91 include/identity.php:652
+#: mod/photos.php:99 include/identity.php:705
msgid "Photo Albums"
msgstr "Fotoalbums"
-#: mod/photos.php:92 mod/photos.php:1891
+#: mod/photos.php:100 mod/photos.php:1899
msgid "Recent Photos"
msgstr "Recente foto's"
-#: mod/photos.php:95 mod/photos.php:1312 mod/photos.php:1893
+#: mod/photos.php:103 mod/photos.php:1320 mod/photos.php:1901
msgid "Upload New Photos"
msgstr "Nieuwe foto's uploaden"
-#: mod/photos.php:173
+#: mod/photos.php:181
msgid "Contact information unavailable"
msgstr "Contactinformatie niet beschikbaar"
-#: mod/photos.php:194
+#: mod/photos.php:202
msgid "Album not found."
msgstr "Album niet gevonden"
-#: mod/photos.php:224 mod/photos.php:236 mod/photos.php:1254
+#: mod/photos.php:232 mod/photos.php:244 mod/photos.php:1262
msgid "Delete Album"
msgstr "Verwijder album"
-#: mod/photos.php:234
+#: mod/photos.php:242
msgid "Do you really want to delete this photo album and all its photos?"
msgstr "Wil je echt dit fotoalbum en alle foto's erin verwijderen?"
-#: mod/photos.php:314 mod/photos.php:325 mod/photos.php:1572
+#: mod/photos.php:322 mod/photos.php:333 mod/photos.php:1580
msgid "Delete Photo"
msgstr "Verwijder foto"
-#: mod/photos.php:323
+#: mod/photos.php:331
msgid "Do you really want to delete this photo?"
msgstr "Wil je echt deze foto verwijderen?"
-#: mod/photos.php:698
+#: mod/photos.php:706
#, php-format
msgid "%1$s was tagged in %2$s by %3$s"
msgstr "%1$s is gelabeld in %2$s door %3$s"
-#: mod/photos.php:698
+#: mod/photos.php:706
msgid "a photo"
msgstr "een foto"
-#: mod/photos.php:811
+#: mod/photos.php:819
msgid "Image file is empty."
msgstr "Afbeeldingsbestand is leeg."
-#: mod/photos.php:978
+#: mod/photos.php:986
msgid "No photos selected"
msgstr "Geen foto's geselecteerd"
-#: mod/photos.php:1139
+#: mod/photos.php:1147
#, php-format
msgid "You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."
msgstr "Je hebt %1$.2f Mbytes van %2$.2f Mbytes foto-opslagruimte gebruikt."
-#: mod/photos.php:1174
+#: mod/photos.php:1182
msgid "Upload Photos"
msgstr "Upload foto's"
-#: mod/photos.php:1178 mod/photos.php:1249
+#: mod/photos.php:1186 mod/photos.php:1257
msgid "New album name: "
msgstr "Nieuwe albumnaam: "
-#: mod/photos.php:1179
+#: mod/photos.php:1187
msgid "or existing album name: "
msgstr "of bestaande albumnaam: "
-#: mod/photos.php:1180
+#: mod/photos.php:1188
msgid "Do not show a status post for this upload"
msgstr "Toon geen bericht op je tijdlijn van deze upload"
-#: mod/photos.php:1182 mod/photos.php:1567 include/acl_selectors.php:346
+#: mod/photos.php:1190 mod/photos.php:1575 include/acl_selectors.php:347
msgid "Permissions"
msgstr "Rechten"
-#: mod/photos.php:1193
+#: mod/photos.php:1201
msgid "Private Photo"
msgstr "Privé foto"
-#: mod/photos.php:1194
+#: mod/photos.php:1202
msgid "Public Photo"
msgstr "Publieke foto"
-#: mod/photos.php:1262
+#: mod/photos.php:1270
msgid "Edit Album"
msgstr "Album wijzigen"
-#: mod/photos.php:1268
+#: mod/photos.php:1276
msgid "Show Newest First"
msgstr "Toon niewste eerst"
-#: mod/photos.php:1270
+#: mod/photos.php:1278
msgid "Show Oldest First"
msgstr "Toon oudste eerst"
-#: mod/photos.php:1298 mod/photos.php:1876
+#: mod/photos.php:1306 mod/photos.php:1884
msgid "View Photo"
msgstr "Bekijk foto"
-#: mod/photos.php:1345
+#: mod/photos.php:1353
msgid "Permission denied. Access to this item may be restricted."
msgstr "Toegang geweigerd. Toegang tot dit item is mogelijk beperkt."
-#: mod/photos.php:1347
+#: mod/photos.php:1355
msgid "Photo not available"
msgstr "Foto is niet beschikbaar"
-#: mod/photos.php:1403
+#: mod/photos.php:1411
msgid "View photo"
msgstr "Bekijk foto"
-#: mod/photos.php:1403
+#: mod/photos.php:1411
msgid "Edit photo"
msgstr "Bewerk foto"
-#: mod/photos.php:1404
+#: mod/photos.php:1412
msgid "Use as profile photo"
msgstr "Gebruik als profielfoto"
-#: mod/photos.php:1429
+#: mod/photos.php:1437
msgid "View Full Size"
msgstr "Bekijk in volledig formaat"
-#: mod/photos.php:1515
+#: mod/photos.php:1523
msgid "Tags: "
msgstr "Labels: "
-#: mod/photos.php:1518
+#: mod/photos.php:1526
msgid "[Remove any tag]"
msgstr "[Alle labels verwijderen]"
-#: mod/photos.php:1558
+#: mod/photos.php:1566
msgid "New album name"
msgstr "Nieuwe albumnaam"
-#: mod/photos.php:1559
+#: mod/photos.php:1567
msgid "Caption"
msgstr "Onderschrift"
-#: mod/photos.php:1560
+#: mod/photos.php:1568
msgid "Add a Tag"
msgstr "Een label toevoegen"
-#: mod/photos.php:1560
+#: mod/photos.php:1568
msgid ""
"Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
msgstr "Voorbeeld: @bob, @Barbara_Jansen, @jan@voorbeeld.nl, #Ardennen, #camping "
-#: mod/photos.php:1561
+#: mod/photos.php:1569
msgid "Do not rotate"
msgstr ""
-#: mod/photos.php:1562
+#: mod/photos.php:1570
msgid "Rotate CW (right)"
msgstr "Roteren met de klok mee (rechts)"
-#: mod/photos.php:1563
+#: mod/photos.php:1571
msgid "Rotate CCW (left)"
msgstr "Roteren tegen de klok in (links)"
-#: mod/photos.php:1578
+#: mod/photos.php:1586
msgid "Private photo"
msgstr "Privé foto"
-#: mod/photos.php:1579
+#: mod/photos.php:1587
msgid "Public photo"
msgstr "Publieke foto"
-#: mod/photos.php:1601 include/conversation.php:1183
+#: mod/photos.php:1609 include/conversation.php:1182
msgid "Share"
msgstr "Delen"
-#: mod/photos.php:1640 include/conversation.php:509
-#: include/conversation.php:1405
+#: mod/photos.php:1648 include/conversation.php:509
+#: include/conversation.php:1413
msgid "Attending"
msgid_plural "Attending"
msgstr[0] ""
msgstr[1] ""
-#: mod/photos.php:1640 include/conversation.php:509
+#: mod/photos.php:1648 include/conversation.php:509
msgid "Not attending"
msgstr ""
-#: mod/photos.php:1640 include/conversation.php:509
+#: mod/photos.php:1648 include/conversation.php:509
msgid "Might attend"
msgstr ""
-#: mod/photos.php:1805
+#: mod/photos.php:1813
msgid "Map"
msgstr ""
@@ -6120,60 +6137,60 @@ msgstr "Item niet beschikbaar"
msgid "Item was not found."
msgstr "Item niet gevonden"
-#: boot.php:771
+#: boot.php:861
msgid "Delete this item?"
msgstr "Dit item verwijderen?"
-#: boot.php:774
+#: boot.php:864
msgid "show fewer"
msgstr "Minder tonen"
-#: boot.php:1148
+#: boot.php:1266
#, php-format
msgid "Update %s failed. See error logs."
msgstr "Wijziging %s mislukt. Lees de error logbestanden."
-#: boot.php:1255
+#: boot.php:1378
msgid "Create a New Account"
msgstr "Nieuwe account aanmaken"
-#: boot.php:1280 include/nav.php:72
+#: boot.php:1403 include/nav.php:72
msgid "Logout"
msgstr "Uitloggen"
-#: boot.php:1283
+#: boot.php:1406
msgid "Nickname or Email address: "
msgstr "Bijnaam of e-mailadres:"
-#: boot.php:1284
+#: boot.php:1407
msgid "Password: "
msgstr "Wachtwoord:"
-#: boot.php:1285
+#: boot.php:1408
msgid "Remember me"
msgstr "Onthou me"
-#: boot.php:1288
+#: boot.php:1411
msgid "Or login using OpenID: "
msgstr "Of log in met OpenID:"
-#: boot.php:1294
+#: boot.php:1417
msgid "Forgot your password?"
msgstr "Wachtwoord vergeten?"
-#: boot.php:1297
+#: boot.php:1420
msgid "Website Terms of Service"
msgstr "Gebruikersvoorwaarden website"
-#: boot.php:1298
+#: boot.php:1421
msgid "terms of service"
msgstr "servicevoorwaarden"
-#: boot.php:1300
+#: boot.php:1423
msgid "Website Privacy Policy"
msgstr "Privacybeleid website"
-#: boot.php:1301
+#: boot.php:1424
msgid "privacy policy"
msgstr "privacybeleid"
@@ -6234,25 +6251,25 @@ msgid ""
"[pre]%s[/pre]"
msgstr ""
-#: include/dbstructure.php:152
+#: include/dbstructure.php:153
msgid "Errors encountered creating database tables."
msgstr "Tijdens het aanmaken van databasetabellen zijn fouten vastgesteld."
-#: include/dbstructure.php:210
+#: include/dbstructure.php:230
msgid "Errors encountered performing database changes."
msgstr ""
-#: include/auth.php:38
+#: include/auth.php:44
msgid "Logged out."
msgstr "Uitgelogd."
-#: include/auth.php:128 include/user.php:75
+#: include/auth.php:134 include/user.php:75
msgid ""
"We encountered a problem while logging in with the OpenID you provided. "
"Please check the correct spelling of the ID."
msgstr ""
-#: include/auth.php:128 include/user.php:75
+#: include/auth.php:134 include/user.php:75
msgid "The error message was:"
msgstr "De foutboodschap was:"
@@ -6288,7 +6305,7 @@ msgid "Examples: Robert Morgenstein, Fishing"
msgstr "Voorbeelden: Jan Peeters, Vissen"
#: include/contact_widgets.php:36 view/theme/diabook/theme.php:526
-#: view/theme/vier/theme.php:192
+#: view/theme/vier/theme.php:206
msgid "Similar Interests"
msgstr "Dezelfde interesses"
@@ -6297,205 +6314,228 @@ msgid "Random Profile"
msgstr "Willekeurig Profiel"
#: include/contact_widgets.php:38 view/theme/diabook/theme.php:528
-#: view/theme/vier/theme.php:194
+#: view/theme/vier/theme.php:208
msgid "Invite Friends"
msgstr "Vrienden uitnodigen"
-#: include/contact_widgets.php:71
+#: include/contact_widgets.php:108
msgid "Networks"
msgstr "Netwerken"
-#: include/contact_widgets.php:74
+#: include/contact_widgets.php:111
msgid "All Networks"
msgstr "Alle netwerken"
-#: include/contact_widgets.php:104 include/features.php:61
+#: include/contact_widgets.php:141 include/features.php:102
msgid "Saved Folders"
msgstr "Bewaarde Mappen"
-#: include/contact_widgets.php:107 include/contact_widgets.php:139
+#: include/contact_widgets.php:144 include/contact_widgets.php:176
msgid "Everything"
msgstr "Alles"
-#: include/contact_widgets.php:136
+#: include/contact_widgets.php:173
msgid "Categories"
msgstr "Categorieën"
-#: include/features.php:23
+#: include/contact_widgets.php:237
+#, php-format
+msgid "%d contact in common"
+msgid_plural "%d contacts in common"
+msgstr[0] "%d gedeeld contact"
+msgstr[1] "%d gedeelde contacten"
+
+#: include/features.php:63
msgid "General Features"
msgstr "Algemene functies"
-#: include/features.php:25
+#: include/features.php:65
msgid "Multiple Profiles"
msgstr "Meerdere profielen"
-#: include/features.php:25
+#: include/features.php:65
msgid "Ability to create multiple profiles"
msgstr "Mogelijkheid om meerdere profielen aan te maken"
-#: include/features.php:26
+#: include/features.php:66
msgid "Photo Location"
msgstr ""
-#: include/features.php:26
+#: include/features.php:66
msgid ""
"Photo metadata is normally stripped. This extracts the location (if present)"
" prior to stripping metadata and links it to a map."
msgstr ""
-#: include/features.php:31
+#: include/features.php:71
msgid "Post Composition Features"
msgstr "Functies voor het opstellen van berichten"
-#: include/features.php:32
+#: include/features.php:72
msgid "Richtext Editor"
msgstr "Tekstverwerker met opmaak"
-#: include/features.php:32
+#: include/features.php:72
msgid "Enable richtext editor"
msgstr "Gebruik een tekstverwerker met eenvoudige opmaakfuncties"
-#: include/features.php:33
+#: include/features.php:73
msgid "Post Preview"
msgstr "Voorvertoning bericht"
-#: include/features.php:33
+#: include/features.php:73
msgid "Allow previewing posts and comments before publishing them"
msgstr ""
-#: include/features.php:34
+#: include/features.php:74
msgid "Auto-mention Forums"
msgstr ""
-#: include/features.php:34
+#: include/features.php:74
msgid ""
"Add/remove mention when a fourm page is selected/deselected in ACL window."
msgstr ""
-#: include/features.php:39
+#: include/features.php:79
msgid "Network Sidebar Widgets"
msgstr "Zijbalkwidgets op netwerkpagina"
-#: include/features.php:40
+#: include/features.php:80
msgid "Search by Date"
msgstr "Zoeken op datum"
-#: include/features.php:40
+#: include/features.php:80
msgid "Ability to select posts by date ranges"
msgstr "Mogelijkheid om berichten te selecteren volgens datumbereik"
-#: include/features.php:41
+#: include/features.php:81 include/features.php:111
+msgid "List Forums"
+msgstr ""
+
+#: include/features.php:81
+msgid "Enable widget to display the forums your are connected with"
+msgstr ""
+
+#: include/features.php:82
msgid "Group Filter"
msgstr "Groepsfilter"
-#: include/features.php:41
+#: include/features.php:82
msgid "Enable widget to display Network posts only from selected group"
msgstr "Sta de widget toe om netwerkberichten te tonen van bepaalde groepen"
-#: include/features.php:42
+#: include/features.php:83
msgid "Network Filter"
msgstr "Netwerkfilter"
-#: include/features.php:42
+#: include/features.php:83
msgid "Enable widget to display Network posts only from selected network"
msgstr "Sta de widget toe om netwerkberichten te tonen van bepaalde netwerken"
-#: include/features.php:43
+#: include/features.php:84
msgid "Save search terms for re-use"
msgstr "Sla zoekopdrachten op voor hergebruik"
-#: include/features.php:48
+#: include/features.php:89
msgid "Network Tabs"
msgstr "Netwerktabs"
-#: include/features.php:49
+#: include/features.php:90
msgid "Network Personal Tab"
msgstr "Persoonlijke netwerktab"
-#: include/features.php:49
+#: include/features.php:90
msgid "Enable tab to display only Network posts that you've interacted on"
msgstr "Sta het toe dat de tab netwerkberichten toont waarmee je interactie had"
-#: include/features.php:50
+#: include/features.php:91
msgid "Network New Tab"
msgstr "Nieuwe netwerktab"
-#: include/features.php:50
+#: include/features.php:91
msgid "Enable tab to display only new Network posts (from the last 12 hours)"
msgstr "Laat de tab alleen nieuwe netwerkberichten tonen (van de laatste 12 uur)"
-#: include/features.php:51
+#: include/features.php:92
msgid "Network Shared Links Tab"
msgstr ""
-#: include/features.php:51
+#: include/features.php:92
msgid "Enable tab to display only Network posts with links in them"
msgstr ""
-#: include/features.php:56
+#: include/features.php:97
msgid "Post/Comment Tools"
msgstr "Bericht-/reactiehulpmiddelen"
-#: include/features.php:57
+#: include/features.php:98
msgid "Multiple Deletion"
msgstr "Meervoudige verwijdering"
-#: include/features.php:57
+#: include/features.php:98
msgid "Select and delete multiple posts/comments at once"
msgstr "Selecteer en verwijder meerdere berichten/reacties in een keer"
-#: include/features.php:58
+#: include/features.php:99
msgid "Edit Sent Posts"
msgstr "Bewerk verzonden berichten"
-#: include/features.php:58
+#: include/features.php:99
msgid "Edit and correct posts and comments after sending"
msgstr "Bewerk en corrigeer berichten en reacties na verzending"
-#: include/features.php:59
+#: include/features.php:100
msgid "Tagging"
msgstr "Labelen"
-#: include/features.php:59
+#: include/features.php:100
msgid "Ability to tag existing posts"
msgstr "Mogelijkheid om bestaande berichten te labelen"
-#: include/features.php:60
+#: include/features.php:101
msgid "Post Categories"
msgstr "Categorieën berichten"
-#: include/features.php:60
+#: include/features.php:101
msgid "Add categories to your posts"
msgstr "Voeg categorieën toe aan je berichten"
-#: include/features.php:61
+#: include/features.php:102
msgid "Ability to file posts under folders"
msgstr "Mogelijkheid om berichten in mappen te bewaren"
-#: include/features.php:62
+#: include/features.php:103
msgid "Dislike Posts"
msgstr "Vind berichten niet leuk"
-#: include/features.php:62
+#: include/features.php:103
msgid "Ability to dislike posts/comments"
msgstr "Mogelijkheid om berichten of reacties niet leuk te vinden"
-#: include/features.php:63
+#: include/features.php:104
msgid "Star Posts"
msgstr "Geef berichten een ster"
-#: include/features.php:63
+#: include/features.php:104
msgid "Ability to mark special posts with a star indicator"
msgstr ""
-#: include/features.php:64
+#: include/features.php:105
msgid "Mute Post Notifications"
msgstr ""
-#: include/features.php:64
+#: include/features.php:105
msgid "Ability to mute notifications for a thread"
msgstr ""
+#: include/features.php:110
+msgid "Advanced Profile Settings"
+msgstr ""
+
+#: include/features.php:111
+msgid "Show visitors public community forums at the Advanced Profile Page"
+msgstr ""
+
#: include/follow.php:77
msgid "Connect URL missing."
msgstr ""
@@ -6562,23 +6602,27 @@ msgstr "Een verwijderde groep met deze naam is weer tot leven gewekt. Bestaande
msgid "Default privacy group for new contacts"
msgstr ""
-#: include/group.php:228
+#: include/group.php:239
msgid "Everybody"
msgstr "Iedereen"
-#: include/group.php:251
+#: include/group.php:262
msgid "edit"
msgstr "verander"
-#: include/group.php:273
+#: include/group.php:285
+msgid "Edit groups"
+msgstr ""
+
+#: include/group.php:287
msgid "Edit group"
msgstr "Verander groep"
-#: include/group.php:274
+#: include/group.php:288
msgid "Create a new group"
msgstr "Maak nieuwe groep"
-#: include/group.php:277
+#: include/group.php:291
msgid "Contacts not in any group"
msgstr ""
@@ -6647,180 +6691,208 @@ msgstr "secondes"
msgid "%1$d %2$s ago"
msgstr "%1$d %2$s geleden"
-#: include/datetime.php:474 include/items.php:2484
+#: include/datetime.php:474 include/items.php:2477
#, php-format
msgid "%s's birthday"
msgstr "%s's verjaardag"
-#: include/datetime.php:475 include/items.php:2485
+#: include/datetime.php:475 include/items.php:2478
#, php-format
msgid "Happy Birthday %s"
msgstr "Gefeliciteerd %s"
-#: include/identity.php:38
+#: include/identity.php:42
msgid "Requested account is not available."
msgstr "Gevraagde account is niet beschikbaar."
-#: include/identity.php:121 include/identity.php:255 include/identity.php:608
+#: include/identity.php:95 include/identity.php:284 include/identity.php:662
msgid "Edit profile"
msgstr "Bewerk profiel"
-#: include/identity.php:220
+#: include/identity.php:244
+msgid "Atom feed"
+msgstr ""
+
+#: include/identity.php:249
msgid "Message"
msgstr "Bericht"
-#: include/identity.php:226 include/nav.php:185
+#: include/identity.php:255 include/nav.php:185
msgid "Profiles"
msgstr "Profielen"
-#: include/identity.php:226
+#: include/identity.php:255
msgid "Manage/edit profiles"
msgstr "Beheer/wijzig profielen"
-#: include/identity.php:342
-msgid "Network:"
-msgstr ""
-
-#: include/identity.php:374 include/identity.php:460
+#: include/identity.php:425 include/identity.php:509
msgid "g A l F d"
msgstr "G l j F"
-#: include/identity.php:375 include/identity.php:461
+#: include/identity.php:426 include/identity.php:510
msgid "F d"
msgstr "d F"
-#: include/identity.php:420 include/identity.php:507
+#: include/identity.php:471 include/identity.php:556
msgid "[today]"
msgstr "[vandaag]"
-#: include/identity.php:432
+#: include/identity.php:483
msgid "Birthday Reminders"
msgstr "Verjaardagsherinneringen"
-#: include/identity.php:433
+#: include/identity.php:484
msgid "Birthdays this week:"
msgstr "Verjaardagen deze week:"
-#: include/identity.php:494
+#: include/identity.php:543
msgid "[No description]"
msgstr "[Geen omschrijving]"
-#: include/identity.php:518
+#: include/identity.php:567
msgid "Event Reminders"
msgstr "Gebeurtenisherinneringen"
-#: include/identity.php:519
+#: include/identity.php:568
msgid "Events this week:"
msgstr "Gebeurtenissen deze week:"
-#: include/identity.php:546
+#: include/identity.php:595
msgid "j F, Y"
msgstr "F j Y"
-#: include/identity.php:547
+#: include/identity.php:596
msgid "j F"
msgstr "F j"
-#: include/identity.php:554
+#: include/identity.php:603
msgid "Birthday:"
msgstr "Verjaardag:"
-#: include/identity.php:558
+#: include/identity.php:607
msgid "Age:"
msgstr "Leeftijd:"
-#: include/identity.php:567
+#: include/identity.php:616
#, php-format
msgid "for %1$d %2$s"
msgstr "voor %1$d %2$s"
-#: include/identity.php:580
+#: include/identity.php:629
msgid "Religion:"
msgstr "Religie:"
-#: include/identity.php:584
+#: include/identity.php:633
msgid "Hobbies/Interests:"
msgstr "Hobby:"
-#: include/identity.php:591
+#: include/identity.php:640
msgid "Contact information and Social Networks:"
msgstr "Contactinformatie en sociale netwerken:"
-#: include/identity.php:593
+#: include/identity.php:642
msgid "Musical interests:"
msgstr "Muzikale interesse "
-#: include/identity.php:595
+#: include/identity.php:644
msgid "Books, literature:"
msgstr "Boeken, literatuur:"
-#: include/identity.php:597
+#: include/identity.php:646
msgid "Television:"
msgstr "Televisie"
-#: include/identity.php:599
+#: include/identity.php:648
msgid "Film/dance/culture/entertainment:"
msgstr "Film/dans/cultuur/ontspanning:"
-#: include/identity.php:601
+#: include/identity.php:650
msgid "Love/Romance:"
msgstr "Liefde/romance:"
-#: include/identity.php:603
+#: include/identity.php:652
msgid "Work/employment:"
msgstr "Werk/beroep:"
-#: include/identity.php:605
+#: include/identity.php:654
msgid "School/education:"
msgstr "School/opleiding:"
-#: include/identity.php:633 include/nav.php:75
-msgid "Status"
-msgstr "Tijdlijn"
+#: include/identity.php:658
+msgid "Forums:"
+msgstr ""
-#: include/identity.php:636
-msgid "Status Messages and Posts"
-msgstr "Berichten op jouw tijdlijn"
-
-#: include/identity.php:644
-msgid "Profile Details"
-msgstr "Profieldetails"
-
-#: include/identity.php:657 include/identity.php:660 include/nav.php:78
+#: include/identity.php:710 include/identity.php:713 include/nav.php:78
msgid "Videos"
msgstr "Video's"
-#: include/identity.php:672 include/nav.php:140
+#: include/identity.php:725 include/nav.php:140
msgid "Events and Calendar"
msgstr "Gebeurtenissen en kalender"
-#: include/identity.php:680
+#: include/identity.php:733
msgid "Only You Can See This"
msgstr "Alleen jij kunt dit zien"
-#: include/acl_selectors.php:324
+#: include/like.php:167 include/conversation.php:122
+#: include/conversation.php:258 include/text.php:1991
+#: view/theme/diabook/theme.php:463
+msgid "event"
+msgstr "gebeurtenis"
+
+#: include/like.php:184 include/conversation.php:141 include/diaspora.php:2163
+#: view/theme/diabook/theme.php:480
+#, php-format
+msgid "%1$s likes %2$s's %3$s"
+msgstr "%1$s vindt het %3$s van %2$s leuk"
+
+#: include/like.php:186 include/conversation.php:144
+#, php-format
+msgid "%1$s doesn't like %2$s's %3$s"
+msgstr "%1$s vindt het %3$s van %2$s niet leuk"
+
+#: include/like.php:188
+#, php-format
+msgid "%1$s is attending %2$s's %3$s"
+msgstr ""
+
+#: include/like.php:190
+#, php-format
+msgid "%1$s is not attending %2$s's %3$s"
+msgstr ""
+
+#: include/like.php:192
+#, php-format
+msgid "%1$s may attend %2$s's %3$s"
+msgstr ""
+
+#: include/acl_selectors.php:325
msgid "Post to Email"
msgstr "Verzenden per e-mail"
-#: include/acl_selectors.php:329
+#: include/acl_selectors.php:330
#, php-format
msgid "Connectors disabled, since \"%s\" is enabled."
msgstr ""
-#: include/acl_selectors.php:335
+#: include/acl_selectors.php:336
msgid "Visible to everybody"
msgstr "Zichtbaar voor iedereen"
-#: include/acl_selectors.php:336 view/theme/diabook/config.php:142
+#: include/acl_selectors.php:337 view/theme/diabook/config.php:142
#: view/theme/diabook/theme.php:621 view/theme/vier/config.php:103
msgid "show"
msgstr "tonen"
-#: include/acl_selectors.php:337 view/theme/diabook/config.php:142
+#: include/acl_selectors.php:338 view/theme/diabook/config.php:142
#: view/theme/diabook/theme.php:621 view/theme/vier/config.php:103
msgid "don't show"
msgstr "niet tonen"
+#: include/acl_selectors.php:348
+msgid "Close"
+msgstr "Afsluiten"
+
#: include/message.php:15 include/message.php:173
msgid "[no subject]"
msgstr "[geen onderwerp]"
@@ -6829,31 +6901,31 @@ msgstr "[geen onderwerp]"
msgid "stopped following"
msgstr ""
-#: include/Contact.php:334 include/conversation.php:911
+#: include/Contact.php:337 include/conversation.php:911
msgid "View Status"
msgstr "Bekijk status"
-#: include/Contact.php:336 include/conversation.php:913
+#: include/Contact.php:339 include/conversation.php:913
msgid "View Photos"
msgstr "Bekijk foto's"
-#: include/Contact.php:337 include/conversation.php:914
+#: include/Contact.php:340 include/conversation.php:914
msgid "Network Posts"
msgstr "Netwerkberichten"
-#: include/Contact.php:338 include/conversation.php:915
+#: include/Contact.php:341 include/conversation.php:915
msgid "Edit Contact"
msgstr "Bewerk contact"
-#: include/Contact.php:339
+#: include/Contact.php:342
msgid "Drop Contact"
msgstr "Verwijder contact"
-#: include/Contact.php:340 include/conversation.php:916
+#: include/Contact.php:343 include/conversation.php:916
msgid "Send PM"
msgstr "Stuur een privébericht"
-#: include/Contact.php:341 include/conversation.php:920
+#: include/Contact.php:344 include/conversation.php:920
msgid "Poke"
msgstr "Aanstoten"
@@ -6916,406 +6988,407 @@ msgstr "Geselecteerde items verwijderen"
msgid "Follow Thread"
msgstr "Conversatie volgen"
-#: include/conversation.php:1035
+#: include/conversation.php:1034
#, php-format
msgid "%s likes this."
msgstr "%s vindt dit leuk."
-#: include/conversation.php:1038
+#: include/conversation.php:1037
#, php-format
msgid "%s doesn't like this."
msgstr "%s vindt dit niet leuk."
-#: include/conversation.php:1041
+#: include/conversation.php:1040
#, php-format
msgid "%s attends."
msgstr ""
-#: include/conversation.php:1044
+#: include/conversation.php:1043
#, php-format
msgid "%s doesn't attend."
msgstr ""
-#: include/conversation.php:1047
+#: include/conversation.php:1046
#, php-format
msgid "%s attends maybe."
msgstr ""
-#: include/conversation.php:1057
+#: include/conversation.php:1056
msgid "and"
msgstr "en"
-#: include/conversation.php:1063
+#: include/conversation.php:1062
#, php-format
msgid ", and %d other people"
msgstr ", en %d andere mensen"
-#: include/conversation.php:1072
+#: include/conversation.php:1071
#, php-format
msgid "%2$d people like this"
msgstr "%2$d mensen vinden dit leuk"
-#: include/conversation.php:1073
+#: include/conversation.php:1072
#, php-format
msgid "%s like this."
msgstr ""
-#: include/conversation.php:1076
+#: include/conversation.php:1075
#, php-format
msgid "%2$d people don't like this"
msgstr "%2$d people vinden dit niet leuk"
-#: include/conversation.php:1077
+#: include/conversation.php:1076
#, php-format
msgid "%s don't like this."
msgstr ""
-#: include/conversation.php:1080
+#: include/conversation.php:1079
#, php-format
msgid "%2$d people attend"
msgstr ""
-#: include/conversation.php:1081
+#: include/conversation.php:1080
#, php-format
msgid "%s attend."
msgstr ""
-#: include/conversation.php:1084
+#: include/conversation.php:1083
#, php-format
msgid "%2$d people don't attend"
msgstr ""
-#: include/conversation.php:1085
+#: include/conversation.php:1084
#, php-format
msgid "%s don't attend."
msgstr ""
-#: include/conversation.php:1088
+#: include/conversation.php:1087
#, php-format
msgid "%2$d people anttend maybe"
msgstr ""
-#: include/conversation.php:1089
+#: include/conversation.php:1088
#, php-format
msgid "%s anttend maybe."
msgstr ""
-#: include/conversation.php:1128 include/conversation.php:1146
+#: include/conversation.php:1127 include/conversation.php:1145
msgid "Visible to everybody"
msgstr "Zichtbaar voor iedereen"
-#: include/conversation.php:1130 include/conversation.php:1148
+#: include/conversation.php:1129 include/conversation.php:1147
msgid "Please enter a video link/URL:"
msgstr "Vul een videolink/URL in:"
-#: include/conversation.php:1131 include/conversation.php:1149
+#: include/conversation.php:1130 include/conversation.php:1148
msgid "Please enter an audio link/URL:"
msgstr "Vul een audiolink/URL in:"
-#: include/conversation.php:1132 include/conversation.php:1150
+#: include/conversation.php:1131 include/conversation.php:1149
msgid "Tag term:"
msgstr "Label:"
-#: include/conversation.php:1134 include/conversation.php:1152
+#: include/conversation.php:1133 include/conversation.php:1151
msgid "Where are you right now?"
msgstr "Waar ben je nu?"
-#: include/conversation.php:1135
+#: include/conversation.php:1134
msgid "Delete item(s)?"
msgstr "Item(s) verwijderen?"
-#: include/conversation.php:1204
+#: include/conversation.php:1203
msgid "permissions"
msgstr "rechten"
-#: include/conversation.php:1227
+#: include/conversation.php:1226
msgid "Post to Groups"
msgstr "Verzenden naar Groepen"
-#: include/conversation.php:1228
+#: include/conversation.php:1227
msgid "Post to Contacts"
msgstr "Verzenden naar Contacten"
-#: include/conversation.php:1229
+#: include/conversation.php:1228
msgid "Private post"
msgstr "Privé verzending"
-#: include/conversation.php:1377
+#: include/conversation.php:1385
msgid "View all"
msgstr ""
-#: include/conversation.php:1399
+#: include/conversation.php:1407
msgid "Like"
msgid_plural "Likes"
msgstr[0] ""
msgstr[1] ""
-#: include/conversation.php:1402
+#: include/conversation.php:1410
msgid "Dislike"
msgid_plural "Dislikes"
msgstr[0] ""
msgstr[1] ""
-#: include/conversation.php:1408
+#: include/conversation.php:1416
msgid "Not Attending"
msgid_plural "Not Attending"
msgstr[0] ""
msgstr[1] ""
-#: include/conversation.php:1411 include/profile_selectors.php:6
+#: include/conversation.php:1419 include/profile_selectors.php:6
msgid "Undecided"
msgid_plural "Undecided"
msgstr[0] ""
msgstr[1] ""
+#: include/forums.php:105 include/text.php:1015 include/nav.php:126
+#: view/theme/vier/theme.php:259
+msgid "Forums"
+msgstr ""
+
+#: include/forums.php:107 view/theme/vier/theme.php:261
+msgid "External link to forum"
+msgstr ""
+
#: include/network.php:967
msgid "view full size"
msgstr "Volledig formaat"
-#: include/text.php:299
+#: include/text.php:303
msgid "newer"
msgstr "nieuwere berichten"
-#: include/text.php:301
+#: include/text.php:305
msgid "older"
msgstr "oudere berichten"
-#: include/text.php:306
+#: include/text.php:310
msgid "prev"
msgstr "vorige"
-#: include/text.php:308
+#: include/text.php:312
msgid "first"
msgstr "eerste"
-#: include/text.php:340
+#: include/text.php:344
msgid "last"
msgstr "laatste"
-#: include/text.php:343
+#: include/text.php:347
msgid "next"
msgstr "volgende"
-#: include/text.php:398
+#: include/text.php:402
msgid "Loading more entries..."
msgstr ""
-#: include/text.php:399
+#: include/text.php:403
msgid "The end"
msgstr ""
-#: include/text.php:890
+#: include/text.php:894
msgid "No contacts"
msgstr "Geen contacten"
-#: include/text.php:905
+#: include/text.php:909
#, php-format
msgid "%d Contact"
msgid_plural "%d Contacts"
msgstr[0] "%d contact"
msgstr[1] "%d contacten"
-#: include/text.php:1003 include/nav.php:121
+#: include/text.php:921
+msgid "View Contacts"
+msgstr "Bekijk contacten"
+
+#: include/text.php:1010 include/nav.php:121
msgid "Full Text"
msgstr ""
-#: include/text.php:1004 include/nav.php:122
+#: include/text.php:1011 include/nav.php:122
msgid "Tags"
msgstr ""
-#: include/text.php:1008 include/nav.php:126
-msgid "Forums"
-msgstr ""
-
-#: include/text.php:1059
+#: include/text.php:1066
msgid "poke"
msgstr "aanstoten"
-#: include/text.php:1059
+#: include/text.php:1066
msgid "poked"
msgstr "aangestoten"
-#: include/text.php:1060
+#: include/text.php:1067
msgid "ping"
msgstr "ping"
-#: include/text.php:1060
+#: include/text.php:1067
msgid "pinged"
msgstr "gepingd"
-#: include/text.php:1061
+#: include/text.php:1068
msgid "prod"
msgstr "porren"
-#: include/text.php:1061
+#: include/text.php:1068
msgid "prodded"
msgstr "gepord"
-#: include/text.php:1062
+#: include/text.php:1069
msgid "slap"
msgstr "slaan"
-#: include/text.php:1062
+#: include/text.php:1069
msgid "slapped"
msgstr "geslagen"
-#: include/text.php:1063
+#: include/text.php:1070
msgid "finger"
msgstr "finger"
-#: include/text.php:1063
+#: include/text.php:1070
msgid "fingered"
msgstr "gerfingerd"
-#: include/text.php:1064
+#: include/text.php:1071
msgid "rebuff"
msgstr "afpoeieren"
-#: include/text.php:1064
+#: include/text.php:1071
msgid "rebuffed"
msgstr "afgepoeierd"
-#: include/text.php:1078
+#: include/text.php:1085
msgid "happy"
msgstr "Blij"
-#: include/text.php:1079
+#: include/text.php:1086
msgid "sad"
msgstr "Verdrietig"
-#: include/text.php:1080
+#: include/text.php:1087
msgid "mellow"
msgstr "mellow"
-#: include/text.php:1081
+#: include/text.php:1088
msgid "tired"
msgstr "vermoeid"
-#: include/text.php:1082
+#: include/text.php:1089
msgid "perky"
msgstr "parmantig"
-#: include/text.php:1083
+#: include/text.php:1090
msgid "angry"
msgstr "boos"
-#: include/text.php:1084
+#: include/text.php:1091
msgid "stupified"
msgstr "verbijsterd"
-#: include/text.php:1085
+#: include/text.php:1092
msgid "puzzled"
msgstr "onzeker"
-#: include/text.php:1086
+#: include/text.php:1093
msgid "interested"
msgstr "Geïnteresseerd"
-#: include/text.php:1087
+#: include/text.php:1094
msgid "bitter"
msgstr "bitter"
-#: include/text.php:1088
+#: include/text.php:1095
msgid "cheerful"
msgstr "vrolijk"
-#: include/text.php:1089
+#: include/text.php:1096
msgid "alive"
msgstr "levend"
-#: include/text.php:1090
+#: include/text.php:1097
msgid "annoyed"
msgstr "verveeld"
-#: include/text.php:1091
+#: include/text.php:1098
msgid "anxious"
msgstr "bezorgd"
-#: include/text.php:1092
+#: include/text.php:1099
msgid "cranky"
msgstr "humeurig "
-#: include/text.php:1093
+#: include/text.php:1100
msgid "disturbed"
msgstr "verontrust"
-#: include/text.php:1094
+#: include/text.php:1101
msgid "frustrated"
msgstr "gefrustreerd"
-#: include/text.php:1095
+#: include/text.php:1102
msgid "motivated"
msgstr "gemotiveerd"
-#: include/text.php:1096
+#: include/text.php:1103
msgid "relaxed"
msgstr "ontspannen"
-#: include/text.php:1097
+#: include/text.php:1104
msgid "surprised"
msgstr "verbaasd"
-#: include/text.php:1490
+#: include/text.php:1497
msgid "bytes"
msgstr "bytes"
-#: include/text.php:1522 include/text.php:1534
+#: include/text.php:1529 include/text.php:1541
msgid "Click to open/close"
msgstr "klik om te openen/sluiten"
-#: include/text.php:1708
+#: include/text.php:1715
msgid "View on separate page"
msgstr ""
-#: include/text.php:1709
+#: include/text.php:1716
msgid "view on separate page"
msgstr ""
-#: include/text.php:1990
+#: include/text.php:1995
msgid "activity"
msgstr "activiteit"
-#: include/text.php:1993
+#: include/text.php:1998
msgid "post"
msgstr "bericht"
-#: include/text.php:2161
+#: include/text.php:2166
msgid "Item filed"
msgstr "Item bewaard"
-#: include/bbcode.php:474 include/bbcode.php:1132 include/bbcode.php:1133
+#: include/bbcode.php:482 include/bbcode.php:1157 include/bbcode.php:1158
msgid "Image/photo"
msgstr "Afbeelding/foto"
-#: include/bbcode.php:572
+#: include/bbcode.php:595
#, php-format
msgid "%2$s %3$s"
msgstr ""
-#: include/bbcode.php:606
+#: include/bbcode.php:629
#, php-format
msgid ""
"%s wrote the following post"
msgstr ""
-#: include/bbcode.php:1092 include/bbcode.php:1112
+#: include/bbcode.php:1117 include/bbcode.php:1137
msgid "$1 wrote:"
msgstr "$1 schreef:"
-#: include/bbcode.php:1141 include/bbcode.php:1142
+#: include/bbcode.php:1166 include/bbcode.php:1167
msgid "Encrypted content"
msgstr "Versleutelde inhoud"
-#: include/notifier.php:840 include/delivery.php:456
-msgid "(no subject)"
-msgstr "(geen onderwerp)"
-
-#: include/notifier.php:850 include/delivery.php:467 include/enotify.php:37
-msgid "noreply"
-msgstr "geen reactie"
-
-#: include/dba_pdo.php:72 include/dba.php:56
+#: include/dba_pdo.php:72 include/dba.php:55
#, php-format
msgid "Cannot locate DNS info for database server '%s'"
msgstr ""
@@ -7360,6 +7433,10 @@ msgstr "OStatus"
msgid "RSS/Atom"
msgstr "RSS/Atom"
+#: include/contact_selectors.php:81
+msgid "Facebook"
+msgstr "Facebook"
+
#: include/contact_selectors.php:82
msgid "Zot!"
msgstr "Zot!"
@@ -7404,7 +7481,7 @@ msgstr ""
msgid "Redmatrix"
msgstr ""
-#: include/Scrape.php:603
+#: include/Scrape.php:624
msgid " on Last.fm"
msgstr " op Last.fm"
@@ -7416,15 +7493,15 @@ msgstr "Begint:"
msgid "Finishes:"
msgstr "Eindigt:"
-#: include/plugin.php:458 include/plugin.php:460
+#: include/plugin.php:522 include/plugin.php:524
msgid "Click here to upgrade."
msgstr ""
-#: include/plugin.php:466
+#: include/plugin.php:530
msgid "This action exceeds the limits set by your subscription plan."
msgstr ""
-#: include/plugin.php:471
+#: include/plugin.php:535
msgid "This action is not available under your subscription plan."
msgstr ""
@@ -7580,46 +7657,21 @@ msgstr "Navigatie"
msgid "Site map"
msgstr "Sitemap"
-#: include/api.php:321 include/api.php:332 include/api.php:441
-#: include/api.php:1151 include/api.php:1153
-msgid "User not found."
-msgstr "Gebruiker niet gevonden"
-
-#: include/api.php:799
+#: include/api.php:878
#, php-format
msgid "Daily posting limit of %d posts reached. The post was rejected."
msgstr ""
-#: include/api.php:818
+#: include/api.php:897
#, php-format
msgid "Weekly posting limit of %d posts reached. The post was rejected."
msgstr ""
-#: include/api.php:837
+#: include/api.php:916
#, php-format
msgid "Monthly posting limit of %d posts reached. The post was rejected."
msgstr ""
-#: include/api.php:1360
-msgid "There is no status with this id."
-msgstr "Er is geen status met dit kenmerk"
-
-#: include/api.php:1434
-msgid "There is no conversation with this id."
-msgstr ""
-
-#: include/api.php:1713
-msgid "Invalid item."
-msgstr ""
-
-#: include/api.php:1723
-msgid "Invalid action. "
-msgstr ""
-
-#: include/api.php:1731
-msgid "DB error"
-msgstr ""
-
#: include/user.php:48
msgid "An invitation is required."
msgstr "Een uitnodiging is vereist."
@@ -7664,37 +7716,37 @@ msgstr "Ik kan die e-mail niet gebruiken."
msgid "Your \"nickname\" can only contain \"a-z\", \"0-9\" and \"_\"."
msgstr ""
-#: include/user.php:146 include/user.php:244
+#: include/user.php:147 include/user.php:245
msgid "Nickname is already registered. Please choose another."
msgstr "Bijnaam is al geregistreerd. Kies een andere."
-#: include/user.php:156
+#: include/user.php:157
msgid ""
"Nickname was once registered here and may not be re-used. Please choose "
"another."
msgstr "Bijnaam was ooit hier geregistreerd en kan niet herbruikt worden. Kies een andere."
-#: include/user.php:172
+#: include/user.php:173
msgid "SERIOUS ERROR: Generation of security keys failed."
msgstr "ERNSTIGE FOUT: aanmaken van beveiligingssleutels mislukt."
-#: include/user.php:230
+#: include/user.php:231
msgid "An error occurred during registration. Please try again."
msgstr ""
-#: include/user.php:255 view/theme/duepuntozero/config.php:44
+#: include/user.php:256 view/theme/duepuntozero/config.php:44
msgid "default"
msgstr "standaard"
-#: include/user.php:265
+#: include/user.php:266
msgid "An error occurred creating your default profile. Please try again."
msgstr ""
-#: include/user.php:297 include/user.php:301 include/profile_selectors.php:42
+#: include/user.php:299 include/user.php:303 include/profile_selectors.php:42
msgid "Friends"
msgstr "Vrienden"
-#: include/user.php:385
+#: include/user.php:387
#, php-format
msgid ""
"\n"
@@ -7703,7 +7755,7 @@ msgid ""
"\t"
msgstr ""
-#: include/user.php:389
+#: include/user.php:391
#, php-format
msgid ""
"\n"
@@ -7733,19 +7785,27 @@ msgid ""
"\t\tThank you and welcome to %2$s."
msgstr ""
-#: include/diaspora.php:719
+#: include/diaspora.php:720
msgid "Sharing notification from Diaspora network"
msgstr ""
-#: include/diaspora.php:2574
+#: include/diaspora.php:2604
msgid "Attachments:"
msgstr "Bijlagen:"
-#: include/items.php:4933
+#: include/delivery.php:533
+msgid "(no subject)"
+msgstr "(geen onderwerp)"
+
+#: include/delivery.php:544 include/enotify.php:37
+msgid "noreply"
+msgstr "geen reactie"
+
+#: include/items.php:4903
msgid "Do you really want to delete this item?"
msgstr "Wil je echt dit item verwijderen?"
-#: include/items.php:5208
+#: include/items.php:5178
msgid "Archives"
msgstr "Archieven"
@@ -8261,11 +8321,11 @@ msgstr ""
msgid "Please visit %s to approve or reject the request."
msgstr ""
-#: include/oembed.php:220
+#: include/oembed.php:214
msgid "Embedded content"
msgstr "Ingebedde inhoud"
-#: include/oembed.php:229
+#: include/oembed.php:223
msgid "Embedding disabled"
msgstr "Inbedden uitgeschakeld"
@@ -8305,7 +8365,7 @@ msgstr[1] "%d contacten werden niet geïmporteerd"
msgid "Done. You can now login with your username and password"
msgstr "Gebeurd. Je kunt nu inloggen met je gebruikersnaam en wachtwoord"
-#: index.php:441
+#: index.php:442
msgid "toggle mobile"
msgstr "mobiel thema omwisselen"
@@ -8376,7 +8436,7 @@ msgstr ""
#: view/theme/diabook/config.php:158 view/theme/diabook/theme.php:130
#: view/theme/diabook/theme.php:544 view/theme/diabook/theme.php:624
-#: view/theme/vier/config.php:111 view/theme/vier/theme.php:230
+#: view/theme/vier/config.php:111
msgid "Community Pages"
msgstr "Forum/groepspagina's"
@@ -8387,7 +8447,7 @@ msgstr "Earth Layers"
#: view/theme/diabook/config.php:160 view/theme/diabook/theme.php:391
#: view/theme/diabook/theme.php:626 view/theme/vier/config.php:112
-#: view/theme/vier/theme.php:142
+#: view/theme/vier/theme.php:156
msgid "Community Profiles"
msgstr "Forum/groepsprofielen"
@@ -8398,19 +8458,19 @@ msgstr ""
#: view/theme/diabook/config.php:162 view/theme/diabook/theme.php:606
#: view/theme/diabook/theme.php:628 view/theme/vier/config.php:114
-#: view/theme/vier/theme.php:348
+#: view/theme/vier/theme.php:377
msgid "Connect Services"
msgstr "Diensten verbinden"
#: view/theme/diabook/config.php:163 view/theme/diabook/theme.php:523
#: view/theme/diabook/theme.php:629 view/theme/vier/config.php:115
-#: view/theme/vier/theme.php:189
+#: view/theme/vier/theme.php:203
msgid "Find Friends"
msgstr "Zoek vrienden"
#: view/theme/diabook/config.php:164 view/theme/diabook/theme.php:412
#: view/theme/diabook/theme.php:630 view/theme/vier/config.php:116
-#: view/theme/vier/theme.php:171
+#: view/theme/vier/theme.php:185
msgid "Last users"
msgstr "Laatste gebruikers"
@@ -8432,7 +8492,7 @@ msgstr "Jouw contacten"
msgid "Your personal photos"
msgstr "Jouw persoonlijke foto's"
-#: view/theme/diabook/theme.php:524 view/theme/vier/theme.php:190
+#: view/theme/diabook/theme.php:524 view/theme/vier/theme.php:204
msgid "Local Directory"
msgstr "Lokale gids"
@@ -8452,11 +8512,7 @@ msgstr ""
msgid "Set style"
msgstr ""
-#: view/theme/vier/theme.php:234
-msgid "External link to forum"
-msgstr ""
-
-#: view/theme/vier/theme.php:266
+#: view/theme/vier/theme.php:295
msgid "Quick Start"
msgstr ""
diff --git a/view/nl/strings.php b/view/nl/strings.php
index f535f54be0..0e8399be7b 100644
--- a/view/nl/strings.php
+++ b/view/nl/strings.php
@@ -5,9 +5,11 @@ function string_plural_select_nl($n){
return ($n != 1);;
}}
;
+$a->strings["Network:"] = "Netwerk:";
+$a->strings["Forum"] = "Forum";
$a->strings["%d contact edited."] = array(
- 0 => "",
- 1 => "",
+ 0 => "%d contact gewijzigd.",
+ 1 => "%d contacten gewijzigd.",
);
$a->strings["Could not access contact record."] = "Kon geen toegang krijgen tot de contactgegevens";
$a->strings["Could not locate selected profile."] = "Kon het geselecteerde profiel niet vinden.";
@@ -33,28 +35,11 @@ $a->strings["(Update was successful)"] = "(Wijziging is geslaagd)";
$a->strings["(Update was not successful)"] = "(Wijziging is niet geslaagd)";
$a->strings["Suggest friends"] = "Stel vrienden voor";
$a->strings["Network type: %s"] = "Netwerk type: %s";
-$a->strings["%d contact in common"] = array(
- 0 => "%d gedeeld contact",
- 1 => "%d gedeelde contacten",
-);
-$a->strings["View all contacts"] = "Alle contacten zien";
-$a->strings["Unblock"] = "Blokkering opheffen";
-$a->strings["Block"] = "Blokkeren";
-$a->strings["Toggle Blocked status"] = "Schakel geblokkeerde status";
-$a->strings["Unignore"] = "Negeer niet meer";
-$a->strings["Ignore"] = "Negeren";
-$a->strings["Toggle Ignored status"] = "Schakel negeerstatus";
-$a->strings["Unarchive"] = "Archiveer niet meer";
-$a->strings["Archive"] = "Archiveer";
-$a->strings["Toggle Archive status"] = "Schakel archiveringsstatus";
-$a->strings["Repair"] = "Herstellen";
-$a->strings["Advanced Contact Settings"] = "Geavanceerde instellingen voor contacten";
$a->strings["Communications lost with this contact!"] = "Communicatie met dit contact is verbroken!";
$a->strings["Fetch further information for feeds"] = "";
$a->strings["Disabled"] = "Uitgeschakeld";
$a->strings["Fetch information"] = "";
$a->strings["Fetch information and keywords"] = "";
-$a->strings["Contact Editor"] = "Contactbewerker";
$a->strings["Submit"] = "Opslaan";
$a->strings["Profile Visibility"] = "Zichtbaarheid profiel";
$a->strings["Please choose the profile you would like to display to %s when viewing your profile securely."] = "Kies het profiel dat getoond moet worden wanneer %s uw profiel bezoekt. ";
@@ -70,6 +55,10 @@ $a->strings["Last update:"] = "Laatste wijziging:";
$a->strings["Update public posts"] = "Openbare posts aanpassen";
$a->strings["Update now"] = "Wijzig nu";
$a->strings["Connect/Follow"] = "Verbind/Volg";
+$a->strings["Unblock"] = "Blokkering opheffen";
+$a->strings["Block"] = "Blokkeren";
+$a->strings["Unignore"] = "Negeer niet meer";
+$a->strings["Ignore"] = "Negeren";
$a->strings["Currently blocked"] = "Op dit moment geblokkeerd";
$a->strings["Currently ignored"] = "Op dit moment genegeerd";
$a->strings["Currently archived"] = "Op dit moment gearchiveerd";
@@ -80,6 +69,9 @@ $a->strings["Send a notification of every new post of this contact"] = "";
$a->strings["Blacklisted keywords"] = "";
$a->strings["Comma separated list of keywords that should not be converted to hashtags, when \"Fetch information and keywords\" is selected"] = "";
$a->strings["Profile URL"] = "Profiel url";
+$a->strings["Location:"] = "Plaats:";
+$a->strings["About:"] = "Over:";
+$a->strings["Tags:"] = "Labels:";
$a->strings["Suggestions"] = "Voorstellen";
$a->strings["Suggest potential friends"] = "Stel vrienden voor";
$a->strings["All Contacts"] = "Alle Contacten";
@@ -99,7 +91,21 @@ $a->strings["Search your contacts"] = "Doorzoek je contacten";
$a->strings["Finding: "] = "Gevonden:";
$a->strings["Find"] = "Zoek";
$a->strings["Update"] = "Wijzigen";
+$a->strings["Archive"] = "Archiveer";
+$a->strings["Unarchive"] = "Archiveer niet meer";
$a->strings["Delete"] = "Verwijder";
+$a->strings["Status"] = "Tijdlijn";
+$a->strings["Status Messages and Posts"] = "Berichten op jouw tijdlijn";
+$a->strings["Profile"] = "Profiel";
+$a->strings["Profile Details"] = "Profieldetails";
+$a->strings["View all contacts"] = "Alle contacten zien";
+$a->strings["Common Friends"] = "Gedeelde Vrienden";
+$a->strings["View all common friends"] = "";
+$a->strings["Repair"] = "Herstellen";
+$a->strings["Advanced Contact Settings"] = "Geavanceerde instellingen voor contacten";
+$a->strings["Toggle Blocked status"] = "Schakel geblokkeerde status";
+$a->strings["Toggle Ignored status"] = "Schakel negeerstatus";
+$a->strings["Toggle Archive status"] = "Schakel archiveringsstatus";
$a->strings["Mutual Friendship"] = "Wederzijdse vriendschap";
$a->strings["is a fan of yours"] = "Is een fan van jou";
$a->strings["you are a fan of"] = "Jij bent een fan van";
@@ -112,7 +118,6 @@ $a->strings["Post successful."] = "Bericht succesvol geplaatst.";
$a->strings["Permission denied"] = "Toegang geweigerd";
$a->strings["Invalid profile identifier."] = "Ongeldige profiel-identificatie.";
$a->strings["Profile Visibility Editor"] = "";
-$a->strings["Profile"] = "Profiel";
$a->strings["Click on a contact to add or remove."] = "Klik op een contact om het toe te voegen of te verwijderen.";
$a->strings["Visible To"] = "Zichtbaar voor";
$a->strings["All Contacts (with secure profile access)"] = "Alle contacten (met veilige profieltoegang)";
@@ -137,9 +142,6 @@ $a->strings["Edit your default profile to your liking. Review t
$a->strings["Profile Keywords"] = "Sleutelwoorden voor dit profiel";
$a->strings["Set some public keywords for your default profile which describe your interests. We may be able to find other people with similar interests and suggest friendships."] = "Stel enkele openbare sleutelwoorden in voor je standaard profiel die je interesses beschrijven. We kunnen dan misschien mensen vinden met gelijkaardige interesses, en vrienden voorstellen.";
$a->strings["Connecting"] = "Verbinding aan het maken";
-$a->strings["Facebook"] = "Facebook";
-$a->strings["Authorise the Facebook Connector if you currently have a Facebook account and we will (optionally) import all your Facebook friends and conversations."] = "Machtig de Facebook Connector als je een Facebook account hebt. We zullen (optioneel) al je Facebook vrienden en conversaties importeren.";
-$a->strings["If this is your own personal server, installing the Facebook addon may ease your transition to the free social web."] = "Als dit jouw eigen persoonlijke server is kan het installeren van de Facebook toevoeging je overgang naar het vrije sociale web vergemakkelijken.";
$a->strings["Importing Emails"] = "E-mails importeren";
$a->strings["Enter your email access information on your Connector Settings page if you wish to import and interact with friends or mailing lists from your email INBOX"] = "Vul je e-mailtoegangsinformatie in op je pagina met verbindingsinstellingen als je vrienden of mailinglijsten uit je e-mail-inbox wilt importeren, en met hen wilt communiceren";
$a->strings["Go to Your Contacts Page"] = "Ga naar je contactenpagina";
@@ -184,7 +186,7 @@ $a->strings["Tag removed"] = "Label verwijderd";
$a->strings["Remove Item Tag"] = "Verwijder label van item";
$a->strings["Select a tag to remove: "] = "Selecteer een label om te verwijderen: ";
$a->strings["Remove"] = "Verwijderen";
-$a->strings["Subsribing to OStatus contacts"] = "";
+$a->strings["Subscribing to OStatus contacts"] = "";
$a->strings["No contact provided."] = "";
$a->strings["Couldn't fetch information for contact."] = "";
$a->strings["Couldn't fetch friends for contact."] = "";
@@ -206,9 +208,6 @@ $a->strings["Does %s know you?"] = "Kent %s jou?";
$a->strings["No"] = "Nee";
$a->strings["Add a personal note:"] = "Voeg een persoonlijke opmerking toe:";
$a->strings["Your Identity Address:"] = "Adres van uw identiteit:";
-$a->strings["Location:"] = "Plaats:";
-$a->strings["About:"] = "Over:";
-$a->strings["Tags:"] = "Labels:";
$a->strings["Contact added"] = "Contact toegevoegd";
$a->strings["Unable to locate original post."] = "Ik kan de originele post niet meer vinden.";
$a->strings["Empty post discarded."] = "Lege post weggegooid.";
@@ -229,6 +228,7 @@ $a->strings["Group removed."] = "Groep verwijderd.";
$a->strings["Unable to remove group."] = "Niet in staat om groep te verwijderen.";
$a->strings["Group Editor"] = "Groepsbewerker";
$a->strings["Members"] = "Leden";
+$a->strings["Group is empty"] = "De groep is leeg";
$a->strings["You must be logged in to use addons. "] = "Je moet ingelogd zijn om deze addons te kunnen gebruiken. ";
$a->strings["Applications"] = "Toepassingen";
$a->strings["No installed applications."] = "Geen toepassingen geïnstalleerd";
@@ -287,17 +287,10 @@ $a->strings["Forgot your Password?"] = "Wachtwoord vergeten?";
$a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Voer je e-mailadres in en verstuur het om je wachtwoord opnieuw in te stellen. Kijk dan je e-mail na voor verdere instructies.";
$a->strings["Nickname or Email: "] = "Bijnaam of e-mail:";
$a->strings["Reset"] = "Opnieuw";
-$a->strings["event"] = "gebeurtenis";
-$a->strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s vindt het %3\$s van %2\$s leuk";
-$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s vindt het %3\$s van %2\$s niet leuk";
-$a->strings["%1\$s is attending %2\$s's %3\$s"] = "";
-$a->strings["%1\$s is not attending %2\$s's %3\$s"] = "";
-$a->strings["%1\$s may attend %2\$s's %3\$s"] = "";
$a->strings["{0} wants to be your friend"] = "{0} wilt je vriend worden";
$a->strings["{0} sent you a message"] = "{0} stuurde jou een bericht";
$a->strings["{0} requested registration"] = "{0} vroeg om zich te registreren";
$a->strings["No contacts."] = "Geen contacten.";
-$a->strings["View Contacts"] = "Bekijk contacten";
$a->strings["Invalid request identifier."] = "Ongeldige request identifier.";
$a->strings["Discard"] = "Verwerpen";
$a->strings["System"] = "Systeem";
@@ -393,7 +386,6 @@ $a->strings["Please use your browser 'Back' button now if you a
$a->strings["No mirroring"] = "";
$a->strings["Mirror as forwarded posting"] = "";
$a->strings["Mirror as my own posting"] = "";
-$a->strings["Repair Contact Settings"] = "Contactinstellingen herstellen";
$a->strings["Return to contact editor"] = "Ga terug naar contactbewerker";
$a->strings["Refetch contact data"] = "";
$a->strings["Name"] = "Naam";
@@ -424,16 +416,22 @@ $a->strings["Site"] = "Website";
$a->strings["Users"] = "Gebruiker";
$a->strings["Plugins"] = "Plugins";
$a->strings["Themes"] = "Thema's";
+$a->strings["Additional features"] = "Extra functies";
$a->strings["DB updates"] = "DB aanpassingen";
$a->strings["Inspect Queue"] = "";
+$a->strings["Federation Statistics"] = "";
$a->strings["Logs"] = "Logs";
+$a->strings["View Logs"] = "";
$a->strings["probe address"] = "";
$a->strings["check webfinger"] = "";
$a->strings["Admin"] = "Beheer";
$a->strings["Plugin Features"] = "Plugin Functies";
$a->strings["diagnostics"] = "";
$a->strings["User registrations waiting for confirmation"] = "Gebruikersregistraties wachten op bevestiging";
+$a->strings["This page offers you some numbers to the known part of the federated social network your Friendica node is part of. These numbers are not complete but only reflect the part of the network your node is aware of."] = "";
+$a->strings["The Auto Discovered Contact Directory feature is not enabled, it will improve the data displayed here."] = "";
$a->strings["Administration"] = "Beheer";
+$a->strings["Currently this node is aware of nodes from the following platforms:"] = "";
$a->strings["ID"] = "ID";
$a->strings["Recipient Name"] = "";
$a->strings["Recipient Profile"] = "";
@@ -582,6 +580,10 @@ $a->strings["Maximum Load Average"] = "Maximum gemiddelde belasting";
$a->strings["Maximum system load before delivery and poll processes are deferred - default 50."] = "Maximum systeembelasting voordat aflever- en poll-processen uitgesteld worden - standaard 50.";
$a->strings["Maximum Load Average (Frontend)"] = "";
$a->strings["Maximum system load before the frontend quits service - default 50."] = "";
+$a->strings["Maximum table size for optimization"] = "";
+$a->strings["Maximum table size (in MB) for the automatic optimization - default 100 MB. Enter -1 to disable it."] = "";
+$a->strings["Minimum level of fragmentation"] = "";
+$a->strings["Minimum fragmenation level to start the automatic optimization - default value is 30%."] = "";
$a->strings["Periodical check of global contacts"] = "";
$a->strings["If enabled, the global contacts are checked periodically for missing or outdated data and the vitality of the contacts and servers."] = "";
$a->strings["Days between requery"] = "";
@@ -681,9 +683,11 @@ $a->strings["Toggle"] = "Schakelaar";
$a->strings["Author: "] = "Auteur:";
$a->strings["Maintainer: "] = "Onderhoud:";
$a->strings["Reload active plugins"] = "";
+$a->strings["There are currently no plugins available on your node. You can find the official plugin repository at %1\$s and might find other interesting plugins in the open plugin registry at %2\$s"] = "";
$a->strings["No themes found."] = "Geen thema's gevonden.";
$a->strings["Screenshot"] = "Schermafdruk";
$a->strings["Reload active themes"] = "";
+$a->strings["No themes found on the system. They should be paced in %1\$s"] = "";
$a->strings["[Experimental]"] = "[Experimenteel]";
$a->strings["[Unsupported]"] = "[Niet ondersteund]";
$a->strings["Log settings updated."] = "Log instellingen gewijzigd";
@@ -692,11 +696,12 @@ $a->strings["Enable Debugging"] = "";
$a->strings["Log file"] = "Logbestand";
$a->strings["Must be writable by web server. Relative to your Friendica top-level directory."] = "De webserver moet hier kunnen schrijven. Relatief t.o.v. van de hoogste folder binnen uw Friendica-installatie.";
$a->strings["Log level"] = "Log niveau";
-$a->strings["Close"] = "Afsluiten";
-$a->strings["FTP Host"] = "FTP Server";
-$a->strings["FTP Path"] = "FTP Pad";
-$a->strings["FTP User"] = "FTP Gebruiker";
-$a->strings["FTP Password"] = "FTP wachtwoord";
+$a->strings["PHP logging"] = "";
+$a->strings["To enable logging of PHP errors and warnings you can add the following to the .htconfig.php file of your installation. The filename set in the 'error_log' line is relative to the friendica top-level directory and must be writeable by the web server. The option '1' for 'log_errors' and 'display_errors' is to enable these options, set to '0' to disable them."] = "";
+$a->strings["Off"] = "Uit";
+$a->strings["On"] = "Aan";
+$a->strings["Lock feature %s"] = "";
+$a->strings["Manage Additional Features"] = "";
$a->strings["Search Results For: %s"] = "";
$a->strings["Remove term"] = "Verwijder zoekterm";
$a->strings["Saved Searches"] = "Opgeslagen zoekopdrachten";
@@ -718,14 +723,10 @@ $a->strings["Warning: This group contains %s member from an insecure network."]
);
$a->strings["Private messages to this group are at risk of public disclosure."] = "Privéberichten naar deze groep kunnen openbaar gemaakt worden.";
$a->strings["No such group"] = "Zo'n groep bestaat niet";
-$a->strings["Group is empty"] = "De groep is leeg";
$a->strings["Group: %s"] = "";
-$a->strings["Contact: %s"] = "";
$a->strings["Private messages to this person are at risk of public disclosure."] = "Privéberichten naar deze persoon kunnen openbaar gemaakt worden.";
$a->strings["Invalid contact."] = "Ongeldig contact.";
$a->strings["No friends to display."] = "Geen vrienden om te laten zien.";
-$a->strings["Forum"] = "";
-$a->strings["Friends of %s"] = "Vrienden van %s";
$a->strings["Event can not end before it has started."] = "";
$a->strings["Event title and start time are required."] = "Titel en begintijd van de gebeurtenis zijn vereist.";
$a->strings["Sun"] = "";
@@ -922,7 +923,6 @@ $a->strings["Not available."] = "Niet beschikbaar";
$a->strings["Community"] = "Website";
$a->strings["No results."] = "Geen resultaten.";
$a->strings["everybody"] = "iedereen";
-$a->strings["Additional features"] = "Extra functies";
$a->strings["Display"] = "Weergave";
$a->strings["Social Networks"] = "Sociale netwerken";
$a->strings["Delegations"] = "";
@@ -959,8 +959,6 @@ $a->strings["No name"] = "Geen naam";
$a->strings["Remove authorization"] = "Verwijder authorisatie";
$a->strings["No Plugin settings configured"] = "";
$a->strings["Plugin Settings"] = "Plugin Instellingen";
-$a->strings["Off"] = "Uit";
-$a->strings["On"] = "Aan";
$a->strings["Additional Features"] = "Extra functies";
$a->strings["General Social Media Settings"] = "";
$a->strings["Disable intelligent shortening"] = "";
@@ -995,7 +993,7 @@ $a->strings["Display Settings"] = "Scherminstellingen";
$a->strings["Display Theme:"] = "Schermthema:";
$a->strings["Mobile Theme:"] = "Mobiel thema:";
$a->strings["Update browser every xx seconds"] = "Browser elke xx seconden verversen";
-$a->strings["Minimum of 10 seconds, no maximum"] = "Minimum 10 seconden, geen maximum";
+$a->strings["Minimum of 10 seconds. Enter -1 to disable it."] = "";
$a->strings["Number of items to display per page:"] = "Aantal items te tonen per pagina:";
$a->strings["Maximum of 100 items"] = "Maximum 100 items";
$a->strings["Number of items to display per page when viewed from mobile device:"] = "Aantal items per pagina als je een mobiel toestel gebruikt:";
@@ -1107,12 +1105,12 @@ $a->strings["Friends are advised to please try again in 24 hours."] = "Wij advis
$a->strings["Invalid locator"] = "Ongeldige plaatsbepaler";
$a->strings["Invalid email address."] = "Geen geldig e-mailadres";
$a->strings["This account has not been configured for email. Request failed."] = "Aanvraag mislukt. Dit account is niet geconfigureerd voor e-mail.";
-$a->strings["Unable to resolve your name at the provided location."] = "Ik kan jouw naam op het opgegeven adres niet vinden.";
$a->strings["You have already introduced yourself here."] = "Je hebt jezelf hier al voorgesteld.";
$a->strings["Apparently you are already friends with %s."] = "Blijkbaar bent u al bevriend met %s.";
$a->strings["Invalid profile URL."] = "Ongeldig profiel adres.";
$a->strings["Disallowed profile URL."] = "Niet toegelaten profiel adres.";
$a->strings["Your introduction has been sent."] = "Je verzoek is verzonden.";
+$a->strings["Remote subscription can't be done for your network. Please subscribe directly on your system."] = "";
$a->strings["Please login to confirm introduction."] = "Log in om je verzoek te bevestigen.";
$a->strings["Incorrect identity currently logged in. Please login to this profile."] = "Je huidige identiteit is niet de juiste. Log met dit profiel in.";
$a->strings["Confirm"] = "Bevestig";
@@ -1128,6 +1126,7 @@ $a->strings["StatusNet/Federated Social Web"] = "StatusNet/Gefedereerde Sociale
$a->strings[" - please do not use this form. Instead, enter %s into your Diaspora search bar."] = "- Gebruik niet dit formulier. Vul %s in in je Diaspora zoekbalk.";
$a->strings["Registration successful. Please check your email for further instructions."] = "Registratie geslaagd. Kijk je e-mail na voor verdere instructies.";
$a->strings["Failed to send email message. Here your accout details: login: %s password: %s
You can change your password after login."] = "";
+$a->strings["Registration successful."] = "";
$a->strings["Your registration can not be processed."] = "Je registratie kan niet verwerkt worden.";
$a->strings["Your registration is pending approval by the site owner."] = "Jouw registratie wacht op goedkeuring van de beheerder.";
$a->strings["This site has exceeded the number of allowed daily account registrations. Please try again tomorrow."] = "Deze website heeft het toegelaten dagelijkse aantal registraties overschreden. Probeer morgen opnieuw.";
@@ -1152,8 +1151,6 @@ $a->strings["Only one search per minute is permitted for not logged in users."]
$a->strings["Search"] = "Zoeken";
$a->strings["Items tagged with: %s"] = "";
$a->strings["Search results for: %s"] = "";
-$a->strings["Age: "] = "Leeftijd:";
-$a->strings["Gender: "] = "Geslacht:";
$a->strings["Status:"] = "Tijdlijn:";
$a->strings["Homepage:"] = "Website:";
$a->strings["Global Directory"] = "Globale gids";
@@ -1170,7 +1167,6 @@ $a->strings["Potential Delegates"] = "Mogelijke personen waaraan het paginabehee
$a->strings["Add"] = "Toevoegen";
$a->strings["No entries."] = "Geen gegevens.";
$a->strings["No contacts in common."] = "Geen gedeelde contacten.";
-$a->strings["Common Friends"] = "Gedeelde Vrienden";
$a->strings["Export account"] = "Account exporteren";
$a->strings["Export your account info and contacts. Use this to make a backup of your account and/or to move it to another server."] = "Je account informatie en contacten exporteren. Gebruik dit om een backup van je account te maken en/of om het te verhuizen naar een andere server.";
$a->strings["Export all"] = "Alles exporteren";
@@ -1257,6 +1253,7 @@ $a->strings["Love/romance"] = "Liefde/romance";
$a->strings["Work/employment"] = "Werk";
$a->strings["School/education"] = "School/opleiding";
$a->strings["This is your public profile. It may be visible to anybody using the internet."] = "Dit is jouw publiek profiel. Het kan zichtbaar zijn voor iedereen op het internet.";
+$a->strings["Age: "] = "Leeftijd:";
$a->strings["Edit/Manage Profiles"] = "Wijzig/Beheer Profielen";
$a->strings["Change profile photo"] = "Profiel foto wijzigen";
$a->strings["Create New Profile"] = "Maak nieuw profiel";
@@ -1310,7 +1307,7 @@ $a->strings["poke, prod or do other things to somebody"] = "aanstoten, porren of
$a->strings["Recipient"] = "Ontvanger";
$a->strings["Choose what you wish to do to recipient"] = "Kies wat je met de ontvanger wil doen";
$a->strings["Make this post private"] = "Dit bericht privé maken";
-$a->strings["Resubsribing to OStatus contacts"] = "";
+$a->strings["Resubscribing to OStatus contacts"] = "";
$a->strings["Error"] = "";
$a->strings["Total invitation limit exceeded."] = "Totale uitnodigingslimiet overschreden.";
$a->strings["%s : Not a valid email address."] = "%s: Geen geldig e-mailadres.";
@@ -1443,6 +1440,10 @@ $a->strings["All Networks"] = "Alle netwerken";
$a->strings["Saved Folders"] = "Bewaarde Mappen";
$a->strings["Everything"] = "Alles";
$a->strings["Categories"] = "Categorieën";
+$a->strings["%d contact in common"] = array(
+ 0 => "%d gedeeld contact",
+ 1 => "%d gedeelde contacten",
+);
$a->strings["General Features"] = "Algemene functies";
$a->strings["Multiple Profiles"] = "Meerdere profielen";
$a->strings["Ability to create multiple profiles"] = "Mogelijkheid om meerdere profielen aan te maken";
@@ -1458,6 +1459,8 @@ $a->strings["Add/remove mention when a fourm page is selected/deselected in ACL
$a->strings["Network Sidebar Widgets"] = "Zijbalkwidgets op netwerkpagina";
$a->strings["Search by Date"] = "Zoeken op datum";
$a->strings["Ability to select posts by date ranges"] = "Mogelijkheid om berichten te selecteren volgens datumbereik";
+$a->strings["List Forums"] = "";
+$a->strings["Enable widget to display the forums your are connected with"] = "";
$a->strings["Group Filter"] = "Groepsfilter";
$a->strings["Enable widget to display Network posts only from selected group"] = "Sta de widget toe om netwerkberichten te tonen van bepaalde groepen";
$a->strings["Network Filter"] = "Netwerkfilter";
@@ -1486,6 +1489,8 @@ $a->strings["Star Posts"] = "Geef berichten een ster";
$a->strings["Ability to mark special posts with a star indicator"] = "";
$a->strings["Mute Post Notifications"] = "";
$a->strings["Ability to mute notifications for a thread"] = "";
+$a->strings["Advanced Profile Settings"] = "";
+$a->strings["Show visitors public community forums at the Advanced Profile Page"] = "";
$a->strings["Connect URL missing."] = "";
$a->strings["This site is not configured to allow communications with other networks."] = "Deze website is niet geconfigureerd voor communicatie met andere netwerken.";
$a->strings["No compatible communication protocols or feeds were discovered."] = "Er werden geen compatibele communicatieprotocols of feeds ontdekt.";
@@ -1502,6 +1507,7 @@ $a->strings["A deleted group with this name was revived. Existing item permissio
$a->strings["Default privacy group for new contacts"] = "";
$a->strings["Everybody"] = "Iedereen";
$a->strings["edit"] = "verander";
+$a->strings["Edit groups"] = "";
$a->strings["Edit group"] = "Verander groep";
$a->strings["Create a new group"] = "Maak nieuwe groep";
$a->strings["Contacts not in any group"] = "";
@@ -1525,10 +1531,10 @@ $a->strings["%s's birthday"] = "%s's verjaardag";
$a->strings["Happy Birthday %s"] = "Gefeliciteerd %s";
$a->strings["Requested account is not available."] = "Gevraagde account is niet beschikbaar.";
$a->strings["Edit profile"] = "Bewerk profiel";
+$a->strings["Atom feed"] = "";
$a->strings["Message"] = "Bericht";
$a->strings["Profiles"] = "Profielen";
$a->strings["Manage/edit profiles"] = "Beheer/wijzig profielen";
-$a->strings["Network:"] = "";
$a->strings["g A l F d"] = "G l j F";
$a->strings["F d"] = "d F";
$a->strings["[today]"] = "[vandaag]";
@@ -1552,17 +1558,22 @@ $a->strings["Film/dance/culture/entertainment:"] = "Film/dans/cultuur/ontspannin
$a->strings["Love/Romance:"] = "Liefde/romance:";
$a->strings["Work/employment:"] = "Werk/beroep:";
$a->strings["School/education:"] = "School/opleiding:";
-$a->strings["Status"] = "Tijdlijn";
-$a->strings["Status Messages and Posts"] = "Berichten op jouw tijdlijn";
-$a->strings["Profile Details"] = "Profieldetails";
+$a->strings["Forums:"] = "";
$a->strings["Videos"] = "Video's";
$a->strings["Events and Calendar"] = "Gebeurtenissen en kalender";
$a->strings["Only You Can See This"] = "Alleen jij kunt dit zien";
+$a->strings["event"] = "gebeurtenis";
+$a->strings["%1\$s likes %2\$s's %3\$s"] = "%1\$s vindt het %3\$s van %2\$s leuk";
+$a->strings["%1\$s doesn't like %2\$s's %3\$s"] = "%1\$s vindt het %3\$s van %2\$s niet leuk";
+$a->strings["%1\$s is attending %2\$s's %3\$s"] = "";
+$a->strings["%1\$s is not attending %2\$s's %3\$s"] = "";
+$a->strings["%1\$s may attend %2\$s's %3\$s"] = "";
$a->strings["Post to Email"] = "Verzenden per e-mail";
$a->strings["Connectors disabled, since \"%s\" is enabled."] = "";
$a->strings["Visible to everybody"] = "Zichtbaar voor iedereen";
$a->strings["show"] = "tonen";
$a->strings["don't show"] = "niet tonen";
+$a->strings["Close"] = "Afsluiten";
$a->strings["[no subject]"] = "[geen onderwerp]";
$a->strings["stopped following"] = "";
$a->strings["View Status"] = "Bekijk status";
@@ -1629,6 +1640,8 @@ $a->strings["Undecided"] = array(
0 => "",
1 => "",
);
+$a->strings["Forums"] = "";
+$a->strings["External link to forum"] = "";
$a->strings["view full size"] = "Volledig formaat";
$a->strings["newer"] = "nieuwere berichten";
$a->strings["older"] = "oudere berichten";
@@ -1643,9 +1656,9 @@ $a->strings["%d Contact"] = array(
0 => "%d contact",
1 => "%d contacten",
);
+$a->strings["View Contacts"] = "Bekijk contacten";
$a->strings["Full Text"] = "";
$a->strings["Tags"] = "";
-$a->strings["Forums"] = "";
$a->strings["poke"] = "aanstoten";
$a->strings["poked"] = "aangestoten";
$a->strings["ping"] = "ping";
@@ -1690,8 +1703,6 @@ $a->strings["%2\$s %3\$s"] = "";
$a->strings["%s wrote the following post"] = "";
$a->strings["$1 wrote:"] = "$1 schreef:";
$a->strings["Encrypted content"] = "Versleutelde inhoud";
-$a->strings["(no subject)"] = "(geen onderwerp)";
-$a->strings["noreply"] = "geen reactie";
$a->strings["Cannot locate DNS info for database server '%s'"] = "";
$a->strings["Unknown | Not categorised"] = "Onbekend | Niet ";
$a->strings["Block immediately"] = "Onmiddellijk blokkeren";
@@ -1703,6 +1714,7 @@ $a->strings["Weekly"] = "wekelijks";
$a->strings["Monthly"] = "maandelijks";
$a->strings["OStatus"] = "OStatus";
$a->strings["RSS/Atom"] = "RSS/Atom";
+$a->strings["Facebook"] = "Facebook";
$a->strings["Zot!"] = "Zot!";
$a->strings["LinkedIn"] = "Linkedln";
$a->strings["XMPP/IM"] = "XMPP/IM";
@@ -1758,15 +1770,9 @@ $a->strings["Manage/edit friends and contacts"] = "Beheer/Wijzig vrienden en con
$a->strings["Site setup and configuration"] = "Website opzetten en configureren";
$a->strings["Navigation"] = "Navigatie";
$a->strings["Site map"] = "Sitemap";
-$a->strings["User not found."] = "Gebruiker niet gevonden";
$a->strings["Daily posting limit of %d posts reached. The post was rejected."] = "";
$a->strings["Weekly posting limit of %d posts reached. The post was rejected."] = "";
$a->strings["Monthly posting limit of %d posts reached. The post was rejected."] = "";
-$a->strings["There is no status with this id."] = "Er is geen status met dit kenmerk";
-$a->strings["There is no conversation with this id."] = "";
-$a->strings["Invalid item."] = "";
-$a->strings["Invalid action. "] = "";
-$a->strings["DB error"] = "";
$a->strings["An invitation is required."] = "Een uitnodiging is vereist.";
$a->strings["Invitation could not be verified."] = "Uitnodiging kon niet geverifieerd worden.";
$a->strings["Invalid OpenID url"] = "Ongeldige OpenID url";
@@ -1789,6 +1795,8 @@ $a->strings["\n\t\tDear %1\$s,\n\t\t\tThank you for registering at %2\$s. Your a
$a->strings["\n\t\tThe login details are as follows:\n\t\t\tSite Location:\t%3\$s\n\t\t\tLogin Name:\t%1\$s\n\t\t\tPassword:\t%5\$s\n\n\t\tYou may change your password from your account \"Settings\" page after logging\n\t\tin.\n\n\t\tPlease take a few moments to review the other account settings on that page.\n\n\t\tYou may also wish to add some basic information to your default profile\n\t\t(on the \"Profiles\" page) so that other people can easily find you.\n\n\t\tWe recommend setting your full name, adding a profile photo,\n\t\tadding some profile \"keywords\" (very useful in making new friends) - and\n\t\tperhaps what country you live in; if you do not wish to be more specific\n\t\tthan that.\n\n\t\tWe fully respect your right to privacy, and none of these items are necessary.\n\t\tIf you are new and do not know anybody here, they may help\n\t\tyou to make some new and interesting friends.\n\n\n\t\tThank you and welcome to %2\$s."] = "";
$a->strings["Sharing notification from Diaspora network"] = "";
$a->strings["Attachments:"] = "Bijlagen:";
+$a->strings["(no subject)"] = "(geen onderwerp)";
+$a->strings["noreply"] = "geen reactie";
$a->strings["Do you really want to delete this item?"] = "Wil je echt dit item verwijderen?";
$a->strings["Archives"] = "Archieven";
$a->strings["Male"] = "Man";
@@ -1951,7 +1959,6 @@ $a->strings["Set zoomfactor for Earth Layers"] = "";
$a->strings["Show/hide boxes at right-hand column:"] = "";
$a->strings["Comma separated list of helper forums"] = "";
$a->strings["Set style"] = "";
-$a->strings["External link to forum"] = "";
$a->strings["Quick Start"] = "";
$a->strings["greenzero"] = "";
$a->strings["purplezero"] = "";
diff --git a/view/templates/atom_feed.tpl b/view/templates/atom_feed.tpl
deleted file mode 100644
index 7070f4c5e3..0000000000
--- a/view/templates/atom_feed.tpl
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
- {{$feed_id}}
- {{$feed_title}}
- Friendica
-
-
- {{$hub}}
- {{$salmon}}
- {{$community}}
-
- {{$feed_updated}}
-
-
- {{$name}}
- {{$profile_page}}
-
-
- {{$birthday}}
-
diff --git a/view/templates/atom_feed_dfrn.tpl b/view/templates/atom_feed_dfrn.tpl
deleted file mode 100644
index 2b1c16fb39..0000000000
--- a/view/templates/atom_feed_dfrn.tpl
+++ /dev/null
@@ -1,31 +0,0 @@
-
-
-
-
- {{$feed_id}}
- {{$feed_title}}
- Friendica
-
-
- {{$hub}}
- {{$salmon}}
- {{$community}}
-
- {{$feed_updated}}
-
-
- {{$name}}
- {{$profile_page}}
-
-
- {{$birthday}}
-
diff --git a/view/templates/atom_mail.tpl b/view/templates/atom_mail.tpl
deleted file mode 100644
index e18e476556..0000000000
--- a/view/templates/atom_mail.tpl
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
-
- {{$name}}
- {{$profile_page}}
- {{$thumb}}
-
-
- {{$item_id}}
- {{$parent_id}}
- {{$created}}
- {{$subject}}
- {{$content}}
-
-
-
diff --git a/view/templates/atom_relocate.tpl b/view/templates/atom_relocate.tpl
deleted file mode 100644
index e6418fcb2a..0000000000
--- a/view/templates/atom_relocate.tpl
+++ /dev/null
@@ -1,18 +0,0 @@
-
-
-
-
- {{$url}}
- {{$name}}
- {{$photo}}
- {{$thumb}}
- {{$micro}}
- {{$request}}
- {{$confirm}}
- {{$notify}}
- {{$poll}}
- {{$sitepubkey}}
-
-
-
-
diff --git a/view/templates/atom_suggest.tpl b/view/templates/atom_suggest.tpl
deleted file mode 100644
index afc1d6629a..0000000000
--- a/view/templates/atom_suggest.tpl
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
- {{$url}}
- {{$name}}
- {{$photo}}
- {{$request}}
- {{$note}}
-
-
-
diff --git a/view/templates/events_reminder.tpl b/view/templates/events_reminder.tpl
index 9aceb3f1cb..2fcb1908d7 100644
--- a/view/templates/events_reminder.tpl
+++ b/view/templates/events_reminder.tpl
@@ -4,7 +4,7 @@