aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Vogel <icarus@dabo.de>2012-06-04 08:09:15 +0200
committerMichael Vogel <icarus@dabo.de>2012-06-04 08:09:15 +0200
commit0353410cd4b8153fd2b6e9d3524c6e46ad4acd68 (patch)
treee93cc7977a7367eb6281c733d9a34730dae3bf95
parent5de91c2a7c924ac6067828a0e5bfbef5572c1f39 (diff)
parentca105f1c669950768a1f4cd6b93f471cabbc5114 (diff)
downloadvolse-hubzilla-0353410cd4b8153fd2b6e9d3524c6e46ad4acd68.tar.gz
volse-hubzilla-0353410cd4b8153fd2b6e9d3524c6e46ad4acd68.tar.bz2
volse-hubzilla-0353410cd4b8153fd2b6e9d3524c6e46ad4acd68.zip
Merge remote branch 'upstream/master'
-rw-r--r--boot.php4
-rw-r--r--database.sql9
-rw-r--r--include/api.php4
-rw-r--r--include/bbcode.php9
-rw-r--r--include/conversation.php53
-rw-r--r--include/datetime.php6
-rw-r--r--include/delivery.php15
-rwxr-xr-x[-rw-r--r--]include/diaspora.php209
-rw-r--r--include/enotify.php3
-rw-r--r--include/event.php17
-rw-r--r--include/follow.php243
-rwxr-xr-x[-rw-r--r--]include/items.php55
-rw-r--r--include/nav.php2
-rw-r--r--include/notifier.php21
-rw-r--r--include/profile_advanced.php5
-rw-r--r--include/text.php5
-rw-r--r--include/user.php327
-rw-r--r--js/country.js2
-rw-r--r--mod/acctlink.php16
-rw-r--r--mod/acl.php2
-rw-r--r--mod/admin.php2
-rw-r--r--mod/community.php2
-rw-r--r--mod/dfrn_confirm.php9
-rw-r--r--mod/dfrn_notify.php10
-rw-r--r--mod/dfrn_request.php16
-rw-r--r--mod/follow.php224
-rwxr-xr-x[-rw-r--r--]mod/install.php29
-rw-r--r--mod/item.php47
-rwxr-xr-x[-rw-r--r--]mod/like.php125
-rw-r--r--mod/message.php3
-rw-r--r--mod/network.php6
-rw-r--r--mod/notes.php2
-rw-r--r--mod/profile.php2
-rw-r--r--mod/profiles.php15
-rw-r--r--mod/register.php329
-rw-r--r--mod/search.php11
-rw-r--r--mod/settings.php18
-rw-r--r--update.php34
-rw-r--r--util/messages.po1521
-rw-r--r--view/de/messages.po1655
-rw-r--r--view/de/strings.php99
-rw-r--r--view/dfrn_req_confirm.tpl4
-rwxr-xr-x[-rw-r--r--]view/diaspora_like_relay.tpl4
-rw-r--r--view/diaspora_relay_retraction.tpl10
-rwxr-xr-xview/diaspora_relayable_retraction.tpl11
-rw-r--r--view/pagetypes.tpl6
-rw-r--r--view/profile_advanced.tpl9
-rw-r--r--view/profile_edit.tpl9
-rw-r--r--view/prv_message.tpl2
-rw-r--r--view/settings.tpl9
-rw-r--r--view/theme/dispy/conversation.tpl3
-rw-r--r--view/theme/dispy/dark/style.css11
-rw-r--r--view/theme/dispy/dark/style.less15
-rw-r--r--view/theme/dispy/light/style.css22
-rw-r--r--view/theme/dispy/light/style.less15
-rw-r--r--view/theme/duepuntozero/style.css19
-rw-r--r--view/theme/quattro/dark/style.css135
-rw-r--r--view/theme/quattro/green/style.css135
-rw-r--r--view/theme/quattro/icons.less15
-rw-r--r--view/theme/quattro/icons/addon_off.pngbin0 -> 438 bytes
-rw-r--r--view/theme/quattro/icons/addon_on.pngbin0 -> 428 bytes
-rw-r--r--view/theme/quattro/quattro.less73
62 files changed, 3290 insertions, 2383 deletions
diff --git a/boot.php b/boot.php
index affa351dc..18313b4cd 100644
--- a/boot.php
+++ b/boot.php
@@ -9,9 +9,9 @@ require_once('include/nav.php');
require_once('include/cache.php');
define ( 'FRIENDICA_PLATFORM', 'Friendica');
-define ( 'FRIENDICA_VERSION', '3.0.1357' );
+define ( 'FRIENDICA_VERSION', '3.0.1363' );
define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
-define ( 'DB_UPDATE_VERSION', 1144 );
+define ( 'DB_UPDATE_VERSION', 1148 );
define ( 'EOL', "<br />\r\n" );
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
diff --git a/database.sql b/database.sql
index ed97cd4aa..c1d1b27e4 100644
--- a/database.sql
+++ b/database.sql
@@ -173,6 +173,7 @@ CREATE TABLE IF NOT EXISTS `contact` (
`readonly` tinyint(1) NOT NULL DEFAULT '0',
`writable` tinyint(1) NOT NULL DEFAULT '0',
`forum` tinyint(1) NOT NULL DEFAULT '0',
+ `prv` tinyint(1) NOT NULL DEFAULT '0',
`hidden` tinyint(1) NOT NULL DEFAULT '0',
`archive` tinyint(1) NOT NULL DEFAULT '0',
`pending` tinyint(1) NOT NULL DEFAULT '1',
@@ -819,9 +820,11 @@ CREATE TABLE IF NOT EXISTS `profile` (
`region` char(255) NOT NULL,
`postal-code` char(32) NOT NULL,
`country-name` char(255) NOT NULL,
+ `hometown` char(255) NOT NULL,
`gender` char(32) NOT NULL,
`marital` char(255) NOT NULL,
`with` text NOT NULL,
+ `howlong` datetime NOT NULL default '0000-00-00 00:00:00',
`sexual` char(255) NOT NULL,
`politic` char(255) NOT NULL,
`religion` char(255) NOT NULL,
@@ -941,12 +944,14 @@ CREATE TABLE IF NOT EXISTS `session` (
CREATE TABLE IF NOT EXISTS `sign` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
- `iid` int(10) unsigned NOT NULL,
+ `iid` int(10) unsigned NOT NULL DEFAULT '0',
+ `retract_iid` int(10) unsigned NOT NULL DEFAULT '0',
`signed_text` mediumtext NOT NULL,
`signature` text NOT NULL,
`signer` char(255) NOT NULL,
PRIMARY KEY (`id`),
- KEY `iid` (`iid`)
+ KEY `iid` (`iid`),
+ KEY `retract_iid` (`retract_iid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
diff --git a/include/api.php b/include/api.php
index cd8526f89..9925b5766 100644
--- a/include/api.php
+++ b/include/api.php
@@ -997,8 +997,8 @@
else
$sql_extra .= sprintf(" AND `item`.`parent` IN (SELECT distinct(`parent`) from item where ( `author-link` like '%s' or `tag` like '%s' or tag like '%s' )) ",
dbesc(protect_sprintf('%' . $myurl)),
- dbesc(protect_sprintf('%' . $myurl . '\\]%')),
- dbesc(protect_sprintf('%' . $diasp_url . '\\]%'))
+ dbesc(protect_sprintf('%' . $myurl . ']%')),
+ dbesc(protect_sprintf('%' . $diasp_url . ']%'))
);
if ($max_id > 0)
diff --git a/include/bbcode.php b/include/bbcode.php
index 85d310b75..efc362880 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -52,6 +52,8 @@ function bb_unspacefy_and_trim($st) {
function bbcode($Text,$preserve_nl = false) {
+ $a = get_app();
+
// Hide all [noparse] contained bbtags spacefying them
$Text = preg_replace_callback("/\[noparse\](.*?)\[\/noparse\]/ism", 'bb_spacefy',$Text);
@@ -114,6 +116,11 @@ function bbcode($Text,$preserve_nl = false) {
$Text = preg_replace("/\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism", '<a href="$1" target="external-link">$2</a>', $Text);
//$Text = preg_replace("/\[url\=([$URLSearchString]*)\]([$URLSearchString]*)\[\/url\]/ism", '<a href="$1" target="_blank">$2</a>', $Text);
+ // we may need to restrict this further if it picks up too many strays
+ // link acct:user@host to a webfinger profile redirector
+
+ $Text = preg_replace('/acct:(.*?)@(.*?)([ ,])/', '<a href="' . $a->get_baseurl() . '/acctlink?addr=' . "$1@$2"
+ . '" target="extlink" >acct:' . "$1@$2$3" . '</a>',$Text);
// Perform MAIL Search
$Text = preg_replace("/\[mail\]([$MAILSearchString]*)\[\/mail\]/", '<a href="mailto:$1">$1</a>', $Text);
@@ -226,7 +233,7 @@ function bbcode($Text,$preserve_nl = false) {
$endlessloop = 0;
while ((strpos($Text, "[/quote]")!== false) and (strpos($Text, "[quote=") !== false) and (++$endlessloop < 20))
$Text = preg_replace("/\[quote=[\"\']*(.*?)[\"\']*\](.*?)\[\/quote\]/ism",
- "<br /><strong class=".'"author"'.">" . $t_wrote . "</strong><blockquote class=".'"author"'.">$2</blockquote>",
+ "<br /><strong class=".'"author"'.">" . $t_wrote . "</strong><blockquote>$2</blockquote>",
$Text);
// [img=widthxheight]image source[/img]
diff --git a/include/conversation.php b/include/conversation.php
index dc574ddff..a9c6287a9 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -173,6 +173,12 @@ function localize_item(&$item){
$item['body'] = str_replace($mtch[0],'@[url=' . zrl($mtch[1]). ']',$item['body']);
}
}
+ if(preg_match_all('/\[url=(.*?)\/photos\/(.*?)\/image\/(.*?)\]\[img(.*?)\]h(.*?)\[\/img\]\[\/url\]/is',$item['body'],$matches,PREG_SET_ORDER)) {
+logger('matched');
+ foreach($matches as $mtch) {
+ $item['body'] = str_replace($mtch[0],'[url=' . zrl($mtch[1] . '/photos/' . $mtch[2] . '/image/' . $mtch[3] ,true) . '][img' . $mtch[4] . ']h' . $mtch[5] . '[/img][/url]',$item['body']);
+ }
+ }
}
@@ -496,7 +502,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
// On the network page, I am the owner. On the display page it will be the profile owner.
// This will have been stored in $a->page_contact by our calling page.
- // Put this person on the left of the wall-to-wall notice.
+ // Put this person as the wall owner of the wall-to-wall notice.
$owner_url = zrl($a->page_contact['url']);
$owner_photo = $a->page_contact['thumb'];
@@ -504,23 +510,38 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
$template = $wallwall;
$commentww = 'ww';
}
- if((! $item['wall']) && (strlen($item['owner-link'])) && (! link_compare($item['owner-link'],$item['author-link']))) {
- // Could be anybody.
-
- $owner_url = $item['owner-link'];
- $owner_photo = $item['owner-avatar'];
- $owner_name = $item['owner-name'];
- $template = $wallwall;
- $commentww = 'ww';
- // If it is our contact, use a friendly redirect link
- if((link_compare($item['owner-link'],$item['url']))
- && ($item['network'] === NETWORK_DFRN)) {
- $owner_url = $redirect_url;
- $osparkle = ' sparkle';
+ if((! $item['wall']) && $item['owner-link']) {
+
+ $owner_linkmatch = (($item['owner-link']) && link_compare($item['owner-link'],$item['author-link']));
+ $alias_linkmatch = (($item['alias']) && link_compare($item['alias'],$item['author-link']));
+ $owner_namematch = (($item['owner-name']) && $item['owner-name'] == $item['author-name']);
+ if((! $owner_linkmatch) && (! $alias_linkmatch) && (! $owner_namematch)) {
+
+ // The author url doesn't match the owner (typically the contact)
+ // and also doesn't match the contact alias.
+ // The name match is a hack to catch several weird cases where URLs are
+ // all over the park. It can be tricked, but this prevents you from
+ // seeing "Bob Smith to Bob Smith via Wall-to-wall" and you know darn
+ // well that it's the same Bob Smith.
+
+ // But it could be somebody else with the same name. It just isn't highly likely.
+
+
+ $owner_url = $item['owner-link'];
+ $owner_photo = $item['owner-avatar'];
+ $owner_name = $item['owner-name'];
+ $template = $wallwall;
+ $commentww = 'ww';
+ // If it is our contact, use a friendly redirect link
+ if((link_compare($item['owner-link'],$item['url']))
+ && ($item['network'] === NETWORK_DFRN)) {
+ $owner_url = $redirect_url;
+ $osparkle = ' sparkle';
+ }
+ else
+ $owner_url = zrl($owner_url);
}
- else
- $owner_url = zrl($owner_url);
}
}
diff --git a/include/datetime.php b/include/datetime.php
index f4dcfce62..3b1491e4d 100644
--- a/include/datetime.php
+++ b/include/datetime.php
@@ -244,7 +244,7 @@ function timesel($pre,$h,$m) {
// Limited to range of timestamps
if(! function_exists('relative_date')) {
-function relative_date($posted_date) {
+function relative_date($posted_date,$format = null) {
$localtime = datetime_convert('UTC',date_default_timezone_get(),$posted_date);
@@ -274,7 +274,9 @@ function relative_date($posted_date) {
if ($d >= 1) {
$r = round($d);
// translators - e.g. 22 hours ago, 1 minute ago
- return sprintf( t('%1$d %2$s ago'),$r, (($r == 1) ? $str[0] : $str[1]));
+ if(! $format)
+ $format = t('%1$d %2$s ago');
+ return sprintf( $format,$r, (($r == 1) ? $str[0] : $str[1]));
}
}
}}
diff --git a/include/delivery.php b/include/delivery.php
index 32943d5da..e6cfc8155 100644
--- a/include/delivery.php
+++ b/include/delivery.php
@@ -113,6 +113,7 @@ function delivery_run($argv, $argc){
$uid = $r[0]['uid'];
$updated = $r[0]['edited'];
+ // The following seems superfluous. We've already checked for "if (! intval($r[0]['parent']))" a few lines up
if(! $parent_id)
continue;
@@ -508,17 +509,17 @@ function delivery_run($argv, $argc){
// unsupported
break;
}
- elseif(($target_item['deleted']) && ($target_item['verb'] !== ACTIVITY_LIKE)) {
- logger('delivery: diaspora retract: ' . $loc);
- // diaspora delete,
+ elseif(($target_item['deleted']) && ($target_item['uri'] === $target_item['parent-uri'])) {
+ // top-level retraction
+ logger('delivery: diaspora retract: ' . $loc);
+
diaspora_send_retraction($target_item,$owner,$contact,$public_message);
break;
}
- elseif($target_item['parent'] != $target_item['id']) {
-
- logger('delivery: diaspora relay: ' . $loc);
+ elseif($target_item['uri'] !== $target_item['parent-uri']) {
+ // we are the relay - send comments, likes and relayable_retractions to our conversants
+ logger('delivery: diaspora relay: ' . $loc);
- // we are the relay - send comments, likes and unlikes to our conversants
diaspora_send_relay($target_item,$owner,$contact,$public_message);
break;
}
diff --git a/include/diaspora.php b/include/diaspora.php
index 3f2cdf8e4..1e6662f04 100644..100755
--- a/include/diaspora.php
+++ b/include/diaspora.php
@@ -83,6 +83,9 @@ function diaspora_dispatch($importer,$msg) {
elseif($xmlbase->signed_retraction) {
$ret = diaspora_signed_retraction($importer,$xmlbase->signed_retraction,$msg);
}
+ elseif($xmlbase->relayable_retraction) {
+ $ret = diaspora_signed_retraction($importer,$xmlbase->relayable_retraction,$msg);
+ }
elseif($xmlbase->photo) {
$ret = diaspora_photo($importer,$xmlbase->photo,$msg);
}
@@ -677,7 +680,7 @@ function diaspora_post($importer,$xml) {
return;
}
- // allocate a guid on our system - we aren't fixing any collisions.
+ // allocate a guid on our system - we aren't fixing any collisions.
// we're ignoring them
$g = q("select * from guid where guid = '%s' limit 1",
@@ -844,7 +847,7 @@ function diaspora_reshare($importer,$xml) {
$prefix = '&#x2672; ' . $details . "\n";
- // allocate a guid on our system - we aren't fixing any collisions.
+ // allocate a guid on our system - we aren't fixing any collisions.
// we're ignoring them
$g = q("select * from guid where guid = '%s' limit 1",
@@ -948,7 +951,7 @@ function diaspora_asphoto($importer,$xml) {
return;
}
- // allocate a guid on our system - we aren't fixing any collisions.
+ // allocate a guid on our system - we aren't fixing any collisions.
// we're ignoring them
$g = q("select * from guid where guid = '%s' limit 1",
@@ -1602,22 +1605,28 @@ function diaspora_like($importer,$xml,$msg) {
logger('diaspora_like: duplicate like: ' . $guid);
return;
}
+ // Note: I don't think "Like" objects with positive = "false" are ever actually used
+ // It looks like "RelayableRetractions" are used for "unlike" instead
if($positive === 'false') {
- q("UPDATE `item` SET `deleted` = 1 WHERE `id` = %d AND `uid` = %d LIMIT 1",
+ logger('diaspora_like: received a like with positive set to "false"...ignoring');
+/* q("UPDATE `item` SET `deleted` = 1 WHERE `id` = %d AND `uid` = %d LIMIT 1",
intval($r[0]['id']),
intval($importer['uid'])
- );
+ );*/
// FIXME
// send notification via proc_run()
return;
}
}
+ // Note: I don't think "Like" objects with positive = "false" are ever actually used
+ // It looks like "RelayableRetractions" are used for "unlike" instead
if($positive === 'false') {
- logger('diaspora_like: unlike received with no corresponding like');
+ logger('diaspora_like: received a like with positive set to "false"');
+ logger('diaspora_like: unlike received with no corresponding like...ignoring');
return;
}
- $author_signed_data = $guid . ';' . $target_type . ';' . $parent_guid . ';' . $positive . ';' . $diaspora_handle;
+ $signed_data = $guid . ';' . $target_type . ';' . $parent_guid . ';' . $positive . ';' . $diaspora_handle;
$author_signature = base64_decode($author_signature);
@@ -1635,20 +1644,20 @@ function diaspora_like($importer,$xml,$msg) {
}
}
- if(! rsa_verify($author_signed_data,$author_signature,$key,'sha256')) {
+ if(! rsa_verify($signed_data,$author_signature,$key,'sha256')) {
logger('diaspora_like: verification failed.');
return;
}
if($parent_author_signature) {
- $owner_signed_data = $guid . ';' . $target_type . ';' . $parent_guid . ';' . $positive . ';' . $diaspora_handle;
+ //$owner_signed_data = $guid . ';' . $target_type . ';' . $parent_guid . ';' . $positive . ';' . $diaspora_handle;
$parent_author_signature = base64_decode($parent_author_signature);
$key = $msg['key'];
- if(! rsa_verify($owner_signed_data,$parent_author_signature,$key,'sha256')) {
+ if(! rsa_verify($signed_data,$parent_author_signature,$key,'sha256')) {
logger('diaspora_like: owner verification failed.');
return;
}
@@ -1783,38 +1792,89 @@ function diaspora_signed_retraction($importer,$xml,$msg) {
$type = notags(unxmlify($xml->target_type));
$sig = notags(unxmlify($xml->target_author_signature));
+ $parent_author_signature = (($xml->parent_author_signature) ? notags(unxmlify($xml->parent_author_signature)) : '');
+
$contact = diaspora_get_contact_by_handle($importer['uid'],$diaspora_handle);
if(! $contact) {
logger('diaspora_signed_retraction: no contact');
return;
}
- // this may not yet work for comments. Need to see how the relaying works
- // and figure out who signs it.
-
$signed_data = $guid . ';' . $type ;
- $sig = base64_decode($sig);
+ $sig_decode = base64_decode($sig);
- $key = $msg['key'];
+ if(strcasecmp($diaspora_handle,$msg['author']) == 0) {
+ $person = $contact;
+ $key = $msg['key'];
+ }
+ else {
+ $person = find_diaspora_person_by_handle($diaspora_handle);
+
+ if(is_array($person) && x($person,'pubkey'))
+ $key = $person['pubkey'];
+ else {
+ logger('diaspora_signed_retraction: unable to find author details');
+ return;
+ }
+ }
- if(! rsa_verify($signed_data,$sig,$key,'sha256')) {
- logger('diaspora_signed_retraction: owner verification failed.' . print_r($msg,true));
+ if(! rsa_verify($signed_data,$sig_decode,$key,'sha256')) {
+ logger('diaspora_signed_retraction: retraction-owner verification failed.' . print_r($msg,true));
return;
}
- if($type === 'StatusMessage') {
+ if($parent_author_signature) {
+ $parent_author_signature = base64_decode($parent_author_signature);
+
+ $key = $msg['key'];
+
+ if(! rsa_verify($signed_data,$parent_author_signature,$key,'sha256')) {
+ logger('diaspora_signed_retraction: failed to verify person relaying the retraction (e.g. owner of a post relaying a retracted comment');
+ return;
+ }
+
+ }
+
+ if($type === 'StatusMessage' || $type === 'Comment' || $type === 'Like') {
$r = q("select * from item where guid = '%s' and uid = %d and not file like '%%[%%' limit 1",
dbesc($guid),
intval($importer['uid'])
);
if(count($r)) {
if(link_compare($r[0]['author-link'],$contact['url'])) {
- q("update item set `deleted` = 1, `changed` = '%s' where `id` = %d limit 1",
+ q("update item set `deleted` = 1, `edited` = '%s', `changed` = '%s', `body` = '' , `title` = '' where `id` = %d limit 1",
+ dbesc(datetime_convert()),
dbesc(datetime_convert()),
intval($r[0]['id'])
);
+
+ // Now check if the retraction needs to be relayed by us
+ //
+ // The first item in the `item` table with the parent id is the parent. However, MySQL doesn't always
+ // return the items ordered by `item`.`id`, in which case the wrong item is chosen as the parent.
+ // The only item with `parent` and `id` as the parent id is the parent item.
+ $p = q("select origin from item where parent = %d and id = %d limit 1",
+ $r[0]['parent'],
+ $r[0]['parent']
+ );
+ if(count($p)) {
+ if(($p[0]['origin']) && (! $parent_author_signature)) {
+ q("insert into sign (`retract_iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ",
+ $r[0]['id'],
+ dbesc($signed_data),
+ dbesc($sig),
+ dbesc($diaspora_handle)
+ );
+
+ // the existence of parent_author_signature would have meant the parent_author or owner
+ // is already relaying.
+ logger('diaspora_signed_retraction: relaying relayable_retraction');
+
+ proc_run('php','include/notifier.php','relayable_retraction',$r[0]['id']);
+ }
+ }
}
}
}
@@ -2055,8 +2115,12 @@ function diaspora_send_followup($item,$owner,$contact,$public_batch = false) {
$myaddr = $owner['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3);
$theiraddr = $contact['addr'];
- $p = q("select guid from item where parent = %d limit 1",
- $item['parent']
+ // The first item in the `item` table with the parent id is the parent. However, MySQL doesn't always
+ // return the items ordered by `item`.`id`, in which case the wrong item is chosen as the parent.
+ // The only item with `parent` and `id` as the parent id is the parent item.
+ $p = q("select guid from item where parent = %d and id = %d limit 1",
+ intval($item['parent']),
+ intval($item['parent'])
);
if(count($p))
$parent_guid = $p[0]['guid'];
@@ -2067,7 +2131,11 @@ function diaspora_send_followup($item,$owner,$contact,$public_batch = false) {
$tpl = get_markup_template('diaspora_like.tpl');
$like = true;
$target_type = 'Post';
- $positive = (($item['deleted']) ? 'false' : 'true');
+// $positive = (($item['deleted']) ? 'false' : 'true');
+ $positive = 'true';
+
+ if(($item['deleted']))
+ logger('diaspora_send_followup: received deleted "like". Those should go to diaspora_send_retraction');
}
else {
$tpl = get_markup_template('diaspora_comment.tpl');
@@ -2107,41 +2175,51 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) {
$a = get_app();
- $myaddr = $owner['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3);
+ $myaddr = $owner['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3);
$theiraddr = $contact['addr'];
- $p = q("select guid from item where parent = %d limit 1",
- $item['parent']
+ // The first item in the `item` table with the parent id is the parent. However, MySQL doesn't always
+ // return the items ordered by `item`.`id`, in which case the wrong item is chosen as the parent.
+ // The only item with `parent` and `id` as the parent id is the parent item.
+ $p = q("select guid from item where parent = %d and id = %d limit 1",
+ intval($item['parent']),
+ intval($item['parent'])
);
if(count($p))
$parent_guid = $p[0]['guid'];
else
return;
- if($item['verb'] === ACTIVITY_LIKE) {
+ $like = false;
+ $relay_retract = false;
+ $sql_sign_id = 'iid';
+ if( $item['deleted']) {
+ $tpl = get_markup_template('diaspora_relayable_retraction.tpl');
+ $relay_retract = true;
+ $sql_sign_id = 'retract_iid';
+ $target_type = ( ($item['verb'] === ACTIVITY_LIKE) ? 'Like' : 'Comment');
+ }
+ elseif($item['verb'] === ACTIVITY_LIKE) {
$tpl = get_markup_template('diaspora_like_relay.tpl');
$like = true;
$target_type = 'Post';
- $positive = (($item['deleted']) ? 'false' : 'true');
+// $positive = (($item['deleted']) ? 'false' : 'true');
+ $positive = 'true';
}
else {
$tpl = get_markup_template('diaspora_comment_relay.tpl');
- $like = false;
}
$body = $item['body'];
$text = html_entity_decode(bb2diaspora($body));
- // fetch the original signature if somebody sent the post to us to relay
- // If we are relaying for a reply originating on our own account, there wasn't a 'send to relay'
- // action. It wasn't needed. In that case create the original signature and the
- // owner (parent author) signature
- // comments from other networks will be relayed under our name, with a brief
- // preamble to describe what's happening and noting the real author
- $r = q("select * from sign where iid = %d limit 1",
+ // 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",
intval($item['id'])
);
if(count($r)) {
@@ -2152,6 +2230,12 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) {
}
else {
+ // 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;
+/*
$itemcontact = q("select * from contact where `id` = %d limit 1",
intval($item['contact-id'])
);
@@ -2160,29 +2244,40 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) {
$prefix = sprintf( t('[Relayed] Comment authored by %s from network %s'),
'['. $item['author-name'] . ']' . '(' . $item['author-link'] . ')',
network_to_name($itemcontact['network'])) . "\n";
+ // "$body" was assigned to "$text" above. It isn't used after that, so I don't think
+ // the following change will do anything
$body = $prefix . $body;
+
+ // I think this comment will fail upon reaching Diaspora, because "$signed_text" is not defined
}
}
else {
+ // I'm confused about this "else." Since it sets "$handle = $myaddr," it seems like it should be for the case
+ // where the top-level post owner commented on his own post, i.e. "$itemcontact[0]['self']" is true. But it's
+ // positioned to be for the case where "count($itemcontact)" is 0.
+
+ $handle = $myaddr;
if($like)
- $signed_text = $item['guid'] . ';' . $target_type . ';' . $parent_guid . ';' . $positive . ';' . $myaddr;
+ $signed_text = $item['guid'] . ';' . $target_type . ';' . $parent_guid . ';' . $positive . ';' . $handle;
+ elseif($relay_retract)
+ $signed_text = $item['guid'] . ';' . $target_type;
else
- $signed_text = $item['guid'] . ';' . $parent_guid . ';' . $text . ';' . $myaddr;
+ $signed_text = $item['guid'] . ';' . $parent_guid . ';' . $text . ';' . $handle;
$authorsig = base64_encode(rsa_sign($signed_text,$owner['uprvkey'],'sha256'));
- q("insert into sign (`iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ",
+ q("insert into sign (`" . $sql_sign_id . "`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ",
intval($item['id']),
dbesc($signed_text),
- dbesc(base64_encode($authorsig)),
- dbesc($myaddr)
+ dbesc($authorsig),
+ dbesc($handle)
);
- $handle = $myaddr;
}
+*/
}
- // sign it
+ // sign it with the top-level owner's signature
$parentauthorsig = base64_encode(rsa_sign($signed_text,$owner['uprvkey'],'sha256'));
@@ -2190,14 +2285,15 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) {
'$guid' => xmlify($item['guid']),
'$parent_guid' => xmlify($parent_guid),
'$target_type' =>xmlify($target_type),
- '$authorsig' => xmlify($orig_sign['signature']),
+ '$authorsig' => xmlify($authorsig),
'$parentsig' => xmlify($parentauthorsig),
'$body' => xmlify($text),
'$positive' => xmlify($positive),
'$handle' => xmlify($handle)
));
- logger('diaspora_relay_comment: base message: ' . $msg, LOGGER_DATA);
+ logger('diaspora_send_relay: base message: ' . $msg, LOGGER_DATA);
+
$slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch)));
@@ -2212,14 +2308,25 @@ function diaspora_send_retraction($item,$owner,$contact,$public_batch = false) {
$a = get_app();
$myaddr = $owner['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3);
- $signed_text = $item['guid'] . ';' . 'StatusMessage';
+ // Check whether the retraction is for a top-level post or whether it's a relayable
+ if( $item['uri'] !== $item['parent-uri'] ) {
+
+ $tpl = get_markup_template('diaspora_relay_retraction.tpl');
+ $target_type = (($item['verb'] === ACTIVITY_LIKE) ? 'Like' : 'Comment');
+ }
+ else {
+
+ $tpl = get_markup_template('diaspora_signed_retract.tpl');
+ $target_type = 'StatusMessage';
+ }
+
+ $signed_text = $item['guid'] . ';' . $target_type;
- $tpl = get_markup_template('diaspora_signed_retract.tpl');
$msg = replace_macros($tpl, array(
- '$guid' => $item['guid'],
- '$type' => 'StatusMessage',
- '$handle' => $myaddr,
- '$signature' => base64_encode(rsa_sign($signed_text,$owner['uprvkey'],'sha256'))
+ '$guid' => xmlify($item['guid']),
+ '$type' => xmlify($target_type),
+ '$handle' => xmlify($myaddr),
+ '$signature' => xmlify(base64_encode(rsa_sign($signed_text,$owner['uprvkey'],'sha256')))
));
$slap = 'xml=' . urlencode(urlencode(diaspora_msg_build($msg,$owner,$contact,$owner['uprvkey'],$contact['pubkey'],$public_batch)));
@@ -2343,3 +2450,5 @@ function diaspora_transmit($owner,$contact,$slap,$public_batch) {
return(($return_code) ? $return_code : (-1));
}
+
+
diff --git a/include/enotify.php b/include/enotify.php
index f7ef74fac..fe0f128b6 100644
--- a/include/enotify.php
+++ b/include/enotify.php
@@ -20,6 +20,9 @@ function notification($params) {
$sender_name = $product;
$hostname = $a->get_hostname();
+ if(strpos($hostname,':'))
+ $hostname = substr($hostname,0,strpos($hostname,':'));
+
$sender_email = t('noreply') . '@' . $hostname;
$additional_mail_header = "";
diff --git a/include/event.php b/include/event.php
index 29202badd..866ae8c3f 100644
--- a/include/event.php
+++ b/include/event.php
@@ -42,7 +42,7 @@ function format_event_html($ev) {
return $o;
}
-
+/*
function parse_event($h) {
require_once('include/Scrape.php');
@@ -108,7 +108,7 @@ function parse_event($h) {
return $ret;
}
-
+*/
function format_event_bbcode($ev) {
@@ -162,7 +162,6 @@ function bbtoevent($s) {
$match = '';
if(preg_match("/\[event\-adjust\](.*?)\[\/event\-adjust\]/is",$s,$match))
$ev['adjust'] = $match[1];
- $match = '';
$ev['nofinish'] = (((x($ev, 'start') && $ev['start']) && (!x($ev, 'finish') || !$ev['finish'])) ? 1 : 0);
return $ev;
@@ -294,10 +293,14 @@ function event_store($arr) {
intval($arr['uid'])
);
- return $r[0]['id'];
+ $item_id = $r[0]['id'];
}
else
- return 0;
+ $item_id = 0;
+
+ call_hooks("event_updated", $arr['id']);
+
+ return $item_id;
}
else {
@@ -361,7 +364,7 @@ function event_store($arr) {
$item_arr['body'] = format_event_bbcode($event);
- $item_arr['object'] = '<object><type>' . xmlify(ACTIVITY_OBJ_EVENT) . '</type><title></title><id>' . xmlify($uri) . '</id>';
+ $item_arr['object'] = '<object><type>' . xmlify(ACTIVITY_OBJ_EVENT) . '</type><title></title><id>' . xmlify($arr['uri']) . '</id>';
$item_arr['object'] .= '<content>' . xmlify(format_event_bbcode($event)) . '</content>';
$item_arr['object'] .= '</object>' . "\n";
@@ -383,6 +386,8 @@ function event_store($arr) {
);
}
+ call_hooks("event_created", $event['id']);
+
return $item_id;
}
}
diff --git a/include/follow.php b/include/follow.php
new file mode 100644
index 000000000..d92d7577d
--- /dev/null
+++ b/include/follow.php
@@ -0,0 +1,243 @@
+<?php
+
+
+//
+// Takes a $uid and a url/handle and adds a new contact
+// Currently if the contact is DFRN, interactive needs to be true, to redirect to the
+// dfrn_request page.
+
+// Otherwise this can be used to bulk add statusnet contacts, twitter contacts, etc.
+// Returns an array
+// $return['success'] boolean true if successful
+// $return['message'] error text if success is false.
+
+
+
+function new_contact($uid,$url,$interactive = false) {
+
+ $result = array('success' => false,'message' => '');
+
+ $a = get_app();
+
+ // remove ajax junk, e.g. Twitter
+
+ $url = str_replace('/#!/','/',$url);
+
+ if(! allowed_url($url)) {
+ $result['message'] = t('Disallowed profile URL.');
+ return $result;
+ }
+
+ if(! $url) {
+ $result['message'] = t('Connect URL missing.');
+ return $result;
+ }
+
+ $arr = array('url' => $url, 'contact' => array());
+
+ call_hooks('follow', $arr);
+
+ if(x($arr['contact'],'name'))
+ $ret = $arr['contact'];
+ else
+ $ret = probe_url($url);
+
+ if($ret['network'] === NETWORK_DFRN) {
+ if($interactive) {
+ if(strlen($a->path))
+ $myaddr = bin2hex($a->get_baseurl() . '/profile/' . $a->user['nickname']);
+ else
+ $myaddr = bin2hex($a->user['nickname'] . '@' . $a->get_hostname());
+
+ goaway($ret['request'] . "&addr=$myaddr");
+
+ // NOTREACHED
+ }
+ }
+ else {
+ if(get_config('system','dfrn_only')) {
+ $result['message'] = t('This site is not configured to allow communications with other networks.') . EOL;
+ $result['message'] != t('No compatible communication protocols or feeds were discovered.') . EOL;
+ return $result;
+ }
+ }
+
+ // This extra param just confuses things, remove it
+ if($ret['network'] === NETWORK_DIASPORA)
+ $ret['url'] = str_replace('?absolute=true','',$ret['url']);
+
+
+ // do we have enough information?
+
+ if(! ((x($ret,'name')) && (x($ret,'poll')) && ((x($ret,'url')) || (x($ret,'addr'))))) {
+ $result['message'] .= t('The profile address specified does not provide adequate information.') . EOL;
+ if(! x($ret,'poll'))
+ $result['message'] .= t('No compatible communication protocols or feeds were discovered.') . EOL;
+ if(! x($ret,'name'))
+ $result['message'] .= t('An author or name was not found.') . EOL;
+ if(! x($ret,'url'))
+ $result['message'] .= t('No browser URL could be matched to this address.') . EOL;
+ if(strpos($url,'@') !== false) {
+ $result['message'] .= t('Unable to match @-style Identity Address with a known protocol or email contact.') . EOL;
+ $result['message'] .= t('Use mailto: in front of address to force email check.') . EOL;
+ }
+ return $result;
+ }
+
+ if($ret['network'] === NETWORK_OSTATUS && get_config('system','ostatus_disabled')) {
+ $result['message'] .= t('The profile address specified belongs to a network which has been disabled on this site.') . EOL;
+ $ret['notify'] = '';
+ }
+
+ if(! $ret['notify']) {
+ $result['message'] .= t('Limited profile. This person will be unable to receive direct/personal notifications from you.') . EOL;
+ }
+
+ $writeable = ((($ret['network'] === NETWORK_OSTATUS) && ($ret['notify'])) ? 1 : 0);
+ $hidden = (($ret['network'] === NETWORK_MAIL) ? 1 : 0);
+
+ if($ret['network'] === NETWORK_MAIL) {
+ $writeable = 1;
+
+ }
+ if($ret['network'] === NETWORK_DIASPORA)
+ $writeable = 1;
+
+ // check if we already have a contact
+ // the poll url is more reliable than the profile url, as we may have
+ // indirect links or webfinger links
+
+ $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `poll` = '%s' LIMIT 1",
+ intval($uid),
+ dbesc($ret['poll'])
+ );
+
+
+ if(count($r)) {
+ // update contact
+ if($r[0]['rel'] == CONTACT_IS_FOLLOWER || ($network === NETWORK_DIASPORA && $r[0]['rel'] == CONTACT_IS_SHARING)) {
+ q("UPDATE `contact` SET `rel` = %d , `readonly` = 0 WHERE `id` = %d AND `uid` = %d LIMIT 1",
+ intval(CONTACT_IS_FRIEND),
+ intval($r[0]['id']),
+ intval($uid)
+ );
+ }
+ }
+ else {
+
+ $new_relation = (($ret['network'] === NETWORK_MAIL) ? CONTACT_IS_FRIEND : CONTACT_IS_SHARING);
+ if($ret['network'] === NETWORK_DIASPORA)
+ $new_relation = CONTACT_IS_FOLLOWER;
+
+ // create contact record
+ $r = q("INSERT INTO `contact` ( `uid`, `created`, `url`, `nurl`, `addr`, `alias`, `batch`, `notify`, `poll`, `poco`, `name`, `nick`, `photo`, `network`, `pubkey`, `rel`, `priority`,
+ `writable`, `hidden`, `blocked`, `readonly`, `pending` )
+ VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, %d, %d, 0, 0, 0 ) ",
+ intval($uid),
+ dbesc(datetime_convert()),
+ dbesc($ret['url']),
+ dbesc(normalise_link($ret['url'])),
+ dbesc($ret['addr']),
+ dbesc($ret['alias']),
+ dbesc($ret['batch']),
+ dbesc($ret['notify']),
+ dbesc($ret['poll']),
+ dbesc($ret['poco']),
+ dbesc($ret['name']),
+ dbesc($ret['nick']),
+ dbesc($ret['photo']),
+ dbesc($ret['network']),
+ dbesc($ret['pubkey']),
+ intval($new_relation),
+ intval($ret['priority']),
+ intval($writeable),
+ intval($hidden)
+ );
+ }
+
+ $r = q("SELECT * FROM `contact` WHERE `url` = '%s' AND `uid` = %d LIMIT 1",
+ dbesc($ret['url']),
+ intval($uid)
+ );
+
+ if(! count($r)) {
+ $result['message'] .= t('Unable to retrieve contact information.') . EOL;
+ return $result;
+ }
+
+ $contact = $r[0];
+ $contact_id = $r[0]['id'];
+
+
+ $g = q("select def_gid from user where uid = %d limit 1",
+ intval($uid)
+ );
+ if($g && intval($g[0]['def_gid'])) {
+ require_once('include/group.php');
+ group_add_member($uid,'',$contact_id,$g[0]['def_gid']);
+ }
+
+ require_once("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 LIMIT 1
+ ",
+ dbesc($photos[0]),
+ dbesc($photos[1]),
+ dbesc($photos[2]),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
+ intval($contact_id)
+ );
+
+
+ // pull feed and consume it, which should subscribe to the hub.
+
+ proc_run('php',"include/poller.php","$contact_id");
+
+ // create a follow slap
+
+ $tpl = get_markup_template('follow_slap.tpl');
+ $slap = replace_macros($tpl, array(
+ '$name' => $a->user['username'],
+ '$profile_page' => $a->get_baseurl() . '/profile/' . $a->user['nickname'],
+ '$photo' => $a->contact['photo'],
+ '$thumb' => $a->contact['thumb'],
+ '$published' => datetime_convert('UTC','UTC', 'now', ATOM_TIME),
+ '$item_id' => 'urn:X-dfrn:' . $a->get_hostname() . ':follow:' . random_string(),
+ '$title' => '',
+ '$type' => 'text',
+ '$content' => t('following'),
+ '$nick' => $a->user['nickname'],
+ '$verb' => ACTIVITY_FOLLOW,
+ '$ostat_follow' => ''
+ ));
+
+ $r = q("SELECT `contact`.*, `user`.* FROM `contact` LEFT JOIN `user` ON `contact`.`uid` = `user`.`uid`
+ WHERE `user`.`uid` = %d AND `contact`.`self` = 1 LIMIT 1",
+ intval($uid)
+ );
+
+ if(count($r)) {
+ if(($contact['network'] == NETWORK_OSTATUS) && (strlen($contact['notify']))) {
+ require_once('include/salmon.php');
+ slapper($r[0],$contact['notify'],$slap);
+ }
+ if($contact['network'] == NETWORK_DIASPORA) {
+ require_once('include/diaspora.php');
+ $ret = diaspora_share($a->user,$contact);
+ logger('mod_follow: diaspora_share returns: ' . $ret);
+ }
+ }
+
+ $result['success'] = true;
+ return $result;
+}
diff --git a/include/items.php b/include/items.php
index 3fe977b6f..4513db1db 100644..100755
--- a/include/items.php
+++ b/include/items.php
@@ -180,6 +180,10 @@ function get_feed_for(&$a, $dfrn_id, $owner_nick, $last_update, $direction = 0)
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) {
@@ -1063,9 +1067,6 @@ function dfrn_deliver($owner,$contact,$atom, $dissolve = false) {
$a = get_app();
-// if((! strlen($contact['issued-id'])) && (! $contact['duplex']) && (! ($owner['page-flags'] == PAGE_COMMUNITY)))
-// return 3;
-
$idtosend = $orig_id = (($contact['dfrn-id']) ? $contact['dfrn-id'] : $contact['issued-id']);
if($contact['duplex'] && $contact['dfrn-id'])
@@ -1130,6 +1131,9 @@ function dfrn_deliver($owner,$contact,$atom, $dissolve = false) {
$rino_allowed = ((intval($res->rino) === 1) ? 1 : 0);
$page = (($owner['page-flags'] == PAGE_COMMUNITY) ? 1 : 0);
+ if($owner['page-flags'] == PAGE_PRVGROUP)
+ $page = 2;
+
$final_dfrn_id = '';
if($perm) {
@@ -1183,7 +1187,7 @@ function dfrn_deliver($owner,$contact,$atom, $dissolve = false) {
$postvars['ssl_policy'] = $ssl_policy;
if($page)
- $postvars['page'] = '1';
+ $postvars['page'] = $page;
if($rino && $rino_allowed && (! $dissolve)) {
$key = substr(random_string(),0,16);
@@ -2931,10 +2935,10 @@ function fix_private_photos($s,$uid, $item = null, $cid = 0) {
$a = get_app();
logger('fix_private_photos', LOGGER_DEBUG);
- $site = substr($a->get_baseurl(),strpos($a->get_baseurl,'://'));
+ $site = substr($a->get_baseurl(),strpos($a->get_baseurl(),'://'));
- if(preg_match("/\[img\](.*?)\[\/img\]/is",$s,$matches)) {
- $image = $matches[1];
+ if(preg_match("/\[img(.*?)\](.*?)\[\/img\]/is",$s,$matches)) {
+ $image = $matches[2];
logger('fix_private_photos: found photo ' . $image, LOGGER_DEBUG);
if(stristr($image , $site . '/photo/')) {
$replace = false;
@@ -3274,7 +3278,42 @@ function drop_item($id,$interactive = true) {
q("UPDATE `item` SET `last-child` = 1 WHERE `id` = %d LIMIT 1",
intval($r[0]['id'])
);
- }
+ }
+
+ // Add a relayable_retraction signature for Diaspora. Note that we can't add a target_author_signature
+ // if the comment was deleted by a remote user. That should be ok, because if a remote user is deleting
+ // the comment, that means we're the home of the post, and Diaspora will only
+ // check the parent_author_signature of retractions that it doesn't have to relay further
+ //
+ // I don't think this function gets called for an "unlike," but I'll check anyway
+ $signed_text = $item['guid'] . ';' . ( ($item['verb'] === ACTIVITY_LIKE) ? 'Like' : 'Comment');
+
+ if(local_user() == $item['uid']) {
+
+ $handle = $a->user['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3);
+ $authorsig = base64_encode(rsa_sign($signed_text,$a->user['prvkey'],'sha256'));
+ }
+ else {
+ $r = q("SELECT `nick`, `url` FROM `contact` WHERE `id` = '%d' LIMIT 1",
+ $item['contact-id']
+ );
+ if(count($r)) {
+ // The below handle only works for NETWORK_DFRN. I think that's ok, because this function
+ // only handles DFRN deletes
+ $handle_baseurl_start = strpos($r['url'],'://') + 3;
+ $handle_baseurl_length = strpos($r['url'],'/profile') - $handle_baseurl_start;
+ $handle = $r['nick'] . '@' . substr($r['url'], $handle_baseurl_start, $handle_baseurl_length);
+ $authorsig = '';
+ }
+ }
+
+ if(isset($handle))
+ q("insert into sign (`retract_iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ",
+ intval($item['id']),
+ dbesc($signed_text),
+ dbesc($authorsig),
+ dbesc($handle)
+ );
}
$drop_id = intval($item['id']);
diff --git a/include/nav.php b/include/nav.php
index 2c9c643a9..909ba9b54 100644
--- a/include/nav.php
+++ b/include/nav.php
@@ -117,7 +117,7 @@ function nav(&$a) {
/* only show friend requests for normal pages. Other page types have automatic friendship. */
- if($_SESSION['page_flags'] == PAGE_NORMAL) {
+ if($_SESSION['page_flags'] == PAGE_NORMAL || $_SESSION['page_flags'] == PAGE_PRVGROUP) {
$nav['introductions'] = array('notifications/intros', t('Introductions'), "", t('Friend Requests'));
$nav['notifications'] = array('notifications', t('Notifications'), "", t('Notifications'));
$nav['notifications']['all']=array('notifications/system', t('See all notifications'), "", "");
diff --git a/include/notifier.php b/include/notifier.php
index 070e7a436..f0a1940d4 100644
--- a/include/notifier.php
+++ b/include/notifier.php
@@ -125,6 +125,7 @@ function notifier_run($argv, $argc){
$uid = $r[0]['uid'];
$updated = $r[0]['edited'];
+ // The following seems superfluous. We've already checked for "if (! intval($r[0]['parent']))" a few lines up
if(! $parent_id)
return;
@@ -596,7 +597,7 @@ function notifier_run($argv, $argc){
break;
case NETWORK_OSTATUS:
- // Do not send to otatus if we are not configured to send to public networks
+ // Do not send to ostatus if we are not configured to send to public networks
if($owner['prvnets'])
break;
if(get_config('system','ostatus_disabled') || get_config('system','dfrn_only'))
@@ -737,18 +738,19 @@ function notifier_run($argv, $argc){
// unsupported
break;
}
- elseif(($target_item['deleted']) && ($target_item['verb'] !== ACTIVITY_LIKE)) {
- // diaspora delete,
+ elseif(($target_item['deleted']) && (($target_item['uri'] === $target_item['parent-uri']) || $followup)) {
+ // send both top-level retractions and relayable retractions for owner to relay
diaspora_send_retraction($target_item,$owner,$contact);
break;
}
elseif($followup) {
- // send comments, likes and retractions of likes to owner to relay
+ // send comments and likes to owner to relay
diaspora_send_followup($target_item,$owner,$contact);
break;
}
- elseif($target_item['parent'] != $target_item['id']) {
- // we are the relay - send comments, likes and unlikes to our conversants
+ elseif($target_item['uri'] !== $target_item['parent-uri']) {
+ // we are the relay - send comments, likes and relayable_retractions
+ // (of comments and likes) to our conversants
diaspora_send_relay($target_item,$owner,$contact);
break;
}
@@ -858,6 +860,13 @@ function notifier_run($argv, $argc){
}
+ // If the item was deleted, clean up the `sign` table
+ if($target_item['deleted']) {
+ $r = q("DELETE FROM sign where `retract_iid` = %d",
+ intval($target_item['id'])
+ );
+ }
+
logger('notifier: calling hooks', LOGGER_DEBUG);
if($normal_mode)
diff --git a/include/profile_advanced.php b/include/profile_advanced.php
index 8c2acd8e7..ffb45090b 100644
--- a/include/profile_advanced.php
+++ b/include/profile_advanced.php
@@ -39,11 +39,16 @@ function advanced_profile(&$a) {
if($a->profile['with']) $profile['marital']['with'] = $a->profile['with'];
+ if(strlen($a->profile['howlong']) && $a->profile['howlong'] !== '0000-00-00 00:00:00') {
+ $profile['howlong'] = relative_date($a->profile['howlong'], t('for %1$d %2$s'));
+ }
if($a->profile['sexual']) $profile['sexual'] = array( t('Sexual Preference:'), $a->profile['sexual'] );
if($a->profile['homepage']) $profile['homepage'] = array( t('Homepage:'), linkify($a->profile['homepage']) );
+ if($a->profile['hometown']) $profile['hometown'] = array( t('Hometown:'), linkify($a->profile['hometown']) );
+
if($a->profile['pub_keywords']) $profile['pub_keywords'] = array( t('Tags:'), $a->profile['pub_keywords']);
if($a->profile['politic']) $profile['politic'] = array( t('Political Views:'), $a->profile['politic']);
diff --git a/include/text.php b/include/text.php
index d6a9ef5d3..d4a4d5580 100644
--- a/include/text.php
+++ b/include/text.php
@@ -742,6 +742,8 @@ function smilies($s, $sample = false) {
':homebrew',
':coffee',
':facepalm',
+ ':like',
+ ':dislike',
'~friendika',
'~friendica'
@@ -778,6 +780,8 @@ function smilies($s, $sample = false) {
'<img src="' . $a->get_baseurl() . '/images/beer_mug.gif" alt=":homebrew" />',
'<img src="' . $a->get_baseurl() . '/images/coffee.gif" alt=":coffee" />',
'<img src="' . $a->get_baseurl() . '/images/smiley-facepalm.gif" alt=":facepalm" />',
+ '<img src="' . $a->get_baseurl() . '/images/like.gif" alt=":like" />',
+ '<img src="' . $a->get_baseurl() . '/images/dislike.gif" alt=":dislike" />',
'<a href="http://project.friendika.com">~friendika <img src="' . $a->get_baseurl() . '/images/friendika-16.png" alt="~friendika" /></a>',
'<a href="http://friendica.com">~friendica <img src="' . $a->get_baseurl() . '/images/friendica-16.png" alt="~friendica" /></a>'
);
@@ -887,6 +891,7 @@ function prepare_body($item,$attach = false) {
} else
$s = prepare_text($item['body']);
+
$prep_arr = array('item' => $item, 'html' => $s);
call_hooks('prepare_body', $prep_arr);
$s = $prep_arr['html'];
diff --git a/include/user.php b/include/user.php
new file mode 100644
index 000000000..af43a2b52
--- /dev/null
+++ b/include/user.php
@@ -0,0 +1,327 @@
+<?php
+
+require_once('include/config.php');
+require_once('include/network.php');
+require_once('include/plugin.php');
+require_once('include/text.php');
+require_once('include/pgettext.php');
+require_once('include/datetime.php');
+
+function create_user($arr) {
+
+ // Required: { username, nickname, email } or { openid_url }
+
+ $a = get_app();
+ $result = array('success' => false, 'user' => null, 'password' => '', 'message' => '');
+
+ $using_invites = get_config('system','invitation_only');
+ $num_invites = get_config('system','number_invites');
+
+
+ $invite_id = ((x($arr,'invite_id')) ? notags(trim($arr['invite_id'])) : '');
+ $username = ((x($arr,'username')) ? notags(trim($arr['username'])) : '');
+ $nickname = ((x($arr,'nickname')) ? notags(trim($arr['nickname'])) : '');
+ $email = ((x($arr,'email')) ? notags(trim($arr['email'])) : '');
+ $openid_url = ((x($arr,'openid_url')) ? notags(trim($arr['openid_url'])) : '');
+ $photo = ((x($arr,'photo')) ? notags(trim($arr['photo'])) : '');
+ $password = ((x($arr,'password')) ? trim($arr['password']) : '');
+ $blocked = ((x($arr,'blocked')) ? intval($arr['blocked']) : 0);
+ $verified = ((x($arr,'verified')) ? intval($arr['verified']) : 0);
+
+ $publish = ((x($arr,'profile_publish_reg') && intval($arr['profile_publish_reg'])) ? 1 : 0);
+ $netpublish = ((strlen(get_config('system','directory_submit_url'))) ? $publish : 0);
+
+ $tmp_str = $openid_url;
+
+ if($using_invites) {
+ if(! $invite_id) {
+ $result['message'] .= t('An invitation is required.') . EOL;
+ return $result;
+ }
+ $r = q("select * from register where `hash` = '%s' limit 1", dbesc($invite_id));
+ if(! results($r)) {
+ $result['message'] .= t('Invitation could not be verified.') . EOL;
+ return $result;
+ }
+ }
+
+ if((! x($username)) || (! x($email)) || (! x($nickname))) {
+ if($openid_url) {
+ if(! validate_url($tmp_str)) {
+ $result['message'] .= t('Invalid OpenID url') . EOL;
+ return $result;
+ }
+ $_SESSION['register'] = 1;
+ $_SESSION['openid'] = $openid_url;
+ require_once('library/openid.php');
+ $openid = new LightOpenID;
+ $openid->identity = $openid_url;
+ $openid->returnUrl = $a->get_baseurl() . '/openid';
+ $openid->required = array('namePerson/friendly', 'contact/email', 'namePerson');
+ $openid->optional = array('namePerson/first','media/image/aspect11','media/image/default');
+ goaway($openid->authUrl());
+ // NOTREACHED
+ }
+
+ notice( t('Please enter the required information.') . EOL );
+ return;
+ }
+
+ if(! validate_url($tmp_str))
+ $openid_url = '';
+
+
+ $err = '';
+
+ // collapse multiple spaces in name
+ $username = preg_replace('/ +/',' ',$username);
+
+ if(mb_strlen($username) > 48)
+ $result['message'] .= t('Please use a shorter name.') . EOL;
+ if(mb_strlen($username) < 3)
+ $result['message'] .= t('Name too short.') . EOL;
+
+ // I don't really like having this rule, but it cuts down
+ // on the number of auto-registrations by Russian spammers
+
+ // Using preg_match was completely unreliable, due to mixed UTF-8 regex support
+ // $no_utf = get_config('system','no_utf');
+ // $pat = (($no_utf) ? '/^[a-zA-Z]* [a-zA-Z]*$/' : '/^\p{L}* \p{L}*$/u' );
+
+ // So now we are just looking for a space in the full name.
+
+ $loose_reg = get_config('system','no_regfullname');
+ if(! $loose_reg) {
+ $username = mb_convert_case($username,MB_CASE_TITLE,'UTF-8');
+ if(! strpos($username,' '))
+ $result['message'] .= t("That doesn't appear to be your full \x28First Last\x29 name.") . EOL;
+ }
+
+
+ if(! allowed_email($email))
+ $result['message'] .= t('Your email domain is not among those allowed on this site.') . EOL;
+
+ if((! valid_email($email)) || (! validate_email($email)))
+ $result['message'] .= t('Not a valid email address.') . EOL;
+
+ // Disallow somebody creating an account using openid that uses the admin email address,
+ // since openid bypasses email verification. We'll allow it if there is not yet an admin account.
+
+ if((x($a->config,'admin_email')) && (strcasecmp($email,$a->config['admin_email']) == 0) && strlen($openid_url)) {
+ $r = q("SELECT * FROM `user` WHERE `email` = '%s' LIMIT 1",
+ dbesc($email)
+ );
+ if(count($r))
+ $result['message'] .= t('Cannot use that email.') . EOL;
+ }
+
+ $nickname = $arr['nickname'] = strtolower($nickname);
+
+ if(! preg_match("/^[a-z][a-z0-9\-\_]*$/",$nickname))
+ $result['message'] .= t('Your "nickname" can only contain "a-z", "0-9", "-", and "_", and must also begin with a letter.') . EOL;
+ $r = q("SELECT `uid` FROM `user`
+ WHERE `nickname` = '%s' LIMIT 1",
+ dbesc($nickname)
+ );
+ if(count($r))
+ $result['message'] .= t('Nickname is already registered. Please choose another.') . EOL;
+
+ // Check deleted accounts that had this nickname. Doesn't matter to us,
+ // but could be a security issue for federated platforms.
+
+ $r = q("SELECT * FROM `userd`
+ WHERE `username` = '%s' LIMIT 1",
+ dbesc($nickname)
+ );
+ if(count($r))
+ $result['message'] .= t('Nickname was once registered here and may not be re-used. Please choose another.') . EOL;
+
+ if(strlen($result['message'])) {
+ return $result;
+ }
+
+ $new_password = ((strlen($password)) ? $password : autoname(6) . mt_rand(100,9999));
+ $new_password_encoded = hash('whirlpool',$new_password);
+
+ $result['password'] = $new_password;
+
+ require_once('include/crypto.php');
+
+ $keys = new_keypair(1024);
+
+ if($keys === false) {
+ $result['message'] .= t('SERIOUS ERROR: Generation of security keys failed.') . EOL;
+ return $result;
+ }
+
+ $prvkey = $keys['prvkey'];
+ $pubkey = $keys['pubkey'];
+
+ /**
+ *
+ * Create another keypair for signing/verifying
+ * salmon protocol messages. We have to use a slightly
+ * less robust key because this won't be using openssl
+ * but the phpseclib. Since it is PHP interpreted code
+ * it is not nearly as efficient, and the larger keys
+ * will take several minutes each to process.
+ *
+ */
+
+ $sres = new_keypair(512);
+ $sprvkey = $sres['prvkey'];
+ $spubkey = $sres['pubkey'];
+
+ $r = q("INSERT INTO `user` ( `guid`, `username`, `password`, `email`, `openid`, `nickname`,
+ `pubkey`, `prvkey`, `spubkey`, `sprvkey`, `register_date`, `verified`, `blocked`, `timezone` )
+ VALUES ( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, 'UTC' )",
+ dbesc(generate_user_guid()),
+ dbesc($username),
+ dbesc($new_password_encoded),
+ dbesc($email),
+ dbesc($openid_url),
+ dbesc($nickname),
+ dbesc($pubkey),
+ dbesc($prvkey),
+ dbesc($spubkey),
+ dbesc($sprvkey),
+ dbesc(datetime_convert()),
+ intval($verified),
+ intval($blocked)
+ );
+
+ if($r) {
+ $r = q("SELECT * FROM `user`
+ WHERE `username` = '%s' AND `password` = '%s' LIMIT 1",
+ dbesc($username),
+ dbesc($new_password_encoded)
+ );
+ if($r !== false && count($r)) {
+ $u = $r[0];
+ $newuid = intval($r[0]['uid']);
+ }
+ }
+ else {
+ $result['message'] .= t('An error occurred during registration. Please try again.') . EOL ;
+ return $result;
+ }
+
+ /**
+ * if somebody clicked submit twice very quickly, they could end up with two accounts
+ * due to race condition. Remove this one.
+ */
+
+ $r = q("SELECT `uid` FROM `user`
+ WHERE `nickname` = '%s' ",
+ dbesc($nickname)
+ );
+ if((count($r) > 1) && $newuid) {
+ $result['message'] .= t('Nickname is already registered. Please choose another.') . EOL;
+ q("DELETE FROM `user` WHERE `uid` = %d LIMIT 1",
+ intval($newuid)
+ );
+ return $result;
+ }
+
+ if(x($newuid) !== false) {
+ $r = q("INSERT INTO `profile` ( `uid`, `profile-name`, `is-default`, `name`, `photo`, `thumb`, `publish`, `net-publish` )
+ VALUES ( %d, '%s', %d, '%s', '%s', '%s', %d, %d ) ",
+ intval($newuid),
+ t('default'),
+ 1,
+ dbesc($username),
+ dbesc($a->get_baseurl() . "/photo/profile/{$newuid}.jpg"),
+ dbesc($a->get_baseurl() . "/photo/avatar/{$newuid}.jpg"),
+ intval($publish),
+ intval($netpublish)
+
+ );
+ if($r === false) {
+ $result['message'] .= t('An error occurred creating your default profile. Please try again.') . EOL;
+ // Start fresh next time.
+ $r = q("DELETE FROM `user` WHERE `uid` = %d",
+ intval($newuid));
+ return $result;
+ }
+ $r = q("INSERT INTO `contact` ( `uid`, `created`, `self`, `name`, `nick`, `photo`, `thumb`, `micro`, `blocked`, `pending`, `url`, `nurl`,
+ `request`, `notify`, `poll`, `confirm`, `poco`, `name-date`, `uri-date`, `avatar-date`, `closeness` )
+ VALUES ( %d, '%s', 1, '%s', '%s', '%s', '%s', '%s', 0, 0, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', 0 ) ",
+ intval($newuid),
+ datetime_convert(),
+ dbesc($username),
+ dbesc($nickname),
+ dbesc($a->get_baseurl() . "/photo/profile/{$newuid}.jpg"),
+ dbesc($a->get_baseurl() . "/photo/avatar/{$newuid}.jpg"),
+ dbesc($a->get_baseurl() . "/photo/micro/{$newuid}.jpg"),
+ dbesc($a->get_baseurl() . "/profile/$nickname"),
+ dbesc(normalise_link($a->get_baseurl() . "/profile/$nickname")),
+ dbesc($a->get_baseurl() . "/dfrn_request/$nickname"),
+ dbesc($a->get_baseurl() . "/dfrn_notify/$nickname"),
+ dbesc($a->get_baseurl() . "/dfrn_poll/$nickname"),
+ dbesc($a->get_baseurl() . "/dfrn_confirm/$nickname"),
+ dbesc($a->get_baseurl() . "/poco/$nickname"),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert())
+ );
+
+ // Create a group with no members. This allows somebody to use it
+ // right away as a default group for new contacts.
+
+ require_once('include/group.php');
+ group_add($newuid, t('Friends'));
+
+ }
+
+ // if we have no OpenID photo try to look up an avatar
+ if(! strlen($photo))
+ $photo = avatar_img($email);
+
+ // unless there is no avatar-plugin loaded
+ if(strlen($photo)) {
+ require_once('include/Photo.php');
+ $photo_failure = false;
+
+ $filename = basename($photo);
+ $img_str = fetch_url($photo,true);
+ $img = new Photo($img_str);
+ if($img->is_valid()) {
+
+ $img->scaleImageSquare(175);
+
+ $hash = photo_new_resource();
+
+ $r = $img->store($newuid, 0, $hash, $filename, t('Profile Photos'), 4 );
+
+ if($r === false)
+ $photo_failure = true;
+
+ $img->scaleImage(80);
+
+ $r = $img->store($newuid, 0, $hash, $filename, t('Profile Photos'), 5 );
+
+ if($r === false)
+ $photo_failure = true;
+
+ $img->scaleImage(48);
+
+ $r = $img->store($newuid, 0, $hash, $filename, t('Profile Photos'), 6 );
+
+ if($r === false)
+ $photo_failure = true;
+
+ if(! $photo_failure) {
+ q("UPDATE `photo` SET `profile` = 1 WHERE `resource-id` = '%s' ",
+ dbesc($hash)
+ );
+ }
+ }
+ }
+
+ call_hooks('register_account', $newuid);
+
+ $result['success'] = true;
+ $result['user'] = $u;
+ return $result;
+
+} \ No newline at end of file
diff --git a/js/country.js b/js/country.js
index 8d218bde6..c3add477f 100644
--- a/js/country.js
+++ b/js/country.js
@@ -275,7 +275,7 @@ aStates[249]="|'Adan|'Ataq|Abyan|Al Bayda'|Al Hudaydah|Al Jawf|Al Mahrah|Al Mahw
aStates[250]="|Kosovo|Montenegro|Serbia|Vojvodina";
aStates[251]="|Central|Copperbelt|Eastern|Luapula|Lusaka|North-Western|Northern|Southern|Western";
aStates[252]="|Bulawayo|Harare|ManicalandMashonaland Central|Mashonaland East|Mashonaland West|Masvingo|Matabeleland North|Matabeleland South|Midlands";
-aStates[253]="Self Hosted|Private Server|Architects Of Sleep|DFRN|Distributed Friend Network|Free-Beer.ch|Foojbook|Free-Haven|Friendica.eu|Friendika.me.4.it|Friendika - I Ask Questions|Frndc.com|Hipatia|Hungerfreunde|Kaluguran Community|Kak Ste?|Karl.Markx.pm|Loozah Social Club|MyFriendica.net|MyFriendNetwork|Oi!|OpenMindSpace|Oradons Friendica|Recolutionari.es|Sysfu Social Club|theshi.re|Tumpambae|Uzmiac|Other";
+aStates[253]="|Self Hosted|Private Server|Architects Of Sleep|DFRN|Distributed Friend Network|Free-Beer.ch|Foojbook|Free-Haven|Friendica.eu|Friendika.me.4.it|Friendika - I Ask Questions|Frndc.com|Hipatia|Hungerfreunde|Kaluguran Community|Kak Ste?|Karl.Markx.pm|Loozah Social Club|MyFriendica.net|MyFriendNetwork|Oi!|OpenMindSpace|Recolutionari.es|Sysfu Social Club|theshi.re|Tumpambae|Uzmiac|Other";
/*
* gArCountryInfo
* (0) Country name
diff --git a/mod/acctlink.php b/mod/acctlink.php
new file mode 100644
index 000000000..a2365803a
--- /dev/null
+++ b/mod/acctlink.php
@@ -0,0 +1,16 @@
+<?php
+
+require_once('include/Scrape.php');
+
+function acctlink_init(&$a) {
+
+ if(x($_GET,'addr')) {
+ $addr = trim($_GET['addr']);
+ $res = probe_url($addr);
+ //logger('acctlink: ' . print_r($res,true));
+ if($res['url']) {
+ goaway($res['url']);
+ killme();
+ }
+ }
+}
diff --git a/mod/acl.php b/mod/acl.php
index 168b1f59f..1e8898ab6 100644
--- a/mod/acl.php
+++ b/mod/acl.php
@@ -135,7 +135,7 @@ function acl_init(&$a){
foreach($r as $g) {
$x['photos'][] = $g['micro'];
$x['links'][] = $g['url'];
- $x['suggestions'][] = $g['name']; // sprintf( t('%s [%s]'),$g['name'],$g['url']);
+ $x['suggestions'][] = $g['name'];
$x['data'][] = intval($g['id']);
}
}
diff --git a/mod/admin.php b/mod/admin.php
index d19118b78..6b1a53a30 100644
--- a/mod/admin.php
+++ b/mod/admin.php
@@ -98,7 +98,7 @@ function admin_content(&$a) {
'plugins'=> Array($a->get_baseurl(true)."/admin/plugins/", t("Plugins") , "plugins"),
'themes' => Array($a->get_baseurl(true)."/admin/themes/", t("Themes") , "themes"),
'dbsync' => Array($a->get_baseurl(true)."/admin/dbsync/", t('DB updates'), "dbsync"),
- 'update' => Array($a->get_baseurl(true)."/admin/update/", t("Software Update") , "update")
+ //'update' => Array($a->get_baseurl(true)."/admin/update/", t("Software Update") , "update")
);
/* get plugins admin page */
diff --git a/mod/community.php b/mod/community.php
index bfe5a3089..fb28f7805 100644
--- a/mod/community.php
+++ b/mod/community.php
@@ -63,7 +63,7 @@ function community_content(&$a, $update = 0) {
}
$r = q("SELECT distinct(`item`.`uri`), `item`.*, `item`.`id` AS `item_id`,
- `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`,
+ `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`alias`, `contact`.`rel`,
`contact`.`network`, `contact`.`thumb`, `contact`.`self`, `contact`.`writable`,
`contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`,
`user`.`nickname`, `user`.`hidewall`
diff --git a/mod/dfrn_confirm.php b/mod/dfrn_confirm.php
index 564ae5ca2..76b99cbca 100644
--- a/mod/dfrn_confirm.php
+++ b/mod/dfrn_confirm.php
@@ -202,6 +202,8 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
if($user[0]['page-flags'] == PAGE_COMMUNITY)
$params['page'] = 1;
+ if($user[0]['page-flags'] == PAGE_PRVGROUP)
+ $params['page'] = 2;
logger('dfrn_confirm: Confirm: posting data to ' . $dfrn_confirm . ': ' . print_r($params,true), LOGGER_DATA);
@@ -537,6 +539,9 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
$page = ((x($_POST,'page')) ? intval($_POST['page']) : 0 );
$version_id = ((x($_POST,'dfrn_version')) ? (float) $_POST['dfrn_version'] : 2.0);
+ $forum = (($page == 1) ? 1 : 0);
+ $prv = (($page == 2) ? 1 : 0);
+
logger('dfrn_confirm: requestee contacted: ' . $node);
logger('dfrn_confirm: request: POST=' . print_r($_POST,true), LOGGER_DATA);
@@ -691,6 +696,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
`pending` = 0,
`duplex` = %d,
`forum` = %d,
+ `prv` = %d,
`network` = '%s' WHERE `id` = %d LIMIT 1
",
dbesc($photos[0]),
@@ -701,7 +707,8 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
dbesc(datetime_convert()),
dbesc(datetime_convert()),
intval($duplex),
- intval($page),
+ intval($forum),
+ intval($prv),
dbesc(NETWORK_DFRN),
intval($dfrn_record)
);
diff --git a/mod/dfrn_notify.php b/mod/dfrn_notify.php
index 65d39d5fe..e55da5572 100644
--- a/mod/dfrn_notify.php
+++ b/mod/dfrn_notify.php
@@ -17,6 +17,9 @@ function dfrn_notify_post(&$a) {
$ssl_policy = ((x($_POST,'ssl_policy')) ? notags(trim($_POST['ssl_policy'])): 'none');
$page = ((x($_POST,'page')) ? intval($_POST['page']) : 0);
+ $forum = (($page == 1) ? 1 : 0);
+ $prv = (($page == 2) ? 1 : 0);
+
$writable = (-1);
if($dfrn_version >= 2.21) {
$writable = (($perm === 'rw') ? 1 : 0);
@@ -88,10 +91,11 @@ function dfrn_notify_post(&$a) {
$importer = $r[0];
- if((($writable != (-1)) && ($writable != $importer['writable'])) || ($importer['forum'] != $page)) {
- q("UPDATE `contact` SET `writable` = %d, forum = %d WHERE `id` = %d LIMIT 1",
+ if((($writable != (-1)) && ($writable != $importer['writable'])) || ($importer['forum'] != $forum) || ($importer['prv'] != $prv)) {
+ q("UPDATE `contact` SET `writable` = %d, forum = %d, prv = %d WHERE `id` = %d LIMIT 1",
intval(($writable == (-1)) ? $importer['writable'] : $writable),
- intval($page),
+ intval($forum),
+ intval($prv),
intval($importer['id'])
);
if($writable != (-1))
diff --git a/mod/dfrn_request.php b/mod/dfrn_request.php
index b809929d7..896fe1792 100644
--- a/mod/dfrn_request.php
+++ b/mod/dfrn_request.php
@@ -68,7 +68,7 @@ function dfrn_request_post(&$a) {
$dfrn_url = notags(trim($_POST['dfrn_url']));
$aes_allow = (((x($_POST,'aes_allow')) && ($_POST['aes_allow'] == 1)) ? 1 : 0);
$confirm_key = ((x($_POST,'confirm_key')) ? $_POST['confirm_key'] : "");
-
+ $hidden = ((x($_POST,'hidden-contact')) ? intval($_POST['hidden-contact']) : 0);
$contact_record = null;
if(x($dfrn_url)) {
@@ -98,8 +98,9 @@ function dfrn_request_post(&$a) {
}
if(is_array($contact_record)) {
- $r = q("UPDATE `contact` SET `ret-aes` = %d WHERE `id` = %d LIMIT 1",
+ $r = q("UPDATE `contact` SET `ret-aes` = %d, hidden = %d WHERE `id` = %d LIMIT 1",
intval($aes_allow),
+ intval($hidden),
intval($contact_record['id'])
);
}
@@ -144,8 +145,8 @@ function dfrn_request_post(&$a) {
*/
$r = q("INSERT INTO `contact` ( `uid`, `created`,`url`, `nurl`, `name`, `nick`, `photo`, `site-pubkey`,
- `request`, `confirm`, `notify`, `poll`, `poco`, `network`, `aes_allow`)
- VALUES ( %d, '%s', '%s', '%s', '%s' , '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d)",
+ `request`, `confirm`, `notify`, `poll`, `poco`, `network`, `aes_allow`, `hidden`)
+ VALUES ( %d, '%s', '%s', '%s', '%s' , '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d)",
intval(local_user()),
datetime_convert(),
dbesc($dfrn_url),
@@ -160,7 +161,8 @@ function dfrn_request_post(&$a) {
$parms['dfrn-poll'],
$parms['dfrn-poco'],
dbesc(NETWORK_DFRN),
- intval($aes_allow)
+ intval($aes_allow),
+ intval($hidden)
);
}
@@ -649,6 +651,8 @@ function dfrn_request_content(&$a) {
$o = replace_macros($tpl,array(
'$dfrn_url' => $dfrn_url,
'$aes_allow' => (($aes_allow) ? '<input type="hidden" name="aes_allow" value="1" />' : "" ),
+ '$hidethem' => t('Hide this contact'),
+ '$hidechecked' => '',
'$confirm_key' => $confirm_key,
'$welcome' => sprintf( t('Welcome home %s.'), $a->user['username']),
'$please' => sprintf( t('Please confirm your introduction/connection request to %s.'), $dfrn_url),
@@ -680,7 +684,7 @@ function dfrn_request_content(&$a) {
$auto_confirm = false;
if(count($r)) {
- if($r[0]['page-flags'] != PAGE_NORMAL)
+ if(($r[0]['page-flags'] != PAGE_NORMAL) && ($r[0]['page-flags'] != PAGE_PRVGROUP))
$auto_confirm = true;
if(! $auto_confirm) {
diff --git a/mod/follow.php b/mod/follow.php
index cdecd5f2a..5e48174c9 100644
--- a/mod/follow.php
+++ b/mod/follow.php
@@ -1,6 +1,7 @@
<?php
require_once('Scrape.php');
+require_once('include/follow.php');
function follow_init(&$a) {
@@ -11,230 +12,19 @@ function follow_init(&$a) {
}
$uid = local_user();
- $url = $orig_url = notags(trim($_REQUEST['url']));
+ $url = notags(trim($_REQUEST['url']));
$return_url = $_SESSION['return_url'];
- // remove ajax junk, e.g. Twitter
+ $result = new_contact($uid,$url,true);
- $url = str_replace('/#!/','/',$url);
-
- if(! allowed_url($url)) {
- notice( t('Disallowed profile URL.') . EOL);
- goaway($return_url);
- // NOTREACHED
- }
-
-
- if(! $url) {
- notice( t('Connect URL missing.') . EOL);
- goaway($return_url);
- // NOTREACHED
- }
-
- $arr = array('url' => $url, 'contact' => array());
-
- call_hooks('follow', $arr);
-
- if(x($arr['contact'],'name'))
- $ret = $arr['contact'];
- else
- $ret = probe_url($url);
-
- if($ret['network'] === NETWORK_DFRN) {
- if(strlen($a->path))
- $myaddr = bin2hex($a->get_baseurl() . '/profile/' . $a->user['nickname']);
- else
- $myaddr = bin2hex($a->user['nickname'] . '@' . $a->get_hostname());
-
- goaway($ret['request'] . "&addr=$myaddr");
-
- // NOTREACHED
- }
- else {
- if(get_config('system','dfrn_only')) {
- notice( t('This site is not configured to allow communications with other networks.') . EOL);
- notice( t('No compatible communication protocols or feeds were discovered.') . EOL);
- goaway($return_url);
- }
- }
-
- // This extra param just confuses things, remove it
- if($ret['network'] === NETWORK_DIASPORA)
- $ret['url'] = str_replace('?absolute=true','',$ret['url']);
-
-
- // do we have enough information?
-
- if(! ((x($ret,'name')) && (x($ret,'poll')) && ((x($ret,'url')) || (x($ret,'addr'))))) {
- notice( t('The profile address specified does not provide adequate information.') . EOL);
- if(! x($ret,'poll'))
- notice( t('No compatible communication protocols or feeds were discovered.') . EOL);
- if(! x($ret,'name'))
- notice( t('An author or name was not found.') . EOL);
- if(! x($ret,'url'))
- notice( t('No browser URL could be matched to this address.') . EOL);
- if(strpos($url,'@') !== false) {
- notice( t('Unable to match @-style Identity Address with a known protocol or email contact.') . EOL);
- notice( t('Use mailto: in front of address to force email check.') . EOL);
- }
- goaway($return_url);
- }
-
- if($ret['network'] === NETWORK_OSTATUS && get_config('system','ostatus_disabled')) {
- notice( t('The profile address specified belongs to a network which has been disabled on this site.') . EOL);
- $ret['notify'] = '';
- }
-
- if(! $ret['notify']) {
- notice( t('Limited profile. This person will be unable to receive direct/personal notifications from you.') . EOL);
- }
-
- $writeable = ((($ret['network'] === NETWORK_OSTATUS) && ($ret['notify'])) ? 1 : 0);
- $hidden = (($ret['network'] === NETWORK_MAIL) ? 1 : 0);
-
- if($ret['network'] === NETWORK_MAIL) {
- $writeable = 1;
-
- }
- if($ret['network'] === NETWORK_DIASPORA)
- $writeable = 1;
-
- // check if we already have a contact
- // the poll url is more reliable than the profile url, as we may have
- // indirect links or webfinger links
-
- $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `poll` = '%s' LIMIT 1",
- intval($uid),
- dbesc($ret['poll'])
- );
-
-
- if(count($r)) {
- // update contact
- if($r[0]['rel'] == CONTACT_IS_FOLLOWER || ($network === NETWORK_DIASPORA && $r[0]['rel'] == CONTACT_IS_SHARING)) {
- q("UPDATE `contact` SET `rel` = %d , `readonly` = 0 WHERE `id` = %d AND `uid` = %d LIMIT 1",
- intval(CONTACT_IS_FRIEND),
- intval($r[0]['id']),
- intval($uid)
- );
- }
- }
- else {
-
- $new_relation = (($ret['network'] === NETWORK_MAIL) ? CONTACT_IS_FRIEND : CONTACT_IS_SHARING);
- if($ret['network'] === NETWORK_DIASPORA)
- $new_relation = CONTACT_IS_FOLLOWER;
-
- // create contact record
- $r = q("INSERT INTO `contact` ( `uid`, `created`, `url`, `nurl`, `addr`, `alias`, `batch`, `notify`, `poll`, `poco`, `name`, `nick`, `photo`, `network`, `pubkey`, `rel`, `priority`,
- `writable`, `hidden`, `blocked`, `readonly`, `pending` )
- VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, %d, %d, 0, 0, 0 ) ",
- intval($uid),
- dbesc(datetime_convert()),
- dbesc($ret['url']),
- dbesc(normalise_link($ret['url'])),
- dbesc($ret['addr']),
- dbesc($ret['alias']),
- dbesc($ret['batch']),
- dbesc($ret['notify']),
- dbesc($ret['poll']),
- dbesc($ret['poco']),
- dbesc($ret['name']),
- dbesc($ret['nick']),
- dbesc($ret['photo']),
- dbesc($ret['network']),
- dbesc($ret['pubkey']),
- intval($new_relation),
- intval($ret['priority']),
- intval($writeable),
- intval($hidden)
- );
- }
-
- $r = q("SELECT * FROM `contact` WHERE `url` = '%s' AND `uid` = %d LIMIT 1",
- dbesc($ret['url']),
- intval($uid)
- );
-
- if(! count($r)) {
- notice( t('Unable to retrieve contact information.') . EOL);
+ if($result['success'] == false) {
+ if($result['message'])
+ notice($result['message']);
goaway($return_url);
- // NOTREACHED
- }
-
- $contact = $r[0];
- $contact_id = $r[0]['id'];
-
-
- $g = q("select def_gid from user where uid = %d limit 1",
- intval($uid)
- );
- if($g && intval($g[0]['def_gid'])) {
- require_once('include/group.php');
- group_add_member($uid,'',$contact_id,$g[0]['def_gid']);
}
- require_once("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 LIMIT 1
- ",
- dbesc($photos[0]),
- dbesc($photos[1]),
- dbesc($photos[2]),
- dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- intval($contact_id)
- );
-
-
- // pull feed and consume it, which should subscribe to the hub.
-
- proc_run('php',"include/poller.php","$contact_id");
-
- // create a follow slap
-
- $tpl = get_markup_template('follow_slap.tpl');
- $slap = replace_macros($tpl, array(
- '$name' => $a->user['username'],
- '$profile_page' => $a->get_baseurl() . '/profile/' . $a->user['nickname'],
- '$photo' => $a->contact['photo'],
- '$thumb' => $a->contact['thumb'],
- '$published' => datetime_convert('UTC','UTC', 'now', ATOM_TIME),
- '$item_id' => 'urn:X-dfrn:' . $a->get_hostname() . ':follow:' . random_string(),
- '$title' => '',
- '$type' => 'text',
- '$content' => t('following'),
- '$nick' => $a->user['nickname'],
- '$verb' => ACTIVITY_FOLLOW,
- '$ostat_follow' => ''
- ));
-
- $r = q("SELECT `contact`.*, `user`.* FROM `contact` LEFT JOIN `user` ON `contact`.`uid` = `user`.`uid`
- WHERE `user`.`uid` = %d AND `contact`.`self` = 1 LIMIT 1",
- intval($uid)
- );
-
- if(count($r)) {
- if(($contact['network'] == NETWORK_OSTATUS) && (strlen($contact['notify']))) {
- require_once('include/salmon.php');
- slapper($r[0],$contact['notify'],$slap);
- }
- if($contact['network'] == NETWORK_DIASPORA) {
- require_once('include/diaspora.php');
- $ret = diaspora_share($a->user,$contact);
- logger('mod_follow: diaspora_share returns: ' . $ret);
- }
- }
+ info( t('Contact added') . EOL);
if(strstr($return_url,'contacts'))
goaway($a->get_baseurl() . '/contacts/' . $contact_id);
diff --git a/mod/install.php b/mod/install.php
index 6d6232a95..cb21a71eb 100644..100755
--- a/mod/install.php
+++ b/mod/install.php
@@ -184,15 +184,16 @@ function install_content(&$a) {
check_php($phpath, $checks);
- check_htaccess($checks);
-
+ check_htaccess($checks);
+
function check_passed($v, $c){
if ($c['required'])
$v = $v && $c['status'];
return $v;
}
$checkspassed = array_reduce($checks, "check_passed", true);
-
+
+
$tpl = get_markup_template('install_checks.tpl');
$o .= replace_macros($tpl, array(
@@ -381,6 +382,7 @@ function check_funcs(&$checks) {
check_add($ck_funcs, t('Apache mod_rewrite module'), true, true, "");
}
}
+
if(! function_exists('curl_init')){
$ck_funcs[0]['status']= false;
$ck_funcs[0]['help']= t('Error: libCURL PHP module required but not installed.');
@@ -421,21 +423,26 @@ function check_htconfig(&$checks) {
$help .= t('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.').EOL;
$help .= t('You can alternatively skip this procedure and perform a manual installation. Please see the file "INSTALL.txt" for instructions.').EOL;
}
-
+
check_add($checks, t('.htconfig.php is writable'), $status, false, $help);
-
+
}
function check_htaccess(&$checks) {
$a = get_app();
$status = true;
$help = "";
- $test = fetch_url($a->get_baseurl()."/install/testrewrite");
- if ($test!="ok") {
- $status = false;
- $help = t('Url rewrite in .htconfig is not working. Check your server configuration.');
- }
- check_add($checks, t('Url rewrite is working'), $status, true, $help);
+ if (function_exists('curl_init')){
+ $test = fetch_url($a->get_baseurl()."/install/testrewrite");
+ if ($test!="ok") {
+ $status = false;
+ $help = t('Url rewrite in .htaccess is not working. Check your server configuration.');
+ }
+ check_add($checks, t('Url rewrite is working'), $status, true, $help);
+ } else {
+ // cannot check modrewrite if libcurl is not installed
+ }
+
}
diff --git a/mod/item.php b/mod/item.php
index df242d6f7..c1c0b14ec 100644
--- a/mod/item.php
+++ b/mod/item.php
@@ -262,17 +262,17 @@ function item_post(&$a) {
}
}
- if(strlen($categories)) {
- // get the "fileas" tags for this post
- $filedas = file_tag_file_to_list($categories, 'file');
+ if(strlen($categories)) {
+ // get the "fileas" tags for this post
+ $filedas = file_tag_file_to_list($categories, 'file');
}
- // save old and new categories, so we can determine what needs to be deleted from pconfig
- $categories_old = $categories;
- $categories = file_tag_list_to_file(trim($_REQUEST['category']), 'category');
- $categories_new = $categories;
- if(strlen($filedas)) {
- // append the fileas stuff to the new categories list
- $categories .= file_tag_list_to_file($filedas, 'file');
+ // save old and new categories, so we can determine what needs to be deleted from pconfig
+ $categories_old = $categories;
+ $categories = file_tag_list_to_file(trim($_REQUEST['category']), 'category');
+ $categories_new = $categories;
+ if(strlen($filedas)) {
+ // append the fileas stuff to the new categories list
+ $categories .= file_tag_list_to_file($filedas, 'file');
}
// Work around doubled linefeeds in Tinymce 3.5b2
@@ -453,6 +453,7 @@ function item_post(&$a) {
$tagged = array();
+ $private_forum = false;
if(count($tags)) {
foreach($tags as $tag) {
@@ -471,11 +472,22 @@ function item_post(&$a) {
continue;
$success = handle_tag($a, $body, $inform, $str_tags, (local_user()) ? local_user() : $profile_uid , $tag);
- if($success)
+ if($success['replaced'])
$tagged[] = $tag;
+ if(is_array($success['contact']) && intval($success['contact']['prv'])) {
+ $private_forum = true;
+ $private_id = $success['contact']['id'];
+ }
}
}
+ if(($private_forum) && (! $parent) && (! $private)) {
+ // we tagged a private forum in a top level post and the message was public.
+ // Restrict it.
+ $private = 1;
+ $str_contact_allow = '<' . $private_id . '>';
+ }
+
$attachments = '';
$match = false;
@@ -725,16 +737,16 @@ function item_post(&$a) {
if($datarray['verb'] === ACTIVITY_LIKE)
$signed_text = $datarray['guid'] . ';' . 'Post' . ';' . $parent_item['guid'] . ';' . 'true' . ';' . $myaddr;
else
- $signed_text = $datarray['guid'] . ';' . $parent_item['guid'] . ';' . $signed_body . ';' . $myaddr;
+ $signed_text = $datarray['guid'] . ';' . $parent_item['guid'] . ';' . $signed_body . ';' . $myaddr;
$authorsig = base64_encode(rsa_sign($signed_text,$a->user['prvkey'],'sha256'));
q("insert into sign (`iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ",
intval($post_id),
- dbesc($signed_text),
- dbesc(base64_encode($authorsig)),
- dbesc($myaddr)
- );
+ dbesc($signed_text),
+ dbesc(base64_encode($authorsig)),
+ dbesc($myaddr)
+ );
}
}
else {
@@ -893,6 +905,7 @@ function item_content(&$a) {
function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag) {
$replaced = false;
+ $r = null;
//is it a hash tag?
if(strpos($tag,'#') === 0) {
@@ -1023,5 +1036,5 @@ function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag) {
}
}
- return $replaced;
+ return array('replaced' => $replaced, 'contact' => $r[0]);
}
diff --git a/mod/like.php b/mod/like.php
index 6b97fafb5..942a04fe7 100644..100755
--- a/mod/like.php
+++ b/mod/like.php
@@ -104,7 +104,8 @@ function like_content(&$a) {
return;
}
- $r = q("SELECT `id` FROM `item` WHERE `verb` = '%s' AND `deleted` = 0
+
+ $r = q("SELECT * FROM `item` WHERE `verb` = '%s' AND `deleted` = 0
AND `contact-id` = %d AND ( `parent` = '%s' OR `parent-uri` = '%s') LIMIT 1",
dbesc($activity),
intval($contact['id']),
@@ -112,13 +113,70 @@ function like_content(&$a) {
dbesc($item_id)
);
if(count($r)) {
+ $like_item = $r[0];
+
// Already voted, undo it
$r = q("UPDATE `item` SET `deleted` = 1, `changed` = '%s' WHERE `id` = %d LIMIT 1",
dbesc(datetime_convert()),
- intval($r[0]['id'])
+ intval($like_item['id'])
);
- proc_run('php',"include/notifier.php","like","$post_id");
+ // Clean up the `sign` table
+ $r = q("DELETE FROM `sign` WHERE `iid` = %d",
+ intval($like_item['id'])
+ );
+
+ // Save the author information for the unlike in case we need to relay to Diaspora
+ // Note that we can only create a signature for a user of the local server. We don't have
+ // a key for remote users. That is ok, because if a remote user is "unlike"ing a post, it
+ // means we are the relay, and for relayable_retractions, Diaspora
+ // only checks the parent_author_signature if it doesn't have to relay further
+ //
+ // If $item['resource-id'] exists, it means the item is a photo. Diaspora doesn't support
+ // likes on photos, so don't bother.
+
+ if(($activity === ACTIVITY_LIKE) && (! $item['resource-id'])) {
+ $signed_text = $like_item['guid'] . ';' . 'Like';
+
+ if( $contact['network'] === NETWORK_DIASPORA)
+ $diaspora_handle = $contact['addr'];
+ else { // Only works for NETWORK_DFRN
+ $contact_baseurl_start = strpos($contact['url'],'://') + 3;
+ $contact_baseurl_length = strpos($contact['url'],'/profile') - $contact_baseurl_start;
+ $contact_baseurl = substr($contact['url'], $contact_baseurl_start, $contact_baseurl_length);
+ $diaspora_handle = $contact['nick'] . '@' . $contact_baseurl;
+
+ // 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'])
+ );
+
+ if( $r) {
+ $contact_uid = $r['uid'];
+ $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(! isset($authorsig))
+ $authorsig = '';
+
+ q("insert into sign (`retract_iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ",
+ intval($like_item['id']),
+ dbesc($signed_text),
+ dbesc($authorsig),
+ dbesc($diaspora_handle)
+ );
+ }
+
+
+// proc_run('php',"include/notifier.php","like","$post_id"); // $post_id isn't defined here!
+ $like_item_id = $like_item['id'];
+ proc_run('php',"include/notifier.php","like","$like_item_id");
return;
}
@@ -191,6 +249,65 @@ EOT;
);
}
+
+ // Save the author information for the like in case we need to relay to Diaspora
+ // Note that we can only create a signature for a user of the local server. We don't have
+ // a key for remote users. That is ok, because if a remote user is "unlike"ing a post, it
+ // means we are the relay, and for relayable_retractions, Diaspora
+ // only checks the parent_author_signature if it doesn't have to relay further
+
+ if(($activity === ACTIVITY_LIKE) && ($post_type === t('status'))) {
+ if( $contact['network'] === NETWORK_DIASPORA)
+ $diaspora_handle = $contact['addr'];
+ else { // Only works for NETWORK_DFRN
+ $contact_baseurl_start = strpos($contact['url'],'://') + 3;
+ $contact_baseurl_length = strpos($contact['url'],'/profile') - $contact_baseurl_start;
+ $contact_baseurl = substr($contact['url'], $contact_baseurl_start, $contact_baseurl_length);
+ $diaspora_handle = $contact['nick'] . '@' . $contact_baseurl;
+
+ // 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'])
+ );
+
+ if( $r) {
+ $contact_uid = $r['uid'];
+ $r = q("SELECT prvkey FROM user WHERE uid = %d LIMIT 1",
+ intval($contact_uid)
+ );
+
+ if( $r)
+ $contact_uprvkey = $r['prvkey'];
+ }
+ }
+
+ $r = q("SELECT guid, parent FROM `item` WHERE id = %d LIMIT 1",
+ intval($post_id)
+ );
+ if( $r) {
+ $p = q("SELECT guid FROM `item` WHERE id = %d AND parent = %d LIMIT 1",
+ intval($r[0]['parent']),
+ intval($r[0]['parent'])
+ );
+ if( $p) {
+ $signed_text = $r[0]['guid'] . ';Post;' . $p[0]['guid'] . ';true;' . $diaspora_handle;
+
+ if(isset($contact_uprvkey))
+ $authorsig = base64_encode(rsa_sign($signed_text,$contact_uprvkey,'sha256'));
+ else
+ $authorsig = '';
+
+ q("insert into sign (`iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ",
+ intval($post_id),
+ dbesc($signed_text),
+ dbesc($authorsig),
+ dbesc($diaspora_handle)
+ );
+ }
+ }
+ }
+
+
$arr['id'] = $post_id;
call_hooks('post_local_end', $arr);
@@ -199,4 +316,4 @@ EOT;
killme();
// return; // NOTREACHED
-} \ No newline at end of file
+}
diff --git a/mod/message.php b/mod/message.php
index 71f83b47a..fb2241985 100644
--- a/mod/message.php
+++ b/mod/message.php
@@ -211,7 +211,8 @@ function message_content(&$a) {
'$parent' => '',
'$upload' => t('Upload photo'),
'$insert' => t('Insert web link'),
- '$wait' => t('Please wait')
+ '$wait' => t('Please wait'),
+ '$submit' => t('Submit')
));
return $o;
diff --git a/mod/network.php b/mod/network.php
index a94272a42..b998a3107 100644
--- a/mod/network.php
+++ b/mod/network.php
@@ -437,8 +437,8 @@ function network_content(&$a, $update = 0) {
else
$sql_extra .= sprintf(" AND `item`.`parent` IN (SELECT distinct(`parent`) from item where ( `author-link` like '%s' or `tag` like '%s' or tag like '%s' )) ",
dbesc(protect_sprintf('%' . $myurl)),
- dbesc(protect_sprintf('%' . $myurl . '\\]%')),
- dbesc(protect_sprintf('%' . $diasp_url . '\\]%'))
+ dbesc(protect_sprintf('%' . $myurl . ']%')),
+ dbesc(protect_sprintf('%' . $diasp_url . ']%'))
);
}
@@ -534,7 +534,7 @@ function network_content(&$a, $update = 0) {
$parents_str = implode(', ', $parents_arr);
$items = q("SELECT `item`.*, `item`.`id` AS `item_id`,
- `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`, `contact`.`writable`,
+ `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`alias`, `contact`.`rel`, `contact`.`writable`,
`contact`.`network`, `contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`,
`contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`
FROM `item`, `contact`
diff --git a/mod/notes.php b/mod/notes.php
index 703c898e6..625bbd2ee 100644
--- a/mod/notes.php
+++ b/mod/notes.php
@@ -117,7 +117,7 @@ function notes_content(&$a,$update = false) {
$parents_str = implode(', ', $parents_arr);
$r = q("SELECT `item`.*, `item`.`id` AS `item_id`,
- `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`network`, `contact`.`rel`,
+ `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`alias`, `contact`.`network`, `contact`.`rel`,
`contact`.`thumb`, `contact`.`self`, `contact`.`writable`,
`contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`
FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
diff --git a/mod/profile.php b/mod/profile.php
index 69f044e89..7658a9647 100644
--- a/mod/profile.php
+++ b/mod/profile.php
@@ -242,7 +242,7 @@ function profile_content(&$a, $update = 0) {
$parents_str = implode(', ', $parents_arr);
$items = q("SELECT `item`.*, `item`.`id` AS `item_id`,
- `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`network`, `contact`.`rel`,
+ `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`alias`, `contact`.`network`, `contact`.`rel`,
`contact`.`thumb`, `contact`.`self`, `contact`.`writable`,
`contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`
FROM `item`, `contact`
diff --git a/mod/profiles.php b/mod/profiles.php
index ca3890eb9..6a8ce9e1e 100644
--- a/mod/profiles.php
+++ b/mod/profiles.php
@@ -62,9 +62,15 @@ function profiles_post(&$a) {
$pub_keywords = notags(trim($_POST['pub_keywords']));
$prv_keywords = notags(trim($_POST['prv_keywords']));
$marital = notags(trim($_POST['marital']));
+ $howlong = notags(trim($_POST['howlong']));
$with = ((x($_POST,'with')) ? notags(trim($_POST['with'])) : '');
+ if(! strlen($howlong))
+ $howlong = '0000-00-00 00:00:00';
+ else
+ $howlong = datetime_convert(date_default_timezone_get(),'UTC',$howlong);
+
// linkify the relationship target if applicable
$withchanged = false;
@@ -120,6 +126,7 @@ function profiles_post(&$a) {
$sexual = notags(trim($_POST['sexual']));
$homepage = notags(trim($_POST['homepage']));
+ $hometown = notags(trim($_POST['hometown']));
$politic = notags(trim($_POST['politic']));
$religion = notags(trim($_POST['religion']));
@@ -207,8 +214,10 @@ function profiles_post(&$a) {
`country-name` = '%s',
`marital` = '%s',
`with` = '%s',
+ `howlong` = '%s',
`sexual` = '%s',
`homepage` = '%s',
+ `hometown` = '%s',
`politic` = '%s',
`religion` = '%s',
`pub_keywords` = '%s',
@@ -237,8 +246,10 @@ function profiles_post(&$a) {
dbesc($country_name),
dbesc($marital),
dbesc($with),
+ dbesc($howlong),
dbesc($sexual),
dbesc($homepage),
+ dbesc($hometown),
dbesc($politic),
dbesc($religion),
dbesc($pub_keywords),
@@ -558,8 +569,10 @@ function profiles_content(&$a) {
'$lbl_marital' => t('<span class="heart">&hearts;</span> Marital Status:'),
'$lbl_with' => t("Who: \x28if applicable\x29"),
'$lbl_ex1' => t('Examples: cathy123, Cathy Williams, cathy@example.com'),
+ '$lbl_howlong' => t('Since [date]:'),
'$lbl_sexual' => t('Sexual Preference:'),
'$lbl_homepage' => t('Homepage URL:'),
+ '$lbl_hometown' => t('Hometown:'),
'$lbl_politic' => t('Political Views:'),
'$lbl_religion' => t('Religious Views:'),
'$lbl_pubkey' => t('Public Keywords:'),
@@ -595,9 +608,11 @@ function profiles_content(&$a) {
'$gender' => gender_selector($r[0]['gender']),
'$marital' => marital_selector($r[0]['marital']),
'$with' => strip_tags($r[0]['with']),
+ '$howlong' => ($r[0]['howlong'] === '0000-00-00 00:00:00' ? '' : datetime_convert('UTC',date_default_timezone_get(),$r[0]['howlong'])),
'$sexual' => sexpref_selector($r[0]['sexual']),
'$about' => $r[0]['about'],
'$homepage' => $r[0]['homepage'],
+ '$hometown' => $r[0]['hometown'],
'$politic' => $r[0]['politic'],
'$religion' => $r[0]['religion'],
'$pub_keywords' => $r[0]['pub_keywords'],
diff --git a/mod/register.php b/mod/register.php
index 58bba8533..d52b5a6e1 100644
--- a/mod/register.php
+++ b/mod/register.php
@@ -43,326 +43,49 @@ function register_post(&$a) {
break;
}
- $using_invites = get_config('system','invitation_only');
- $num_invites = get_config('system','number_invites');
-
+ require_once('include/user.php');
- $invite_id = ((x($_POST,'invite_id')) ? notags(trim($_POST['invite_id'])) : '');
- $username = ((x($_POST,'username')) ? notags(trim($_POST['username'])) : '');
- $nickname = ((x($_POST,'nickname')) ? notags(trim($_POST['nickname'])) : '');
- $email = ((x($_POST,'email')) ? notags(trim($_POST['email'])) : '');
- $openid_url = ((x($_POST,'openid_url')) ? notags(trim($_POST['openid_url'])) : '');
- $photo = ((x($_POST,'photo')) ? notags(trim($_POST['photo'])) : '');
- $publish = ((x($_POST,'profile_publish_reg') && intval($_POST['profile_publish_reg'])) ? 1 : 0);
-
- $netpublish = ((strlen(get_config('system','directory_submit_url'))) ? $publish : 0);
-
- $tmp_str = $openid_url;
-
- if($using_invites) {
- if(! $invite_id) {
- notice( t('An invitation is required.') . EOL);
- return;
- }
- $r = q("select * from register where `hash` = '%s' limit 1", dbesc($invite_id));
- if(! results($r)) {
- notice( t('Invitation could not be verified.') . EOL);
- return;
- }
- }
-
- if((! x($username)) || (! x($email)) || (! x($nickname))) {
- if($openid_url) {
- if(! validate_url($tmp_str)) {
- notice( t('Invalid OpenID url') . EOL);
- return;
- }
- $_SESSION['register'] = 1;
- $_SESSION['openid'] = $openid_url;
- require_once('library/openid.php');
- $openid = new LightOpenID;
- $openid->identity = $openid_url;
- $openid->returnUrl = $a->get_baseurl() . '/openid';
- $openid->required = array('namePerson/friendly', 'contact/email', 'namePerson');
- $openid->optional = array('namePerson/first','media/image/aspect11','media/image/default');
- goaway($openid->authUrl());
- // NOTREACHED
- }
+ $arr = $_POST;
- notice( t('Please enter the required information.') . EOL );
- return;
- }
+ $arr['blocked'] = $blocked;
+ $arr['verified'] = $verified;
- if(! validate_url($tmp_str))
- $openid_url = '';
-
-
- $err = '';
-
- // collapse multiple spaces in name
- $username = preg_replace('/ +/',' ',$username);
-
- if(mb_strlen($username) > 48)
- $err .= t('Please use a shorter name.') . EOL;
- if(mb_strlen($username) < 3)
- $err .= t('Name too short.') . EOL;
-
- // I don't really like having this rule, but it cuts down
- // on the number of auto-registrations by Russian spammers
-
- // Using preg_match was completely unreliable, due to mixed UTF-8 regex support
- // $no_utf = get_config('system','no_utf');
- // $pat = (($no_utf) ? '/^[a-zA-Z]* [a-zA-Z]*$/' : '/^\p{L}* \p{L}*$/u' );
-
- // So now we are just looking for a space in the full name.
-
- $loose_reg = get_config('system','no_regfullname');
- if(! $loose_reg) {
- $username = mb_convert_case($username,MB_CASE_TITLE,'UTF-8');
- if(! strpos($username,' '))
- $err .= t("That doesn't appear to be your full \x28First Last\x29 name.") . EOL;
- }
+ $result = create_user($arr);
-
- if(! allowed_email($email))
- $err .= t('Your email domain is not among those allowed on this site.') . EOL;
-
- if((! valid_email($email)) || (! validate_email($email)))
- $err .= t('Not a valid email address.') . EOL;
-
- // Disallow somebody creating an account using openid that uses the admin email address,
- // since openid bypasses email verification. We'll allow it if there is not yet an admin account.
-
- if((x($a->config,'admin_email')) && (strcasecmp($email,$a->config['admin_email']) == 0) && strlen($openid_url)) {
- $r = q("SELECT * FROM `user` WHERE `email` = '%s' LIMIT 1",
- dbesc($email)
- );
- if(count($r))
- $err .= t('Cannot use that email.') . EOL;
- }
-
- $nickname = $_POST['nickname'] = strtolower($nickname);
-
- if(! preg_match("/^[a-z][a-z0-9\-\_]*$/",$nickname))
- $err .= t('Your "nickname" can only contain "a-z", "0-9", "-", and "_", and must also begin with a letter.') . EOL;
- $r = q("SELECT `uid` FROM `user`
- WHERE `nickname` = '%s' LIMIT 1",
- dbesc($nickname)
- );
- if(count($r))
- $err .= t('Nickname is already registered. Please choose another.') . EOL;
-
- // Check deleted accounts that had this nickname. Doesn't matter to us,
- // but could be a security issue for federated platforms.
-
- $r = q("SELECT * FROM `userd`
- WHERE `username` = '%s' LIMIT 1",
- dbesc($nickname)
- );
- if(count($r))
- $err .= t('Nickname was once registered here and may not be re-used. Please choose another.') . EOL;
-
- if(strlen($err)) {
- notice( $err );
- return;
- }
-
-
- $new_password = autoname(6) . mt_rand(100,9999);
- $new_password_encoded = hash('whirlpool',$new_password);
-
- require_once('include/crypto.php');
-
- $result = new_keypair(1024);
-
- if($result === false) {
- notice( t('SERIOUS ERROR: Generation of security keys failed.') . EOL);
+ if(! $result['success']) {
+ notice($result['message']);
return;
}
- $prvkey = $result['prvkey'];
- $pubkey = $result['pubkey'];
-
- /**
- *
- * Create another keypair for signing/verifying
- * salmon protocol messages. We have to use a slightly
- * less robust key because this won't be using openssl
- * but the phpseclib. Since it is PHP interpreted code
- * it is not nearly as efficient, and the larger keys
- * will take several minutes each to process.
- *
- */
-
- $sres = new_keypair(512);
- $sprvkey = $sres['prvkey'];
- $spubkey = $sres['pubkey'];
-
- $r = q("INSERT INTO `user` ( `guid`, `username`, `password`, `email`, `openid`, `nickname`,
- `pubkey`, `prvkey`, `spubkey`, `sprvkey`, `register_date`, `verified`, `blocked`, `timezone` )
- VALUES ( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, 'UTC' )",
- dbesc(generate_user_guid()),
- dbesc($username),
- dbesc($new_password_encoded),
- dbesc($email),
- dbesc($openid_url),
- dbesc($nickname),
- dbesc($pubkey),
- dbesc($prvkey),
- dbesc($spubkey),
- dbesc($sprvkey),
- dbesc(datetime_convert()),
- intval($verified),
- intval($blocked)
- );
-
- if($r) {
- $r = q("SELECT `uid` FROM `user`
- WHERE `username` = '%s' AND `password` = '%s' LIMIT 1",
- dbesc($username),
- dbesc($new_password_encoded)
- );
- if($r !== false && count($r))
- $newuid = intval($r[0]['uid']);
- }
- else {
- notice( t('An error occurred during registration. Please try again.') . EOL );
- return;
- }
-
- /**
- * if somebody clicked submit twice very quickly, they could end up with two accounts
- * due to race condition. Remove this one.
- */
-
- $r = q("SELECT `uid` FROM `user`
- WHERE `nickname` = '%s' ",
- dbesc($nickname)
- );
- if((count($r) > 1) && $newuid) {
- $err .= t('Nickname is already registered. Please choose another.') . EOL;
- q("DELETE FROM `user` WHERE `uid` = %d LIMIT 1",
- intval($newuid)
- );
- notice ($err);
- return;
- }
-
- if(x($newuid) !== false) {
- $r = q("INSERT INTO `profile` ( `uid`, `profile-name`, `is-default`, `name`, `photo`, `thumb`, `publish`, `net-publish` )
- VALUES ( %d, '%s', %d, '%s', '%s', '%s', %d, %d ) ",
- intval($newuid),
- 'default',
- 1,
- dbesc($username),
- dbesc($a->get_baseurl() . "/photo/profile/{$newuid}.jpg"),
- dbesc($a->get_baseurl() . "/photo/avatar/{$newuid}.jpg"),
- intval($publish),
- intval($netpublish)
-
- );
- if($r === false) {
- notice( t('An error occurred creating your default profile. Please try again.') . EOL );
- // Start fresh next time.
- $r = q("DELETE FROM `user` WHERE `uid` = %d",
- intval($newuid));
- return;
- }
- $r = q("INSERT INTO `contact` ( `uid`, `created`, `self`, `name`, `nick`, `photo`, `thumb`, `micro`, `blocked`, `pending`, `url`, `nurl`,
- `request`, `notify`, `poll`, `confirm`, `poco`, `name-date`, `uri-date`, `avatar-date`, `closeness` )
- VALUES ( %d, '%s', 1, '%s', '%s', '%s', '%s', '%s', 0, 0, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', 0 ) ",
- intval($newuid),
- datetime_convert(),
- dbesc($username),
- dbesc($nickname),
- dbesc($a->get_baseurl() . "/photo/profile/{$newuid}.jpg"),
- dbesc($a->get_baseurl() . "/photo/avatar/{$newuid}.jpg"),
- dbesc($a->get_baseurl() . "/photo/micro/{$newuid}.jpg"),
- dbesc($a->get_baseurl() . "/profile/$nickname"),
- dbesc(normalise_link($a->get_baseurl() . "/profile/$nickname")),
- dbesc($a->get_baseurl() . "/dfrn_request/$nickname"),
- dbesc($a->get_baseurl() . "/dfrn_notify/$nickname"),
- dbesc($a->get_baseurl() . "/dfrn_poll/$nickname"),
- dbesc($a->get_baseurl() . "/dfrn_confirm/$nickname"),
- dbesc($a->get_baseurl() . "/poco/$nickname"),
- dbesc(datetime_convert()),
- dbesc(datetime_convert()),
- dbesc(datetime_convert())
- );
-
-
- }
-
- // if we have no OpenID photo try to look up an avatar
- if(! strlen($photo))
- $photo = avatar_img($email);
-
- // unless there is no avatar-plugin loaded
- if(strlen($photo)) {
- require_once('include/Photo.php');
- $photo_failure = false;
-
- $filename = basename($photo);
- $img_str = fetch_url($photo,true);
- $img = new Photo($img_str);
- if($img->is_valid()) {
-
- $img->scaleImageSquare(175);
-
- $hash = photo_new_resource();
-
- $r = $img->store($newuid, 0, $hash, $filename, t('Profile Photos'), 4 );
-
- if($r === false)
- $photo_failure = true;
-
- $img->scaleImage(80);
-
- $r = $img->store($newuid, 0, $hash, $filename, t('Profile Photos'), 5 );
-
- if($r === false)
- $photo_failure = true;
-
- $img->scaleImage(48);
-
- $r = $img->store($newuid, 0, $hash, $filename, t('Profile Photos'), 6 );
-
- if($r === false)
- $photo_failure = true;
-
- if(! $photo_failure) {
- q("UPDATE `photo` SET `profile` = 1 WHERE `resource-id` = '%s' ",
- dbesc($hash)
- );
- }
- }
- }
-
+ $user = $result['user'];
+
if($netpublish && $a->config['register_policy'] != REGISTER_APPROVE) {
- $url = $a->get_baseurl() . "/profile/$nickname";
+ $url = $a->get_baseurl() . '/profile/' . $user['nickname'];
proc_run('php',"include/directory.php","$url");
}
+ $using_invites = get_config('system','invitation_only');
+ $num_invites = get_config('system','number_invites');
+ $invite_id = ((x($_POST,'invite_id')) ? notags(trim($_POST['invite_id'])) : '');
- call_hooks('register_account', $newuid);
if( $a->config['register_policy'] == REGISTER_OPEN ) {
if($using_invites && $invite_id) {
q("delete * from register where hash = '%s' limit 1", dbesc($invite_id));
- set_pconfig($newuid,'system','invites_remaining',$num_invites);
+ set_pconfig($user['uid'],'system','invites_remaining',$num_invites);
}
$email_tpl = get_intltext_template("register_open_eml.tpl");
$email_tpl = replace_macros($email_tpl, array(
'$sitename' => $a->config['sitename'],
'$siteurl' => $a->get_baseurl(),
- '$username' => $username,
- '$email' => $email,
- '$password' => $new_password,
- '$uid' => $newuid ));
+ '$username' => $user['username'],
+ '$email' => $user['email'],
+ '$password' => $result['password'],
+ '$uid' => $user['uid'] ));
- $res = mail($email, sprintf(t('Registration details for %s'), $a->config['sitename']),
+ $res = mail($user['email'], sprintf(t('Registration details for %s'), $a->config['sitename']),
$email_tpl,
'From: ' . t('Administrator') . '@' . $_SERVER['SERVER_NAME'] . "\n"
. 'Content-type: text/plain; charset=UTF-8' . "\n"
@@ -387,8 +110,8 @@ function register_post(&$a) {
$r = q("INSERT INTO `register` ( `hash`, `created`, `uid`, `password`, `language` ) VALUES ( '%s', '%s', %d, '%s', '%s' ) ",
dbesc($hash),
dbesc(datetime_convert()),
- intval($newuid),
- dbesc($new_password),
+ intval($user['uid']),
+ dbesc($result['password']),
dbesc($lang)
);
@@ -402,17 +125,17 @@ function register_post(&$a) {
if($using_invites && $invite_id) {
q("delete * from register where hash = '%s' limit 1", dbesc($invite_id));
- set_pconfig($newuid,'system','invites_remaining',$num_invites);
+ set_pconfig($user['uid'],'system','invites_remaining',$num_invites);
}
$email_tpl = get_intltext_template("register_verify_eml.tpl");
$email_tpl = replace_macros($email_tpl, array(
'$sitename' => $a->config['sitename'],
'$siteurl' => $a->get_baseurl(),
- '$username' => $username,
- '$email' => $email,
- '$password' => $new_password,
- '$uid' => $newuid,
+ '$username' => $user['username'],
+ '$email' => $user['email'],
+ '$password' => $result['password'],
+ '$uid' => $user['uid'],
'$hash' => $hash
));
diff --git a/mod/search.php b/mod/search.php
index d4cd9d967..320ffddce 100644
--- a/mod/search.php
+++ b/mod/search.php
@@ -110,18 +110,19 @@ function search_content(&$a) {
if (get_config('system','use_fulltext_engine')) {
if($tag)
- $sql_extra = sprintf(" AND MATCH (`item`.`tag`) AGAINST ('".'"%s"'."' in boolean mode) ", '#'.preg_quote($search));
+ $sql_extra = sprintf(" AND MATCH (`item`.`tag`) AGAINST ('".'"%s"'."' in boolean mode) ", '#'.dbesc(protect_sprintf($search)));
else
- $sql_extra = sprintf(" AND MATCH (`item`.`body`) AGAINST ('".'"%s"'."' in boolean mode) ", dbesc(preg_quote($search)));
+ $sql_extra = sprintf(" AND MATCH (`item`.`body`) AGAINST ('".'"%s"'."' in boolean mode) ", dbesc(protect_sprintf($search)));
} else {
if($tag)
- $sql_extra = sprintf(" AND `item`.`tag` REGEXP '%s' ", dbesc('\\]' . preg_quote($search) . '\\['));
+ $sql_extra = sprintf(" AND `item`.`tag` REGEXP '%s' ", dbesc('\\]' . protect_sprintf(preg_quote($search)) . '\\['));
else
- $sql_extra = sprintf(" AND `item`.`body` REGEXP '%s' ", dbesc(preg_quote($search)));
+ $sql_extra = sprintf(" AND `item`.`body` REGEXP '%s' ", dbesc(protect_sprintf(preg_quote($search))));
}
+
// Here is the way permissions work in the search module...
// Only public posts can be shown
// OR your own posts if you are a logged in member
@@ -145,7 +146,7 @@ function search_content(&$a) {
}
$r = q("SELECT distinct(`item`.`uri`), `item`.*, `item`.`id` AS `item_id`,
- `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`,
+ `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`alias`, `contact`.`rel`,
`contact`.`network`, `contact`.`thumb`, `contact`.`self`, `contact`.`writable`,
`contact`.`id` AS `cid`, `contact`.`uid` AS `contact-uid`,
`user`.`nickname`
diff --git a/mod/settings.php b/mod/settings.php
index b5214e917..92593d7a8 100644
--- a/mod/settings.php
+++ b/mod/settings.php
@@ -445,7 +445,7 @@ function settings_post(&$a) {
if($page_flags == PAGE_PRVGROUP) {
$hidewall = 1;
- if((! str_contact_allow) && (! str_group_allow) && (! str_contact_deny) && (! $str_group_deny)) {
+ if((! $str_contact_allow) && (! $str_group_allow) && (! $str_contact_deny) && (! $str_group_deny)) {
if($def_gid) {
info( t('Private forum has no privacy permissions. Using default privacy group.'). EOL);
$str_group_allow = '<' . $def_gid . '>';
@@ -837,27 +837,26 @@ function settings_content(&$a) {
$pageset_tpl = get_markup_template('pagetypes.tpl');
$pagetype = replace_macros($pageset_tpl,array(
- '$page_normal' => array('page-flags', t('Normal Account'), PAGE_NORMAL,
+ '$page_normal' => array('page-flags', t('Normal Account Page'), PAGE_NORMAL,
t('This account is a normal personal profile'),
($a->user['page-flags'] == PAGE_NORMAL)),
- '$page_soapbox' => array('page-flags', t('Soapbox Account'), PAGE_SOAPBOX,
+ '$page_soapbox' => array('page-flags', t('Soapbox Page'), PAGE_SOAPBOX,
t('Automatically approve all connection/friend requests as read-only fans'),
($a->user['page-flags'] == PAGE_SOAPBOX)),
- '$page_community' => array('page-flags', t('Community/Celebrity Account'), PAGE_COMMUNITY,
+ '$page_community' => array('page-flags', t('Community Forum/Celebrity Account'), PAGE_COMMUNITY,
t('Automatically approve all connection/friend requests as read-write fans'),
($a->user['page-flags'] == PAGE_COMMUNITY)),
- '$page_freelove' => array('page-flags', t('Automatic Friend Account'), PAGE_FREELOVE,
+ '$page_freelove' => array('page-flags', t('Automatic Friend Page'), PAGE_FREELOVE,
t('Automatically approve all connection/friend requests as friends'),
($a->user['page-flags'] == PAGE_FREELOVE)),
- '$page_prvgroup' => array('page-flags', t('Private Forum'), PAGE_PRVGROUP,
- t('Private forum - approved members only [Experimental]'),
+ '$page_prvgroup' => array('page-flags', t('Private Forum [Experimental]'), PAGE_PRVGROUP,
+ t('Private forum - approved members only'),
($a->user['page-flags'] == PAGE_PRVGROUP)),
- '$experimental' => ( (intval(get_config('system','prvgroup_testing'))) ? 'true' : ''),
));
@@ -1026,7 +1025,8 @@ function settings_content(&$a) {
'$notify7' => array('notify7', t('You are tagged in a post'), ($notify & NOTIFY_TAGSELF), NOTIFY_TAGSELF, ''),
- '$h_advn' => t('Advanced Page Settings'),
+ '$h_advn' => t('Advanced Account/Page Type Settings'),
+ '$h_descadvn' => t('Change the behaviour of this account for special situations'),
'$pagetype' => $pagetype,
diff --git a/update.php b/update.php
index f25d16f9d..35a6771b0 100644
--- a/update.php
+++ b/update.php
@@ -1,6 +1,6 @@
<?php
-define( 'UPDATE_VERSION' , 1144 );
+define( 'UPDATE_VERSION' , 1148 );
/**
*
@@ -1137,8 +1137,8 @@ INDEX ( `username` )
}
function update_1133() {
-q("ALTER TABLE `user` ADD `unkmail` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `blocktags` , ADD INDEX ( `unkmail` ) ");
-q("ALTER TABLE `user` ADD `cntunkmail` INT NOT NULL DEFAULT '10' AFTER `unkmail` , ADD INDEX ( `cntunkmail` ) ");
+q("ALTER TABLE `user` ADD `unkmail` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `blocktags` , ADD INDEX ( `unkmail` ) ");
+q("ALTER TABLE `user` ADD `cntunkmail` INT NOT NULL DEFAULT '10' AFTER `unkmail` , ADD INDEX ( `cntunkmail` ) ");
q("ALTER TABLE `mail` ADD `unknown` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `replied` , ADD INDEX ( `unknown` ) ");
}
@@ -1253,5 +1253,33 @@ function update_1143() {
return UPDATE_SUCCESS ;
}
+function update_1144() {
+ $r = q("alter table contact add prv tinyint(1) not null default '0' after forum");
+ if(! $r)
+ return UPDATE_FAILED ;
+ return UPDATE_SUCCESS ;
+}
+
+function update_1145() {
+ $r = q("alter table profile add howlong datetime not null default '0000-00-00 00:00:00' after `with`");
+ if(! $r)
+ return UPDATE_FAILED ;
+ return UPDATE_SUCCESS ;
+}
+function update_1146() {
+ $r = q("alter table profile add hometown char(255) not null after `country-name`, add index ( `hometown` ) ");
+ if(! $r)
+ return UPDATE_FAILED ;
+ return UPDATE_SUCCESS ;
+}
+
+function update_1147() {
+ $r1 = q("ALTER TABLE `sign` ALTER `iid` SET DEFAULT '0'");
+ $r2 = q("ALTER TABLE `sign` ADD `retract_iid` INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `iid`");
+ $r3 = q("ALTER TABLE `sign` ADD INDEX ( `retract_iid` )");
+ if((! $r1) || (! $r2) || (! $r3))
+ return UPDATE_FAILED ;
+ return UPDATE_SUCCESS ;
+}
diff --git a/util/messages.po b/util/messages.po
index c39ac3bc1..43368ced0 100644
--- a/util/messages.po
+++ b/util/messages.po
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: 3.0.1357\n"
+"Project-Id-Version: 3.0.1363\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-05-28 10:00-0700\n"
+"POT-Creation-Date: 2012-06-03 10:00-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -39,8 +39,8 @@ msgstr ""
#: ../../mod/api.php:31 ../../mod/photos.php:130 ../../mod/photos.php:920
#: ../../mod/editpost.php:10 ../../mod/install.php:151
#: ../../mod/notifications.php:66 ../../mod/contacts.php:125
-#: ../../mod/settings.php:105 ../../mod/settings.php:536
-#: ../../mod/settings.php:541 ../../mod/manage.php:86 ../../mod/network.php:6
+#: ../../mod/settings.php:106 ../../mod/settings.php:537
+#: ../../mod/settings.php:542 ../../mod/manage.php:86 ../../mod/network.php:6
#: ../../mod/notes.php:20 ../../mod/wallmessage.php:9
#: ../../mod/wallmessage.php:33 ../../mod/wallmessage.php:79
#: ../../mod/wallmessage.php:103 ../../mod/attach.php:33
@@ -51,11 +51,11 @@ msgstr ""
#: ../../mod/profile_photo.php:163 ../../mod/message.php:44
#: ../../mod/message.php:96 ../../mod/allfriends.php:9
#: ../../mod/nogroup.php:25 ../../mod/wall_upload.php:53
-#: ../../mod/follow.php:8 ../../mod/display.php:138 ../../mod/profiles.php:7
-#: ../../mod/profiles.php:374 ../../mod/delegate.php:6
+#: ../../mod/follow.php:9 ../../mod/display.php:138 ../../mod/profiles.php:7
+#: ../../mod/profiles.php:385 ../../mod/delegate.php:6
#: ../../mod/suggest.php:28 ../../mod/invite.php:13 ../../mod/invite.php:81
#: ../../mod/dfrn_confirm.php:53 ../../addon/facebook/facebook.php:503
-#: ../../include/items.php:3286 ../../index.php:306
+#: ../../include/items.php:3297 ../../index.php:306
msgid "Permission denied."
msgstr ""
@@ -84,8 +84,8 @@ msgstr ""
msgid "Return to contact editor"
msgstr ""
-#: ../../mod/crepair.php:148 ../../mod/settings.php:556
-#: ../../mod/settings.php:582 ../../mod/admin.php:656 ../../mod/admin.php:665
+#: ../../mod/crepair.php:148 ../../mod/settings.php:557
+#: ../../mod/settings.php:583 ../../mod/admin.php:656 ../../mod/admin.php:665
msgid "Name"
msgstr ""
@@ -125,13 +125,13 @@ msgstr ""
#: ../../mod/events.php:428 ../../mod/photos.php:955 ../../mod/photos.php:1013
#: ../../mod/photos.php:1256 ../../mod/photos.php:1296
#: ../../mod/photos.php:1336 ../../mod/photos.php:1367
-#: ../../mod/install.php:245 ../../mod/install.php:283
+#: ../../mod/install.php:246 ../../mod/install.php:284
#: ../../mod/localtime.php:45 ../../mod/contacts.php:322
-#: ../../mod/settings.php:554 ../../mod/settings.php:700
-#: ../../mod/settings.php:761 ../../mod/settings.php:965
+#: ../../mod/settings.php:555 ../../mod/settings.php:701
+#: ../../mod/settings.php:762 ../../mod/settings.php:969
#: ../../mod/manage.php:109 ../../mod/group.php:85 ../../mod/admin.php:417
#: ../../mod/admin.php:653 ../../mod/admin.php:789 ../../mod/admin.php:988
-#: ../../mod/admin.php:1075 ../../mod/profiles.php:543
+#: ../../mod/admin.php:1075 ../../mod/profiles.php:554
#: ../../mod/invite.php:119 ../../addon/facebook/facebook.php:605
#: ../../addon/yourls/yourls.php:76 ../../addon/ljpost/ljpost.php:93
#: ../../addon/nsfw/nsfw.php:57 ../../addon/planets/planets.php:158
@@ -159,10 +159,10 @@ msgstr ""
#: ../../addon/irc/irc.php:55 ../../addon/blogger/blogger.php:102
#: ../../addon/posterous/posterous.php:103
#: ../../view/theme/cleanzero/config.php:80
-#: ../../view/theme/diabook/theme.php:752
+#: ../../view/theme/diabook/theme.php:757
#: ../../view/theme/diabook/config.php:190
#: ../../view/theme/quattro/config.php:52 ../../view/theme/dispy/config.php:70
-#: ../../include/conversation.php:559
+#: ../../include/conversation.php:580
msgid "Submit"
msgstr ""
@@ -216,11 +216,11 @@ msgstr ""
msgid "Edit event"
msgstr ""
-#: ../../mod/events.php:300 ../../include/text.php:1060
+#: ../../mod/events.php:300 ../../include/text.php:1065
msgid "link to source"
msgstr ""
-#: ../../mod/events.php:324 ../../view/theme/diabook/theme.php:126
+#: ../../mod/events.php:324 ../../view/theme/diabook/theme.php:131
#: ../../include/nav.php:52 ../../boot.php:1520
msgid "Events"
msgstr ""
@@ -233,7 +233,7 @@ msgstr ""
msgid "Previous"
msgstr ""
-#: ../../mod/events.php:327 ../../mod/install.php:204
+#: ../../mod/events.php:327 ../../mod/install.php:205
msgid "Next"
msgstr ""
@@ -280,8 +280,8 @@ msgid "Share this event"
msgstr ""
#: ../../mod/tagrm.php:11 ../../mod/tagrm.php:94
-#: ../../mod/dfrn_request.php:826 ../../mod/settings.php:555
-#: ../../mod/settings.php:581 ../../addon/js_upload/js_upload.php:45
+#: ../../mod/dfrn_request.php:830 ../../mod/settings.php:556
+#: ../../mod/settings.php:582 ../../addon/js_upload/js_upload.php:45
msgid "Cancel"
msgstr ""
@@ -324,25 +324,27 @@ msgid ""
"and/or create new posts for you?"
msgstr ""
-#: ../../mod/api.php:105 ../../mod/dfrn_request.php:814
-#: ../../mod/settings.php:876 ../../mod/settings.php:882
-#: ../../mod/settings.php:890 ../../mod/settings.php:894
-#: ../../mod/settings.php:899 ../../mod/settings.php:905
-#: ../../mod/settings.php:911 ../../mod/settings.php:917
-#: ../../mod/settings.php:953 ../../mod/settings.php:954
-#: ../../mod/settings.php:955 ../../mod/settings.php:956
-#: ../../mod/register.php:511 ../../mod/profiles.php:520
+#: ../../mod/api.php:105 ../../mod/dfrn_request.php:818
+#: ../../mod/settings.php:879 ../../mod/settings.php:885
+#: ../../mod/settings.php:893 ../../mod/settings.php:897
+#: ../../mod/settings.php:902 ../../mod/settings.php:908
+#: ../../mod/settings.php:914 ../../mod/settings.php:920
+#: ../../mod/settings.php:956 ../../mod/settings.php:957
+#: ../../mod/settings.php:958 ../../mod/settings.php:959
+#: ../../mod/settings.php:960 ../../mod/register.php:234
+#: ../../mod/profiles.php:531
msgid "Yes"
msgstr ""
-#: ../../mod/api.php:106 ../../mod/dfrn_request.php:815
-#: ../../mod/settings.php:876 ../../mod/settings.php:882
-#: ../../mod/settings.php:890 ../../mod/settings.php:894
-#: ../../mod/settings.php:899 ../../mod/settings.php:905
-#: ../../mod/settings.php:911 ../../mod/settings.php:917
-#: ../../mod/settings.php:953 ../../mod/settings.php:954
-#: ../../mod/settings.php:955 ../../mod/settings.php:956
-#: ../../mod/register.php:512 ../../mod/profiles.php:521
+#: ../../mod/api.php:106 ../../mod/dfrn_request.php:819
+#: ../../mod/settings.php:879 ../../mod/settings.php:885
+#: ../../mod/settings.php:893 ../../mod/settings.php:897
+#: ../../mod/settings.php:902 ../../mod/settings.php:908
+#: ../../mod/settings.php:914 ../../mod/settings.php:920
+#: ../../mod/settings.php:956 ../../mod/settings.php:957
+#: ../../mod/settings.php:958 ../../mod/settings.php:959
+#: ../../mod/settings.php:960 ../../mod/register.php:235
+#: ../../mod/profiles.php:532
msgid "No"
msgstr ""
@@ -354,7 +356,7 @@ msgstr ""
#: ../../mod/photos.php:1005 ../../mod/photos.php:1020
#: ../../mod/photos.php:1445 ../../mod/photos.php:1457
#: ../../addon/communityhome/communityhome.php:110
-#: ../../view/theme/diabook/theme.php:593
+#: ../../view/theme/diabook/theme.php:598
msgid "Contact Photos"
msgstr ""
@@ -371,13 +373,13 @@ msgid "Contact information unavailable"
msgstr ""
#: ../../mod/photos.php:151 ../../mod/photos.php:652 ../../mod/photos.php:1005
-#: ../../mod/photos.php:1020 ../../mod/register.php:314
-#: ../../mod/register.php:321 ../../mod/register.php:328
-#: ../../mod/profile_photo.php:60 ../../mod/profile_photo.php:67
-#: ../../mod/profile_photo.php:74 ../../mod/profile_photo.php:174
-#: ../../mod/profile_photo.php:252 ../../mod/profile_photo.php:261
+#: ../../mod/photos.php:1020 ../../mod/profile_photo.php:60
+#: ../../mod/profile_photo.php:67 ../../mod/profile_photo.php:74
+#: ../../mod/profile_photo.php:174 ../../mod/profile_photo.php:252
+#: ../../mod/profile_photo.php:261
#: ../../addon/communityhome/communityhome.php:111
-#: ../../view/theme/diabook/theme.php:594
+#: ../../view/theme/diabook/theme.php:599 ../../include/user.php:294
+#: ../../include/user.php:301 ../../include/user.php:308
msgid "Profile Photos"
msgstr ""
@@ -399,7 +401,7 @@ msgstr ""
#: ../../mod/photos.php:583 ../../mod/like.php:127 ../../mod/tagger.php:70
#: ../../addon/communityhome/communityhome.php:163
-#: ../../view/theme/diabook/theme.php:565 ../../include/text.php:1311
+#: ../../view/theme/diabook/theme.php:570 ../../include/text.php:1316
#: ../../include/diaspora.php:1662 ../../include/conversation.php:53
#: ../../include/conversation.php:126
msgid "photo"
@@ -428,7 +430,7 @@ msgid "Image upload failed."
msgstr ""
#: ../../mod/photos.php:814 ../../mod/community.php:16
-#: ../../mod/dfrn_request.php:740 ../../mod/viewcontacts.php:17
+#: ../../mod/dfrn_request.php:744 ../../mod/viewcontacts.php:17
#: ../../mod/display.php:7 ../../mod/search.php:71 ../../mod/directory.php:29
msgid "Public access denied."
msgstr ""
@@ -489,7 +491,7 @@ msgstr ""
msgid "Use as profile photo"
msgstr ""
-#: ../../mod/photos.php:1140 ../../include/conversation.php:484
+#: ../../mod/photos.php:1140 ../../include/conversation.php:490
msgid "Private Message"
msgstr ""
@@ -525,44 +527,44 @@ msgstr ""
msgid "Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
msgstr ""
-#: ../../mod/photos.php:1274 ../../include/conversation.php:533
+#: ../../mod/photos.php:1274 ../../include/conversation.php:554
msgid "I like this (toggle)"
msgstr ""
-#: ../../mod/photos.php:1275 ../../include/conversation.php:534
+#: ../../mod/photos.php:1275 ../../include/conversation.php:555
msgid "I don't like this (toggle)"
msgstr ""
-#: ../../mod/photos.php:1276 ../../include/conversation.php:968
+#: ../../mod/photos.php:1276 ../../include/conversation.php:989
msgid "Share"
msgstr ""
#: ../../mod/photos.php:1277 ../../mod/editpost.php:104
#: ../../mod/wallmessage.php:145 ../../mod/message.php:214
-#: ../../mod/message.php:408 ../../include/conversation.php:365
-#: ../../include/conversation.php:710 ../../include/conversation.php:987
+#: ../../mod/message.php:408 ../../include/conversation.php:371
+#: ../../include/conversation.php:731 ../../include/conversation.php:1008
msgid "Please wait"
msgstr ""
#: ../../mod/photos.php:1293 ../../mod/photos.php:1333
-#: ../../mod/photos.php:1364 ../../include/conversation.php:556
+#: ../../mod/photos.php:1364 ../../include/conversation.php:577
msgid "This is you"
msgstr ""
#: ../../mod/photos.php:1295 ../../mod/photos.php:1335
-#: ../../mod/photos.php:1366 ../../include/conversation.php:558
+#: ../../mod/photos.php:1366 ../../include/conversation.php:579
#: ../../boot.php:514
msgid "Comment"
msgstr ""
#: ../../mod/photos.php:1297 ../../mod/editpost.php:125
-#: ../../include/conversation.php:568 ../../include/conversation.php:1005
+#: ../../include/conversation.php:589 ../../include/conversation.php:1026
msgid "Preview"
msgstr ""
-#: ../../mod/photos.php:1394 ../../mod/settings.php:617
-#: ../../mod/settings.php:698 ../../mod/group.php:168 ../../mod/admin.php:660
-#: ../../include/conversation.php:322 ../../include/conversation.php:588
+#: ../../mod/photos.php:1394 ../../mod/settings.php:618
+#: ../../mod/settings.php:699 ../../mod/group.php:168 ../../mod/admin.php:660
+#: ../../include/conversation.php:328 ../../include/conversation.php:609
msgid "Delete"
msgstr ""
@@ -578,12 +580,12 @@ msgstr ""
msgid "Not available."
msgstr ""
-#: ../../mod/community.php:30 ../../view/theme/diabook/theme.php:128
+#: ../../mod/community.php:30 ../../view/theme/diabook/theme.php:133
#: ../../include/nav.php:101
msgid "Community"
msgstr ""
-#: ../../mod/community.php:61 ../../mod/search.php:138
+#: ../../mod/community.php:61 ../../mod/search.php:144
msgid "No results."
msgstr ""
@@ -627,28 +629,28 @@ msgstr ""
msgid "Edit post"
msgstr ""
-#: ../../mod/editpost.php:80 ../../include/conversation.php:954
+#: ../../mod/editpost.php:80 ../../include/conversation.php:975
msgid "Post to Email"
msgstr ""
-#: ../../mod/editpost.php:95 ../../mod/settings.php:616
-#: ../../include/conversation.php:575
+#: ../../mod/editpost.php:95 ../../mod/settings.php:617
+#: ../../include/conversation.php:596
msgid "Edit"
msgstr ""
#: ../../mod/editpost.php:96 ../../mod/wallmessage.php:143
#: ../../mod/message.php:212 ../../mod/message.php:406
-#: ../../include/conversation.php:969
+#: ../../include/conversation.php:990
msgid "Upload photo"
msgstr ""
-#: ../../mod/editpost.php:97 ../../include/conversation.php:971
+#: ../../mod/editpost.php:97 ../../include/conversation.php:992
msgid "Attach file"
msgstr ""
#: ../../mod/editpost.php:98 ../../mod/wallmessage.php:144
#: ../../mod/message.php:213 ../../mod/message.php:407
-#: ../../include/conversation.php:973
+#: ../../include/conversation.php:994
msgid "Insert web link"
msgstr ""
@@ -664,35 +666,35 @@ msgstr ""
msgid "Insert Vorbis [.ogg] audio"
msgstr ""
-#: ../../mod/editpost.php:102 ../../include/conversation.php:979
+#: ../../mod/editpost.php:102 ../../include/conversation.php:1000
msgid "Set your location"
msgstr ""
-#: ../../mod/editpost.php:103 ../../include/conversation.php:981
+#: ../../mod/editpost.php:103 ../../include/conversation.php:1002
msgid "Clear browser location"
msgstr ""
-#: ../../mod/editpost.php:105 ../../include/conversation.php:988
+#: ../../mod/editpost.php:105 ../../include/conversation.php:1009
msgid "Permission settings"
msgstr ""
-#: ../../mod/editpost.php:113 ../../include/conversation.php:997
+#: ../../mod/editpost.php:113 ../../include/conversation.php:1018
msgid "CC: email addresses"
msgstr ""
-#: ../../mod/editpost.php:114 ../../include/conversation.php:998
+#: ../../mod/editpost.php:114 ../../include/conversation.php:1019
msgid "Public post"
msgstr ""
-#: ../../mod/editpost.php:117 ../../include/conversation.php:984
+#: ../../mod/editpost.php:117 ../../include/conversation.php:1005
msgid "Set title"
msgstr ""
-#: ../../mod/editpost.php:119 ../../include/conversation.php:986
+#: ../../mod/editpost.php:119 ../../include/conversation.php:1007
msgid "Categories (comma-separated list)"
msgstr ""
-#: ../../mod/editpost.php:120 ../../include/conversation.php:1000
+#: ../../mod/editpost.php:120 ../../include/conversation.php:1021
msgid "Example: bob@example.com, mary@example.com"
msgstr ""
@@ -700,184 +702,188 @@ msgstr ""
msgid "This introduction has already been accepted."
msgstr ""
-#: ../../mod/dfrn_request.php:117 ../../mod/dfrn_request.php:495
+#: ../../mod/dfrn_request.php:118 ../../mod/dfrn_request.php:497
msgid "Profile location is not valid or does not contain profile information."
msgstr ""
-#: ../../mod/dfrn_request.php:122 ../../mod/dfrn_request.php:500
+#: ../../mod/dfrn_request.php:123 ../../mod/dfrn_request.php:502
msgid "Warning: profile location has no identifiable owner name."
msgstr ""
-#: ../../mod/dfrn_request.php:124 ../../mod/dfrn_request.php:502
+#: ../../mod/dfrn_request.php:125 ../../mod/dfrn_request.php:504
msgid "Warning: profile location has no profile photo."
msgstr ""
-#: ../../mod/dfrn_request.php:127 ../../mod/dfrn_request.php:505
+#: ../../mod/dfrn_request.php:128 ../../mod/dfrn_request.php:507
#, php-format
msgid "%d required parameter was not found at the given location"
msgid_plural "%d required parameters were not found at the given location"
msgstr[0] ""
msgstr[1] ""
-#: ../../mod/dfrn_request.php:168
+#: ../../mod/dfrn_request.php:170
msgid "Introduction complete."
msgstr ""
-#: ../../mod/dfrn_request.php:192
+#: ../../mod/dfrn_request.php:194
msgid "Unrecoverable protocol error."
msgstr ""
-#: ../../mod/dfrn_request.php:220
+#: ../../mod/dfrn_request.php:222
msgid "Profile unavailable."
msgstr ""
-#: ../../mod/dfrn_request.php:245
+#: ../../mod/dfrn_request.php:247
#, php-format
msgid "%s has received too many connection requests today."
msgstr ""
-#: ../../mod/dfrn_request.php:246
+#: ../../mod/dfrn_request.php:248
msgid "Spam protection measures have been invoked."
msgstr ""
-#: ../../mod/dfrn_request.php:247
+#: ../../mod/dfrn_request.php:249
msgid "Friends are advised to please try again in 24 hours."
msgstr ""
-#: ../../mod/dfrn_request.php:309
+#: ../../mod/dfrn_request.php:311
msgid "Invalid locator"
msgstr ""
-#: ../../mod/dfrn_request.php:318
+#: ../../mod/dfrn_request.php:320
msgid "Invalid email address."
msgstr ""
-#: ../../mod/dfrn_request.php:344
+#: ../../mod/dfrn_request.php:346
msgid "This account has not been configured for email. Request failed."
msgstr ""
-#: ../../mod/dfrn_request.php:440
+#: ../../mod/dfrn_request.php:442
msgid "Unable to resolve your name at the provided location."
msgstr ""
-#: ../../mod/dfrn_request.php:453
+#: ../../mod/dfrn_request.php:455
msgid "You have already introduced yourself here."
msgstr ""
-#: ../../mod/dfrn_request.php:457
+#: ../../mod/dfrn_request.php:459
#, php-format
msgid "Apparently you are already friends with %s."
msgstr ""
-#: ../../mod/dfrn_request.php:478
+#: ../../mod/dfrn_request.php:480
msgid "Invalid profile URL."
msgstr ""
-#: ../../mod/dfrn_request.php:484 ../../mod/follow.php:23
+#: ../../mod/dfrn_request.php:486 ../../include/follow.php:27
msgid "Disallowed profile URL."
msgstr ""
-#: ../../mod/dfrn_request.php:553 ../../mod/contacts.php:102
+#: ../../mod/dfrn_request.php:555 ../../mod/contacts.php:102
msgid "Failed to update contact record."
msgstr ""
-#: ../../mod/dfrn_request.php:574
+#: ../../mod/dfrn_request.php:576
msgid "Your introduction has been sent."
msgstr ""
-#: ../../mod/dfrn_request.php:627
+#: ../../mod/dfrn_request.php:629
msgid "Please login to confirm introduction."
msgstr ""
-#: ../../mod/dfrn_request.php:641
+#: ../../mod/dfrn_request.php:643
msgid ""
"Incorrect identity currently logged in. Please login to <strong>this</"
"strong> profile."
msgstr ""
-#: ../../mod/dfrn_request.php:653
+#: ../../mod/dfrn_request.php:654
+msgid "Hide this contact"
+msgstr ""
+
+#: ../../mod/dfrn_request.php:657
#, php-format
msgid "Welcome home %s."
msgstr ""
-#: ../../mod/dfrn_request.php:654
+#: ../../mod/dfrn_request.php:658
#, php-format
msgid "Please confirm your introduction/connection request to %s."
msgstr ""
-#: ../../mod/dfrn_request.php:655
+#: ../../mod/dfrn_request.php:659
msgid "Confirm"
msgstr ""
-#: ../../mod/dfrn_request.php:696 ../../include/items.php:2729
+#: ../../mod/dfrn_request.php:700 ../../include/items.php:2733
msgid "[Name Withheld]"
msgstr ""
-#: ../../mod/dfrn_request.php:789
+#: ../../mod/dfrn_request.php:793
msgid ""
"Please enter your 'Identity Address' from one of the following supported "
"communications networks:"
msgstr ""
-#: ../../mod/dfrn_request.php:805
+#: ../../mod/dfrn_request.php:809
msgid "<strike>Connect as an email follower</strike> (Coming soon)"
msgstr ""
-#: ../../mod/dfrn_request.php:807
+#: ../../mod/dfrn_request.php:811
msgid ""
"If you are not yet a member of the free social web, <a href=\"http://dir."
"friendica.com/siteinfo\">follow this link to find a public Friendica site "
"and join us today</a>."
msgstr ""
-#: ../../mod/dfrn_request.php:810
+#: ../../mod/dfrn_request.php:814
msgid "Friend/Connection Request"
msgstr ""
-#: ../../mod/dfrn_request.php:811
+#: ../../mod/dfrn_request.php:815
msgid ""
"Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, "
"testuser@identi.ca"
msgstr ""
-#: ../../mod/dfrn_request.php:812
+#: ../../mod/dfrn_request.php:816
msgid "Please answer the following:"
msgstr ""
-#: ../../mod/dfrn_request.php:813
+#: ../../mod/dfrn_request.php:817
#, php-format
msgid "Does %s know you?"
msgstr ""
-#: ../../mod/dfrn_request.php:816
+#: ../../mod/dfrn_request.php:820
msgid "Add a personal note:"
msgstr ""
-#: ../../mod/dfrn_request.php:818 ../../include/contact_selectors.php:76
+#: ../../mod/dfrn_request.php:822 ../../include/contact_selectors.php:76
msgid "Friendica"
msgstr ""
-#: ../../mod/dfrn_request.php:819
+#: ../../mod/dfrn_request.php:823
msgid "StatusNet/Federated Social Web"
msgstr ""
-#: ../../mod/dfrn_request.php:820 ../../mod/settings.php:651
+#: ../../mod/dfrn_request.php:824 ../../mod/settings.php:652
#: ../../include/contact_selectors.php:80
msgid "Diaspora"
msgstr ""
-#: ../../mod/dfrn_request.php:821
+#: ../../mod/dfrn_request.php:825
#, php-format
msgid ""
" - please do not use this form. Instead, enter %s into your Diaspora search "
"bar."
msgstr ""
-#: ../../mod/dfrn_request.php:822
+#: ../../mod/dfrn_request.php:826
msgid "Your Identity Address:"
msgstr ""
-#: ../../mod/dfrn_request.php:825
+#: ../../mod/dfrn_request.php:829
msgid "Submit Request"
msgstr ""
@@ -903,233 +909,233 @@ msgid ""
"or mysql."
msgstr ""
-#: ../../mod/install.php:139 ../../mod/install.php:203
-#: ../../mod/install.php:482
+#: ../../mod/install.php:139 ../../mod/install.php:204
+#: ../../mod/install.php:489
msgid "Please see the file \"INSTALL.txt\"."
msgstr ""
-#: ../../mod/install.php:200
+#: ../../mod/install.php:201
msgid "System check"
msgstr ""
-#: ../../mod/install.php:205
+#: ../../mod/install.php:206
msgid "Check again"
msgstr ""
-#: ../../mod/install.php:224
+#: ../../mod/install.php:225
msgid "Database connection"
msgstr ""
-#: ../../mod/install.php:225
+#: ../../mod/install.php:226
msgid ""
"In order to install Friendica we need to know how to connect to your "
"database."
msgstr ""
-#: ../../mod/install.php:226
+#: ../../mod/install.php:227
msgid ""
"Please contact your hosting provider or site administrator if you have "
"questions about these settings."
msgstr ""
-#: ../../mod/install.php:227
+#: ../../mod/install.php:228
msgid ""
"The database you specify below should already exist. If it does not, please "
"create it before continuing."
msgstr ""
-#: ../../mod/install.php:231
+#: ../../mod/install.php:232
msgid "Database Server Name"
msgstr ""
-#: ../../mod/install.php:232
+#: ../../mod/install.php:233
msgid "Database Login Name"
msgstr ""
-#: ../../mod/install.php:233
+#: ../../mod/install.php:234
msgid "Database Login Password"
msgstr ""
-#: ../../mod/install.php:234
+#: ../../mod/install.php:235
msgid "Database Name"
msgstr ""
-#: ../../mod/install.php:235 ../../mod/install.php:274
+#: ../../mod/install.php:236 ../../mod/install.php:275
msgid "Site administrator email address"
msgstr ""
-#: ../../mod/install.php:235 ../../mod/install.php:274
+#: ../../mod/install.php:236 ../../mod/install.php:275
msgid ""
"Your account email address must match this in order to use the web admin "
"panel."
msgstr ""
-#: ../../mod/install.php:239 ../../mod/install.php:277
+#: ../../mod/install.php:240 ../../mod/install.php:278
msgid "Please select a default timezone for your website"
msgstr ""
-#: ../../mod/install.php:264
+#: ../../mod/install.php:265
msgid "Site settings"
msgstr ""
-#: ../../mod/install.php:317
+#: ../../mod/install.php:318
msgid "Could not find a command line version of PHP in the web server PATH."
msgstr ""
-#: ../../mod/install.php:318
+#: ../../mod/install.php:319
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 <a href='http://"
"friendica.com/node/27'>'Activating scheduled tasks'</a>"
msgstr ""
-#: ../../mod/install.php:322
+#: ../../mod/install.php:323
msgid "PHP executable path"
msgstr ""
-#: ../../mod/install.php:322
+#: ../../mod/install.php:323
msgid ""
"Enter full path to php executable. You can leave this blank to continue the "
"installation."
msgstr ""
-#: ../../mod/install.php:327
+#: ../../mod/install.php:328
msgid "Command line PHP"
msgstr ""
-#: ../../mod/install.php:336
+#: ../../mod/install.php:337
msgid ""
"The command line version of PHP on your system does not have "
"\"register_argc_argv\" enabled."
msgstr ""
-#: ../../mod/install.php:337
+#: ../../mod/install.php:338
msgid "This is required for message delivery to work."
msgstr ""
-#: ../../mod/install.php:339
+#: ../../mod/install.php:340
msgid "PHP register_argc_argv"
msgstr ""
-#: ../../mod/install.php:360
+#: ../../mod/install.php:361
msgid ""
"Error: the \"openssl_pkey_new\" function on this system is not able to "
"generate encryption keys"
msgstr ""
-#: ../../mod/install.php:361
+#: ../../mod/install.php:362
msgid ""
"If running under Windows, please see \"http://www.php.net/manual/en/openssl."
"installation.php\"."
msgstr ""
-#: ../../mod/install.php:363
+#: ../../mod/install.php:364
msgid "Generate encryption keys"
msgstr ""
-#: ../../mod/install.php:370
+#: ../../mod/install.php:371
msgid "libCurl PHP module"
msgstr ""
-#: ../../mod/install.php:371
+#: ../../mod/install.php:372
msgid "GD graphics PHP module"
msgstr ""
-#: ../../mod/install.php:372
+#: ../../mod/install.php:373
msgid "OpenSSL PHP module"
msgstr ""
-#: ../../mod/install.php:373
+#: ../../mod/install.php:374
msgid "mysqli PHP module"
msgstr ""
-#: ../../mod/install.php:374
+#: ../../mod/install.php:375
msgid "mb_string PHP module"
msgstr ""
-#: ../../mod/install.php:379 ../../mod/install.php:381
+#: ../../mod/install.php:380 ../../mod/install.php:382
msgid "Apache mod_rewrite module"
msgstr ""
-#: ../../mod/install.php:379
+#: ../../mod/install.php:380
msgid ""
"Error: Apache webserver mod-rewrite module is required but not installed."
msgstr ""
-#: ../../mod/install.php:386
+#: ../../mod/install.php:388
msgid "Error: libCURL PHP module required but not installed."
msgstr ""
-#: ../../mod/install.php:390
+#: ../../mod/install.php:392
msgid ""
"Error: GD graphics PHP module with JPEG support required but not installed."
msgstr ""
-#: ../../mod/install.php:394
+#: ../../mod/install.php:396
msgid "Error: openssl PHP module required but not installed."
msgstr ""
-#: ../../mod/install.php:398
+#: ../../mod/install.php:400
msgid "Error: mysqli PHP module required but not installed."
msgstr ""
-#: ../../mod/install.php:402
+#: ../../mod/install.php:404
msgid "Error: mb_string PHP module required but not installed."
msgstr ""
-#: ../../mod/install.php:419
+#: ../../mod/install.php:421
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 ""
-#: ../../mod/install.php:420
+#: ../../mod/install.php:422
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 ""
-#: ../../mod/install.php:421
+#: ../../mod/install.php:423
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 ""
-#: ../../mod/install.php:422
+#: ../../mod/install.php:424
msgid ""
"You can alternatively skip this procedure and perform a manual installation. "
"Please see the file \"INSTALL.txt\" for instructions."
msgstr ""
-#: ../../mod/install.php:425
+#: ../../mod/install.php:427
msgid ".htconfig.php is writable"
msgstr ""
-#: ../../mod/install.php:436
+#: ../../mod/install.php:439
msgid ""
-"Url rewrite in .htconfig is not working. Check your server configuration."
+"Url rewrite in .htaccess is not working. Check your server configuration."
msgstr ""
-#: ../../mod/install.php:438
+#: ../../mod/install.php:441
msgid "Url rewrite is working"
msgstr ""
-#: ../../mod/install.php:444
+#: ../../mod/install.php:451
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 ""
-#: ../../mod/install.php:469
+#: ../../mod/install.php:476
msgid "Errors encountered creating database tables."
msgstr ""
-#: ../../mod/install.php:480
+#: ../../mod/install.php:487
msgid "<h1>What next</h1>"
msgstr ""
-#: ../../mod/install.php:481
+#: ../../mod/install.php:488
msgid ""
"IMPORTANT: You will need to [manually] setup a scheduled task for the poller."
msgstr ""
@@ -1229,7 +1235,7 @@ msgstr ""
msgid "Personal"
msgstr ""
-#: ../../mod/notifications.php:90 ../../view/theme/diabook/theme.php:122
+#: ../../mod/notifications.php:90 ../../view/theme/diabook/theme.php:127
#: ../../include/nav.php:77 ../../include/nav.php:115
msgid "Home"
msgstr ""
@@ -1670,7 +1676,7 @@ msgstr ""
msgid "Edit contact"
msgstr ""
-#: ../../mod/contacts.php:544 ../../view/theme/diabook/theme.php:124
+#: ../../mod/contacts.php:544 ../../view/theme/diabook/theme.php:129
#: ../../include/nav.php:139
msgid "Contacts"
msgstr ""
@@ -1702,12 +1708,12 @@ msgid "Password reset requested at %s"
msgstr ""
#: ../../mod/lostpass.php:45 ../../mod/lostpass.php:107
-#: ../../mod/register.php:367 ../../mod/register.php:421
-#: ../../mod/regmod.php:54 ../../mod/dfrn_confirm.php:745
+#: ../../mod/register.php:90 ../../mod/register.php:144
+#: ../../mod/regmod.php:54 ../../mod/dfrn_confirm.php:752
#: ../../addon/facebook/facebook.php:688
#: ../../addon/facebook/facebook.php:1178
#: ../../addon/public_server/public_server.php:62
-#: ../../addon/testdrive/testdrive.php:67 ../../include/items.php:2738
+#: ../../addon/testdrive/testdrive.php:67 ../../include/items.php:2742
#: ../../boot.php:694
msgid "Administrator"
msgstr ""
@@ -1791,40 +1797,40 @@ msgid "Remove account"
msgstr ""
#: ../../mod/settings.php:89 ../../mod/admin.php:748 ../../mod/admin.php:953
-#: ../../addon/mathjax/mathjax.php:36 ../../view/theme/diabook/theme.php:638
-#: ../../view/theme/diabook/theme.php:768 ../../include/nav.php:137
+#: ../../addon/mathjax/mathjax.php:36 ../../view/theme/diabook/theme.php:643
+#: ../../view/theme/diabook/theme.php:773 ../../include/nav.php:137
msgid "Settings"
msgstr ""
-#: ../../mod/settings.php:132
+#: ../../mod/settings.php:133
msgid "Missing some important data!"
msgstr ""
-#: ../../mod/settings.php:135 ../../mod/settings.php:580
+#: ../../mod/settings.php:136 ../../mod/settings.php:581
msgid "Update"
msgstr ""
-#: ../../mod/settings.php:240
+#: ../../mod/settings.php:241
msgid "Failed to connect with email account using the settings provided."
msgstr ""
-#: ../../mod/settings.php:245
+#: ../../mod/settings.php:246
msgid "Email settings updated."
msgstr ""
-#: ../../mod/settings.php:304
+#: ../../mod/settings.php:305
msgid "Passwords do not match. Password unchanged."
msgstr ""
-#: ../../mod/settings.php:309
+#: ../../mod/settings.php:310
msgid "Empty passwords are not allowed. Password unchanged."
msgstr ""
-#: ../../mod/settings.php:320
+#: ../../mod/settings.php:321
msgid "Password changed."
msgstr ""
-#: ../../mod/settings.php:322
+#: ../../mod/settings.php:323
msgid "Password update failed. Please try again."
msgstr ""
@@ -1844,15 +1850,15 @@ msgstr ""
msgid " Cannot change to that email."
msgstr ""
-#: ../../mod/settings.php:449
+#: ../../mod/settings.php:450
msgid "Private forum has no privacy permissions. Using default privacy group."
msgstr ""
-#: ../../mod/settings.php:453
+#: ../../mod/settings.php:454
msgid "Private forum has no privacy permissions and no default privacy group."
msgstr ""
-#: ../../mod/settings.php:483 ../../addon/facebook/facebook.php:488
+#: ../../mod/settings.php:484 ../../addon/facebook/facebook.php:488
#: ../../addon/impressum/impressum.php:77
#: ../../addon/openstreetmap/openstreetmap.php:80
#: ../../addon/mathjax/mathjax.php:66 ../../addon/piwik/piwik.php:105
@@ -1860,418 +1866,426 @@ msgstr ""
msgid "Settings updated."
msgstr ""
-#: ../../mod/settings.php:553 ../../mod/settings.php:579
-#: ../../mod/settings.php:615
+#: ../../mod/settings.php:554 ../../mod/settings.php:580
+#: ../../mod/settings.php:616
msgid "Add application"
msgstr ""
-#: ../../mod/settings.php:557 ../../mod/settings.php:583
+#: ../../mod/settings.php:558 ../../mod/settings.php:584
#: ../../addon/statusnet/statusnet.php:555
msgid "Consumer Key"
msgstr ""
-#: ../../mod/settings.php:558 ../../mod/settings.php:584
+#: ../../mod/settings.php:559 ../../mod/settings.php:585
#: ../../addon/statusnet/statusnet.php:554
msgid "Consumer Secret"
msgstr ""
-#: ../../mod/settings.php:559 ../../mod/settings.php:585
+#: ../../mod/settings.php:560 ../../mod/settings.php:586
msgid "Redirect"
msgstr ""
-#: ../../mod/settings.php:560 ../../mod/settings.php:586
+#: ../../mod/settings.php:561 ../../mod/settings.php:587
msgid "Icon url"
msgstr ""
-#: ../../mod/settings.php:571
+#: ../../mod/settings.php:572
msgid "You can't edit this application."
msgstr ""
-#: ../../mod/settings.php:614
+#: ../../mod/settings.php:615
msgid "Connected Apps"
msgstr ""
-#: ../../mod/settings.php:618
+#: ../../mod/settings.php:619
msgid "Client key starts with"
msgstr ""
-#: ../../mod/settings.php:619
+#: ../../mod/settings.php:620
msgid "No name"
msgstr ""
-#: ../../mod/settings.php:620
+#: ../../mod/settings.php:621
msgid "Remove authorization"
msgstr ""
-#: ../../mod/settings.php:631
+#: ../../mod/settings.php:632
msgid "No Plugin settings configured"
msgstr ""
-#: ../../mod/settings.php:639 ../../addon/widgets/widgets.php:123
+#: ../../mod/settings.php:640 ../../addon/widgets/widgets.php:123
msgid "Plugin Settings"
msgstr ""
-#: ../../mod/settings.php:651 ../../mod/settings.php:652
+#: ../../mod/settings.php:652 ../../mod/settings.php:653
#, php-format
msgid "Built-in support for %s connectivity is %s"
msgstr ""
-#: ../../mod/settings.php:651 ../../mod/settings.php:652
+#: ../../mod/settings.php:652 ../../mod/settings.php:653
msgid "enabled"
msgstr ""
-#: ../../mod/settings.php:651 ../../mod/settings.php:652
+#: ../../mod/settings.php:652 ../../mod/settings.php:653
msgid "disabled"
msgstr ""
-#: ../../mod/settings.php:652
+#: ../../mod/settings.php:653
msgid "StatusNet"
msgstr ""
-#: ../../mod/settings.php:682
+#: ../../mod/settings.php:683
msgid "Connector Settings"
msgstr ""
-#: ../../mod/settings.php:687
+#: ../../mod/settings.php:688
msgid "Email/Mailbox Setup"
msgstr ""
-#: ../../mod/settings.php:688
+#: ../../mod/settings.php:689
msgid ""
"If you wish to communicate with email contacts using this service "
"(optional), please specify how to connect to your mailbox."
msgstr ""
-#: ../../mod/settings.php:689
+#: ../../mod/settings.php:690
msgid "Last successful email check:"
msgstr ""
-#: ../../mod/settings.php:690
+#: ../../mod/settings.php:691
msgid "Email access is disabled on this site."
msgstr ""
-#: ../../mod/settings.php:691
+#: ../../mod/settings.php:692
msgid "IMAP server name:"
msgstr ""
-#: ../../mod/settings.php:692
+#: ../../mod/settings.php:693
msgid "IMAP port:"
msgstr ""
-#: ../../mod/settings.php:693
+#: ../../mod/settings.php:694
msgid "Security:"
msgstr ""
-#: ../../mod/settings.php:693 ../../mod/settings.php:698
+#: ../../mod/settings.php:694 ../../mod/settings.php:699
msgid "None"
msgstr ""
-#: ../../mod/settings.php:694
+#: ../../mod/settings.php:695
msgid "Email login name:"
msgstr ""
-#: ../../mod/settings.php:695
+#: ../../mod/settings.php:696
msgid "Email password:"
msgstr ""
-#: ../../mod/settings.php:696
+#: ../../mod/settings.php:697
msgid "Reply-to address:"
msgstr ""
-#: ../../mod/settings.php:697
+#: ../../mod/settings.php:698
msgid "Send public posts to all email contacts:"
msgstr ""
-#: ../../mod/settings.php:698
+#: ../../mod/settings.php:699
msgid "Action after import:"
msgstr ""
-#: ../../mod/settings.php:698
+#: ../../mod/settings.php:699
msgid "Mark as seen"
msgstr ""
-#: ../../mod/settings.php:698
+#: ../../mod/settings.php:699
msgid "Move to folder"
msgstr ""
-#: ../../mod/settings.php:699
+#: ../../mod/settings.php:700
msgid "Move to folder:"
msgstr ""
-#: ../../mod/settings.php:759
+#: ../../mod/settings.php:760
msgid "Display Settings"
msgstr ""
-#: ../../mod/settings.php:765
+#: ../../mod/settings.php:766
msgid "Display Theme:"
msgstr ""
-#: ../../mod/settings.php:766
+#: ../../mod/settings.php:767
msgid "Update browser every xx seconds"
msgstr ""
-#: ../../mod/settings.php:766
+#: ../../mod/settings.php:767
msgid "Minimum of 10 seconds, no maximum"
msgstr ""
-#: ../../mod/settings.php:767
+#: ../../mod/settings.php:768
msgid "Number of items to display on the network page:"
msgstr ""
-#: ../../mod/settings.php:767
+#: ../../mod/settings.php:768
msgid "Maximum of 100 items"
msgstr ""
-#: ../../mod/settings.php:768
+#: ../../mod/settings.php:769
msgid "Don't show emoticons"
msgstr ""
-#: ../../mod/settings.php:836 ../../mod/admin.php:180 ../../mod/admin.php:634
-msgid "Normal Account"
+#: ../../mod/settings.php:840
+msgid "Normal Account Page"
msgstr ""
-#: ../../mod/settings.php:837
+#: ../../mod/settings.php:841
msgid "This account is a normal personal profile"
msgstr ""
-#: ../../mod/settings.php:840 ../../mod/admin.php:181 ../../mod/admin.php:635
-msgid "Soapbox Account"
+#: ../../mod/settings.php:844
+msgid "Soapbox Page"
msgstr ""
-#: ../../mod/settings.php:841
+#: ../../mod/settings.php:845
msgid "Automatically approve all connection/friend requests as read-only fans"
msgstr ""
-#: ../../mod/settings.php:844 ../../mod/admin.php:182 ../../mod/admin.php:636
-msgid "Community/Celebrity Account"
+#: ../../mod/settings.php:848
+msgid "Community Forum/Celebrity Account"
msgstr ""
-#: ../../mod/settings.php:845
+#: ../../mod/settings.php:849
msgid "Automatically approve all connection/friend requests as read-write fans"
msgstr ""
-#: ../../mod/settings.php:848 ../../mod/admin.php:183 ../../mod/admin.php:637
-msgid "Automatic Friend Account"
+#: ../../mod/settings.php:852
+msgid "Automatic Friend Page"
msgstr ""
-#: ../../mod/settings.php:849
+#: ../../mod/settings.php:853
msgid "Automatically approve all connection/friend requests as friends"
msgstr ""
-#: ../../mod/settings.php:852
-msgid "Private Forum"
+#: ../../mod/settings.php:856
+msgid "Private Forum [Experimental]"
msgstr ""
-#: ../../mod/settings.php:853
-msgid "Private forum - approved members only [Experimental]"
+#: ../../mod/settings.php:857
+msgid "Private forum - approved members only"
msgstr ""
-#: ../../mod/settings.php:866
+#: ../../mod/settings.php:869
msgid "OpenID:"
msgstr ""
-#: ../../mod/settings.php:866
+#: ../../mod/settings.php:869
msgid "(Optional) Allow this OpenID to login to this account."
msgstr ""
-#: ../../mod/settings.php:876
+#: ../../mod/settings.php:879
msgid "Publish your default profile in your local site directory?"
msgstr ""
-#: ../../mod/settings.php:882
+#: ../../mod/settings.php:885
msgid "Publish your default profile in the global social directory?"
msgstr ""
-#: ../../mod/settings.php:890
+#: ../../mod/settings.php:893
msgid "Hide your contact/friend list from viewers of your default profile?"
msgstr ""
-#: ../../mod/settings.php:894
+#: ../../mod/settings.php:897
msgid "Hide your profile details from unknown viewers?"
msgstr ""
-#: ../../mod/settings.php:899
+#: ../../mod/settings.php:902
msgid "Allow friends to post to your profile page?"
msgstr ""
-#: ../../mod/settings.php:905
+#: ../../mod/settings.php:908
msgid "Allow friends to tag your posts?"
msgstr ""
-#: ../../mod/settings.php:911
+#: ../../mod/settings.php:914
msgid "Allow us to suggest you as a potential friend to new members?"
msgstr ""
-#: ../../mod/settings.php:917
+#: ../../mod/settings.php:920
msgid "Permit unknown people to send you private mail?"
msgstr ""
-#: ../../mod/settings.php:928
+#: ../../mod/settings.php:931
msgid "Profile is <strong>not published</strong>."
msgstr ""
-#: ../../mod/settings.php:934 ../../mod/profile_photo.php:211
+#: ../../mod/settings.php:937 ../../mod/profile_photo.php:211
msgid "or"
msgstr ""
-#: ../../mod/settings.php:939
+#: ../../mod/settings.php:942
msgid "Your Identity Address is"
msgstr ""
-#: ../../mod/settings.php:950
+#: ../../mod/settings.php:953
msgid "Automatically expire posts after this many days:"
msgstr ""
-#: ../../mod/settings.php:950
+#: ../../mod/settings.php:953
msgid "If empty, posts will not expire. Expired posts will be deleted"
msgstr ""
-#: ../../mod/settings.php:951
+#: ../../mod/settings.php:954
msgid "Advanced expiration settings"
msgstr ""
-#: ../../mod/settings.php:952
+#: ../../mod/settings.php:955
msgid "Advanced Expiration"
msgstr ""
-#: ../../mod/settings.php:953
+#: ../../mod/settings.php:956
msgid "Expire posts:"
msgstr ""
-#: ../../mod/settings.php:954
+#: ../../mod/settings.php:957
msgid "Expire personal notes:"
msgstr ""
-#: ../../mod/settings.php:955
+#: ../../mod/settings.php:958
msgid "Expire starred posts:"
msgstr ""
-#: ../../mod/settings.php:956
+#: ../../mod/settings.php:959
msgid "Expire photos:"
msgstr ""
-#: ../../mod/settings.php:963
+#: ../../mod/settings.php:960
+msgid "Only expire posts by others:"
+msgstr ""
+
+#: ../../mod/settings.php:967
msgid "Account Settings"
msgstr ""
-#: ../../mod/settings.php:971
+#: ../../mod/settings.php:975
msgid "Password Settings"
msgstr ""
-#: ../../mod/settings.php:972
+#: ../../mod/settings.php:976
msgid "New Password:"
msgstr ""
-#: ../../mod/settings.php:973
+#: ../../mod/settings.php:977
msgid "Confirm:"
msgstr ""
-#: ../../mod/settings.php:973
+#: ../../mod/settings.php:977
msgid "Leave password fields blank unless changing"
msgstr ""
-#: ../../mod/settings.php:977
+#: ../../mod/settings.php:981
msgid "Basic Settings"
msgstr ""
-#: ../../mod/settings.php:978 ../../include/profile_advanced.php:15
+#: ../../mod/settings.php:982 ../../include/profile_advanced.php:15
msgid "Full Name:"
msgstr ""
-#: ../../mod/settings.php:979
+#: ../../mod/settings.php:983
msgid "Email Address:"
msgstr ""
-#: ../../mod/settings.php:980
+#: ../../mod/settings.php:984
msgid "Your Timezone:"
msgstr ""
-#: ../../mod/settings.php:981
+#: ../../mod/settings.php:985
msgid "Default Post Location:"
msgstr ""
-#: ../../mod/settings.php:982
+#: ../../mod/settings.php:986
msgid "Use Browser Location:"
msgstr ""
-#: ../../mod/settings.php:985
+#: ../../mod/settings.php:989
msgid "Security and Privacy Settings"
msgstr ""
-#: ../../mod/settings.php:987
+#: ../../mod/settings.php:991
msgid "Maximum Friend Requests/Day:"
msgstr ""
-#: ../../mod/settings.php:987 ../../mod/settings.php:1006
+#: ../../mod/settings.php:991 ../../mod/settings.php:1010
msgid "(to prevent spam abuse)"
msgstr ""
-#: ../../mod/settings.php:988
+#: ../../mod/settings.php:992
msgid "Default Post Permissions"
msgstr ""
-#: ../../mod/settings.php:989
+#: ../../mod/settings.php:993
msgid "(click to open/close)"
msgstr ""
-#: ../../mod/settings.php:1006
+#: ../../mod/settings.php:1010
msgid "Maximum private messages per day from unknown people:"
msgstr ""
-#: ../../mod/settings.php:1009
+#: ../../mod/settings.php:1013
msgid "Notification Settings"
msgstr ""
-#: ../../mod/settings.php:1010
+#: ../../mod/settings.php:1014
msgid "By default post a status message when:"
msgstr ""
-#: ../../mod/settings.php:1011
+#: ../../mod/settings.php:1015
msgid "accepting a friend request"
msgstr ""
-#: ../../mod/settings.php:1012
+#: ../../mod/settings.php:1016
msgid "joining a forum/community"
msgstr ""
-#: ../../mod/settings.php:1013
+#: ../../mod/settings.php:1017
msgid "making an <em>interesting</em> profile change"
msgstr ""
-#: ../../mod/settings.php:1014
+#: ../../mod/settings.php:1018
msgid "Send a notification email when:"
msgstr ""
-#: ../../mod/settings.php:1015
+#: ../../mod/settings.php:1019
msgid "You receive an introduction"
msgstr ""
-#: ../../mod/settings.php:1016
+#: ../../mod/settings.php:1020
msgid "Your introductions are confirmed"
msgstr ""
-#: ../../mod/settings.php:1017
+#: ../../mod/settings.php:1021
msgid "Someone writes on your profile wall"
msgstr ""
-#: ../../mod/settings.php:1018
+#: ../../mod/settings.php:1022
msgid "Someone writes a followup comment"
msgstr ""
-#: ../../mod/settings.php:1019
+#: ../../mod/settings.php:1023
msgid "You receive a private message"
msgstr ""
-#: ../../mod/settings.php:1020
+#: ../../mod/settings.php:1024
msgid "You receive a friend suggestion"
msgstr ""
-#: ../../mod/settings.php:1021
+#: ../../mod/settings.php:1025
msgid "You are tagged in a post"
msgstr ""
-#: ../../mod/settings.php:1024
-msgid "Advanced Page Settings"
+#: ../../mod/settings.php:1028
+msgid "Advanced Account/Page Type Settings"
+msgstr ""
+
+#: ../../mod/settings.php:1029
+msgid "Change the behaviour of this account for special situations"
msgstr ""
#: ../../mod/manage.php:90
@@ -2425,7 +2439,7 @@ msgid "No recipient."
msgstr ""
#: ../../mod/wallmessage.php:124 ../../mod/message.php:171
-#: ../../include/conversation.php:922
+#: ../../include/conversation.php:943
msgid "Please enter a link URL:"
msgstr ""
@@ -2633,8 +2647,8 @@ msgstr ""
msgid "Profile Visibility Editor"
msgstr ""
-#: ../../mod/profperm.php:103 ../../view/theme/diabook/theme.php:123
-#: ../../include/profile_advanced.php:7 ../../include/profile_advanced.php:74
+#: ../../mod/profperm.php:103 ../../view/theme/diabook/theme.php:128
+#: ../../include/profile_advanced.php:7 ../../include/profile_advanced.php:79
#: ../../include/nav.php:50 ../../boot.php:1505
msgid "Profile"
msgstr ""
@@ -2655,159 +2669,91 @@ msgstr ""
msgid "View Contacts"
msgstr ""
-#: ../../mod/register.php:64
-msgid "An invitation is required."
-msgstr ""
-
-#: ../../mod/register.php:69
-msgid "Invitation could not be verified."
-msgstr ""
-
-#: ../../mod/register.php:77
-msgid "Invalid OpenID url"
-msgstr ""
-
-#: ../../mod/register.php:92
-msgid "Please enter the required information."
-msgstr ""
-
-#: ../../mod/register.php:106
-msgid "Please use a shorter name."
-msgstr ""
-
-#: ../../mod/register.php:108
-msgid "Name too short."
-msgstr ""
-
-#: ../../mod/register.php:123
-msgid "That doesn't appear to be your full (First Last) name."
-msgstr ""
-
-#: ../../mod/register.php:128
-msgid "Your email domain is not among those allowed on this site."
-msgstr ""
-
-#: ../../mod/register.php:131
-msgid "Not a valid email address."
-msgstr ""
-
-#: ../../mod/register.php:141
-msgid "Cannot use that email."
-msgstr ""
-
-#: ../../mod/register.php:147
-msgid ""
-"Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and "
-"must also begin with a letter."
-msgstr ""
-
-#: ../../mod/register.php:153 ../../mod/register.php:243
-msgid "Nickname is already registered. Please choose another."
-msgstr ""
-
-#: ../../mod/register.php:163
-msgid ""
-"Nickname was once registered here and may not be re-used. Please choose "
-"another."
-msgstr ""
-
-#: ../../mod/register.php:179
-msgid "SERIOUS ERROR: Generation of security keys failed."
-msgstr ""
-
-#: ../../mod/register.php:229
-msgid "An error occurred during registration. Please try again."
-msgstr ""
-
-#: ../../mod/register.php:265
-msgid "An error occurred creating your default profile. Please try again."
-msgstr ""
-
-#: ../../mod/register.php:365 ../../mod/regmod.php:52
+#: ../../mod/register.php:88 ../../mod/regmod.php:52
#, php-format
msgid "Registration details for %s"
msgstr ""
-#: ../../mod/register.php:373
+#: ../../mod/register.php:96
msgid ""
"Registration successful. Please check your email for further instructions."
msgstr ""
-#: ../../mod/register.php:377
+#: ../../mod/register.php:100
msgid "Failed to send email message. Here is the message that failed."
msgstr ""
-#: ../../mod/register.php:382
+#: ../../mod/register.php:105
msgid "Your registration can not be processed."
msgstr ""
-#: ../../mod/register.php:419
+#: ../../mod/register.php:142
#, php-format
msgid "Registration request at %s"
msgstr ""
-#: ../../mod/register.php:428
+#: ../../mod/register.php:151
msgid "Your registration is pending approval by the site owner."
msgstr ""
-#: ../../mod/register.php:466
+#: ../../mod/register.php:189
msgid ""
"This site has exceeded the number of allowed daily account registrations. "
"Please try again tomorrow."
msgstr ""
-#: ../../mod/register.php:492
+#: ../../mod/register.php:215
msgid ""
"You may (optionally) fill in this form via OpenID by supplying your OpenID "
"and clicking 'Register'."
msgstr ""
-#: ../../mod/register.php:493
+#: ../../mod/register.php:216
msgid ""
"If you are not familiar with OpenID, please leave that field blank and fill "
"in the rest of the items."
msgstr ""
-#: ../../mod/register.php:494
+#: ../../mod/register.php:217
msgid "Your OpenID (optional): "
msgstr ""
-#: ../../mod/register.php:508
+#: ../../mod/register.php:231
msgid "Include your profile in member directory?"
msgstr ""
-#: ../../mod/register.php:528
+#: ../../mod/register.php:251
msgid "Membership on this site is by invitation only."
msgstr ""
-#: ../../mod/register.php:529
+#: ../../mod/register.php:252
msgid "Your invitation ID: "
msgstr ""
-#: ../../mod/register.php:532 ../../mod/admin.php:418
+#: ../../mod/register.php:255 ../../mod/admin.php:418
msgid "Registration"
msgstr ""
-#: ../../mod/register.php:540
+#: ../../mod/register.php:263
msgid "Your Full Name (e.g. Joe Smith): "
msgstr ""
-#: ../../mod/register.php:541
+#: ../../mod/register.php:264
msgid "Your Email Address: "
msgstr ""
-#: ../../mod/register.php:542
+#: ../../mod/register.php:265
msgid ""
"Choose a profile nickname. This must begin with a text character. Your "
"profile address on this site will then be '<strong>nickname@$sitename</"
"strong>'."
msgstr ""
-#: ../../mod/register.php:543
+#: ../../mod/register.php:266
msgid "Choose a nickname: "
msgstr ""
-#: ../../mod/register.php:546 ../../include/nav.php:81 ../../boot.php:792
+#: ../../mod/register.php:269 ../../include/nav.php:81 ../../boot.php:792
msgid "Register"
msgstr ""
@@ -2819,8 +2765,8 @@ msgstr ""
#: ../../addon/facebook/facebook.php:1572
#: ../../addon/communityhome/communityhome.php:158
#: ../../addon/communityhome/communityhome.php:167
-#: ../../view/theme/diabook/theme.php:560
-#: ../../view/theme/diabook/theme.php:569 ../../include/diaspora.php:1662
+#: ../../view/theme/diabook/theme.php:565
+#: ../../view/theme/diabook/theme.php:574 ../../include/diaspora.php:1662
#: ../../include/conversation.php:48 ../../include/conversation.php:57
#: ../../include/conversation.php:121 ../../include/conversation.php:130
msgid "status"
@@ -2828,7 +2774,7 @@ msgstr ""
#: ../../mod/like.php:144 ../../addon/facebook/facebook.php:1576
#: ../../addon/communityhome/communityhome.php:172
-#: ../../view/theme/diabook/theme.php:574 ../../include/diaspora.php:1678
+#: ../../view/theme/diabook/theme.php:579 ../../include/diaspora.php:1678
#: ../../include/conversation.php:65
#, php-format
msgid "%1$s likes %2$s's %3$s"
@@ -2841,7 +2787,7 @@ msgstr ""
#: ../../mod/notice.php:15 ../../mod/viewsrc.php:15 ../../mod/admin.php:156
#: ../../mod/admin.php:697 ../../mod/admin.php:896 ../../mod/display.php:37
-#: ../../mod/display.php:142 ../../include/items.php:3168
+#: ../../mod/display.php:142 ../../include/items.php:3179
msgid "Item not found."
msgstr ""
@@ -2849,7 +2795,7 @@ msgstr ""
msgid "Access denied."
msgstr ""
-#: ../../mod/fbrowser.php:23 ../../view/theme/diabook/theme.php:125
+#: ../../mod/fbrowser.php:23 ../../view/theme/diabook/theme.php:130
#: ../../include/nav.php:51 ../../boot.php:1511
msgid "Photos"
msgstr ""
@@ -2885,28 +2831,28 @@ msgstr ""
msgid "Wall Photos"
msgstr ""
-#: ../../mod/item.php:788
+#: ../../mod/item.php:800
msgid "System error. Post not saved."
msgstr ""
-#: ../../mod/item.php:813
+#: ../../mod/item.php:825
#, php-format
msgid ""
"This message was sent to you by %s, a member of the Friendica social network."
msgstr ""
-#: ../../mod/item.php:815
+#: ../../mod/item.php:827
#, php-format
msgid "You may visit them online at %s"
msgstr ""
-#: ../../mod/item.php:816
+#: ../../mod/item.php:828
msgid ""
"Please contact the sender by replying to this post if you do not wish to "
"receive these messages."
msgstr ""
-#: ../../mod/item.php:818
+#: ../../mod/item.php:830
#, php-format
msgid "%s posted an update."
msgstr ""
@@ -3091,10 +3037,6 @@ msgstr ""
msgid "DB updates"
msgstr ""
-#: ../../mod/admin.php:101
-msgid "Software Update"
-msgstr ""
-
#: ../../mod/admin.php:115 ../../mod/admin.php:1074
msgid "Logs"
msgstr ""
@@ -3103,6 +3045,22 @@ msgstr ""
msgid "User registrations waiting for confirmation"
msgstr ""
+#: ../../mod/admin.php:180 ../../mod/admin.php:634
+msgid "Normal Account"
+msgstr ""
+
+#: ../../mod/admin.php:181 ../../mod/admin.php:635
+msgid "Soapbox Account"
+msgstr ""
+
+#: ../../mod/admin.php:182 ../../mod/admin.php:636
+msgid "Community/Celebrity Account"
+msgstr ""
+
+#: ../../mod/admin.php:183 ../../mod/admin.php:637
+msgid "Automatic Friend Account"
+msgstr ""
+
#: ../../mod/admin.php:202
msgid "Message queues"
msgstr ""
@@ -3708,59 +3666,8 @@ msgstr ""
msgid "Login failed."
msgstr ""
-#: ../../mod/follow.php:30
-msgid "Connect URL missing."
-msgstr ""
-
-#: ../../mod/follow.php:56
-msgid ""
-"This site is not configured to allow communications with other networks."
-msgstr ""
-
-#: ../../mod/follow.php:57 ../../mod/follow.php:72
-msgid "No compatible communication protocols or feeds were discovered."
-msgstr ""
-
-#: ../../mod/follow.php:70
-msgid "The profile address specified does not provide adequate information."
-msgstr ""
-
-#: ../../mod/follow.php:74
-msgid "An author or name was not found."
-msgstr ""
-
-#: ../../mod/follow.php:76
-msgid "No browser URL could be matched to this address."
-msgstr ""
-
-#: ../../mod/follow.php:78
-msgid ""
-"Unable to match @-style Identity Address with a known protocol or email "
-"contact."
-msgstr ""
-
-#: ../../mod/follow.php:79
-msgid "Use mailto: in front of address to force email check."
-msgstr ""
-
-#: ../../mod/follow.php:85
-msgid ""
-"The profile address specified belongs to a network which has been disabled "
-"on this site."
-msgstr ""
-
-#: ../../mod/follow.php:90
-msgid ""
-"Limited profile. This person will be unable to receive direct/personal "
-"notifications from you."
-msgstr ""
-
-#: ../../mod/follow.php:161
-msgid "Unable to retrieve contact information."
-msgstr ""
-
-#: ../../mod/follow.php:216
-msgid "following"
+#: ../../mod/follow.php:27
+msgid "Contact added"
msgstr ""
#: ../../mod/common.php:42
@@ -3788,8 +3695,8 @@ msgstr ""
msgid "Search"
msgstr ""
-#: ../../mod/profiles.php:21 ../../mod/profiles.php:384
-#: ../../mod/profiles.php:498 ../../mod/dfrn_confirm.php:62
+#: ../../mod/profiles.php:21 ../../mod/profiles.php:395
+#: ../../mod/profiles.php:509 ../../mod/dfrn_confirm.php:62
msgid "Profile not found."
msgstr ""
@@ -3797,281 +3704,289 @@ msgstr ""
msgid "Profile Name is required."
msgstr ""
-#: ../../mod/profiles.php:145
+#: ../../mod/profiles.php:152
msgid "Marital Status"
msgstr ""
-#: ../../mod/profiles.php:149
+#: ../../mod/profiles.php:156
msgid "Romantic Partner"
msgstr ""
-#: ../../mod/profiles.php:153
+#: ../../mod/profiles.php:160
msgid "Work/Employment"
msgstr ""
-#: ../../mod/profiles.php:156
+#: ../../mod/profiles.php:163
msgid "Religion"
msgstr ""
-#: ../../mod/profiles.php:160
+#: ../../mod/profiles.php:167
msgid "Political Views"
msgstr ""
-#: ../../mod/profiles.php:164
+#: ../../mod/profiles.php:171
msgid "Gender"
msgstr ""
-#: ../../mod/profiles.php:168
+#: ../../mod/profiles.php:175
msgid "Sexual Preference"
msgstr ""
-#: ../../mod/profiles.php:172
+#: ../../mod/profiles.php:179
msgid "Homepage"
msgstr ""
-#: ../../mod/profiles.php:176
+#: ../../mod/profiles.php:183
msgid "Interests"
msgstr ""
-#: ../../mod/profiles.php:180
+#: ../../mod/profiles.php:187
msgid "Address"
msgstr ""
-#: ../../mod/profiles.php:187
+#: ../../mod/profiles.php:194
msgid "Location"
msgstr ""
-#: ../../mod/profiles.php:262
+#: ../../mod/profiles.php:273
msgid "Profile updated."
msgstr ""
-#: ../../mod/profiles.php:329
+#: ../../mod/profiles.php:340
msgid " and "
msgstr ""
-#: ../../mod/profiles.php:337
+#: ../../mod/profiles.php:348
msgid "public profile"
msgstr ""
-#: ../../mod/profiles.php:340
+#: ../../mod/profiles.php:351
#, php-format
msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
msgstr ""
-#: ../../mod/profiles.php:341
+#: ../../mod/profiles.php:352
#, php-format
msgid " - Visit %1$s's %2$s"
msgstr ""
-#: ../../mod/profiles.php:344
+#: ../../mod/profiles.php:355
#, php-format
msgid "%1$s has an updated %2$s, changing %3$s."
msgstr ""
-#: ../../mod/profiles.php:403
+#: ../../mod/profiles.php:414
msgid "Profile deleted."
msgstr ""
-#: ../../mod/profiles.php:421 ../../mod/profiles.php:455
+#: ../../mod/profiles.php:432 ../../mod/profiles.php:466
msgid "Profile-"
msgstr ""
-#: ../../mod/profiles.php:440 ../../mod/profiles.php:482
+#: ../../mod/profiles.php:451 ../../mod/profiles.php:493
msgid "New profile created."
msgstr ""
-#: ../../mod/profiles.php:461
+#: ../../mod/profiles.php:472
msgid "Profile unavailable to clone."
msgstr ""
-#: ../../mod/profiles.php:519
+#: ../../mod/profiles.php:530
msgid "Hide your contact/friend list from viewers of this profile?"
msgstr ""
-#: ../../mod/profiles.php:542
+#: ../../mod/profiles.php:553
msgid "Edit Profile Details"
msgstr ""
-#: ../../mod/profiles.php:544
+#: ../../mod/profiles.php:555
msgid "View this profile"
msgstr ""
-#: ../../mod/profiles.php:545
+#: ../../mod/profiles.php:556
msgid "Create a new profile using these settings"
msgstr ""
-#: ../../mod/profiles.php:546
+#: ../../mod/profiles.php:557
msgid "Clone this profile"
msgstr ""
-#: ../../mod/profiles.php:547
+#: ../../mod/profiles.php:558
msgid "Delete this profile"
msgstr ""
-#: ../../mod/profiles.php:548
+#: ../../mod/profiles.php:559
msgid "Profile Name:"
msgstr ""
-#: ../../mod/profiles.php:549
+#: ../../mod/profiles.php:560
msgid "Your Full Name:"
msgstr ""
-#: ../../mod/profiles.php:550
+#: ../../mod/profiles.php:561
msgid "Title/Description:"
msgstr ""
-#: ../../mod/profiles.php:551
+#: ../../mod/profiles.php:562
msgid "Your Gender:"
msgstr ""
-#: ../../mod/profiles.php:552
+#: ../../mod/profiles.php:563
#, php-format
msgid "Birthday (%s):"
msgstr ""
-#: ../../mod/profiles.php:553
+#: ../../mod/profiles.php:564
msgid "Street Address:"
msgstr ""
-#: ../../mod/profiles.php:554
+#: ../../mod/profiles.php:565
msgid "Locality/City:"
msgstr ""
-#: ../../mod/profiles.php:555
+#: ../../mod/profiles.php:566
msgid "Postal/Zip Code:"
msgstr ""
-#: ../../mod/profiles.php:556
+#: ../../mod/profiles.php:567
msgid "Country:"
msgstr ""
-#: ../../mod/profiles.php:557
+#: ../../mod/profiles.php:568
msgid "Region/State:"
msgstr ""
-#: ../../mod/profiles.php:558
+#: ../../mod/profiles.php:569
msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
msgstr ""
-#: ../../mod/profiles.php:559
+#: ../../mod/profiles.php:570
msgid "Who: (if applicable)"
msgstr ""
-#: ../../mod/profiles.php:560
+#: ../../mod/profiles.php:571
msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
msgstr ""
-#: ../../mod/profiles.php:561 ../../include/profile_advanced.php:43
+#: ../../mod/profiles.php:572
+msgid "Since [date]:"
+msgstr ""
+
+#: ../../mod/profiles.php:573 ../../include/profile_advanced.php:46
msgid "Sexual Preference:"
msgstr ""
-#: ../../mod/profiles.php:562
+#: ../../mod/profiles.php:574
msgid "Homepage URL:"
msgstr ""
-#: ../../mod/profiles.php:563 ../../include/profile_advanced.php:49
+#: ../../mod/profiles.php:575 ../../include/profile_advanced.php:50
+msgid "Hometown:"
+msgstr ""
+
+#: ../../mod/profiles.php:576 ../../include/profile_advanced.php:54
msgid "Political Views:"
msgstr ""
-#: ../../mod/profiles.php:564
+#: ../../mod/profiles.php:577
msgid "Religious Views:"
msgstr ""
-#: ../../mod/profiles.php:565
+#: ../../mod/profiles.php:578
msgid "Public Keywords:"
msgstr ""
-#: ../../mod/profiles.php:566
+#: ../../mod/profiles.php:579
msgid "Private Keywords:"
msgstr ""
-#: ../../mod/profiles.php:567
+#: ../../mod/profiles.php:580
msgid "Example: fishing photography software"
msgstr ""
-#: ../../mod/profiles.php:568
+#: ../../mod/profiles.php:581
msgid "(Used for suggesting potential friends, can be seen by others)"
msgstr ""
-#: ../../mod/profiles.php:569
+#: ../../mod/profiles.php:582
msgid "(Used for searching profiles, never shown to others)"
msgstr ""
-#: ../../mod/profiles.php:570
+#: ../../mod/profiles.php:583
msgid "Tell us about yourself..."
msgstr ""
-#: ../../mod/profiles.php:571
+#: ../../mod/profiles.php:584
msgid "Hobbies/Interests"
msgstr ""
-#: ../../mod/profiles.php:572
+#: ../../mod/profiles.php:585
msgid "Contact information and Social Networks"
msgstr ""
-#: ../../mod/profiles.php:573
+#: ../../mod/profiles.php:586
msgid "Musical interests"
msgstr ""
-#: ../../mod/profiles.php:574
+#: ../../mod/profiles.php:587
msgid "Books, literature"
msgstr ""
-#: ../../mod/profiles.php:575
+#: ../../mod/profiles.php:588
msgid "Television"
msgstr ""
-#: ../../mod/profiles.php:576
+#: ../../mod/profiles.php:589
msgid "Film/dance/culture/entertainment"
msgstr ""
-#: ../../mod/profiles.php:577
+#: ../../mod/profiles.php:590
msgid "Love/romance"
msgstr ""
-#: ../../mod/profiles.php:578
+#: ../../mod/profiles.php:591
msgid "Work/employment"
msgstr ""
-#: ../../mod/profiles.php:579
+#: ../../mod/profiles.php:592
msgid "School/education"
msgstr ""
-#: ../../mod/profiles.php:584
+#: ../../mod/profiles.php:597
msgid ""
"This is your <strong>public</strong> profile.<br />It <strong>may</strong> "
"be visible to anybody using the internet."
msgstr ""
-#: ../../mod/profiles.php:594 ../../mod/directory.php:111
+#: ../../mod/profiles.php:607 ../../mod/directory.php:111
msgid "Age: "
msgstr ""
-#: ../../mod/profiles.php:629
+#: ../../mod/profiles.php:644
msgid "Edit/Manage Profiles"
msgstr ""
-#: ../../mod/profiles.php:630 ../../boot.php:1066
+#: ../../mod/profiles.php:645 ../../boot.php:1066
msgid "Change profile photo"
msgstr ""
-#: ../../mod/profiles.php:631 ../../boot.php:1067
+#: ../../mod/profiles.php:646 ../../boot.php:1067
msgid "Create New Profile"
msgstr ""
-#: ../../mod/profiles.php:642 ../../boot.php:1077
+#: ../../mod/profiles.php:657 ../../boot.php:1077
msgid "Profile Image"
msgstr ""
-#: ../../mod/profiles.php:644 ../../boot.php:1080
+#: ../../mod/profiles.php:659 ../../boot.php:1080
msgid "visible to everybody"
msgstr ""
-#: ../../mod/profiles.php:645 ../../boot.php:1081
+#: ../../mod/profiles.php:660 ../../boot.php:1081
msgid "Edit visibility"
msgstr ""
-#: ../../mod/filer.php:29 ../../include/conversation.php:926
+#: ../../mod/filer.php:29 ../../include/conversation.php:947
msgid "Save to Folder:"
msgstr ""
@@ -4119,7 +4034,7 @@ msgstr ""
msgid "No entries."
msgstr ""
-#: ../../mod/suggest.php:38 ../../view/theme/diabook/theme.php:621
+#: ../../mod/suggest.php:38 ../../view/theme/diabook/theme.php:626
#: ../../include/contact_widgets.php:34
msgid "Friend Suggestions"
msgstr ""
@@ -4134,7 +4049,7 @@ msgstr ""
msgid "Ignore/Hide"
msgstr ""
-#: ../../mod/directory.php:47 ../../view/theme/diabook/theme.php:619
+#: ../../mod/directory.php:47 ../../view/theme/diabook/theme.php:624
msgid "Global Directory"
msgstr ""
@@ -4244,83 +4159,83 @@ msgid ""
"has already been approved."
msgstr ""
-#: ../../mod/dfrn_confirm.php:235
+#: ../../mod/dfrn_confirm.php:237
msgid "Response from remote site was not understood."
msgstr ""
-#: ../../mod/dfrn_confirm.php:244
+#: ../../mod/dfrn_confirm.php:246
msgid "Unexpected response from remote site: "
msgstr ""
-#: ../../mod/dfrn_confirm.php:252
+#: ../../mod/dfrn_confirm.php:254
msgid "Confirmation completed successfully."
msgstr ""
-#: ../../mod/dfrn_confirm.php:254 ../../mod/dfrn_confirm.php:268
-#: ../../mod/dfrn_confirm.php:275
+#: ../../mod/dfrn_confirm.php:256 ../../mod/dfrn_confirm.php:270
+#: ../../mod/dfrn_confirm.php:277
msgid "Remote site reported: "
msgstr ""
-#: ../../mod/dfrn_confirm.php:266
+#: ../../mod/dfrn_confirm.php:268
msgid "Temporary failure. Please wait and try again."
msgstr ""
-#: ../../mod/dfrn_confirm.php:273
+#: ../../mod/dfrn_confirm.php:275
msgid "Introduction failed or was revoked."
msgstr ""
-#: ../../mod/dfrn_confirm.php:418
+#: ../../mod/dfrn_confirm.php:420
msgid "Unable to set contact photo."
msgstr ""
-#: ../../mod/dfrn_confirm.php:475 ../../include/diaspora.php:507
+#: ../../mod/dfrn_confirm.php:477 ../../include/diaspora.php:507
#: ../../include/conversation.php:101
#, php-format
msgid "%1$s is now friends with %2$s"
msgstr ""
-#: ../../mod/dfrn_confirm.php:557
+#: ../../mod/dfrn_confirm.php:562
#, php-format
msgid "No user record found for '%s' "
msgstr ""
-#: ../../mod/dfrn_confirm.php:567
+#: ../../mod/dfrn_confirm.php:572
msgid "Our site encryption key is apparently messed up."
msgstr ""
-#: ../../mod/dfrn_confirm.php:578
+#: ../../mod/dfrn_confirm.php:583
msgid "Empty site URL was provided or URL could not be decrypted by us."
msgstr ""
-#: ../../mod/dfrn_confirm.php:599
+#: ../../mod/dfrn_confirm.php:604
msgid "Contact record was not found for you on our site."
msgstr ""
-#: ../../mod/dfrn_confirm.php:613
+#: ../../mod/dfrn_confirm.php:618
#, php-format
msgid "Site public key not available in contact record for URL %s."
msgstr ""
-#: ../../mod/dfrn_confirm.php:633
+#: ../../mod/dfrn_confirm.php:638
msgid ""
"The ID provided by your system is a duplicate on our system. It should work "
"if you try again."
msgstr ""
-#: ../../mod/dfrn_confirm.php:644
+#: ../../mod/dfrn_confirm.php:649
msgid "Unable to set your contact credentials on our system."
msgstr ""
-#: ../../mod/dfrn_confirm.php:709
+#: ../../mod/dfrn_confirm.php:716
msgid "Unable to update your contact profile details on our system"
msgstr ""
-#: ../../mod/dfrn_confirm.php:743
+#: ../../mod/dfrn_confirm.php:750
#, php-format
msgid "Connection accepted at %s"
msgstr ""
-#: ../../mod/dfrn_confirm.php:792
+#: ../../mod/dfrn_confirm.php:799
#, php-format
msgid "%1$s has joined %2$s"
msgstr ""
@@ -4674,7 +4589,7 @@ msgid "Forums"
msgstr ""
#: ../../addon/page/page.php:63 ../../addon/showmore/showmore.php:87
-#: ../../include/contact_widgets.php:188 ../../include/conversation.php:470
+#: ../../include/contact_widgets.php:188 ../../include/conversation.php:476
#: ../../boot.php:515
msgid "show more"
msgstr ""
@@ -4719,7 +4634,7 @@ msgid "Latest likes"
msgstr ""
#: ../../addon/communityhome/communityhome.php:155
-#: ../../view/theme/diabook/theme.php:557 ../../include/text.php:1309
+#: ../../view/theme/diabook/theme.php:562 ../../include/text.php:1314
#: ../../include/conversation.php:45 ../../include/conversation.php:118
msgid "event"
msgstr ""
@@ -5681,153 +5596,153 @@ msgstr ""
msgid "Color scheme"
msgstr ""
-#: ../../view/theme/diabook/theme.php:122 ../../include/nav.php:49
+#: ../../view/theme/diabook/theme.php:127 ../../include/nav.php:49
#: ../../include/nav.php:115
msgid "Your posts and conversations"
msgstr ""
-#: ../../view/theme/diabook/theme.php:123 ../../include/nav.php:50
+#: ../../view/theme/diabook/theme.php:128 ../../include/nav.php:50
msgid "Your profile page"
msgstr ""
-#: ../../view/theme/diabook/theme.php:124
+#: ../../view/theme/diabook/theme.php:129
msgid "Your contacts"
msgstr ""
-#: ../../view/theme/diabook/theme.php:125 ../../include/nav.php:51
+#: ../../view/theme/diabook/theme.php:130 ../../include/nav.php:51
msgid "Your photos"
msgstr ""
-#: ../../view/theme/diabook/theme.php:126 ../../include/nav.php:52
+#: ../../view/theme/diabook/theme.php:131 ../../include/nav.php:52
msgid "Your events"
msgstr ""
-#: ../../view/theme/diabook/theme.php:127 ../../include/nav.php:53
+#: ../../view/theme/diabook/theme.php:132 ../../include/nav.php:53
msgid "Personal notes"
msgstr ""
-#: ../../view/theme/diabook/theme.php:127 ../../include/nav.php:53
+#: ../../view/theme/diabook/theme.php:132 ../../include/nav.php:53
msgid "Your personal photos"
msgstr ""
-#: ../../view/theme/diabook/theme.php:129
-#: ../../view/theme/diabook/theme.php:638
-#: ../../view/theme/diabook/theme.php:742
+#: ../../view/theme/diabook/theme.php:134
+#: ../../view/theme/diabook/theme.php:643
+#: ../../view/theme/diabook/theme.php:747
#: ../../view/theme/diabook/config.php:201
msgid "Community Pages"
msgstr ""
-#: ../../view/theme/diabook/theme.php:485
-#: ../../view/theme/diabook/theme.php:744
+#: ../../view/theme/diabook/theme.php:490
+#: ../../view/theme/diabook/theme.php:749
#: ../../view/theme/diabook/config.php:203
msgid "Community Profiles"
msgstr ""
-#: ../../view/theme/diabook/theme.php:506
-#: ../../view/theme/diabook/theme.php:749
+#: ../../view/theme/diabook/theme.php:511
+#: ../../view/theme/diabook/theme.php:754
#: ../../view/theme/diabook/config.php:208
msgid "Last users"
msgstr ""
-#: ../../view/theme/diabook/theme.php:535
-#: ../../view/theme/diabook/theme.php:751
+#: ../../view/theme/diabook/theme.php:540
+#: ../../view/theme/diabook/theme.php:756
#: ../../view/theme/diabook/config.php:210
msgid "Last likes"
msgstr ""
-#: ../../view/theme/diabook/theme.php:580
-#: ../../view/theme/diabook/theme.php:750
+#: ../../view/theme/diabook/theme.php:585
+#: ../../view/theme/diabook/theme.php:755
#: ../../view/theme/diabook/config.php:209
msgid "Last photos"
msgstr ""
-#: ../../view/theme/diabook/theme.php:617
-#: ../../view/theme/diabook/theme.php:747
+#: ../../view/theme/diabook/theme.php:622
+#: ../../view/theme/diabook/theme.php:752
#: ../../view/theme/diabook/config.php:206
msgid "Find Friends"
msgstr ""
-#: ../../view/theme/diabook/theme.php:618
+#: ../../view/theme/diabook/theme.php:623
msgid "Local Directory"
msgstr ""
-#: ../../view/theme/diabook/theme.php:620 ../../include/contact_widgets.php:35
+#: ../../view/theme/diabook/theme.php:625 ../../include/contact_widgets.php:35
msgid "Similar Interests"
msgstr ""
-#: ../../view/theme/diabook/theme.php:622 ../../include/contact_widgets.php:37
+#: ../../view/theme/diabook/theme.php:627 ../../include/contact_widgets.php:37
msgid "Invite Friends"
msgstr ""
-#: ../../view/theme/diabook/theme.php:673
-#: ../../view/theme/diabook/theme.php:743
+#: ../../view/theme/diabook/theme.php:678
+#: ../../view/theme/diabook/theme.php:748
#: ../../view/theme/diabook/config.php:202
msgid "Earth Layers"
msgstr ""
-#: ../../view/theme/diabook/theme.php:678
+#: ../../view/theme/diabook/theme.php:683
msgid "Set zoomfactor for Earth Layers"
msgstr ""
-#: ../../view/theme/diabook/theme.php:679
+#: ../../view/theme/diabook/theme.php:684
#: ../../view/theme/diabook/config.php:199
msgid "Set longitude (X) for Earth Layers"
msgstr ""
-#: ../../view/theme/diabook/theme.php:680
+#: ../../view/theme/diabook/theme.php:685
#: ../../view/theme/diabook/config.php:200
msgid "Set latitude (Y) for Earth Layers"
msgstr ""
-#: ../../view/theme/diabook/theme.php:693
-#: ../../view/theme/diabook/theme.php:745
+#: ../../view/theme/diabook/theme.php:698
+#: ../../view/theme/diabook/theme.php:750
#: ../../view/theme/diabook/config.php:204
msgid "Help or @NewHere ?"
msgstr ""
-#: ../../view/theme/diabook/theme.php:700
-#: ../../view/theme/diabook/theme.php:746
+#: ../../view/theme/diabook/theme.php:705
+#: ../../view/theme/diabook/theme.php:751
#: ../../view/theme/diabook/config.php:205
msgid "Connect Services"
msgstr ""
-#: ../../view/theme/diabook/theme.php:707
-#: ../../view/theme/diabook/theme.php:748
+#: ../../view/theme/diabook/theme.php:712
+#: ../../view/theme/diabook/theme.php:753
msgid "Last Tweets"
msgstr ""
-#: ../../view/theme/diabook/theme.php:710
+#: ../../view/theme/diabook/theme.php:715
#: ../../view/theme/diabook/config.php:197
msgid "Set twitter search term"
msgstr ""
-#: ../../view/theme/diabook/theme.php:730
-#: ../../view/theme/diabook/theme.php:731
-#: ../../view/theme/diabook/theme.php:732
-#: ../../view/theme/diabook/theme.php:733
-#: ../../view/theme/diabook/theme.php:734
#: ../../view/theme/diabook/theme.php:735
#: ../../view/theme/diabook/theme.php:736
#: ../../view/theme/diabook/theme.php:737
#: ../../view/theme/diabook/theme.php:738
-#: ../../view/theme/diabook/theme.php:739 ../../include/acl_selectors.php:288
+#: ../../view/theme/diabook/theme.php:739
+#: ../../view/theme/diabook/theme.php:740
+#: ../../view/theme/diabook/theme.php:741
+#: ../../view/theme/diabook/theme.php:742
+#: ../../view/theme/diabook/theme.php:743
+#: ../../view/theme/diabook/theme.php:744 ../../include/acl_selectors.php:288
msgid "don't show"
msgstr ""
-#: ../../view/theme/diabook/theme.php:730
-#: ../../view/theme/diabook/theme.php:731
-#: ../../view/theme/diabook/theme.php:732
-#: ../../view/theme/diabook/theme.php:733
-#: ../../view/theme/diabook/theme.php:734
#: ../../view/theme/diabook/theme.php:735
#: ../../view/theme/diabook/theme.php:736
#: ../../view/theme/diabook/theme.php:737
#: ../../view/theme/diabook/theme.php:738
-#: ../../view/theme/diabook/theme.php:739 ../../include/acl_selectors.php:287
+#: ../../view/theme/diabook/theme.php:739
+#: ../../view/theme/diabook/theme.php:740
+#: ../../view/theme/diabook/theme.php:741
+#: ../../view/theme/diabook/theme.php:742
+#: ../../view/theme/diabook/theme.php:743
+#: ../../view/theme/diabook/theme.php:744 ../../include/acl_selectors.php:287
msgid "show"
msgstr ""
-#: ../../view/theme/diabook/theme.php:740
+#: ../../view/theme/diabook/theme.php:745
msgid "Show/hide boxes at right-hand column:"
msgstr ""
@@ -5880,8 +5795,8 @@ msgstr ""
msgid "j F"
msgstr ""
-#: ../../include/profile_advanced.php:30 ../../include/datetime.php:448
-#: ../../include/items.php:1419
+#: ../../include/profile_advanced.php:30 ../../include/datetime.php:450
+#: ../../include/items.php:1423
msgid "Birthday:"
msgstr ""
@@ -5893,55 +5808,60 @@ msgstr ""
msgid "Status:"
msgstr ""
-#: ../../include/profile_advanced.php:45 ../../boot.php:1107
+#: ../../include/profile_advanced.php:43
+#, php-format
+msgid "for %1$d %2$s"
+msgstr ""
+
+#: ../../include/profile_advanced.php:48 ../../boot.php:1107
msgid "Homepage:"
msgstr ""
-#: ../../include/profile_advanced.php:47
+#: ../../include/profile_advanced.php:52
msgid "Tags:"
msgstr ""
-#: ../../include/profile_advanced.php:51
+#: ../../include/profile_advanced.php:56
msgid "Religion:"
msgstr ""
-#: ../../include/profile_advanced.php:53
+#: ../../include/profile_advanced.php:58
msgid "About:"
msgstr ""
-#: ../../include/profile_advanced.php:55
+#: ../../include/profile_advanced.php:60
msgid "Hobbies/Interests:"
msgstr ""
-#: ../../include/profile_advanced.php:57
+#: ../../include/profile_advanced.php:62
msgid "Contact information and Social Networks:"
msgstr ""
-#: ../../include/profile_advanced.php:59
+#: ../../include/profile_advanced.php:64
msgid "Musical interests:"
msgstr ""
-#: ../../include/profile_advanced.php:61
+#: ../../include/profile_advanced.php:66
msgid "Books, literature:"
msgstr ""
-#: ../../include/profile_advanced.php:63
+#: ../../include/profile_advanced.php:68
msgid "Television:"
msgstr ""
-#: ../../include/profile_advanced.php:65
+#: ../../include/profile_advanced.php:70
msgid "Film/dance/culture/entertainment:"
msgstr ""
-#: ../../include/profile_advanced.php:67
+#: ../../include/profile_advanced.php:72
msgid "Love/Romance:"
msgstr ""
-#: ../../include/profile_advanced.php:69
+#: ../../include/profile_advanced.php:74
msgid "Work/employment:"
msgstr ""
-#: ../../include/profile_advanced.php:71
+#: ../../include/profile_advanced.php:76
msgid "School/education:"
msgstr ""
@@ -6161,7 +6081,7 @@ msgstr ""
msgid "Sex Addict"
msgstr ""
-#: ../../include/profile_selectors.php:42
+#: ../../include/profile_selectors.php:42 ../../include/user.php:272
msgid "Friends"
msgstr ""
@@ -6261,7 +6181,7 @@ msgstr ""
msgid "(no subject)"
msgstr ""
-#: ../../include/delivery.php:462 ../../include/enotify.php:23
+#: ../../include/delivery.php:462 ../../include/enotify.php:26
#: ../../include/notifier.php:684
msgid "noreply"
msgstr ""
@@ -6293,127 +6213,127 @@ msgid_plural "%d Contacts"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/text.php:831
+#: ../../include/text.php:835
msgid "Monday"
msgstr ""
-#: ../../include/text.php:831
+#: ../../include/text.php:835
msgid "Tuesday"
msgstr ""
-#: ../../include/text.php:831
+#: ../../include/text.php:835
msgid "Wednesday"
msgstr ""
-#: ../../include/text.php:831
+#: ../../include/text.php:835
msgid "Thursday"
msgstr ""
-#: ../../include/text.php:831
+#: ../../include/text.php:835
msgid "Friday"
msgstr ""
-#: ../../include/text.php:831
+#: ../../include/text.php:835
msgid "Saturday"
msgstr ""
-#: ../../include/text.php:831
+#: ../../include/text.php:835
msgid "Sunday"
msgstr ""
-#: ../../include/text.php:835
+#: ../../include/text.php:839
msgid "January"
msgstr ""
-#: ../../include/text.php:835
+#: ../../include/text.php:839
msgid "February"
msgstr ""
-#: ../../include/text.php:835
+#: ../../include/text.php:839
msgid "March"
msgstr ""
-#: ../../include/text.php:835
+#: ../../include/text.php:839
msgid "April"
msgstr ""
-#: ../../include/text.php:835
+#: ../../include/text.php:839
msgid "May"
msgstr ""
-#: ../../include/text.php:835
+#: ../../include/text.php:839
msgid "June"
msgstr ""
-#: ../../include/text.php:835
+#: ../../include/text.php:839
msgid "July"
msgstr ""
-#: ../../include/text.php:835
+#: ../../include/text.php:839
msgid "August"
msgstr ""
-#: ../../include/text.php:835
+#: ../../include/text.php:839
msgid "September"
msgstr ""
-#: ../../include/text.php:835
+#: ../../include/text.php:839
msgid "October"
msgstr ""
-#: ../../include/text.php:835
+#: ../../include/text.php:839
msgid "November"
msgstr ""
-#: ../../include/text.php:835
+#: ../../include/text.php:839
msgid "December"
msgstr ""
-#: ../../include/text.php:920
+#: ../../include/text.php:925
msgid "bytes"
msgstr ""
-#: ../../include/text.php:940 ../../include/text.php:955
+#: ../../include/text.php:945 ../../include/text.php:960
msgid "remove"
msgstr ""
-#: ../../include/text.php:940 ../../include/text.php:955
+#: ../../include/text.php:945 ../../include/text.php:960
msgid "[remove]"
msgstr ""
-#: ../../include/text.php:943
+#: ../../include/text.php:948
msgid "Categories:"
msgstr ""
-#: ../../include/text.php:958
+#: ../../include/text.php:963
msgid "Filed under:"
msgstr ""
-#: ../../include/text.php:974 ../../include/text.php:986
+#: ../../include/text.php:979 ../../include/text.php:991
msgid "Click to open/close"
msgstr ""
-#: ../../include/text.php:1091
+#: ../../include/text.php:1096 ../../include/user.php:230
msgid "default"
msgstr ""
-#: ../../include/text.php:1103
+#: ../../include/text.php:1108
msgid "Select an alternate language"
msgstr ""
-#: ../../include/text.php:1313
+#: ../../include/text.php:1318
msgid "activity"
msgstr ""
-#: ../../include/text.php:1315
+#: ../../include/text.php:1320
msgid "comment"
msgstr ""
-#: ../../include/text.php:1316
+#: ../../include/text.php:1321
msgid "post"
msgstr ""
-#: ../../include/text.php:1471
+#: ../../include/text.php:1476
msgid "Item filed"
msgstr ""
@@ -6425,7 +6345,7 @@ msgstr ""
msgid "Attachments:"
msgstr ""
-#: ../../include/diaspora.php:2160
+#: ../../include/diaspora.php:2168
#, php-format
msgid "[Relayed] Comment authored by %s from network %s"
msgstr ""
@@ -6730,7 +6650,7 @@ msgstr ""
msgid "seconds"
msgstr ""
-#: ../../include/datetime.php:277
+#: ../../include/datetime.php:278
#, php-format
msgid "%1$d %2$s ago"
msgstr ""
@@ -6739,11 +6659,11 @@ msgstr ""
msgid "From: "
msgstr ""
-#: ../../include/bbcode.php:203 ../../include/bbcode.php:223
+#: ../../include/bbcode.php:210 ../../include/bbcode.php:230
msgid "$1 wrote:"
msgstr ""
-#: ../../include/bbcode.php:238 ../../include/bbcode.php:307
+#: ../../include/bbcode.php:245 ../../include/bbcode.php:314
msgid "Image/photo"
msgstr ""
@@ -6773,186 +6693,241 @@ msgstr ""
msgid "%s Administrator"
msgstr ""
-#: ../../include/enotify.php:35
+#: ../../include/enotify.php:38
#, php-format
msgid "%s <!item_type!>"
msgstr ""
-#: ../../include/enotify.php:39
+#: ../../include/enotify.php:42
#, php-format
msgid "[Friendica:Notify] New mail received at %s"
msgstr ""
-#: ../../include/enotify.php:41
+#: ../../include/enotify.php:44
#, php-format
msgid "%s sent you a new private message at %s."
msgstr ""
-#: ../../include/enotify.php:42
+#: ../../include/enotify.php:45
#, php-format
msgid "%s sent you %s."
msgstr ""
-#: ../../include/enotify.php:42
+#: ../../include/enotify.php:45
msgid "a private message"
msgstr ""
-#: ../../include/enotify.php:43
+#: ../../include/enotify.php:46
#, php-format
msgid "Please visit %s to view and/or reply to your private messages."
msgstr ""
-#: ../../include/enotify.php:73
+#: ../../include/enotify.php:76
#, php-format
msgid "%s's"
msgstr ""
-#: ../../include/enotify.php:77
+#: ../../include/enotify.php:80
msgid "your"
msgstr ""
-#: ../../include/enotify.php:84
+#: ../../include/enotify.php:87
#, php-format
msgid "[Friendica:Notify] Comment to conversation #%d by %s"
msgstr ""
-#: ../../include/enotify.php:85
+#: ../../include/enotify.php:88
#, php-format
msgid "%s commented on an item/conversation you have been following."
msgstr ""
-#: ../../include/enotify.php:86
+#: ../../include/enotify.php:89
#, php-format
msgid "%s commented on %s."
msgstr ""
-#: ../../include/enotify.php:88 ../../include/enotify.php:101
-#: ../../include/enotify.php:112 ../../include/enotify.php:123
+#: ../../include/enotify.php:91 ../../include/enotify.php:104
+#: ../../include/enotify.php:115 ../../include/enotify.php:126
#, php-format
msgid "Please visit %s to view and/or reply to the conversation."
msgstr ""
-#: ../../include/enotify.php:95
+#: ../../include/enotify.php:98
#, php-format
msgid "[Friendica:Notify] %s posted to your profile wall"
msgstr ""
-#: ../../include/enotify.php:97
+#: ../../include/enotify.php:100
#, php-format
msgid "%s posted to your profile wall at %s"
msgstr ""
-#: ../../include/enotify.php:99
+#: ../../include/enotify.php:102
#, php-format
msgid "%s posted to %s"
msgstr ""
-#: ../../include/enotify.php:99
+#: ../../include/enotify.php:102
msgid "your profile wall."
msgstr ""
-#: ../../include/enotify.php:108
+#: ../../include/enotify.php:111
#, php-format
msgid "[Friendica:Notify] %s tagged you"
msgstr ""
-#: ../../include/enotify.php:109
+#: ../../include/enotify.php:112
#, php-format
msgid "%s tagged you at %s"
msgstr ""
-#: ../../include/enotify.php:110
+#: ../../include/enotify.php:113
#, php-format
msgid "%s %s."
msgstr ""
-#: ../../include/enotify.php:110
+#: ../../include/enotify.php:113
msgid "tagged you"
msgstr ""
-#: ../../include/enotify.php:119
+#: ../../include/enotify.php:122
#, php-format
msgid "[Friendica:Notify] %s tagged your post"
msgstr ""
-#: ../../include/enotify.php:120
+#: ../../include/enotify.php:123
#, php-format
msgid "%s tagged your post at %s"
msgstr ""
-#: ../../include/enotify.php:121
+#: ../../include/enotify.php:124
#, php-format
msgid "%s tagged %s"
msgstr ""
-#: ../../include/enotify.php:121
+#: ../../include/enotify.php:124
msgid "your post"
msgstr ""
-#: ../../include/enotify.php:130
+#: ../../include/enotify.php:133
msgid "[Friendica:Notify] Introduction received"
msgstr ""
-#: ../../include/enotify.php:131
+#: ../../include/enotify.php:134
#, php-format
msgid "You've received an introduction from '%s' at %s"
msgstr ""
-#: ../../include/enotify.php:132
+#: ../../include/enotify.php:135
#, php-format
msgid "You've received %s from %s."
msgstr ""
-#: ../../include/enotify.php:132
+#: ../../include/enotify.php:135
msgid "an introduction"
msgstr ""
-#: ../../include/enotify.php:133 ../../include/enotify.php:150
+#: ../../include/enotify.php:136 ../../include/enotify.php:153
#, php-format
msgid "You may visit their profile at %s"
msgstr ""
-#: ../../include/enotify.php:135
+#: ../../include/enotify.php:138
#, php-format
msgid "Please visit %s to approve or reject the introduction."
msgstr ""
-#: ../../include/enotify.php:142
+#: ../../include/enotify.php:145
msgid "[Friendica:Notify] Friend suggestion received"
msgstr ""
-#: ../../include/enotify.php:143
+#: ../../include/enotify.php:146
#, php-format
msgid "You've received a friend suggestion from '%s' at %s"
msgstr ""
-#: ../../include/enotify.php:144
+#: ../../include/enotify.php:147
#, php-format
msgid "You've received %s for %s from %s."
msgstr ""
-#: ../../include/enotify.php:145
+#: ../../include/enotify.php:148
msgid "a friend suggestion"
msgstr ""
-#: ../../include/enotify.php:148
+#: ../../include/enotify.php:151
msgid "Name:"
msgstr ""
-#: ../../include/enotify.php:149
+#: ../../include/enotify.php:152
msgid "Photo:"
msgstr ""
-#: ../../include/enotify.php:152
+#: ../../include/enotify.php:155
#, php-format
msgid "Please visit %s to approve or reject the suggestion."
msgstr ""
-#: ../../include/items.php:2736
+#: ../../include/follow.php:32
+msgid "Connect URL missing."
+msgstr ""
+
+#: ../../include/follow.php:59
+msgid ""
+"This site is not configured to allow communications with other networks."
+msgstr ""
+
+#: ../../include/follow.php:60 ../../include/follow.php:75
+msgid "No compatible communication protocols or feeds were discovered."
+msgstr ""
+
+#: ../../include/follow.php:73
+msgid "The profile address specified does not provide adequate information."
+msgstr ""
+
+#: ../../include/follow.php:77
+msgid "An author or name was not found."
+msgstr ""
+
+#: ../../include/follow.php:79
+msgid "No browser URL could be matched to this address."
+msgstr ""
+
+#: ../../include/follow.php:81
+msgid ""
+"Unable to match @-style Identity Address with a known protocol or email "
+"contact."
+msgstr ""
+
+#: ../../include/follow.php:82
+msgid "Use mailto: in front of address to force email check."
+msgstr ""
+
+#: ../../include/follow.php:88
+msgid ""
+"The profile address specified belongs to a network which has been disabled "
+"on this site."
+msgstr ""
+
+#: ../../include/follow.php:93
+msgid ""
+"Limited profile. This person will be unable to receive direct/personal "
+"notifications from you."
+msgstr ""
+
+#: ../../include/follow.php:164
+msgid "Unable to retrieve contact information."
+msgstr ""
+
+#: ../../include/follow.php:218
+msgid "following"
+msgstr ""
+
+#: ../../include/items.php:2740
msgid "A new person is sharing with you at "
msgstr ""
-#: ../../include/items.php:2736
+#: ../../include/items.php:2740
msgid "You have a new follower at "
msgstr ""
@@ -6965,6 +6940,74 @@ msgstr ""
msgid "link"
msgstr ""
+#: ../../include/user.php:38
+msgid "An invitation is required."
+msgstr ""
+
+#: ../../include/user.php:43
+msgid "Invitation could not be verified."
+msgstr ""
+
+#: ../../include/user.php:51
+msgid "Invalid OpenID url"
+msgstr ""
+
+#: ../../include/user.php:66
+msgid "Please enter the required information."
+msgstr ""
+
+#: ../../include/user.php:80
+msgid "Please use a shorter name."
+msgstr ""
+
+#: ../../include/user.php:82
+msgid "Name too short."
+msgstr ""
+
+#: ../../include/user.php:97
+msgid "That doesn't appear to be your full (First Last) name."
+msgstr ""
+
+#: ../../include/user.php:102
+msgid "Your email domain is not among those allowed on this site."
+msgstr ""
+
+#: ../../include/user.php:105
+msgid "Not a valid email address."
+msgstr ""
+
+#: ../../include/user.php:115
+msgid "Cannot use that email."
+msgstr ""
+
+#: ../../include/user.php:121
+msgid ""
+"Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and "
+"must also begin with a letter."
+msgstr ""
+
+#: ../../include/user.php:127 ../../include/user.php:219
+msgid "Nickname is already registered. Please choose another."
+msgstr ""
+
+#: ../../include/user.php:137
+msgid ""
+"Nickname was once registered here and may not be re-used. Please choose "
+"another."
+msgstr ""
+
+#: ../../include/user.php:153
+msgid "SERIOUS ERROR: Generation of security keys failed."
+msgstr ""
+
+#: ../../include/user.php:205
+msgid "An error occurred during registration. Please try again."
+msgstr ""
+
+#: ../../include/user.php:240
+msgid "An error occurred creating your default profile. Please try again."
+msgstr ""
+
#: ../../include/security.php:21
msgid "Welcome "
msgstr ""
@@ -6987,30 +7030,30 @@ msgstr ""
msgid "stopped following"
msgstr ""
-#: ../../include/Contact.php:203 ../../include/conversation.php:821
+#: ../../include/Contact.php:203 ../../include/conversation.php:842
msgid "View Status"
msgstr ""
-#: ../../include/Contact.php:204 ../../include/conversation.php:822
+#: ../../include/Contact.php:204 ../../include/conversation.php:843
msgid "View Profile"
msgstr ""
-#: ../../include/Contact.php:205 ../../include/conversation.php:823
+#: ../../include/Contact.php:205 ../../include/conversation.php:844
msgid "View Photos"
msgstr ""
#: ../../include/Contact.php:206 ../../include/Contact.php:219
-#: ../../include/conversation.php:824
+#: ../../include/conversation.php:845
msgid "Network Posts"
msgstr ""
#: ../../include/Contact.php:207 ../../include/Contact.php:219
-#: ../../include/conversation.php:825
+#: ../../include/conversation.php:846
msgid "Edit Contact"
msgstr ""
#: ../../include/Contact.php:208 ../../include/Contact.php:219
-#: ../../include/conversation.php:826
+#: ../../include/conversation.php:847
msgid "Send PM"
msgstr ""
@@ -7023,216 +7066,216 @@ msgstr ""
msgid "%1$s marked %2$s's %3$s as favorite"
msgstr ""
-#: ../../include/conversation.php:321 ../../include/conversation.php:587
+#: ../../include/conversation.php:327 ../../include/conversation.php:608
msgid "Select"
msgstr ""
-#: ../../include/conversation.php:338 ../../include/conversation.php:680
-#: ../../include/conversation.php:681
+#: ../../include/conversation.php:344 ../../include/conversation.php:701
+#: ../../include/conversation.php:702
#, php-format
msgid "View %s's profile @ %s"
msgstr ""
-#: ../../include/conversation.php:348 ../../include/conversation.php:692
+#: ../../include/conversation.php:354 ../../include/conversation.php:713
#, php-format
msgid "%s from %s"
msgstr ""
-#: ../../include/conversation.php:363
+#: ../../include/conversation.php:369
msgid "View in context"
msgstr ""
-#: ../../include/conversation.php:469
+#: ../../include/conversation.php:475
#, php-format
msgid "%d comment"
msgid_plural "%d comments"
msgstr[0] ""
msgstr[1] ""
-#: ../../include/conversation.php:533
+#: ../../include/conversation.php:554
msgid "like"
msgstr ""
-#: ../../include/conversation.php:534
+#: ../../include/conversation.php:555
msgid "dislike"
msgstr ""
-#: ../../include/conversation.php:536
+#: ../../include/conversation.php:557
msgid "Share this"
msgstr ""
-#: ../../include/conversation.php:536
+#: ../../include/conversation.php:557
msgid "share"
msgstr ""
-#: ../../include/conversation.php:560
+#: ../../include/conversation.php:581
msgid "Bold"
msgstr ""
-#: ../../include/conversation.php:561
+#: ../../include/conversation.php:582
msgid "Italic"
msgstr ""
-#: ../../include/conversation.php:562
+#: ../../include/conversation.php:583
msgid "Underline"
msgstr ""
-#: ../../include/conversation.php:563
+#: ../../include/conversation.php:584
msgid "Quote"
msgstr ""
-#: ../../include/conversation.php:564
+#: ../../include/conversation.php:585
msgid "Code"
msgstr ""
-#: ../../include/conversation.php:565
+#: ../../include/conversation.php:586
msgid "Image"
msgstr ""
-#: ../../include/conversation.php:566
+#: ../../include/conversation.php:587
msgid "Link"
msgstr ""
-#: ../../include/conversation.php:567
+#: ../../include/conversation.php:588
msgid "Video"
msgstr ""
-#: ../../include/conversation.php:600
+#: ../../include/conversation.php:621
msgid "add star"
msgstr ""
-#: ../../include/conversation.php:601
+#: ../../include/conversation.php:622
msgid "remove star"
msgstr ""
-#: ../../include/conversation.php:602
+#: ../../include/conversation.php:623
msgid "toggle star status"
msgstr ""
-#: ../../include/conversation.php:605
+#: ../../include/conversation.php:626
msgid "starred"
msgstr ""
-#: ../../include/conversation.php:606
+#: ../../include/conversation.php:627
msgid "add tag"
msgstr ""
-#: ../../include/conversation.php:610
+#: ../../include/conversation.php:631
msgid "save to folder"
msgstr ""
-#: ../../include/conversation.php:682
+#: ../../include/conversation.php:703
msgid "to"
msgstr ""
-#: ../../include/conversation.php:683
+#: ../../include/conversation.php:704
msgid "Wall-to-Wall"
msgstr ""
-#: ../../include/conversation.php:684
+#: ../../include/conversation.php:705
msgid "via Wall-To-Wall:"
msgstr ""
-#: ../../include/conversation.php:729
+#: ../../include/conversation.php:750
msgid "Delete Selected Items"
msgstr ""
-#: ../../include/conversation.php:880
+#: ../../include/conversation.php:901
#, php-format
msgid "%s likes this."
msgstr ""
-#: ../../include/conversation.php:880
+#: ../../include/conversation.php:901
#, php-format
msgid "%s doesn't like this."
msgstr ""
-#: ../../include/conversation.php:884
+#: ../../include/conversation.php:905
#, php-format
msgid "<span %1$s>%2$d people</span> like this."
msgstr ""
-#: ../../include/conversation.php:886
+#: ../../include/conversation.php:907
#, php-format
msgid "<span %1$s>%2$d people</span> don't like this."
msgstr ""
-#: ../../include/conversation.php:892
+#: ../../include/conversation.php:913
msgid "and"
msgstr ""
-#: ../../include/conversation.php:895
+#: ../../include/conversation.php:916
#, php-format
msgid ", and %d other people"
msgstr ""
-#: ../../include/conversation.php:896
+#: ../../include/conversation.php:917
#, php-format
msgid "%s like this."
msgstr ""
-#: ../../include/conversation.php:896
+#: ../../include/conversation.php:917
#, php-format
msgid "%s don't like this."
msgstr ""
-#: ../../include/conversation.php:921
+#: ../../include/conversation.php:942
msgid "Visible to <strong>everybody</strong>"
msgstr ""
-#: ../../include/conversation.php:923
+#: ../../include/conversation.php:944
msgid "Please enter a video link/URL:"
msgstr ""
-#: ../../include/conversation.php:924
+#: ../../include/conversation.php:945
msgid "Please enter an audio link/URL:"
msgstr ""
-#: ../../include/conversation.php:925
+#: ../../include/conversation.php:946
msgid "Tag term:"
msgstr ""
-#: ../../include/conversation.php:927
+#: ../../include/conversation.php:948
msgid "Where are you right now?"
msgstr ""
-#: ../../include/conversation.php:970
+#: ../../include/conversation.php:991
msgid "upload photo"
msgstr ""
-#: ../../include/conversation.php:972
+#: ../../include/conversation.php:993
msgid "attach file"
msgstr ""
-#: ../../include/conversation.php:974
+#: ../../include/conversation.php:995
msgid "web link"
msgstr ""
-#: ../../include/conversation.php:975
+#: ../../include/conversation.php:996
msgid "Insert video link"
msgstr ""
-#: ../../include/conversation.php:976
+#: ../../include/conversation.php:997
msgid "video link"
msgstr ""
-#: ../../include/conversation.php:977
+#: ../../include/conversation.php:998
msgid "Insert audio link"
msgstr ""
-#: ../../include/conversation.php:978
+#: ../../include/conversation.php:999
msgid "audio link"
msgstr ""
-#: ../../include/conversation.php:980
+#: ../../include/conversation.php:1001
msgid "set location"
msgstr ""
-#: ../../include/conversation.php:982
+#: ../../include/conversation.php:1003
msgid "clear location"
msgstr ""
-#: ../../include/conversation.php:989
+#: ../../include/conversation.php:1010
msgid "permissions"
msgstr ""
diff --git a/view/de/messages.po b/view/de/messages.po
index ae78afc29..5bc060237 100644
--- a/view/de/messages.po
+++ b/view/de/messages.po
@@ -19,8 +19,8 @@ msgid ""
msgstr ""
"Project-Id-Version: friendica\n"
"Report-Msgid-Bugs-To: http://bugs.friendica.com/\n"
-"POT-Creation-Date: 2012-05-23 10:00-0700\n"
-"PO-Revision-Date: 2012-05-24 08:21+0000\n"
+"POT-Creation-Date: 2012-06-02 10:00-0700\n"
+"PO-Revision-Date: 2012-06-03 15:30+0000\n"
"Last-Translator: bavatar <tobias.diekershoff@gmx.net>\n"
"Language-Team: German (http://www.transifex.net/projects/p/friendica/language/de/)\n"
"MIME-Version: 1.0\n"
@@ -49,10 +49,10 @@ msgstr "Konnte den Kontakt nicht aktualisieren."
#: ../../mod/crepair.php:115 ../../mod/wall_attach.php:44
#: ../../mod/fsuggest.php:78 ../../mod/events.php:138 ../../mod/api.php:26
#: ../../mod/api.php:31 ../../mod/photos.php:130 ../../mod/photos.php:920
-#: ../../mod/editpost.php:10 ../../mod/install.php:171
+#: ../../mod/editpost.php:10 ../../mod/install.php:151
#: ../../mod/notifications.php:66 ../../mod/contacts.php:125
-#: ../../mod/settings.php:104 ../../mod/settings.php:535
-#: ../../mod/settings.php:540 ../../mod/manage.php:86 ../../mod/network.php:6
+#: ../../mod/settings.php:106 ../../mod/settings.php:537
+#: ../../mod/settings.php:542 ../../mod/manage.php:86 ../../mod/network.php:6
#: ../../mod/notes.php:20 ../../mod/wallmessage.php:9
#: ../../mod/wallmessage.php:33 ../../mod/wallmessage.php:79
#: ../../mod/wallmessage.php:103 ../../mod/attach.php:33
@@ -64,10 +64,10 @@ msgstr "Konnte den Kontakt nicht aktualisieren."
#: ../../mod/message.php:96 ../../mod/allfriends.php:9
#: ../../mod/nogroup.php:25 ../../mod/wall_upload.php:53
#: ../../mod/follow.php:8 ../../mod/display.php:138 ../../mod/profiles.php:7
-#: ../../mod/profiles.php:365 ../../mod/delegate.php:6
+#: ../../mod/profiles.php:382 ../../mod/delegate.php:6
#: ../../mod/suggest.php:28 ../../mod/invite.php:13 ../../mod/invite.php:81
#: ../../mod/dfrn_confirm.php:53 ../../addon/facebook/facebook.php:503
-#: ../../include/items.php:3214 ../../index.php:306
+#: ../../include/items.php:3297 ../../index.php:306
msgid "Permission denied."
msgstr "Zugriff verweigert."
@@ -96,8 +96,8 @@ msgstr "Bitte nutze den Zurück-Button deines Browsers <strong>jetzt</strong>, w
msgid "Return to contact editor"
msgstr "Zurück zum Kontakteditor"
-#: ../../mod/crepair.php:148 ../../mod/settings.php:555
-#: ../../mod/settings.php:581 ../../mod/admin.php:656 ../../mod/admin.php:665
+#: ../../mod/crepair.php:148 ../../mod/settings.php:557
+#: ../../mod/settings.php:583 ../../mod/admin.php:656 ../../mod/admin.php:665
msgid "Name"
msgstr "Name"
@@ -137,13 +137,13 @@ msgstr "Neues Foto von dieser URL"
#: ../../mod/events.php:428 ../../mod/photos.php:955 ../../mod/photos.php:1013
#: ../../mod/photos.php:1256 ../../mod/photos.php:1296
#: ../../mod/photos.php:1336 ../../mod/photos.php:1367
-#: ../../mod/install.php:251 ../../mod/install.php:289
+#: ../../mod/install.php:246 ../../mod/install.php:284
#: ../../mod/localtime.php:45 ../../mod/contacts.php:322
-#: ../../mod/settings.php:553 ../../mod/settings.php:699
-#: ../../mod/settings.php:760 ../../mod/settings.php:964
+#: ../../mod/settings.php:555 ../../mod/settings.php:701
+#: ../../mod/settings.php:762 ../../mod/settings.php:969
#: ../../mod/manage.php:109 ../../mod/group.php:85 ../../mod/admin.php:417
#: ../../mod/admin.php:653 ../../mod/admin.php:789 ../../mod/admin.php:988
-#: ../../mod/admin.php:1075 ../../mod/profiles.php:534
+#: ../../mod/admin.php:1075 ../../mod/profiles.php:551
#: ../../mod/invite.php:119 ../../addon/facebook/facebook.php:605
#: ../../addon/yourls/yourls.php:76 ../../addon/ljpost/ljpost.php:93
#: ../../addon/nsfw/nsfw.php:57 ../../addon/planets/planets.php:158
@@ -171,10 +171,10 @@ msgstr "Neues Foto von dieser URL"
#: ../../addon/irc/irc.php:55 ../../addon/blogger/blogger.php:102
#: ../../addon/posterous/posterous.php:103
#: ../../view/theme/cleanzero/config.php:80
-#: ../../view/theme/diabook/theme.php:752
+#: ../../view/theme/diabook/theme.php:757
#: ../../view/theme/diabook/config.php:190
#: ../../view/theme/quattro/config.php:52 ../../view/theme/dispy/config.php:70
-#: ../../include/conversation.php:559
+#: ../../include/conversation.php:574
msgid "Submit"
msgstr "Senden"
@@ -228,12 +228,12 @@ msgstr "l, F j"
msgid "Edit event"
msgstr "Veranstaltung bearbeiten"
-#: ../../mod/events.php:300 ../../include/text.php:1060
+#: ../../mod/events.php:300 ../../include/text.php:1064
msgid "link to source"
msgstr "Link zum Originalbeitrag"
-#: ../../mod/events.php:324 ../../view/theme/diabook/theme.php:126
-#: ../../include/nav.php:52 ../../boot.php:1523
+#: ../../mod/events.php:324 ../../view/theme/diabook/theme.php:131
+#: ../../include/nav.php:52 ../../boot.php:1520
msgid "Events"
msgstr "Veranstaltungen"
@@ -245,7 +245,7 @@ msgstr "Neue Veranstaltung erstellen"
msgid "Previous"
msgstr "Vorherige"
-#: ../../mod/events.php:327 ../../mod/install.php:210
+#: ../../mod/events.php:327 ../../mod/install.php:205
msgid "Next"
msgstr "Nächste"
@@ -283,7 +283,7 @@ msgid "Description:"
msgstr "Beschreibung"
#: ../../mod/events.php:423 ../../include/event.php:37
-#: ../../include/bb2diaspora.php:260 ../../boot.php:1103
+#: ../../include/bb2diaspora.php:265 ../../boot.php:1100
msgid "Location:"
msgstr "Ort:"
@@ -292,8 +292,8 @@ msgid "Share this event"
msgstr "Veranstaltung teilen"
#: ../../mod/tagrm.php:11 ../../mod/tagrm.php:94
-#: ../../mod/dfrn_request.php:826 ../../mod/settings.php:554
-#: ../../mod/settings.php:580 ../../addon/js_upload/js_upload.php:45
+#: ../../mod/dfrn_request.php:830 ../../mod/settings.php:556
+#: ../../mod/settings.php:582 ../../addon/js_upload/js_upload.php:45
msgid "Cancel"
msgstr "Abbrechen"
@@ -336,29 +336,31 @@ msgid ""
" and/or create new posts for you?"
msgstr "Möchtest du dieser Anwendung den Zugriff auf deine Beiträge und Kontakte, sowie das Erstellen neuer Beiträge in deinem Namen gestatten?"
-#: ../../mod/api.php:105 ../../mod/dfrn_request.php:814
-#: ../../mod/settings.php:875 ../../mod/settings.php:881
-#: ../../mod/settings.php:889 ../../mod/settings.php:893
-#: ../../mod/settings.php:898 ../../mod/settings.php:904
-#: ../../mod/settings.php:910 ../../mod/settings.php:916
-#: ../../mod/settings.php:952 ../../mod/settings.php:953
-#: ../../mod/settings.php:954 ../../mod/settings.php:955
-#: ../../mod/register.php:511 ../../mod/profiles.php:511
+#: ../../mod/api.php:105 ../../mod/dfrn_request.php:818
+#: ../../mod/settings.php:879 ../../mod/settings.php:885
+#: ../../mod/settings.php:893 ../../mod/settings.php:897
+#: ../../mod/settings.php:902 ../../mod/settings.php:908
+#: ../../mod/settings.php:914 ../../mod/settings.php:920
+#: ../../mod/settings.php:956 ../../mod/settings.php:957
+#: ../../mod/settings.php:958 ../../mod/settings.php:959
+#: ../../mod/settings.php:960 ../../mod/register.php:234
+#: ../../mod/profiles.php:528
msgid "Yes"
msgstr "Ja"
-#: ../../mod/api.php:106 ../../mod/dfrn_request.php:815
-#: ../../mod/settings.php:875 ../../mod/settings.php:881
-#: ../../mod/settings.php:889 ../../mod/settings.php:893
-#: ../../mod/settings.php:898 ../../mod/settings.php:904
-#: ../../mod/settings.php:910 ../../mod/settings.php:916
-#: ../../mod/settings.php:952 ../../mod/settings.php:953
-#: ../../mod/settings.php:954 ../../mod/settings.php:955
-#: ../../mod/register.php:512 ../../mod/profiles.php:512
+#: ../../mod/api.php:106 ../../mod/dfrn_request.php:819
+#: ../../mod/settings.php:879 ../../mod/settings.php:885
+#: ../../mod/settings.php:893 ../../mod/settings.php:897
+#: ../../mod/settings.php:902 ../../mod/settings.php:908
+#: ../../mod/settings.php:914 ../../mod/settings.php:920
+#: ../../mod/settings.php:956 ../../mod/settings.php:957
+#: ../../mod/settings.php:958 ../../mod/settings.php:959
+#: ../../mod/settings.php:960 ../../mod/register.php:235
+#: ../../mod/profiles.php:529
msgid "No"
msgstr "Nein"
-#: ../../mod/photos.php:43 ../../boot.php:1517
+#: ../../mod/photos.php:43 ../../boot.php:1514
msgid "Photo Albums"
msgstr "Fotoalben"
@@ -366,7 +368,7 @@ msgstr "Fotoalben"
#: ../../mod/photos.php:1005 ../../mod/photos.php:1020
#: ../../mod/photos.php:1445 ../../mod/photos.php:1457
#: ../../addon/communityhome/communityhome.php:110
-#: ../../view/theme/diabook/theme.php:593
+#: ../../view/theme/diabook/theme.php:598
msgid "Contact Photos"
msgstr "Kontaktbilder"
@@ -374,7 +376,7 @@ msgstr "Kontaktbilder"
msgid "Upload New Photos"
msgstr "Weitere Fotos hochladen"
-#: ../../mod/photos.php:69 ../../mod/settings.php:20
+#: ../../mod/photos.php:69 ../../mod/settings.php:21
msgid "everybody"
msgstr "jeder"
@@ -383,13 +385,13 @@ msgid "Contact information unavailable"
msgstr "Kontaktinformationen nicht verfügbar"
#: ../../mod/photos.php:151 ../../mod/photos.php:652 ../../mod/photos.php:1005
-#: ../../mod/photos.php:1020 ../../mod/register.php:314
-#: ../../mod/register.php:321 ../../mod/register.php:328
-#: ../../mod/profile_photo.php:60 ../../mod/profile_photo.php:67
-#: ../../mod/profile_photo.php:74 ../../mod/profile_photo.php:174
-#: ../../mod/profile_photo.php:252 ../../mod/profile_photo.php:261
+#: ../../mod/photos.php:1020 ../../mod/profile_photo.php:60
+#: ../../mod/profile_photo.php:67 ../../mod/profile_photo.php:74
+#: ../../mod/profile_photo.php:174 ../../mod/profile_photo.php:252
+#: ../../mod/profile_photo.php:261
#: ../../addon/communityhome/communityhome.php:111
-#: ../../view/theme/diabook/theme.php:594
+#: ../../view/theme/diabook/theme.php:599 ../../include/user.php:294
+#: ../../include/user.php:301 ../../include/user.php:308
msgid "Profile Photos"
msgstr "Profilbilder"
@@ -411,7 +413,7 @@ msgstr "wurde getaggt in einem"
#: ../../mod/photos.php:583 ../../mod/like.php:127 ../../mod/tagger.php:70
#: ../../addon/communityhome/communityhome.php:163
-#: ../../view/theme/diabook/theme.php:565 ../../include/text.php:1311
+#: ../../view/theme/diabook/theme.php:570 ../../include/text.php:1315
#: ../../include/diaspora.php:1662 ../../include/conversation.php:53
#: ../../include/conversation.php:126
msgid "photo"
@@ -440,7 +442,7 @@ msgid "Image upload failed."
msgstr "Hochladen des Bildes gescheitert."
#: ../../mod/photos.php:814 ../../mod/community.php:16
-#: ../../mod/dfrn_request.php:740 ../../mod/viewcontacts.php:17
+#: ../../mod/dfrn_request.php:744 ../../mod/viewcontacts.php:17
#: ../../mod/display.php:7 ../../mod/search.php:71 ../../mod/directory.php:29
msgid "Public access denied."
msgstr "Öffentlicher Zugriff verweigert."
@@ -519,7 +521,7 @@ msgstr "[Tag entfernen]"
#: ../../mod/photos.php:1243
msgid "Rotate CW"
-msgstr ""
+msgstr "Im Uhrzeigersinn rotieren"
#: ../../mod/photos.php:1245
msgid "New album name"
@@ -538,44 +540,44 @@ msgid ""
"Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
msgstr "Beispiel: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping"
-#: ../../mod/photos.php:1274 ../../include/conversation.php:533
+#: ../../mod/photos.php:1274 ../../include/conversation.php:548
msgid "I like this (toggle)"
msgstr "Ich mag das (toggle)"
-#: ../../mod/photos.php:1275 ../../include/conversation.php:534
+#: ../../mod/photos.php:1275 ../../include/conversation.php:549
msgid "I don't like this (toggle)"
msgstr "Ich mag das nicht (toggle)"
-#: ../../mod/photos.php:1276 ../../include/conversation.php:968
+#: ../../mod/photos.php:1276 ../../include/conversation.php:983
msgid "Share"
msgstr "Teilen"
#: ../../mod/photos.php:1277 ../../mod/editpost.php:104
#: ../../mod/wallmessage.php:145 ../../mod/message.php:214
#: ../../mod/message.php:408 ../../include/conversation.php:365
-#: ../../include/conversation.php:710 ../../include/conversation.php:987
+#: ../../include/conversation.php:725 ../../include/conversation.php:1002
msgid "Please wait"
msgstr "Bitte warten"
#: ../../mod/photos.php:1293 ../../mod/photos.php:1333
-#: ../../mod/photos.php:1364 ../../include/conversation.php:556
+#: ../../mod/photos.php:1364 ../../include/conversation.php:571
msgid "This is you"
msgstr "Das bist du"
#: ../../mod/photos.php:1295 ../../mod/photos.php:1335
-#: ../../mod/photos.php:1366 ../../include/conversation.php:558
-#: ../../boot.php:517
+#: ../../mod/photos.php:1366 ../../include/conversation.php:573
+#: ../../boot.php:514
msgid "Comment"
msgstr "Kommentar"
#: ../../mod/photos.php:1297 ../../mod/editpost.php:125
-#: ../../include/conversation.php:568 ../../include/conversation.php:1005
+#: ../../include/conversation.php:583 ../../include/conversation.php:1020
msgid "Preview"
msgstr "Vorschau"
-#: ../../mod/photos.php:1394 ../../mod/settings.php:616
-#: ../../mod/settings.php:697 ../../mod/group.php:168 ../../mod/admin.php:660
-#: ../../include/conversation.php:322 ../../include/conversation.php:588
+#: ../../mod/photos.php:1394 ../../mod/settings.php:618
+#: ../../mod/settings.php:699 ../../mod/group.php:168 ../../mod/admin.php:660
+#: ../../include/conversation.php:322 ../../include/conversation.php:603
msgid "Delete"
msgstr "Löschen"
@@ -591,12 +593,12 @@ msgstr "Neueste Fotos"
msgid "Not available."
msgstr "Nicht verfügbar."
-#: ../../mod/community.php:30 ../../view/theme/diabook/theme.php:128
+#: ../../mod/community.php:30 ../../view/theme/diabook/theme.php:133
#: ../../include/nav.php:101
msgid "Community"
msgstr "Gemeinschaft"
-#: ../../mod/community.php:61 ../../mod/search.php:138
+#: ../../mod/community.php:61 ../../mod/search.php:144
msgid "No results."
msgstr "Keine Ergebnisse."
@@ -640,28 +642,28 @@ msgstr "Beitrag nicht gefunden"
msgid "Edit post"
msgstr "Beitrag bearbeiten"
-#: ../../mod/editpost.php:80 ../../include/conversation.php:954
+#: ../../mod/editpost.php:80 ../../include/conversation.php:969
msgid "Post to Email"
msgstr "An E-Mail senden"
-#: ../../mod/editpost.php:95 ../../mod/settings.php:615
-#: ../../include/conversation.php:575
+#: ../../mod/editpost.php:95 ../../mod/settings.php:617
+#: ../../include/conversation.php:590
msgid "Edit"
msgstr "Bearbeiten"
#: ../../mod/editpost.php:96 ../../mod/wallmessage.php:143
#: ../../mod/message.php:212 ../../mod/message.php:406
-#: ../../include/conversation.php:969
+#: ../../include/conversation.php:984
msgid "Upload photo"
msgstr "Foto hochladen"
-#: ../../mod/editpost.php:97 ../../include/conversation.php:971
+#: ../../mod/editpost.php:97 ../../include/conversation.php:986
msgid "Attach file"
msgstr "Datei anhängen"
#: ../../mod/editpost.php:98 ../../mod/wallmessage.php:144
#: ../../mod/message.php:213 ../../mod/message.php:407
-#: ../../include/conversation.php:973
+#: ../../include/conversation.php:988
msgid "Insert web link"
msgstr "einen Link einfügen"
@@ -677,35 +679,35 @@ msgstr "Vorbis [.ogg] Video einfügen"
msgid "Insert Vorbis [.ogg] audio"
msgstr "Vorbis [.ogg] Audio einfügen"
-#: ../../mod/editpost.php:102 ../../include/conversation.php:979
+#: ../../mod/editpost.php:102 ../../include/conversation.php:994
msgid "Set your location"
msgstr "Deinen Standort festlegen"
-#: ../../mod/editpost.php:103 ../../include/conversation.php:981
+#: ../../mod/editpost.php:103 ../../include/conversation.php:996
msgid "Clear browser location"
msgstr "Browser-Standort leeren"
-#: ../../mod/editpost.php:105 ../../include/conversation.php:988
+#: ../../mod/editpost.php:105 ../../include/conversation.php:1003
msgid "Permission settings"
msgstr "Berechtigungseinstellungen"
-#: ../../mod/editpost.php:113 ../../include/conversation.php:997
+#: ../../mod/editpost.php:113 ../../include/conversation.php:1012
msgid "CC: email addresses"
msgstr "Cc:-E-Mail-Addressen"
-#: ../../mod/editpost.php:114 ../../include/conversation.php:998
+#: ../../mod/editpost.php:114 ../../include/conversation.php:1013
msgid "Public post"
msgstr "Öffentlicher Beitrag"
-#: ../../mod/editpost.php:117 ../../include/conversation.php:984
+#: ../../mod/editpost.php:117 ../../include/conversation.php:999
msgid "Set title"
msgstr "Titel setzen"
-#: ../../mod/editpost.php:119 ../../include/conversation.php:986
+#: ../../mod/editpost.php:119 ../../include/conversation.php:1001
msgid "Categories (comma-separated list)"
msgstr "Kategorien (kommasepariert)"
-#: ../../mod/editpost.php:120 ../../include/conversation.php:1000
+#: ../../mod/editpost.php:120 ../../include/conversation.php:1015
msgid "Example: bob@example.com, mary@example.com"
msgstr "Z.B.: bob@example.com, mary@example.com"
@@ -713,201 +715,200 @@ msgstr "Z.B.: bob@example.com, mary@example.com"
msgid "This introduction has already been accepted."
msgstr "Diese Kontaktanfrage wurde bereits akzeptiert."
-#: ../../mod/dfrn_request.php:117 ../../mod/dfrn_request.php:495
+#: ../../mod/dfrn_request.php:118 ../../mod/dfrn_request.php:497
msgid "Profile location is not valid or does not contain profile information."
msgstr "Profiladresse ist ungültig oder stellt einige Profildaten nicht zur Verfügung."
-#: ../../mod/dfrn_request.php:122 ../../mod/dfrn_request.php:500
+#: ../../mod/dfrn_request.php:123 ../../mod/dfrn_request.php:502
msgid "Warning: profile location has no identifiable owner name."
msgstr "Warnung: Es konnte kein Name des Besitzers von der angegebenen Profiladresse gefunden werden."
-#: ../../mod/dfrn_request.php:124 ../../mod/dfrn_request.php:502
+#: ../../mod/dfrn_request.php:125 ../../mod/dfrn_request.php:504
msgid "Warning: profile location has no profile photo."
msgstr "Warnung: Es konnte kein Profilbild bei der angegebenen Profiladresse gefunden werden."
-#: ../../mod/dfrn_request.php:127 ../../mod/dfrn_request.php:505
+#: ../../mod/dfrn_request.php:128 ../../mod/dfrn_request.php:507
#, php-format
msgid "%d required parameter was not found at the given location"
msgid_plural "%d required parameters were not found at the given location"
msgstr[0] "%d benötigter Parameter wurde an der angegebenen Stelle nicht gefunden"
msgstr[1] "%d benötigte Parameter wurden an der angegebenen Stelle nicht gefunden"
-#: ../../mod/dfrn_request.php:168
+#: ../../mod/dfrn_request.php:170
msgid "Introduction complete."
msgstr "Kontaktanfrage abgeschlossen."
-#: ../../mod/dfrn_request.php:192
+#: ../../mod/dfrn_request.php:194
msgid "Unrecoverable protocol error."
msgstr "Nicht behebbarer Protokollfehler."
-#: ../../mod/dfrn_request.php:220
+#: ../../mod/dfrn_request.php:222
msgid "Profile unavailable."
msgstr "Profil nicht verfügbar."
-#: ../../mod/dfrn_request.php:245
+#: ../../mod/dfrn_request.php:247
#, php-format
msgid "%s has received too many connection requests today."
msgstr "%s hat heute zu viele Freundschaftsanfragen erhalten."
-#: ../../mod/dfrn_request.php:246
+#: ../../mod/dfrn_request.php:248
msgid "Spam protection measures have been invoked."
msgstr "Maßnahmen zum Spamschutz wurden ergriffen."
-#: ../../mod/dfrn_request.php:247
+#: ../../mod/dfrn_request.php:249
msgid "Friends are advised to please try again in 24 hours."
msgstr "Freunde sind angehalten, es in 24 Stunden erneut zu versuchen."
-#: ../../mod/dfrn_request.php:309
+#: ../../mod/dfrn_request.php:311
msgid "Invalid locator"
msgstr "Ungültiger Locator"
-#: ../../mod/dfrn_request.php:318
+#: ../../mod/dfrn_request.php:320
msgid "Invalid email address."
msgstr "Ungültige E-Mail Adresse."
-#: ../../mod/dfrn_request.php:344
+#: ../../mod/dfrn_request.php:346
msgid "This account has not been configured for email. Request failed."
msgstr "Dieses Konto ist nicht für Email konfiguriert. Anfrage fehlgeschlagen."
-#: ../../mod/dfrn_request.php:440
+#: ../../mod/dfrn_request.php:442
msgid "Unable to resolve your name at the provided location."
msgstr "Konnte deinen Namen an der angegebenen Stelle nicht finden."
-#: ../../mod/dfrn_request.php:453
+#: ../../mod/dfrn_request.php:455
msgid "You have already introduced yourself here."
msgstr "Du hast dich hier bereits vorgestellt."
-#: ../../mod/dfrn_request.php:457
+#: ../../mod/dfrn_request.php:459
#, php-format
msgid "Apparently you are already friends with %s."
msgstr "Es scheint so, als ob du bereits mit %s befreundet bist."
-#: ../../mod/dfrn_request.php:478
+#: ../../mod/dfrn_request.php:480
msgid "Invalid profile URL."
msgstr "Ungültige Profil-URL."
-#: ../../mod/dfrn_request.php:484 ../../mod/follow.php:23
+#: ../../mod/dfrn_request.php:486 ../../mod/follow.php:23
msgid "Disallowed profile URL."
msgstr "Nicht erlaubte Profil-URL."
-#: ../../mod/dfrn_request.php:553 ../../mod/contacts.php:102
+#: ../../mod/dfrn_request.php:555 ../../mod/contacts.php:102
msgid "Failed to update contact record."
msgstr "Aktualisierung der Kontaktdaten fehlgeschlagen."
-#: ../../mod/dfrn_request.php:574
+#: ../../mod/dfrn_request.php:576
msgid "Your introduction has been sent."
msgstr "Deine Kontaktanfrage wurde gesendet."
-#: ../../mod/dfrn_request.php:627
+#: ../../mod/dfrn_request.php:629
msgid "Please login to confirm introduction."
msgstr "Bitte melde dich an, um die Kontaktanfrage zu bestätigen."
-#: ../../mod/dfrn_request.php:641
+#: ../../mod/dfrn_request.php:643
msgid ""
"Incorrect identity currently logged in. Please login to "
"<strong>this</strong> profile."
msgstr "Momentan bist du mit einer anderen Identität angemeldet. Bitte melde Dich mit <strong>diesem</strong> Profil an."
-#: ../../mod/dfrn_request.php:653
+#: ../../mod/dfrn_request.php:654
+msgid "Hide this contact"
+msgstr "Verberge diese Kontakt"
+
+#: ../../mod/dfrn_request.php:657
#, php-format
msgid "Welcome home %s."
msgstr "Willkommen zurück %s."
-#: ../../mod/dfrn_request.php:654
+#: ../../mod/dfrn_request.php:658
#, php-format
msgid "Please confirm your introduction/connection request to %s."
msgstr "Bitte bestätige deine Kontaktanfrage bei %s."
-#: ../../mod/dfrn_request.php:655
+#: ../../mod/dfrn_request.php:659
msgid "Confirm"
msgstr "Bestätigen"
-#: ../../mod/dfrn_request.php:696 ../../include/items.php:2729
+#: ../../mod/dfrn_request.php:700 ../../include/items.php:2733
msgid "[Name Withheld]"
msgstr "[Name unterdrückt]"
-#: ../../mod/dfrn_request.php:789
+#: ../../mod/dfrn_request.php:793
msgid ""
"Please enter your 'Identity Address' from one of the following supported "
"communications networks:"
msgstr "Bitte gib die Adresse deines Profils in einem der unterstützten sozialen Netzwerke an:"
-#: ../../mod/dfrn_request.php:805
+#: ../../mod/dfrn_request.php:809
msgid "<strike>Connect as an email follower</strike> (Coming soon)"
msgstr "<strike>Als E-Mail-Kontakt verbinden</strike> (In Kürze verfügbar)"
-#: ../../mod/dfrn_request.php:807
+#: ../../mod/dfrn_request.php:811
msgid ""
"If you are not yet a member of the free social web, <a "
"href=\"http://dir.friendica.com/siteinfo\">follow this link to find a public"
" Friendica site and join us today</a>."
msgstr "Wenn du noch kein Mitglied dieses freien sozialen Netzwerks bist, <a href=\"http://dir.friendica.com/siteinfo\">folge diesem Link</a> um einen öffentlichen Friendica-Server zu finden und beizutreten."
-#: ../../mod/dfrn_request.php:810
+#: ../../mod/dfrn_request.php:814
msgid "Friend/Connection Request"
msgstr "Freundschafts-/Kontaktanfrage"
-#: ../../mod/dfrn_request.php:811
+#: ../../mod/dfrn_request.php:815
msgid ""
"Examples: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, "
"testuser@identi.ca"
msgstr "Beispiele: jojo@demo.friendica.com, http://demo.friendica.com/profile/jojo, testuser@identi.ca"
-#: ../../mod/dfrn_request.php:812
+#: ../../mod/dfrn_request.php:816
msgid "Please answer the following:"
msgstr "Bitte beantworte Folgendes:"
-#: ../../mod/dfrn_request.php:813
+#: ../../mod/dfrn_request.php:817
#, php-format
msgid "Does %s know you?"
msgstr "Kennt %s dich?"
-#: ../../mod/dfrn_request.php:816
+#: ../../mod/dfrn_request.php:820
msgid "Add a personal note:"
msgstr "Eine persönliche Notiz beifügen:"
-#: ../../mod/dfrn_request.php:818 ../../include/contact_selectors.php:76
+#: ../../mod/dfrn_request.php:822 ../../include/contact_selectors.php:76
msgid "Friendica"
msgstr "Friendica"
-#: ../../mod/dfrn_request.php:819
+#: ../../mod/dfrn_request.php:823
msgid "StatusNet/Federated Social Web"
msgstr "StatusNet/Federated Social Web"
-#: ../../mod/dfrn_request.php:820 ../../mod/settings.php:650
+#: ../../mod/dfrn_request.php:824 ../../mod/settings.php:652
#: ../../include/contact_selectors.php:80
msgid "Diaspora"
msgstr "Diaspora"
-#: ../../mod/dfrn_request.php:821
+#: ../../mod/dfrn_request.php:825
#, php-format
msgid ""
" - please do not use this form. Instead, enter %s into your Diaspora search"
" bar."
msgstr " - bitte verwende dieses Formular nicht. Stattdessen suche nach %s in deiner Diaspora Suchleiste."
-#: ../../mod/dfrn_request.php:822
+#: ../../mod/dfrn_request.php:826
msgid "Your Identity Address:"
msgstr "Adresse deines Profils:"
-#: ../../mod/dfrn_request.php:825
+#: ../../mod/dfrn_request.php:829
msgid "Submit Request"
msgstr "Anfrage abschicken"
-#: ../../mod/install.php:111
+#: ../../mod/install.php:117
msgid "Friendica Social Communications Server - Setup"
msgstr "Friendica-Server für soziale Netzwerke – Setup"
-#: ../../mod/install.php:117 ../../mod/install.php:157
-#: ../../mod/install.php:230
-msgid "Database connection"
-msgstr "Datenbankverbindung"
-
-#: ../../mod/install.php:124
+#: ../../mod/install.php:123
msgid "Could not connect to database."
msgstr "Verbindung zur Datenbank gescheitert"
-#: ../../mod/install.php:128
+#: ../../mod/install.php:127
msgid "Could not create table."
msgstr "Konnte Tabelle nicht erstellen."
@@ -915,232 +916,246 @@ msgstr "Konnte Tabelle nicht erstellen."
msgid "Your Friendica site database has been installed."
msgstr "Die Datenbank deiner Friendica Seite wurde installiert."
-#: ../../mod/install.php:134
-msgid ""
-"IMPORTANT: You will need to [manually] setup a scheduled task for the "
-"poller."
-msgstr "WICHTIG: Du musst [manuell] einen Cronjob (o.ä.) für den Poller einrichten."
-
-#: ../../mod/install.php:135 ../../mod/install.php:151
-#: ../../mod/install.php:209
-msgid "Please see the file \"INSTALL.txt\"."
-msgstr "Lies bitte die \"INSTALL.txt\"."
-
-#: ../../mod/install.php:137
-msgid "Proceed to registration"
-msgstr "Mit der Registrierung fortfahren"
-
-#: ../../mod/install.php:143
-msgid "Proceed with Installation"
-msgstr "Mit der Installation fortfahren"
-
-#: ../../mod/install.php:150
+#: ../../mod/install.php:138
msgid ""
"You may need to import the file \"database.sql\" manually using phpmyadmin "
"or mysql."
msgstr "Möglicherweise musst du die Datei \"database.sql\" manuell mit phpmyadmin oder mysql importieren."
-#: ../../mod/install.php:158
-msgid "Database import failed."
-msgstr "Import der Datenbank schlug fehl."
+#: ../../mod/install.php:139 ../../mod/install.php:204
+#: ../../mod/install.php:489
+msgid "Please see the file \"INSTALL.txt\"."
+msgstr "Lies bitte die \"INSTALL.txt\"."
-#: ../../mod/install.php:206
+#: ../../mod/install.php:201
msgid "System check"
msgstr "Systemtest"
-#: ../../mod/install.php:211
+#: ../../mod/install.php:206
msgid "Check again"
msgstr "Noch einmal testen"
-#: ../../mod/install.php:231
+#: ../../mod/install.php:225
+msgid "Database connection"
+msgstr "Datenbankverbindung"
+
+#: ../../mod/install.php:226
msgid ""
"In order to install Friendica we need to know how to connect to your "
"database."
msgstr "Um Friendica installieren zu können, müssen wir wissen, wie wir zu deiner Datenbank Kontakt aufnehmen können."
-#: ../../mod/install.php:232
+#: ../../mod/install.php:227
msgid ""
"Please contact your hosting provider or site administrator if you have "
"questions about these settings."
msgstr "Bitte kontaktiere den Hosting Provider oder den Administrator der Seite, falls du Fragen zu diesen Einstellungen haben solltest."
-#: ../../mod/install.php:233
+#: ../../mod/install.php:228
msgid ""
"The database you specify below should already exist. If it does not, please "
"create it before continuing."
msgstr "Die Datenbank, die du unten angibst, sollte bereits existieren. Ist dies noch nicht der Fall, erzeuge sie bitte bevor du mit der Installation fortfährst."
-#: ../../mod/install.php:237
+#: ../../mod/install.php:232
msgid "Database Server Name"
msgstr "Datenbank-Server"
-#: ../../mod/install.php:238
+#: ../../mod/install.php:233
msgid "Database Login Name"
msgstr "Datenbank-Nutzer"
-#: ../../mod/install.php:239
+#: ../../mod/install.php:234
msgid "Database Login Password"
msgstr "Datenbank-Passwort"
-#: ../../mod/install.php:240
+#: ../../mod/install.php:235
msgid "Database Name"
msgstr "Datenbank-Name"
-#: ../../mod/install.php:241 ../../mod/install.php:280
+#: ../../mod/install.php:236 ../../mod/install.php:275
msgid "Site administrator email address"
msgstr "E-Mail-Adresse des Administrators"
-#: ../../mod/install.php:241 ../../mod/install.php:280
+#: ../../mod/install.php:236 ../../mod/install.php:275
msgid ""
"Your account email address must match this in order to use the web admin "
"panel."
msgstr "Die E-Mail-Adresse, die in deinem Friendica-Account eingetragen ist, muss mit dieser Adresse übereinstimmen, damit du das Admin-Panel benutzen kannst."
-#: ../../mod/install.php:245 ../../mod/install.php:283
+#: ../../mod/install.php:240 ../../mod/install.php:278
msgid "Please select a default timezone for your website"
msgstr "Bitte wähle die Standardzeitzone deiner Webseite"
-#: ../../mod/install.php:270
+#: ../../mod/install.php:265
msgid "Site settings"
msgstr "Server-Einstellungen"
-#: ../../mod/install.php:323
+#: ../../mod/install.php:318
msgid "Could not find a command line version of PHP in the web server PATH."
msgstr "Konnte keine Kommandozeilenversion von PHP im PATH des Servers finden."
-#: ../../mod/install.php:326
+#: ../../mod/install.php:319
+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 <a "
+"href='http://friendica.com/node/27'>'Activating scheduled tasks'</a>"
+msgstr "Wenn du keine Kommandozeilen Version von PHP auf deinem Server installiert hast, kannst du keine Hintergrundprozesse via cron starten. Siehe <a href='http://friendica.com/node/27'>'Activating scheduled tasks'</a>"
+
+#: ../../mod/install.php:323
msgid "PHP executable path"
msgstr "Pfad zu PHP"
-#: ../../mod/install.php:326
-msgid "Enter full path to php executable"
-msgstr "Kompletter Pfad zum PHP-Executable"
+#: ../../mod/install.php:323
+msgid ""
+"Enter full path to php executable. You can leave this blank to continue the "
+"installation."
+msgstr "Gib den kompletten Pfad zur ausführbaren Datei von PHP an. Du kannst diesen Feld auch frei lassen und mit der Installation fortfahren."
-#: ../../mod/install.php:331
+#: ../../mod/install.php:328
msgid "Command line PHP"
msgstr "Kommandozeilen-PHP"
-#: ../../mod/install.php:340
+#: ../../mod/install.php:337
msgid ""
"The command line version of PHP on your system does not have "
"\"register_argc_argv\" enabled."
msgstr "Die Kommandozeilenversion von PHP auf deinem System hat \"register_argc_argv\" nicht aktiviert."
-#: ../../mod/install.php:341
+#: ../../mod/install.php:338
msgid "This is required for message delivery to work."
msgstr "Dies wird für die Auslieferung von Nachrichten benötigt."
-#: ../../mod/install.php:343
+#: ../../mod/install.php:340
msgid "PHP register_argc_argv"
msgstr "PHP register_argc_argv"
-#: ../../mod/install.php:364
+#: ../../mod/install.php:361
msgid ""
"Error: the \"openssl_pkey_new\" function on this system is not able to "
"generate encryption keys"
msgstr "Fehler: Die Funktion \"openssl_pkey_new\" auf diesem System ist nicht in der Lage, Verschlüsselungsschlüssel zu erzeugen"
-#: ../../mod/install.php:365
+#: ../../mod/install.php:362
msgid ""
"If running under Windows, please see "
"\"http://www.php.net/manual/en/openssl.installation.php\"."
msgstr "Wenn der Server unter Windows läuft, schau dir bitte \"http://www.php.net/manual/en/openssl.installation.php\" an."
-#: ../../mod/install.php:367
+#: ../../mod/install.php:364
msgid "Generate encryption keys"
msgstr "Schlüssel erzeugen"
-#: ../../mod/install.php:374
+#: ../../mod/install.php:371
msgid "libCurl PHP module"
msgstr "PHP: libCurl-Modul"
-#: ../../mod/install.php:375
+#: ../../mod/install.php:372
msgid "GD graphics PHP module"
msgstr "PHP: GD-Grafikmodul"
-#: ../../mod/install.php:376
+#: ../../mod/install.php:373
msgid "OpenSSL PHP module"
msgstr "PHP: OpenSSL-Modul"
-#: ../../mod/install.php:377
+#: ../../mod/install.php:374
msgid "mysqli PHP module"
msgstr "PHP: mysqli-Modul"
-#: ../../mod/install.php:378
+#: ../../mod/install.php:375
msgid "mb_string PHP module"
msgstr "PHP: mb_string-Modul"
-#: ../../mod/install.php:383 ../../mod/install.php:385
+#: ../../mod/install.php:380 ../../mod/install.php:382
msgid "Apache mod_rewrite module"
msgstr "Apache mod_rewrite module"
-#: ../../mod/install.php:383
+#: ../../mod/install.php:380
msgid ""
"Error: Apache webserver mod-rewrite module is required but not installed."
msgstr "Fehler: Das Apache-Modul mod-rewrite wird benötigt, es ist allerdings nicht installiert."
-#: ../../mod/install.php:390
+#: ../../mod/install.php:388
msgid "Error: libCURL PHP module required but not installed."
msgstr "Fehler: Das libCURL PHP Modul wird benötigt ist aber nicht installiert."
-#: ../../mod/install.php:394
+#: ../../mod/install.php:392
msgid ""
"Error: GD graphics PHP module with JPEG support required but not installed."
msgstr "Fehler: Das GD-Graphikmodul für PHP mit JPEG-Unterstützung ist nicht installiert."
-#: ../../mod/install.php:398
+#: ../../mod/install.php:396
msgid "Error: openssl PHP module required but not installed."
msgstr "Fehler: Das openssl-Modul von PHP ist nicht installiert."
-#: ../../mod/install.php:402
+#: ../../mod/install.php:400
msgid "Error: mysqli PHP module required but not installed."
msgstr "Fehler: Das mysqli-Modul von PHP ist nicht installiert."
-#: ../../mod/install.php:406
+#: ../../mod/install.php:404
msgid "Error: mb_string PHP module required but not installed."
msgstr "Fehler: mb_string PHP Module wird benötigt ist aber nicht installiert."
-#: ../../mod/install.php:423
+#: ../../mod/install.php:421
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 "Der Installationswizard muss in der Lage sein, eine Datei im Stammverzeichnis deines Webservers anzulegen, ist allerdings derzeit nicht in der Lage, dies zu tun."
-#: ../../mod/install.php:424
+#: ../../mod/install.php:422
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 "In den meisten Fällen ist dies ein Problem mit den Schreibrechten, der Webserver könnte keine Schreiberlaubnis haben, selbst wenn du sie hast."
-#: ../../mod/install.php:425
+#: ../../mod/install.php:423
msgid ""
-"Please check with your site documentation or support people to see if this "
-"situation can be corrected."
-msgstr "Bitte überprüfe die Einstellungen und frage im Zweifelsfall dein Support Team, um diese Situation zu beheben."
+"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 "Nachdem du alles ausgefüllt hast, erhältst du einen Text, den du in eine Datei namens .htconfig.php in deinem Friendica-Wurzelverzeichnis kopieren musst."
-#: ../../mod/install.php:426
+#: ../../mod/install.php:424
msgid ""
-"If not, you may be required to perform a manual installation. Please see the"
-" file \"INSTALL.txt\" for instructions."
-msgstr "Sollte dies nicht möglich sein, musst du die Installation manuell durchführen. Lies dazu bitte in der Datei \"INSTALL.txt\"."
+"You can alternatively skip this procedure and perform a manual installation."
+" Please see the file \"INSTALL.txt\" for instructions."
+msgstr "Alternativ kannst du diesen Schritt aber auch überspringen und die Installation manuell durchführen. Eine Anleitung dazu (Englisch) findest du in der Datei INSTALL.txt."
-#: ../../mod/install.php:429
+#: ../../mod/install.php:427
msgid ".htconfig.php is writable"
msgstr "Schreibrechte auf .htconfig.php"
-#: ../../mod/install.php:436
+#: ../../mod/install.php:439
+msgid ""
+"Url rewrite in .htaccess is not working. Check your server configuration."
+msgstr "Umschreiben der URLs in der .htaccess funktioniert nicht. Überprüfe die Konfiguration des Servers."
+
+#: ../../mod/install.php:441
+msgid "Url rewrite is working"
+msgstr "URL rewrite funktioniert"
+
+#: ../../mod/install.php:451
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 "Die Konfigurationsdatei \".htconfig.php\" konnte nicht angelegt werden. Bitte verwende den angefügten Text, um die Datei im Stammverzeichnis deiner Friendica-Installation zu erzeugen."
-#: ../../mod/install.php:461
+#: ../../mod/install.php:476
msgid "Errors encountered creating database tables."
msgstr "Fehler aufgetreten während der Erzeugung der Datenbanktabellen."
+#: ../../mod/install.php:487
+msgid "<h1>What next</h1>"
+msgstr "<h1>Wie geht es weiter?</h1>"
+
+#: ../../mod/install.php:488
+msgid ""
+"IMPORTANT: You will need to [manually] setup a scheduled task for the "
+"poller."
+msgstr "WICHTIG: Du musst [manuell] einen Cronjob (o.ä.) für den Poller einrichten."
+
#: ../../mod/localtime.php:12 ../../include/event.php:11
-#: ../../include/bb2diaspora.php:238
+#: ../../include/bb2diaspora.php:243
msgid "l F d, Y \\@ g:i A"
msgstr "l F d, Y \\@ g:i A"
@@ -1186,7 +1201,7 @@ msgid "is interested in:"
msgstr "ist interessiert an:"
#: ../../mod/match.php:58 ../../mod/suggest.php:59
-#: ../../include/contact_widgets.php:9 ../../boot.php:1047
+#: ../../include/contact_widgets.php:9 ../../boot.php:1044
msgid "Connect"
msgstr "Verbinden"
@@ -1234,7 +1249,7 @@ msgstr "Netzwerk"
msgid "Personal"
msgstr "Persönlich"
-#: ../../mod/notifications.php:90 ../../view/theme/diabook/theme.php:122
+#: ../../mod/notifications.php:90 ../../view/theme/diabook/theme.php:127
#: ../../include/nav.php:77 ../../include/nav.php:115
msgid "Home"
msgstr "Pinnwand"
@@ -1675,7 +1690,7 @@ msgstr "du bist Fan von"
msgid "Edit contact"
msgstr "Kontakt bearbeiten"
-#: ../../mod/contacts.php:544 ../../view/theme/diabook/theme.php:124
+#: ../../mod/contacts.php:544 ../../view/theme/diabook/theme.php:129
#: ../../include/nav.php:139
msgid "Contacts"
msgstr "Kontakte"
@@ -1707,13 +1722,13 @@ msgid "Password reset requested at %s"
msgstr "Anfrage zum Zurücksetzen des Passworts auf %s erhalten"
#: ../../mod/lostpass.php:45 ../../mod/lostpass.php:107
-#: ../../mod/register.php:367 ../../mod/register.php:421
-#: ../../mod/regmod.php:54 ../../mod/dfrn_confirm.php:745
+#: ../../mod/register.php:90 ../../mod/register.php:144
+#: ../../mod/regmod.php:54 ../../mod/dfrn_confirm.php:752
#: ../../addon/facebook/facebook.php:688
#: ../../addon/facebook/facebook.php:1178
#: ../../addon/public_server/public_server.php:62
-#: ../../addon/testdrive/testdrive.php:67 ../../include/items.php:2738
-#: ../../boot.php:697
+#: ../../addon/testdrive/testdrive.php:67 ../../include/items.php:2742
+#: ../../boot.php:694
msgid "Administrator"
msgstr "Administrator"
@@ -1723,7 +1738,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:83 ../../boot.php:829
+#: ../../mod/lostpass.php:83 ../../boot.php:826
msgid "Password Reset"
msgstr "Passwort zurücksetzen"
@@ -1767,97 +1782,97 @@ msgstr "Spitzname oder Email:"
msgid "Reset"
msgstr "Zurücksetzen"
-#: ../../mod/settings.php:49 ../../include/nav.php:137
+#: ../../mod/settings.php:50 ../../include/nav.php:137
msgid "Account settings"
msgstr "Account-Einstellungen"
-#: ../../mod/settings.php:54
+#: ../../mod/settings.php:55
msgid "Display settings"
msgstr "Anzeige-Einstellungen"
-#: ../../mod/settings.php:60
+#: ../../mod/settings.php:61
msgid "Connector settings"
msgstr "Connector-Einstellungen"
-#: ../../mod/settings.php:65
+#: ../../mod/settings.php:66
msgid "Plugin settings"
msgstr "Plugin-Einstellungen"
-#: ../../mod/settings.php:70
+#: ../../mod/settings.php:71
msgid "Connected apps"
msgstr "Verbundene Programme"
-#: ../../mod/settings.php:75
+#: ../../mod/settings.php:76
msgid "Export personal data"
msgstr "Persönliche Daten exportieren"
-#: ../../mod/settings.php:80
+#: ../../mod/settings.php:81
msgid "Remove account"
msgstr "Account entfernen"
-#: ../../mod/settings.php:88 ../../mod/admin.php:748 ../../mod/admin.php:953
-#: ../../addon/mathjax/mathjax.php:36 ../../view/theme/diabook/theme.php:638
-#: ../../view/theme/diabook/theme.php:768 ../../include/nav.php:137
+#: ../../mod/settings.php:89 ../../mod/admin.php:748 ../../mod/admin.php:953
+#: ../../addon/mathjax/mathjax.php:36 ../../view/theme/diabook/theme.php:643
+#: ../../view/theme/diabook/theme.php:773 ../../include/nav.php:137
msgid "Settings"
msgstr "Einstellungen"
-#: ../../mod/settings.php:131
+#: ../../mod/settings.php:133
msgid "Missing some important data!"
msgstr "Wichtige Daten fehlen!"
-#: ../../mod/settings.php:134 ../../mod/settings.php:579
+#: ../../mod/settings.php:136 ../../mod/settings.php:581
msgid "Update"
msgstr "Aktualisierungen"
-#: ../../mod/settings.php:239
+#: ../../mod/settings.php:241
msgid "Failed to connect with email account using the settings provided."
msgstr "Konnte das Email Konto mit den angegebenen Einstellungen nicht erreichen."
-#: ../../mod/settings.php:244
+#: ../../mod/settings.php:246
msgid "Email settings updated."
msgstr "EMail Einstellungen bearbeitet."
-#: ../../mod/settings.php:303
+#: ../../mod/settings.php:305
msgid "Passwords do not match. Password unchanged."
msgstr "Die Passwörter stimmen nicht überein. Das Passwort bleibt unverändert."
-#: ../../mod/settings.php:308
+#: ../../mod/settings.php:310
msgid "Empty passwords are not allowed. Password unchanged."
msgstr "Leere Passwörter sind nicht erlaubt. Passwort bleibt unverändert."
-#: ../../mod/settings.php:319
+#: ../../mod/settings.php:321
msgid "Password changed."
msgstr "Passwort ändern."
-#: ../../mod/settings.php:321
+#: ../../mod/settings.php:323
msgid "Password update failed. Please try again."
msgstr "Aktualisierung des Passworts gescheitert, bitte versuche es noch einmal."
-#: ../../mod/settings.php:385
+#: ../../mod/settings.php:386
msgid " Please use a shorter name."
msgstr " Bitte verwende einen kürzeren Namen."
-#: ../../mod/settings.php:387
+#: ../../mod/settings.php:388
msgid " Name too short."
msgstr " Name ist zu kurz."
-#: ../../mod/settings.php:393
+#: ../../mod/settings.php:394
msgid " Not valid email."
msgstr " Keine gültige E-Mail."
-#: ../../mod/settings.php:395
+#: ../../mod/settings.php:396
msgid " Cannot change to that email."
msgstr "Ändern der E-Mail nicht möglich. "
-#: ../../mod/settings.php:448
+#: ../../mod/settings.php:450
msgid "Private forum has no privacy permissions. Using default privacy group."
-msgstr ""
+msgstr "Für das private Forum sind keine Zugriffsrechte eingestellt. Die voreingestellte Gruppe für neue Kontakte wird benutzt."
-#: ../../mod/settings.php:452
+#: ../../mod/settings.php:454
msgid "Private forum has no privacy permissions and no default privacy group."
-msgstr ""
+msgstr "Für das private Forum sind keine Zugriffsrechte eingestellt, und es gibt keine voreingestellte Gruppe für neue Kontakte."
-#: ../../mod/settings.php:482 ../../addon/facebook/facebook.php:488
+#: ../../mod/settings.php:484 ../../addon/facebook/facebook.php:488
#: ../../addon/impressum/impressum.php:77
#: ../../addon/openstreetmap/openstreetmap.php:80
#: ../../addon/mathjax/mathjax.php:66 ../../addon/piwik/piwik.php:105
@@ -1865,420 +1880,428 @@ msgstr ""
msgid "Settings updated."
msgstr "Einstellungen aktualisiert."
-#: ../../mod/settings.php:552 ../../mod/settings.php:578
-#: ../../mod/settings.php:614
+#: ../../mod/settings.php:554 ../../mod/settings.php:580
+#: ../../mod/settings.php:616
msgid "Add application"
msgstr "Programm hinzufügen"
-#: ../../mod/settings.php:556 ../../mod/settings.php:582
+#: ../../mod/settings.php:558 ../../mod/settings.php:584
#: ../../addon/statusnet/statusnet.php:555
msgid "Consumer Key"
msgstr "Consumer Key"
-#: ../../mod/settings.php:557 ../../mod/settings.php:583
+#: ../../mod/settings.php:559 ../../mod/settings.php:585
#: ../../addon/statusnet/statusnet.php:554
msgid "Consumer Secret"
msgstr "Consumer Secret"
-#: ../../mod/settings.php:558 ../../mod/settings.php:584
+#: ../../mod/settings.php:560 ../../mod/settings.php:586
msgid "Redirect"
msgstr "Umleiten"
-#: ../../mod/settings.php:559 ../../mod/settings.php:585
+#: ../../mod/settings.php:561 ../../mod/settings.php:587
msgid "Icon url"
msgstr "Icon URL"
-#: ../../mod/settings.php:570
+#: ../../mod/settings.php:572
msgid "You can't edit this application."
msgstr "Du kannst dieses Programm nicht bearbeiten."
-#: ../../mod/settings.php:613
+#: ../../mod/settings.php:615
msgid "Connected Apps"
msgstr "Verbundene Programme"
-#: ../../mod/settings.php:617
+#: ../../mod/settings.php:619
msgid "Client key starts with"
msgstr "Anwenderschlüssel beginnt mit"
-#: ../../mod/settings.php:618
+#: ../../mod/settings.php:620
msgid "No name"
msgstr "Kein Name"
-#: ../../mod/settings.php:619
+#: ../../mod/settings.php:621
msgid "Remove authorization"
msgstr "Autorisierung entziehen"
-#: ../../mod/settings.php:630
+#: ../../mod/settings.php:632
msgid "No Plugin settings configured"
msgstr "Keine Plugin-Einstellungen konfiguriert"
-#: ../../mod/settings.php:638 ../../addon/widgets/widgets.php:123
+#: ../../mod/settings.php:640 ../../addon/widgets/widgets.php:123
msgid "Plugin Settings"
msgstr "Plugin-Einstellungen"
-#: ../../mod/settings.php:650 ../../mod/settings.php:651
+#: ../../mod/settings.php:652 ../../mod/settings.php:653
#, php-format
msgid "Built-in support for %s connectivity is %s"
msgstr "Eingebaute Unterstützung für Verbindungen zu %s ist %s"
-#: ../../mod/settings.php:650 ../../mod/settings.php:651
+#: ../../mod/settings.php:652 ../../mod/settings.php:653
msgid "enabled"
msgstr "eingeschaltet"
-#: ../../mod/settings.php:650 ../../mod/settings.php:651
+#: ../../mod/settings.php:652 ../../mod/settings.php:653
msgid "disabled"
msgstr "ausgeschaltet"
-#: ../../mod/settings.php:651
+#: ../../mod/settings.php:653
msgid "StatusNet"
msgstr "StatusNet"
-#: ../../mod/settings.php:681
+#: ../../mod/settings.php:683
msgid "Connector Settings"
msgstr "Verbindungs-Einstellungen"
-#: ../../mod/settings.php:686
+#: ../../mod/settings.php:688
msgid "Email/Mailbox Setup"
msgstr "E-Mail/Postfach-Einstellungen"
-#: ../../mod/settings.php:687
+#: ../../mod/settings.php:689
msgid ""
"If you wish to communicate with email contacts using this service "
"(optional), please specify how to connect to your mailbox."
msgstr "Wenn du mit E-Mail-Kontakten über diesen Service kommunizieren möchtest (optional), gib bitte die Einstellungen für dein Postfach an."
-#: ../../mod/settings.php:688
+#: ../../mod/settings.php:690
msgid "Last successful email check:"
msgstr "Letzter erfolgreicher Email Check"
-#: ../../mod/settings.php:689
+#: ../../mod/settings.php:691
msgid "Email access is disabled on this site."
msgstr "Zugriff auf E-Mails für diese Seite deaktiviert."
-#: ../../mod/settings.php:690
+#: ../../mod/settings.php:692
msgid "IMAP server name:"
msgstr "IMAP-Server-Name:"
-#: ../../mod/settings.php:691
+#: ../../mod/settings.php:693
msgid "IMAP port:"
msgstr "IMAP-Port:"
-#: ../../mod/settings.php:692
+#: ../../mod/settings.php:694
msgid "Security:"
msgstr "Sicherheit:"
-#: ../../mod/settings.php:692 ../../mod/settings.php:697
+#: ../../mod/settings.php:694 ../../mod/settings.php:699
msgid "None"
msgstr "Keine"
-#: ../../mod/settings.php:693
+#: ../../mod/settings.php:695
msgid "Email login name:"
msgstr "E-Mail-Login-Name:"
-#: ../../mod/settings.php:694
+#: ../../mod/settings.php:696
msgid "Email password:"
msgstr "E-Mail-Passwort:"
-#: ../../mod/settings.php:695
+#: ../../mod/settings.php:697
msgid "Reply-to address:"
msgstr "Reply-to Adresse:"
-#: ../../mod/settings.php:696
+#: ../../mod/settings.php:698
msgid "Send public posts to all email contacts:"
msgstr "Sende öffentliche Beiträge an alle E-Mail-Kontakte:"
-#: ../../mod/settings.php:697
+#: ../../mod/settings.php:699
msgid "Action after import:"
msgstr "Aktion nach Import:"
-#: ../../mod/settings.php:697
+#: ../../mod/settings.php:699
msgid "Mark as seen"
msgstr "Als gelesen markieren"
-#: ../../mod/settings.php:697
+#: ../../mod/settings.php:699
msgid "Move to folder"
msgstr "In einen Ordner verschieben"
-#: ../../mod/settings.php:698
+#: ../../mod/settings.php:700
msgid "Move to folder:"
msgstr "In diesen Ordner verschieben:"
-#: ../../mod/settings.php:758
+#: ../../mod/settings.php:760
msgid "Display Settings"
msgstr "Anzeige-Einstellungen"
-#: ../../mod/settings.php:764
+#: ../../mod/settings.php:766
msgid "Display Theme:"
msgstr "Theme:"
-#: ../../mod/settings.php:765
+#: ../../mod/settings.php:767
msgid "Update browser every xx seconds"
msgstr "Browser alle xx Sekunden aktualisieren"
-#: ../../mod/settings.php:765
+#: ../../mod/settings.php:767
msgid "Minimum of 10 seconds, no maximum"
msgstr "Minimal 10 Sekunden, kein Maximum"
-#: ../../mod/settings.php:766
+#: ../../mod/settings.php:768
msgid "Number of items to display on the network page:"
msgstr "Zahl der Beiträge, die pro Netzwerkseite angezeigt werden sollen: "
-#: ../../mod/settings.php:766
+#: ../../mod/settings.php:768
msgid "Maximum of 100 items"
msgstr "Maximal 100 Beiträge"
-#: ../../mod/settings.php:767
+#: ../../mod/settings.php:769
msgid "Don't show emoticons"
msgstr "Keine Smilies anzeigen"
-#: ../../mod/settings.php:835 ../../mod/admin.php:180 ../../mod/admin.php:634
-msgid "Normal Account"
-msgstr "Normaler Account"
+#: ../../mod/settings.php:840
+msgid "Normal Account Page"
+msgstr "Normale Account Seite"
-#: ../../mod/settings.php:836
+#: ../../mod/settings.php:841
msgid "This account is a normal personal profile"
msgstr "Dieser Account ist ein normales persönliches Profil"
-#: ../../mod/settings.php:839 ../../mod/admin.php:181 ../../mod/admin.php:635
-msgid "Soapbox Account"
-msgstr "Sandkasten-Account"
+#: ../../mod/settings.php:844
+msgid "Soapbox Page"
+msgstr "Sandkasten Seite"
-#: ../../mod/settings.php:840
+#: ../../mod/settings.php:845
msgid "Automatically approve all connection/friend requests as read-only fans"
msgstr "Kontaktanfragen werden automatisch als Nurlese-Fans akzeptiert"
-#: ../../mod/settings.php:843 ../../mod/admin.php:182 ../../mod/admin.php:636
-msgid "Community/Celebrity Account"
-msgstr "Gemeinschafts-/Promi-Account"
+#: ../../mod/settings.php:848
+msgid "Community Forum/Celebrity Account"
+msgstr "Gemeinschafts Forum / Promi Konto"
-#: ../../mod/settings.php:844
+#: ../../mod/settings.php:849
msgid ""
"Automatically approve all connection/friend requests as read-write fans"
msgstr "Kontaktanfragen werden automatisch als Lese-und-Schreib-Fans akzeptiert"
-#: ../../mod/settings.php:847 ../../mod/admin.php:183 ../../mod/admin.php:637
-msgid "Automatic Friend Account"
-msgstr "Automatischer Freundesaccount"
+#: ../../mod/settings.php:852
+msgid "Automatic Friend Page"
+msgstr "Automatische Freunde Seite"
-#: ../../mod/settings.php:848
+#: ../../mod/settings.php:853
msgid "Automatically approve all connection/friend requests as friends"
msgstr "Kontaktanfragen werden automatisch als Freund akzeptiert"
-#: ../../mod/settings.php:851
-msgid "Private Forum"
-msgstr ""
+#: ../../mod/settings.php:856
+msgid "Private Forum [Experimental]"
+msgstr "Privates Forum [Versuchsstadium]"
-#: ../../mod/settings.php:852
-msgid "Private forum - approved members only [Experimental]"
-msgstr ""
+#: ../../mod/settings.php:857
+msgid "Private forum - approved members only"
+msgstr "Privates Forum - Ausschließlich für Mitglieder"
-#: ../../mod/settings.php:865
+#: ../../mod/settings.php:869
msgid "OpenID:"
msgstr "OpenID:"
-#: ../../mod/settings.php:865
+#: ../../mod/settings.php:869
msgid "(Optional) Allow this OpenID to login to this account."
msgstr "(Optional) Erlaube die Anmeldung für diesen Account mit dieser OpenID."
-#: ../../mod/settings.php:875
+#: ../../mod/settings.php:879
msgid "Publish your default profile in your local site directory?"
msgstr "Veröffentliche dein Standardprofil im Verzeichnis der lokalen Seite?"
-#: ../../mod/settings.php:881
+#: ../../mod/settings.php:885
msgid "Publish your default profile in the global social directory?"
msgstr "Veröffentliche dein Standardprofil im weltweiten Verzeichnis?"
-#: ../../mod/settings.php:889
+#: ../../mod/settings.php:893
msgid "Hide your contact/friend list from viewers of your default profile?"
msgstr "Liste der Kontakte vor Betrachtern des Standardprofils verbergen?"
-#: ../../mod/settings.php:893
+#: ../../mod/settings.php:897
msgid "Hide your profile details from unknown viewers?"
msgstr "Profil-Details vor unbekannten Betrachtern verbergen?"
-#: ../../mod/settings.php:898
+#: ../../mod/settings.php:902
msgid "Allow friends to post to your profile page?"
msgstr "Deinen Kontakten erlauben, auf deine Pinnwand zu schreiben?"
-#: ../../mod/settings.php:904
+#: ../../mod/settings.php:908
msgid "Allow friends to tag your posts?"
msgstr "Deinen Kontakten erlauben, deine Beiträge mit Schlagwörtern zu versehen?"
-#: ../../mod/settings.php:910
+#: ../../mod/settings.php:914
msgid "Allow us to suggest you as a potential friend to new members?"
msgstr "Erlaube uns dich als potentiellen Kontakt für neue Mitglieder vorzuschlagen?"
-#: ../../mod/settings.php:916
+#: ../../mod/settings.php:920
msgid "Permit unknown people to send you private mail?"
msgstr "Erlaube es Unbekannten dir private Nachrichten zu schicken?"
-#: ../../mod/settings.php:927
+#: ../../mod/settings.php:931
msgid "Profile is <strong>not published</strong>."
msgstr "Profil ist <strong>nicht veröffentlicht</strong>."
-#: ../../mod/settings.php:933 ../../mod/profile_photo.php:211
+#: ../../mod/settings.php:937 ../../mod/profile_photo.php:211
msgid "or"
msgstr "oder"
-#: ../../mod/settings.php:938
+#: ../../mod/settings.php:942
msgid "Your Identity Address is"
msgstr "Die Adresse deines Profils lautet:"
-#: ../../mod/settings.php:949
+#: ../../mod/settings.php:953
msgid "Automatically expire posts after this many days:"
msgstr "Beiträge verfallen automatisch nach dieser Anzahl von Tagen"
-#: ../../mod/settings.php:949
+#: ../../mod/settings.php:953
msgid "If empty, posts will not expire. Expired posts will be deleted"
msgstr "Wenn leer verfallen Beiträge nie automatisch. Verfallene Beiträge werden gelöscht."
-#: ../../mod/settings.php:950
+#: ../../mod/settings.php:954
msgid "Advanced expiration settings"
msgstr "Erweiterte Verfallseinstellungen"
-#: ../../mod/settings.php:951
+#: ../../mod/settings.php:955
msgid "Advanced Expiration"
msgstr "Erweitertes Verfallen"
-#: ../../mod/settings.php:952
+#: ../../mod/settings.php:956
msgid "Expire posts:"
msgstr "Beiträge verfallen lassen:"
-#: ../../mod/settings.php:953
+#: ../../mod/settings.php:957
msgid "Expire personal notes:"
msgstr "Persönliche Notizen verfallen lassen:"
-#: ../../mod/settings.php:954
+#: ../../mod/settings.php:958
msgid "Expire starred posts:"
msgstr "Markierte Beiträge verfallen lassen:"
-#: ../../mod/settings.php:955
+#: ../../mod/settings.php:959
msgid "Expire photos:"
msgstr "Fotos verfallen lassen:"
-#: ../../mod/settings.php:962
+#: ../../mod/settings.php:960
+msgid "Only expire posts by others:"
+msgstr "Nur Beiträge anderer verfallen"
+
+#: ../../mod/settings.php:967
msgid "Account Settings"
msgstr "Account-Einstellungen"
-#: ../../mod/settings.php:970
+#: ../../mod/settings.php:975
msgid "Password Settings"
msgstr "Passwort-Einstellungen"
-#: ../../mod/settings.php:971
+#: ../../mod/settings.php:976
msgid "New Password:"
msgstr "Neues Passwort:"
-#: ../../mod/settings.php:972
+#: ../../mod/settings.php:977
msgid "Confirm:"
msgstr "Bestätigen:"
-#: ../../mod/settings.php:972
+#: ../../mod/settings.php:977
msgid "Leave password fields blank unless changing"
msgstr "Lass die Passwort-Felder leer, außer du willst das Passwort ändern"
-#: ../../mod/settings.php:976
+#: ../../mod/settings.php:981
msgid "Basic Settings"
msgstr "Grundeinstellungen"
-#: ../../mod/settings.php:977 ../../include/profile_advanced.php:15
+#: ../../mod/settings.php:982 ../../include/profile_advanced.php:15
msgid "Full Name:"
msgstr "Kompletter Name:"
-#: ../../mod/settings.php:978
+#: ../../mod/settings.php:983
msgid "Email Address:"
msgstr "Emailadresse:"
-#: ../../mod/settings.php:979
+#: ../../mod/settings.php:984
msgid "Your Timezone:"
msgstr "Deine Zeitzone:"
-#: ../../mod/settings.php:980
+#: ../../mod/settings.php:985
msgid "Default Post Location:"
msgstr "Standardstandort:"
-#: ../../mod/settings.php:981
+#: ../../mod/settings.php:986
msgid "Use Browser Location:"
msgstr "Verwende den Standort des Browsers:"
-#: ../../mod/settings.php:984
+#: ../../mod/settings.php:989
msgid "Security and Privacy Settings"
msgstr "Sicherheits- und Privatsphäre-Einstellungen"
-#: ../../mod/settings.php:986
+#: ../../mod/settings.php:991
msgid "Maximum Friend Requests/Day:"
msgstr "Maximale Anzahl von Freundschaftsanfragen/Tag:"
-#: ../../mod/settings.php:986 ../../mod/settings.php:1005
+#: ../../mod/settings.php:991 ../../mod/settings.php:1010
msgid "(to prevent spam abuse)"
msgstr "(um SPAM zu vermeiden)"
-#: ../../mod/settings.php:987
+#: ../../mod/settings.php:992
msgid "Default Post Permissions"
msgstr "Standard-Zugriffsrechte für Beiträge"
-#: ../../mod/settings.php:988
+#: ../../mod/settings.php:993
msgid "(click to open/close)"
msgstr "(klicke zum öffnen/schließen)"
-#: ../../mod/settings.php:1005
+#: ../../mod/settings.php:1010
msgid "Maximum private messages per day from unknown people:"
msgstr "Maximale Anzahl von privaten Nachrichten, die dir unbekannte Personen pro Tag senden dürfen:"
-#: ../../mod/settings.php:1008
+#: ../../mod/settings.php:1013
msgid "Notification Settings"
msgstr "Benachrichtigungseinstellungen"
-#: ../../mod/settings.php:1009
+#: ../../mod/settings.php:1014
msgid "By default post a status message when:"
msgstr "Standardmäßig eine Statusnachricht posten, wenn:"
-#: ../../mod/settings.php:1010
+#: ../../mod/settings.php:1015
msgid "accepting a friend request"
msgstr "– du eine Kontaktanfrage akzeptierst"
-#: ../../mod/settings.php:1011
+#: ../../mod/settings.php:1016
msgid "joining a forum/community"
msgstr "– du einem Forum/einer Gemeinschaftsseite beitrittst"
-#: ../../mod/settings.php:1012
+#: ../../mod/settings.php:1017
msgid "making an <em>interesting</em> profile change"
msgstr "– du eine <em>interessante</em> Änderung an deinem Profil durchführst"
-#: ../../mod/settings.php:1013
+#: ../../mod/settings.php:1018
msgid "Send a notification email when:"
msgstr "Benachrichtigungs-E-Mail senden wenn:"
-#: ../../mod/settings.php:1014
+#: ../../mod/settings.php:1019
msgid "You receive an introduction"
msgstr "– du eine Kontaktanfrage erhältst"
-#: ../../mod/settings.php:1015
+#: ../../mod/settings.php:1020
msgid "Your introductions are confirmed"
msgstr "– eine deiner Kontaktanfragen akzeptiert wurde"
-#: ../../mod/settings.php:1016
+#: ../../mod/settings.php:1021
msgid "Someone writes on your profile wall"
msgstr "– jemand etwas auf deine Pinnwand schreibt"
-#: ../../mod/settings.php:1017
+#: ../../mod/settings.php:1022
msgid "Someone writes a followup comment"
msgstr "– jemand auch einen Kommentar verfasst"
-#: ../../mod/settings.php:1018
+#: ../../mod/settings.php:1023
msgid "You receive a private message"
msgstr "– du eine private Nachricht erhältst"
-#: ../../mod/settings.php:1019
+#: ../../mod/settings.php:1024
msgid "You receive a friend suggestion"
msgstr "- du eine Empfehlung erhältst"
-#: ../../mod/settings.php:1020
+#: ../../mod/settings.php:1025
msgid "You are tagged in a post"
msgstr "- du in einem Beitrag erwähnt wurdest"
-#: ../../mod/settings.php:1023
-msgid "Advanced Page Settings"
-msgstr "Erweiterte Seiten-Einstellungen"
+#: ../../mod/settings.php:1028
+msgid "Advanced Account/Page Type Settings"
+msgstr ""
+
+#: ../../mod/settings.php:1029
+msgid "Change the behaviour of this account for special situations"
+msgstr "Ändere das Verhalten deines Accounts für spezielle Situationen."
#: ../../mod/manage.php:90
msgid "Manage Identities and/or Pages"
@@ -2390,13 +2413,13 @@ msgstr "Private Nachrichten an diese Person könnten an die Öffentlichkeit gela
msgid "Invalid contact."
msgstr "Ungültiger Kontakt."
-#: ../../mod/notes.php:44 ../../boot.php:1529
+#: ../../mod/notes.php:44 ../../boot.php:1526
msgid "Personal Notes"
msgstr "Persönliche Notizen"
#: ../../mod/notes.php:63 ../../mod/filer.php:30
#: ../../addon/facebook/facebook.php:756
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:148
+#: ../../addon/privacy_image_cache/privacy_image_cache.php:150
#: ../../include/text.php:652
msgid "Save"
msgstr "Speichern"
@@ -2431,7 +2454,7 @@ msgid "No recipient."
msgstr "Kein Empfänger."
#: ../../mod/wallmessage.php:124 ../../mod/message.php:171
-#: ../../include/conversation.php:922
+#: ../../include/conversation.php:937
msgid "Please enter a link URL:"
msgstr "Bitte gib die URL des Links ein:"
@@ -2639,9 +2662,9 @@ msgstr "Ungültiger Profil-Bezeichner"
msgid "Profile Visibility Editor"
msgstr "Editor für die Profil-Sichtbarkeit"
-#: ../../mod/profperm.php:103 ../../view/theme/diabook/theme.php:123
-#: ../../include/profile_advanced.php:7 ../../include/profile_advanced.php:74
-#: ../../include/nav.php:50 ../../boot.php:1508
+#: ../../mod/profperm.php:103 ../../view/theme/diabook/theme.php:128
+#: ../../include/profile_advanced.php:7 ../../include/profile_advanced.php:77
+#: ../../include/nav.php:50 ../../boot.php:1505
msgid "Profile"
msgstr "Profil"
@@ -2661,159 +2684,91 @@ msgstr "Keine Kontakte."
msgid "View Contacts"
msgstr "Kontakte anzeigen"
-#: ../../mod/register.php:64
-msgid "An invitation is required."
-msgstr "Du benötigst eine Einladung."
-
-#: ../../mod/register.php:69
-msgid "Invitation could not be verified."
-msgstr "Die Einladung konnte nicht überprüft werden."
-
-#: ../../mod/register.php:77
-msgid "Invalid OpenID url"
-msgstr "Ungültige OpenID URL"
-
-#: ../../mod/register.php:92
-msgid "Please enter the required information."
-msgstr "Bitte trage die erforderlichen Informationen ein."
-
-#: ../../mod/register.php:106
-msgid "Please use a shorter name."
-msgstr "Bitte verwende einen kürzeren Namen."
-
-#: ../../mod/register.php:108
-msgid "Name too short."
-msgstr "Der Name ist zu kurz."
-
-#: ../../mod/register.php:123
-msgid "That doesn't appear to be your full (First Last) name."
-msgstr "Das scheint nicht dein kompletter Name (Vor- und Nachname) zu sein."
-
-#: ../../mod/register.php:128
-msgid "Your email domain is not among those allowed on this site."
-msgstr "Die Domain deiner E-Mail Adresse ist auf dieser Seite nicht erlaubt."
-
-#: ../../mod/register.php:131
-msgid "Not a valid email address."
-msgstr "Keine gültige E-Mail-Adresse."
-
-#: ../../mod/register.php:141
-msgid "Cannot use that email."
-msgstr "Konnte diese E-Mail-Adresse nicht verwenden."
-
-#: ../../mod/register.php:147
-msgid ""
-"Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and "
-"must also begin with a letter."
-msgstr "Dein Spitzname darf nur aus Buchstaben und Zahlen (\"a-z\",\"0-9\", \"_\" und \"-\") bestehen, außerdem muss er mit einem Buchstaben beginnen."
-
-#: ../../mod/register.php:153 ../../mod/register.php:243
-msgid "Nickname is already registered. Please choose another."
-msgstr "Dieser Spitzname ist bereits vergeben. Bitte wähle einen anderen."
-
-#: ../../mod/register.php:163
-msgid ""
-"Nickname was once registered here and may not be re-used. Please choose "
-"another."
-msgstr "Dieser Spitzname ist bereits vergeben. Bitte wähle einen anderen."
-
-#: ../../mod/register.php:179
-msgid "SERIOUS ERROR: Generation of security keys failed."
-msgstr "FATALER FEHLER: Sicherheitsschlüssel konnten nicht erzeugt werden."
-
-#: ../../mod/register.php:229
-msgid "An error occurred during registration. Please try again."
-msgstr "Wärend der Anmeldung ist ein Fehler aufgetreten. Bitte versuche es noch einmal."
-
-#: ../../mod/register.php:265
-msgid "An error occurred creating your default profile. Please try again."
-msgstr "Bei der Erstellung des Standardprofils ist ein Fehler aufgetreten. Bitte versuche es noch einmal."
-
-#: ../../mod/register.php:365 ../../mod/regmod.php:52
+#: ../../mod/register.php:88 ../../mod/regmod.php:52
#, php-format
msgid "Registration details for %s"
msgstr "Details der Registration von %s"
-#: ../../mod/register.php:373
+#: ../../mod/register.php:96
msgid ""
"Registration successful. Please check your email for further instructions."
msgstr "Registrierung erfolgreich. Eine E-Mail mit weiteren Anweisungen wurde an dich gesendet."
-#: ../../mod/register.php:377
+#: ../../mod/register.php:100
msgid "Failed to send email message. Here is the message that failed."
msgstr "Konnte die E-Mail nicht versenden. Hier ist die Nachricht, die nicht gesendet werden konnte."
-#: ../../mod/register.php:382
+#: ../../mod/register.php:105
msgid "Your registration can not be processed."
msgstr "Deine Registrierung konnte nicht verarbeitet werden."
-#: ../../mod/register.php:419
+#: ../../mod/register.php:142
#, php-format
msgid "Registration request at %s"
msgstr "Registrierungsanfrage auf %s"
-#: ../../mod/register.php:428
+#: ../../mod/register.php:151
msgid "Your registration is pending approval by the site owner."
msgstr "Deine Registrierung muss noch vom Betreiber der Seite freigegeben werden."
-#: ../../mod/register.php:466
+#: ../../mod/register.php:189
msgid ""
"This site has exceeded the number of allowed daily account registrations. "
"Please try again tomorrow."
msgstr "Die maximale Anzahl täglicher Registrierungen auf dieser Seite wurde überschritten. Bitte versuche es morgen noch einmal."
-#: ../../mod/register.php:492
+#: ../../mod/register.php:215
msgid ""
"You may (optionally) fill in this form via OpenID by supplying your OpenID "
"and clicking 'Register'."
msgstr "Du kannst dieses Formular auch (optional) mit deiner OpenID ausfüllen, indem du deine OpenID angibst und 'Registrieren' klickst."
-#: ../../mod/register.php:493
+#: ../../mod/register.php:216
msgid ""
"If you are not familiar with OpenID, please leave that field blank and fill "
"in the rest of the items."
msgstr "Wenn du nicht mit OpenID vertraut bist, lass dieses Feld bitte leer und fülle die restlichen Felder aus."
-#: ../../mod/register.php:494
+#: ../../mod/register.php:217
msgid "Your OpenID (optional): "
msgstr "Deine OpenID (optional): "
-#: ../../mod/register.php:508
+#: ../../mod/register.php:231
msgid "Include your profile in member directory?"
msgstr "Soll dein Profil im Nutzerverzeichnis angezeigt werden?"
-#: ../../mod/register.php:528
+#: ../../mod/register.php:251
msgid "Membership on this site is by invitation only."
msgstr "Mitgliedschaft auf dieser Seite ist nur nach vorheriger Einladung möglich."
-#: ../../mod/register.php:529
+#: ../../mod/register.php:252
msgid "Your invitation ID: "
msgstr "ID deiner Einladung: "
-#: ../../mod/register.php:532 ../../mod/admin.php:418
+#: ../../mod/register.php:255 ../../mod/admin.php:418
msgid "Registration"
msgstr "Registrierung"
-#: ../../mod/register.php:540
+#: ../../mod/register.php:263
msgid "Your Full Name (e.g. Joe Smith): "
msgstr "Vollständiger Name (z.B. Max Mustermann): "
-#: ../../mod/register.php:541
+#: ../../mod/register.php:264
msgid "Your Email Address: "
msgstr "Deine E-Mail-Adresse: "
-#: ../../mod/register.php:542
+#: ../../mod/register.php:265
msgid ""
"Choose a profile nickname. This must begin with a text character. Your "
"profile address on this site will then be "
"'<strong>nickname@$sitename</strong>'."
msgstr "Wähle einen Spitznamen für dein Profil. Dieser muss mit einem Buchstaben beginnen. Die Adresse deines Profils auf dieser Seite wird '<strong>spitzname@$sitename</strong>' sein."
-#: ../../mod/register.php:543
+#: ../../mod/register.php:266
msgid "Choose a nickname: "
msgstr "Spitznamen wählen: "
-#: ../../mod/register.php:546 ../../include/nav.php:81 ../../boot.php:795
+#: ../../mod/register.php:269 ../../include/nav.php:81 ../../boot.php:792
msgid "Register"
msgstr "Registrieren"
@@ -2825,8 +2780,8 @@ msgstr "Personen Suche"
#: ../../addon/facebook/facebook.php:1572
#: ../../addon/communityhome/communityhome.php:158
#: ../../addon/communityhome/communityhome.php:167
-#: ../../view/theme/diabook/theme.php:560
-#: ../../view/theme/diabook/theme.php:569 ../../include/diaspora.php:1662
+#: ../../view/theme/diabook/theme.php:565
+#: ../../view/theme/diabook/theme.php:574 ../../include/diaspora.php:1662
#: ../../include/conversation.php:48 ../../include/conversation.php:57
#: ../../include/conversation.php:121 ../../include/conversation.php:130
msgid "status"
@@ -2834,7 +2789,7 @@ msgstr "Status"
#: ../../mod/like.php:144 ../../addon/facebook/facebook.php:1576
#: ../../addon/communityhome/communityhome.php:172
-#: ../../view/theme/diabook/theme.php:574 ../../include/diaspora.php:1678
+#: ../../view/theme/diabook/theme.php:579 ../../include/diaspora.php:1678
#: ../../include/conversation.php:65
#, php-format
msgid "%1$s likes %2$s's %3$s"
@@ -2847,7 +2802,7 @@ msgstr "%1$s mag %2$ss %3$s nicht"
#: ../../mod/notice.php:15 ../../mod/viewsrc.php:15 ../../mod/admin.php:156
#: ../../mod/admin.php:697 ../../mod/admin.php:896 ../../mod/display.php:37
-#: ../../mod/display.php:142 ../../include/items.php:3096
+#: ../../mod/display.php:142 ../../include/items.php:3179
msgid "Item not found."
msgstr "Beitrag nicht gefunden."
@@ -2855,8 +2810,8 @@ msgstr "Beitrag nicht gefunden."
msgid "Access denied."
msgstr "Zugriff verweigert."
-#: ../../mod/fbrowser.php:23 ../../view/theme/diabook/theme.php:125
-#: ../../include/nav.php:51 ../../boot.php:1514
+#: ../../mod/fbrowser.php:23 ../../view/theme/diabook/theme.php:130
+#: ../../include/nav.php:51 ../../boot.php:1511
msgid "Photos"
msgstr "Bilder"
@@ -2885,35 +2840,35 @@ msgstr "Konnte den Originalbeitrag nicht finden."
msgid "Empty post discarded."
msgstr "Leerer Beitrag wurde verworfen."
-#: ../../mod/item.php:377 ../../mod/wall_upload.php:99
+#: ../../mod/item.php:379 ../../mod/wall_upload.php:99
#: ../../mod/wall_upload.php:108 ../../mod/wall_upload.php:115
#: ../../include/message.php:144
msgid "Wall Photos"
msgstr "Pinnwand-Bilder"
-#: ../../mod/item.php:786
+#: ../../mod/item.php:800
msgid "System error. Post not saved."
msgstr "Systemfehler. Beitrag konnte nicht gespeichert werden."
-#: ../../mod/item.php:811
+#: ../../mod/item.php:825
#, php-format
msgid ""
"This message was sent to you by %s, a member of the Friendica social "
"network."
msgstr "Diese Nachricht wurde dir von %s geschickt, einem Mitglied des Sozialen Netzwerks Friendica."
-#: ../../mod/item.php:813
+#: ../../mod/item.php:827
#, php-format
msgid "You may visit them online at %s"
msgstr "Du kannst sie online unter %s besuchen"
-#: ../../mod/item.php:814
+#: ../../mod/item.php:828
msgid ""
"Please contact the sender by replying to this post if you do not wish to "
"receive these messages."
msgstr "Falls du diese Beiträge nicht erhalten möchtest, kontaktiere bitte den Autor, indem du auf diese Nachricht antwortest."
-#: ../../mod/item.php:816
+#: ../../mod/item.php:830
#, php-format
msgid "%s posted an update."
msgstr "%s hat ein Update veröffentlicht."
@@ -3098,10 +3053,6 @@ msgstr "Themen"
msgid "DB updates"
msgstr "DB Updates"
-#: ../../mod/admin.php:101
-msgid "Software Update"
-msgstr "Software Update"
-
#: ../../mod/admin.php:115 ../../mod/admin.php:1074
msgid "Logs"
msgstr "Protokolle"
@@ -3110,9 +3061,25 @@ msgstr "Protokolle"
msgid "User registrations waiting for confirmation"
msgstr "Nutzeranmeldungen die auf Bestätigung warten"
+#: ../../mod/admin.php:180 ../../mod/admin.php:634
+msgid "Normal Account"
+msgstr "Normaler Account"
+
+#: ../../mod/admin.php:181 ../../mod/admin.php:635
+msgid "Soapbox Account"
+msgstr "Sandkasten-Account"
+
+#: ../../mod/admin.php:182 ../../mod/admin.php:636
+msgid "Community/Celebrity Account"
+msgstr "Gemeinschafts-/Promi-Account"
+
+#: ../../mod/admin.php:183 ../../mod/admin.php:637
+msgid "Automatic Friend Account"
+msgstr "Automatischer Freundesaccount"
+
#: ../../mod/admin.php:202
msgid "Message queues"
-msgstr ""
+msgstr "Nachrichten-Warteschlangen"
#: ../../mod/admin.php:207 ../../mod/admin.php:415 ../../mod/admin.php:651
#: ../../mod/admin.php:745 ../../mod/admin.php:787 ../../mod/admin.php:950
@@ -3640,7 +3607,7 @@ msgstr "FTP Nutzername"
msgid "FTP Password"
msgstr "FTP Passwort"
-#: ../../mod/profile.php:21 ../../boot.php:960
+#: ../../mod/profile.php:21 ../../boot.php:957
msgid "Requested profile is not available."
msgstr "Das angefragte Profil ist nicht vorhanden."
@@ -3710,10 +3677,10 @@ msgid ""
"Account not found and OpenID registration is not permitted on this site."
msgstr "Account wurde nicht gefunden und OpenID Registrierung auf diesem Server nicht gestattet."
-#: ../../mod/openid.php:93 ../../include/auth.php:97
-#: ../../include/auth.php:160
+#: ../../mod/openid.php:93 ../../include/auth.php:99
+#: ../../include/auth.php:162
msgid "Login failed."
-msgstr "Annmeldung fehlgeschlagen."
+msgstr "Anmeldung fehlgeschlagen."
#: ../../mod/follow.php:30
msgid "Connect URL missing."
@@ -3790,12 +3757,13 @@ msgstr "Anwendungen"
msgid "No installed applications."
msgstr "Keine Applikationen installiert."
-#: ../../mod/search.php:83 ../../include/text.php:650 ../../include/nav.php:91
+#: ../../mod/search.php:83 ../../include/text.php:649
+#: ../../include/text.php:650 ../../include/nav.php:91
msgid "Search"
msgstr "Suche"
-#: ../../mod/profiles.php:21 ../../mod/profiles.php:375
-#: ../../mod/profiles.php:489 ../../mod/dfrn_confirm.php:62
+#: ../../mod/profiles.php:21 ../../mod/profiles.php:392
+#: ../../mod/profiles.php:506 ../../mod/dfrn_confirm.php:62
msgid "Profile not found."
msgstr "Profil nicht gefunden."
@@ -3803,277 +3771,285 @@ msgstr "Profil nicht gefunden."
msgid "Profile Name is required."
msgstr "Profilname ist erforderlich."
-#: ../../mod/profiles.php:145
+#: ../../mod/profiles.php:151
msgid "Marital Status"
msgstr "Familienstand"
-#: ../../mod/profiles.php:149
+#: ../../mod/profiles.php:155
msgid "Romantic Partner"
msgstr "Romanze"
-#: ../../mod/profiles.php:153
+#: ../../mod/profiles.php:159
msgid "Work/Employment"
msgstr "Arbeit / Beschäftigung"
-#: ../../mod/profiles.php:156
+#: ../../mod/profiles.php:162
msgid "Religion"
msgstr "Religion"
-#: ../../mod/profiles.php:160
+#: ../../mod/profiles.php:166
msgid "Political Views"
msgstr "Politische Ansichten"
-#: ../../mod/profiles.php:164
+#: ../../mod/profiles.php:170
msgid "Gender"
msgstr "Geschlecht"
-#: ../../mod/profiles.php:168
+#: ../../mod/profiles.php:174
msgid "Sexual Preference"
msgstr "Sexuelle Vorlieben"
-#: ../../mod/profiles.php:172
+#: ../../mod/profiles.php:178
msgid "Homepage"
msgstr "Webseite"
-#: ../../mod/profiles.php:176
+#: ../../mod/profiles.php:182
msgid "Interests"
msgstr "Interessen"
-#: ../../mod/profiles.php:181
+#: ../../mod/profiles.php:186
+msgid "Address"
+msgstr "Adresse"
+
+#: ../../mod/profiles.php:193
msgid "Location"
msgstr "Wohnort"
-#: ../../mod/profiles.php:253
+#: ../../mod/profiles.php:270
msgid "Profile updated."
msgstr "Profil aktualisiert."
-#: ../../mod/profiles.php:320
+#: ../../mod/profiles.php:337
msgid " and "
msgstr " und "
-#: ../../mod/profiles.php:328
+#: ../../mod/profiles.php:345
msgid "public profile"
msgstr "öffentliches Profil"
-#: ../../mod/profiles.php:331
+#: ../../mod/profiles.php:348
#, php-format
msgid "%1$s changed %2$s to &ldquo;%3$s&rdquo;"
msgstr "%1$s hat %2$s geändert auf &ldquo;%3$s&rdquo;"
-#: ../../mod/profiles.php:332
+#: ../../mod/profiles.php:349
#, php-format
msgid " - Visit %1$s's %2$s"
-msgstr ""
+msgstr " – %1$ss %2$s besuchen"
-#: ../../mod/profiles.php:335
+#: ../../mod/profiles.php:352
#, php-format
msgid "%1$s has an updated %2$s, changing %3$s."
msgstr "%1$s hat folgendes aktualisiert %2$s, verändert wurde %3$s."
-#: ../../mod/profiles.php:394
+#: ../../mod/profiles.php:411
msgid "Profile deleted."
msgstr "Profil gelöscht."
-#: ../../mod/profiles.php:412 ../../mod/profiles.php:446
+#: ../../mod/profiles.php:429 ../../mod/profiles.php:463
msgid "Profile-"
msgstr "Profil-"
-#: ../../mod/profiles.php:431 ../../mod/profiles.php:473
+#: ../../mod/profiles.php:448 ../../mod/profiles.php:490
msgid "New profile created."
msgstr "Neues Profil angelegt."
-#: ../../mod/profiles.php:452
+#: ../../mod/profiles.php:469
msgid "Profile unavailable to clone."
msgstr "Profil nicht zum Duplizieren verfügbar."
-#: ../../mod/profiles.php:510
+#: ../../mod/profiles.php:527
msgid "Hide your contact/friend list from viewers of this profile?"
msgstr "Liste der Kontakte vor Betrachtern dieses Profils verbergen?"
-#: ../../mod/profiles.php:533
+#: ../../mod/profiles.php:550
msgid "Edit Profile Details"
msgstr "Profil bearbeiten"
-#: ../../mod/profiles.php:535
+#: ../../mod/profiles.php:552
msgid "View this profile"
msgstr "Dieses Profil anzeigen"
-#: ../../mod/profiles.php:536
+#: ../../mod/profiles.php:553
msgid "Create a new profile using these settings"
msgstr "Neues Profil anlegen und diese Einstellungen verwenden"
-#: ../../mod/profiles.php:537
+#: ../../mod/profiles.php:554
msgid "Clone this profile"
msgstr "Dieses Profil duplizieren"
-#: ../../mod/profiles.php:538
+#: ../../mod/profiles.php:555
msgid "Delete this profile"
msgstr "Dieses Profil löschen"
-#: ../../mod/profiles.php:539
+#: ../../mod/profiles.php:556
msgid "Profile Name:"
msgstr "Profilname:"
-#: ../../mod/profiles.php:540
+#: ../../mod/profiles.php:557
msgid "Your Full Name:"
msgstr "Dein kompletter Name:"
-#: ../../mod/profiles.php:541
+#: ../../mod/profiles.php:558
msgid "Title/Description:"
msgstr "Titel/Beschreibung:"
-#: ../../mod/profiles.php:542
+#: ../../mod/profiles.php:559
msgid "Your Gender:"
msgstr "Dein Geschlecht:"
-#: ../../mod/profiles.php:543
+#: ../../mod/profiles.php:560
#, php-format
msgid "Birthday (%s):"
msgstr "Geburtstag (%s):"
-#: ../../mod/profiles.php:544
+#: ../../mod/profiles.php:561
msgid "Street Address:"
msgstr "Adresse:"
-#: ../../mod/profiles.php:545
+#: ../../mod/profiles.php:562
msgid "Locality/City:"
msgstr "Wohnort/Stadt:"
-#: ../../mod/profiles.php:546
+#: ../../mod/profiles.php:563
msgid "Postal/Zip Code:"
msgstr "Postleitzahl:"
-#: ../../mod/profiles.php:547
+#: ../../mod/profiles.php:564
msgid "Country:"
msgstr "Land:"
-#: ../../mod/profiles.php:548
+#: ../../mod/profiles.php:565
msgid "Region/State:"
msgstr "Region/Bundesstaat:"
-#: ../../mod/profiles.php:549
+#: ../../mod/profiles.php:566
msgid "<span class=\"heart\">&hearts;</span> Marital Status:"
msgstr "<span class=\"heart\">&hearts;</span> Beziehungsstatus:"
-#: ../../mod/profiles.php:550
+#: ../../mod/profiles.php:567
msgid "Who: (if applicable)"
msgstr "Wer: (falls anwendbar)"
-#: ../../mod/profiles.php:551
+#: ../../mod/profiles.php:568
msgid "Examples: cathy123, Cathy Williams, cathy@example.com"
msgstr "Beispiele: cathy123, Cathy Williams, cathy@example.com"
-#: ../../mod/profiles.php:552 ../../include/profile_advanced.php:43
+#: ../../mod/profiles.php:569
+msgid "Since [date]:"
+msgstr "Seit [Datum]:"
+
+#: ../../mod/profiles.php:570 ../../include/profile_advanced.php:46
msgid "Sexual Preference:"
msgstr "Sexuelle Vorlieben:"
-#: ../../mod/profiles.php:553
+#: ../../mod/profiles.php:571
msgid "Homepage URL:"
msgstr "Adresse der Homepage:"
-#: ../../mod/profiles.php:554 ../../include/profile_advanced.php:49
+#: ../../mod/profiles.php:572 ../../include/profile_advanced.php:52
msgid "Political Views:"
msgstr "Politische Ansichten:"
-#: ../../mod/profiles.php:555
+#: ../../mod/profiles.php:573
msgid "Religious Views:"
msgstr "Religiöse Ansichten:"
-#: ../../mod/profiles.php:556
+#: ../../mod/profiles.php:574
msgid "Public Keywords:"
msgstr "Öffentliche Schlüsselwörter:"
-#: ../../mod/profiles.php:557
+#: ../../mod/profiles.php:575
msgid "Private Keywords:"
msgstr "Private Schlüsselwörter:"
-#: ../../mod/profiles.php:558
+#: ../../mod/profiles.php:576
msgid "Example: fishing photography software"
msgstr "Beispiel: Fischen Fotografie Software"
-#: ../../mod/profiles.php:559
+#: ../../mod/profiles.php:577
msgid "(Used for suggesting potential friends, can be seen by others)"
msgstr "(Wird verwendet, um potentielle Freunde zu finden, könnte von Fremden eingesehen werden)"
-#: ../../mod/profiles.php:560
+#: ../../mod/profiles.php:578
msgid "(Used for searching profiles, never shown to others)"
msgstr "(Wird für die Suche nach Profilen verwendet und niemals veröffentlicht)"
-#: ../../mod/profiles.php:561
+#: ../../mod/profiles.php:579
msgid "Tell us about yourself..."
msgstr "Erzähle uns ein bisschen von dir …"
-#: ../../mod/profiles.php:562
+#: ../../mod/profiles.php:580
msgid "Hobbies/Interests"
msgstr "Hobbies/Interessen"
-#: ../../mod/profiles.php:563
+#: ../../mod/profiles.php:581
msgid "Contact information and Social Networks"
msgstr "Kontaktinformationen und Soziale Netzwerke"
-#: ../../mod/profiles.php:564
+#: ../../mod/profiles.php:582
msgid "Musical interests"
msgstr "Musikalische Interessen"
-#: ../../mod/profiles.php:565
+#: ../../mod/profiles.php:583
msgid "Books, literature"
msgstr "Literatur/Bücher"
-#: ../../mod/profiles.php:566
+#: ../../mod/profiles.php:584
msgid "Television"
msgstr "Fernsehen"
-#: ../../mod/profiles.php:567
+#: ../../mod/profiles.php:585
msgid "Film/dance/culture/entertainment"
msgstr "Filme/Tänze/Kultur/Unterhaltung"
-#: ../../mod/profiles.php:568
+#: ../../mod/profiles.php:586
msgid "Love/romance"
msgstr "Liebesleben"
-#: ../../mod/profiles.php:569
+#: ../../mod/profiles.php:587
msgid "Work/employment"
msgstr "Arbeit/Beschäftigung"
-#: ../../mod/profiles.php:570
+#: ../../mod/profiles.php:588
msgid "School/education"
msgstr "Schule/Ausbildung"
-#: ../../mod/profiles.php:575
+#: ../../mod/profiles.php:593
msgid ""
"This is your <strong>public</strong> profile.<br />It <strong>may</strong> "
"be visible to anybody using the internet."
msgstr "Dies ist dein <strong>öffentliches</strong> Profil.<br />Es <strong>könnte</strong> für jeden Nutzer des Internets sichtbar sein."
-#: ../../mod/profiles.php:585 ../../mod/directory.php:111
+#: ../../mod/profiles.php:603 ../../mod/directory.php:111
msgid "Age: "
msgstr "Alter: "
-#: ../../mod/profiles.php:620
+#: ../../mod/profiles.php:639
msgid "Edit/Manage Profiles"
msgstr "Verwalte/Editiere Profile"
-#: ../../mod/profiles.php:621 ../../boot.php:1069
+#: ../../mod/profiles.php:640 ../../boot.php:1066
msgid "Change profile photo"
msgstr "Profilbild ändern"
-#: ../../mod/profiles.php:622 ../../boot.php:1070
+#: ../../mod/profiles.php:641 ../../boot.php:1067
msgid "Create New Profile"
msgstr "Neues Profil anlegen"
-#: ../../mod/profiles.php:633 ../../boot.php:1080
+#: ../../mod/profiles.php:652 ../../boot.php:1077
msgid "Profile Image"
msgstr "Profilbild"
-#: ../../mod/profiles.php:635 ../../boot.php:1083
+#: ../../mod/profiles.php:654 ../../boot.php:1080
msgid "visible to everybody"
msgstr "sichtbar für jeden"
-#: ../../mod/profiles.php:636 ../../boot.php:1084
+#: ../../mod/profiles.php:655 ../../boot.php:1081
msgid "Edit visibility"
msgstr "Sichtbarkeit bearbeiten"
-#: ../../mod/filer.php:29 ../../include/conversation.php:926
+#: ../../mod/filer.php:29 ../../include/conversation.php:941
msgid "Save to Folder:"
msgstr "In diesen Ordner verschieben:"
@@ -4121,7 +4097,7 @@ msgstr "Hinzufügen"
msgid "No entries."
msgstr "Keine Einträge"
-#: ../../mod/suggest.php:38 ../../view/theme/diabook/theme.php:621
+#: ../../mod/suggest.php:38 ../../view/theme/diabook/theme.php:626
#: ../../include/contact_widgets.php:34
msgid "Friend Suggestions"
msgstr "Kontaktvorschläge"
@@ -4136,7 +4112,7 @@ msgstr "Keine Vorschläge. Falls der Server frisch aufgesetzt wurde, versuche es
msgid "Ignore/Hide"
msgstr "Ignorieren/Verbergen"
-#: ../../mod/directory.php:47 ../../view/theme/diabook/theme.php:619
+#: ../../mod/directory.php:47 ../../view/theme/diabook/theme.php:624
msgid "Global Directory"
msgstr "Weltweites Verzeichnis"
@@ -4246,83 +4222,83 @@ msgid ""
" has already been approved."
msgstr "Das kann passieren, wenn sich zwei Kontakte gegenseitig eingeladen haben und bereits einer angenommen wurde."
-#: ../../mod/dfrn_confirm.php:235
+#: ../../mod/dfrn_confirm.php:237
msgid "Response from remote site was not understood."
msgstr "Antwort der Gegenstelle unverständlich."
-#: ../../mod/dfrn_confirm.php:244
+#: ../../mod/dfrn_confirm.php:246
msgid "Unexpected response from remote site: "
msgstr "Unerwartete Antwort der Gegenstelle: "
-#: ../../mod/dfrn_confirm.php:252
+#: ../../mod/dfrn_confirm.php:254
msgid "Confirmation completed successfully."
msgstr "Bestätigung erfolgreich abgeschlossen."
-#: ../../mod/dfrn_confirm.php:254 ../../mod/dfrn_confirm.php:268
-#: ../../mod/dfrn_confirm.php:275
+#: ../../mod/dfrn_confirm.php:256 ../../mod/dfrn_confirm.php:270
+#: ../../mod/dfrn_confirm.php:277
msgid "Remote site reported: "
msgstr "Gegenstelle meldet: "
-#: ../../mod/dfrn_confirm.php:266
+#: ../../mod/dfrn_confirm.php:268
msgid "Temporary failure. Please wait and try again."
msgstr "Zeitweiser Fehler. Bitte warte einige Momente und versuche es dann noch einmal."
-#: ../../mod/dfrn_confirm.php:273
+#: ../../mod/dfrn_confirm.php:275
msgid "Introduction failed or was revoked."
msgstr "Kontaktanfrage schlug fehl oder wurde zurück gezogen."
-#: ../../mod/dfrn_confirm.php:418
+#: ../../mod/dfrn_confirm.php:420
msgid "Unable to set contact photo."
msgstr "Konnte das Bild des Kontakts nicht speichern."
-#: ../../mod/dfrn_confirm.php:475 ../../include/diaspora.php:507
+#: ../../mod/dfrn_confirm.php:477 ../../include/diaspora.php:507
#: ../../include/conversation.php:101
#, php-format
msgid "%1$s is now friends with %2$s"
msgstr "%1$s ist nun mit %2$s befreundet"
-#: ../../mod/dfrn_confirm.php:557
+#: ../../mod/dfrn_confirm.php:562
#, php-format
msgid "No user record found for '%s' "
msgstr "Für '%s' wurde kein Nutzer gefunden"
-#: ../../mod/dfrn_confirm.php:567
+#: ../../mod/dfrn_confirm.php:572
msgid "Our site encryption key is apparently messed up."
msgstr "Der Verschlüsselungsschlüssel unserer Seite ist anscheinend im Arsch."
-#: ../../mod/dfrn_confirm.php:578
+#: ../../mod/dfrn_confirm.php:583
msgid "Empty site URL was provided or URL could not be decrypted by us."
msgstr "Leere URL für die Seite erhalten oder die URL konnte nicht entschlüsselt werden."
-#: ../../mod/dfrn_confirm.php:599
+#: ../../mod/dfrn_confirm.php:604
msgid "Contact record was not found for you on our site."
msgstr "Für diesen Kontakt wurde auf unserer Seite kein Eintrag gefunden."
-#: ../../mod/dfrn_confirm.php:613
+#: ../../mod/dfrn_confirm.php:618
#, php-format
msgid "Site public key not available in contact record for URL %s."
msgstr "Die Kontaktdaten für URL %s enthalten keinen Public Key für den Server."
-#: ../../mod/dfrn_confirm.php:633
+#: ../../mod/dfrn_confirm.php:638
msgid ""
"The ID provided by your system is a duplicate on our system. It should work "
"if you try again."
msgstr "Die ID, die uns dein System angeboten hat, ist hier bereits vergeben. Bitte versuche es noch einmal."
-#: ../../mod/dfrn_confirm.php:644
+#: ../../mod/dfrn_confirm.php:649
msgid "Unable to set your contact credentials on our system."
msgstr "Deine Kontaktreferenzen konnten nicht in unserem System gespeichert werden."
-#: ../../mod/dfrn_confirm.php:709
+#: ../../mod/dfrn_confirm.php:716
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:743
+#: ../../mod/dfrn_confirm.php:750
#, php-format
msgid "Connection accepted at %s"
msgstr "Auf %s wurde die Verbindung akzeptiert"
-#: ../../mod/dfrn_confirm.php:792
+#: ../../mod/dfrn_confirm.php:799
#, php-format
msgid "%1$s has joined %2$s"
msgstr "%1$s ist %2$s beigetreten"
@@ -4532,23 +4508,23 @@ msgid ""
"The connection between your accounts on %2$s and Facebook became invalid. This usually happens after you change your Facebook-password. To enable the connection again, you have to %3$sre-authenticate the Facebook-connector%4$s."
msgstr "Hi %1$s,\n\ndie Verbindung von deinem Account auf %2$s und Facebook funktioniert derzeit nicht. Dies ist im Allgemeinen das Ergebnis einer Passwortänderung bei Facebook. Um die Verbindung wieder zu aktivieren musst du %3$sden Facebook-Connector neu Authentifizieren%4$s."
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:145
+#: ../../addon/privacy_image_cache/privacy_image_cache.php:147
msgid "Lifetime of the cache (in hours)"
msgstr "Lebenszeit des Caches (in Stunden)"
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:150
+#: ../../addon/privacy_image_cache/privacy_image_cache.php:152
msgid "Cache Statistics"
msgstr "Cache Statistik"
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:153
+#: ../../addon/privacy_image_cache/privacy_image_cache.php:155
msgid "Number of items"
msgstr "Anzahl der Einträge"
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:155
+#: ../../addon/privacy_image_cache/privacy_image_cache.php:157
msgid "Size of the cache"
msgstr "Größe des Caches"
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:157
+#: ../../addon/privacy_image_cache/privacy_image_cache.php:159
msgid "Delete the whole cache"
msgstr "Cache leeren"
@@ -4675,7 +4651,7 @@ msgstr "Foren"
#: ../../addon/page/page.php:63 ../../addon/showmore/showmore.php:87
#: ../../include/contact_widgets.php:188 ../../include/conversation.php:470
-#: ../../boot.php:518
+#: ../../boot.php:515
msgid "show more"
msgstr "mehr anzeigen"
@@ -4691,7 +4667,7 @@ msgstr "Aktiviere Planeten Plugin"
#: ../../addon/communityhome/communityhome.php:34
#: ../../addon/communityhome/twillingham/communityhome.php:28
#: ../../addon/communityhome/twillingham/communityhome.php:34
-#: ../../include/nav.php:64 ../../boot.php:816
+#: ../../include/nav.php:64 ../../boot.php:813
msgid "Login"
msgstr "Anmeldung"
@@ -4719,7 +4695,7 @@ msgid "Latest likes"
msgstr "Neueste Favoriten"
#: ../../addon/communityhome/communityhome.php:155
-#: ../../view/theme/diabook/theme.php:557 ../../include/text.php:1309
+#: ../../view/theme/diabook/theme.php:562 ../../include/text.php:1313
#: ../../include/conversation.php:45 ../../include/conversation.php:118
msgid "event"
msgstr "Veranstaltung"
@@ -4878,15 +4854,15 @@ msgstr "Beitrag via Friendica"
#: ../../addon/startpage/startpage.php:83
msgid "Startpage Settings"
-msgstr ""
+msgstr "Startseiten-Einstellungen"
#: ../../addon/startpage/startpage.php:85
msgid "Home page to load after login - leave blank for profile wall"
-msgstr ""
+msgstr "Seite, die nach dem Anmelden geladen werden soll. Leer = Pinnwand"
#: ../../addon/startpage/startpage.php:88
msgid "Examples: &quot;network&quot; or &quot;notifications/system&quot;"
-msgstr ""
+msgstr "Beispiele: network, notifications/system"
#: ../../addon/geonames/geonames.php:143
msgid "Geonames settings updated."
@@ -4908,7 +4884,7 @@ msgstr "Dein Konto auf %s wird in ein paar Tagen verfallen."
#: ../../addon/public_server/public_server.php:127
msgid "Your Friendica account is about to expire."
-msgstr ""
+msgstr "Dein Friendica-Account wird in Kürze auslaufen."
#: ../../addon/public_server/public_server.php:128
#, php-format
@@ -4916,7 +4892,7 @@ msgid ""
"Hi %1$s,\n"
"\n"
"Your account on %2$s will expire in less than five days. You may keep your account by logging in at least once every 30 days"
-msgstr ""
+msgstr "Hallo %1$s,\n\ndein Account auf %2$s wird in weniger als fünf Tagen auslaufen. Du kannst das verhindern, indem du dich mindestens einmal alle 30 Tage anmeldest."
#: ../../addon/js_upload/js_upload.php:43
msgid "Upload a file"
@@ -5439,11 +5415,11 @@ msgstr "Standardmäßig auf WordPress veröffentlichen"
#: ../../addon/wppost/wppost.php:102
msgid "Provide a backlink to the Friendica post"
-msgstr ""
+msgstr "Einen zurück zum Friendica-Beitrag hinzufügen"
#: ../../addon/wppost/wppost.php:204
msgid "Read the original post and comment stream on Friendica"
-msgstr ""
+msgstr "Den Original-Beitrag samt Kommentaren bei Friendica lesen"
#: ../../addon/showmore/showmore.php:38
msgid "\"Show more\" Settings"
@@ -5676,153 +5652,153 @@ msgstr "Theme Breite festlegen"
msgid "Color scheme"
msgstr "Farbschema"
-#: ../../view/theme/diabook/theme.php:122 ../../include/nav.php:49
+#: ../../view/theme/diabook/theme.php:127 ../../include/nav.php:49
#: ../../include/nav.php:115
msgid "Your posts and conversations"
msgstr "Deine Beiträge und Unterhaltungen"
-#: ../../view/theme/diabook/theme.php:123 ../../include/nav.php:50
+#: ../../view/theme/diabook/theme.php:128 ../../include/nav.php:50
msgid "Your profile page"
msgstr "Deine Profilseite"
-#: ../../view/theme/diabook/theme.php:124
+#: ../../view/theme/diabook/theme.php:129
msgid "Your contacts"
msgstr "Deine Kontakte"
-#: ../../view/theme/diabook/theme.php:125 ../../include/nav.php:51
+#: ../../view/theme/diabook/theme.php:130 ../../include/nav.php:51
msgid "Your photos"
msgstr "Deine Fotos"
-#: ../../view/theme/diabook/theme.php:126 ../../include/nav.php:52
+#: ../../view/theme/diabook/theme.php:131 ../../include/nav.php:52
msgid "Your events"
msgstr "Deine Ereignisse"
-#: ../../view/theme/diabook/theme.php:127 ../../include/nav.php:53
+#: ../../view/theme/diabook/theme.php:132 ../../include/nav.php:53
msgid "Personal notes"
msgstr "Persönliche Notizen"
-#: ../../view/theme/diabook/theme.php:127 ../../include/nav.php:53
+#: ../../view/theme/diabook/theme.php:132 ../../include/nav.php:53
msgid "Your personal photos"
msgstr "Deine privaten Fotos"
-#: ../../view/theme/diabook/theme.php:129
-#: ../../view/theme/diabook/theme.php:638
-#: ../../view/theme/diabook/theme.php:742
+#: ../../view/theme/diabook/theme.php:134
+#: ../../view/theme/diabook/theme.php:643
+#: ../../view/theme/diabook/theme.php:747
#: ../../view/theme/diabook/config.php:201
msgid "Community Pages"
msgstr "Foren"
-#: ../../view/theme/diabook/theme.php:485
-#: ../../view/theme/diabook/theme.php:744
+#: ../../view/theme/diabook/theme.php:490
+#: ../../view/theme/diabook/theme.php:749
#: ../../view/theme/diabook/config.php:203
msgid "Community Profiles"
msgstr "Community-Profile"
-#: ../../view/theme/diabook/theme.php:506
-#: ../../view/theme/diabook/theme.php:749
+#: ../../view/theme/diabook/theme.php:511
+#: ../../view/theme/diabook/theme.php:754
#: ../../view/theme/diabook/config.php:208
msgid "Last users"
msgstr "Letzte Nutzer"
-#: ../../view/theme/diabook/theme.php:535
-#: ../../view/theme/diabook/theme.php:751
+#: ../../view/theme/diabook/theme.php:540
+#: ../../view/theme/diabook/theme.php:756
#: ../../view/theme/diabook/config.php:210
msgid "Last likes"
msgstr "Zuletzt gemocht"
-#: ../../view/theme/diabook/theme.php:580
-#: ../../view/theme/diabook/theme.php:750
+#: ../../view/theme/diabook/theme.php:585
+#: ../../view/theme/diabook/theme.php:755
#: ../../view/theme/diabook/config.php:209
msgid "Last photos"
msgstr "Letzte Fotos"
-#: ../../view/theme/diabook/theme.php:617
-#: ../../view/theme/diabook/theme.php:747
+#: ../../view/theme/diabook/theme.php:622
+#: ../../view/theme/diabook/theme.php:752
#: ../../view/theme/diabook/config.php:206
msgid "Find Friends"
msgstr "Freunde finden"
-#: ../../view/theme/diabook/theme.php:618
+#: ../../view/theme/diabook/theme.php:623
msgid "Local Directory"
msgstr "Lokales Verzeichnis"
-#: ../../view/theme/diabook/theme.php:620 ../../include/contact_widgets.php:35
+#: ../../view/theme/diabook/theme.php:625 ../../include/contact_widgets.php:35
msgid "Similar Interests"
msgstr "Ähnliche Interessen"
-#: ../../view/theme/diabook/theme.php:622 ../../include/contact_widgets.php:37
+#: ../../view/theme/diabook/theme.php:627 ../../include/contact_widgets.php:37
msgid "Invite Friends"
msgstr "Freunde einladen"
-#: ../../view/theme/diabook/theme.php:673
-#: ../../view/theme/diabook/theme.php:743
+#: ../../view/theme/diabook/theme.php:678
+#: ../../view/theme/diabook/theme.php:748
#: ../../view/theme/diabook/config.php:202
msgid "Earth Layers"
msgstr "Earth Layers"
-#: ../../view/theme/diabook/theme.php:678
+#: ../../view/theme/diabook/theme.php:683
msgid "Set zoomfactor for Earth Layers"
msgstr "Zoomfaktor der Earth Layer"
-#: ../../view/theme/diabook/theme.php:679
+#: ../../view/theme/diabook/theme.php:684
#: ../../view/theme/diabook/config.php:199
msgid "Set longitude (X) for Earth Layers"
msgstr "Longitude (X) der Earth Layer"
-#: ../../view/theme/diabook/theme.php:680
+#: ../../view/theme/diabook/theme.php:685
#: ../../view/theme/diabook/config.php:200
msgid "Set latitude (Y) for Earth Layers"
msgstr "Latitude (Y) der Earth Layer"
-#: ../../view/theme/diabook/theme.php:693
-#: ../../view/theme/diabook/theme.php:745
+#: ../../view/theme/diabook/theme.php:698
+#: ../../view/theme/diabook/theme.php:750
#: ../../view/theme/diabook/config.php:204
msgid "Help or @NewHere ?"
msgstr "Hilfe oder @NewHere"
-#: ../../view/theme/diabook/theme.php:700
-#: ../../view/theme/diabook/theme.php:746
+#: ../../view/theme/diabook/theme.php:705
+#: ../../view/theme/diabook/theme.php:751
#: ../../view/theme/diabook/config.php:205
msgid "Connect Services"
msgstr "Verbinde Dienste"
-#: ../../view/theme/diabook/theme.php:707
-#: ../../view/theme/diabook/theme.php:748
+#: ../../view/theme/diabook/theme.php:712
+#: ../../view/theme/diabook/theme.php:753
msgid "Last Tweets"
msgstr "Neueste Tweets"
-#: ../../view/theme/diabook/theme.php:710
+#: ../../view/theme/diabook/theme.php:715
#: ../../view/theme/diabook/config.php:197
msgid "Set twitter search term"
msgstr "Twitter Suchbegriff"
-#: ../../view/theme/diabook/theme.php:730
-#: ../../view/theme/diabook/theme.php:731
-#: ../../view/theme/diabook/theme.php:732
-#: ../../view/theme/diabook/theme.php:733
-#: ../../view/theme/diabook/theme.php:734
#: ../../view/theme/diabook/theme.php:735
#: ../../view/theme/diabook/theme.php:736
#: ../../view/theme/diabook/theme.php:737
#: ../../view/theme/diabook/theme.php:738
-#: ../../view/theme/diabook/theme.php:739 ../../include/acl_selectors.php:288
+#: ../../view/theme/diabook/theme.php:739
+#: ../../view/theme/diabook/theme.php:740
+#: ../../view/theme/diabook/theme.php:741
+#: ../../view/theme/diabook/theme.php:742
+#: ../../view/theme/diabook/theme.php:743
+#: ../../view/theme/diabook/theme.php:744 ../../include/acl_selectors.php:288
msgid "don't show"
msgstr "nicht zeigen"
-#: ../../view/theme/diabook/theme.php:730
-#: ../../view/theme/diabook/theme.php:731
-#: ../../view/theme/diabook/theme.php:732
-#: ../../view/theme/diabook/theme.php:733
-#: ../../view/theme/diabook/theme.php:734
#: ../../view/theme/diabook/theme.php:735
#: ../../view/theme/diabook/theme.php:736
#: ../../view/theme/diabook/theme.php:737
#: ../../view/theme/diabook/theme.php:738
-#: ../../view/theme/diabook/theme.php:739 ../../include/acl_selectors.php:287
+#: ../../view/theme/diabook/theme.php:739
+#: ../../view/theme/diabook/theme.php:740
+#: ../../view/theme/diabook/theme.php:741
+#: ../../view/theme/diabook/theme.php:742
+#: ../../view/theme/diabook/theme.php:743
+#: ../../view/theme/diabook/theme.php:744 ../../include/acl_selectors.php:287
msgid "show"
msgstr "zeigen"
-#: ../../view/theme/diabook/theme.php:740
+#: ../../view/theme/diabook/theme.php:745
msgid "Show/hide boxes at right-hand column:"
msgstr "Rahmen auf der rechten Seite anzeigen/verbergen"
@@ -5863,7 +5839,7 @@ msgstr "Mitte"
msgid "Set colour scheme"
msgstr "Farbschema wählen"
-#: ../../include/profile_advanced.php:17 ../../boot.php:1105
+#: ../../include/profile_advanced.php:17 ../../boot.php:1102
msgid "Gender:"
msgstr "Geschlecht:"
@@ -5875,8 +5851,8 @@ msgstr "j F, Y"
msgid "j F"
msgstr "j F"
-#: ../../include/profile_advanced.php:30 ../../include/datetime.php:448
-#: ../../include/items.php:1419
+#: ../../include/profile_advanced.php:30 ../../include/datetime.php:450
+#: ../../include/items.php:1423
msgid "Birthday:"
msgstr "Geburtstag:"
@@ -5884,59 +5860,64 @@ msgstr "Geburtstag:"
msgid "Age:"
msgstr "Alter:"
-#: ../../include/profile_advanced.php:37 ../../boot.php:1108
+#: ../../include/profile_advanced.php:37 ../../boot.php:1105
msgid "Status:"
msgstr "Status:"
-#: ../../include/profile_advanced.php:45 ../../boot.php:1110
+#: ../../include/profile_advanced.php:43
+#, php-format
+msgid "for %1$d %2$s"
+msgstr "für %1$d %2$s"
+
+#: ../../include/profile_advanced.php:48 ../../boot.php:1107
msgid "Homepage:"
msgstr "Homepage:"
-#: ../../include/profile_advanced.php:47
+#: ../../include/profile_advanced.php:50
msgid "Tags:"
msgstr "Tags"
-#: ../../include/profile_advanced.php:51
+#: ../../include/profile_advanced.php:54
msgid "Religion:"
msgstr "Religion:"
-#: ../../include/profile_advanced.php:53
+#: ../../include/profile_advanced.php:56
msgid "About:"
msgstr "Ãœber:"
-#: ../../include/profile_advanced.php:55
+#: ../../include/profile_advanced.php:58
msgid "Hobbies/Interests:"
msgstr "Hobbies/Interessen:"
-#: ../../include/profile_advanced.php:57
+#: ../../include/profile_advanced.php:60
msgid "Contact information and Social Networks:"
msgstr "Kontaktinformationen und Soziale Netzwerke:"
-#: ../../include/profile_advanced.php:59
+#: ../../include/profile_advanced.php:62
msgid "Musical interests:"
msgstr "Musikalische Interessen:"
-#: ../../include/profile_advanced.php:61
+#: ../../include/profile_advanced.php:64
msgid "Books, literature:"
msgstr "Literatur/Bücher:"
-#: ../../include/profile_advanced.php:63
+#: ../../include/profile_advanced.php:66
msgid "Television:"
msgstr "Fernsehen:"
-#: ../../include/profile_advanced.php:65
+#: ../../include/profile_advanced.php:68
msgid "Film/dance/culture/entertainment:"
msgstr "Filme/Tänze/Kultur/Unterhaltung:"
-#: ../../include/profile_advanced.php:67
+#: ../../include/profile_advanced.php:70
msgid "Love/Romance:"
msgstr "Liebesleben:"
-#: ../../include/profile_advanced.php:69
+#: ../../include/profile_advanced.php:72
msgid "Work/employment:"
msgstr "Arbeit/Beschäftigung:"
-#: ../../include/profile_advanced.php:71
+#: ../../include/profile_advanced.php:74
msgid "School/education:"
msgstr "Schule/Ausbildung:"
@@ -6068,187 +6049,187 @@ msgstr "Andere"
msgid "Undecided"
msgstr "Unentschieden"
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
msgid "Males"
msgstr "Männer"
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
msgid "Females"
msgstr "Frauen"
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
msgid "Gay"
msgstr "Schwul"
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
msgid "Lesbian"
msgstr "Lesbisch"
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
msgid "No Preference"
msgstr "Keine Vorlieben"
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
msgid "Bisexual"
msgstr "Bisexuell"
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
msgid "Autosexual"
msgstr "Autosexual"
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
msgid "Abstinent"
msgstr "Abstinent"
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
msgid "Virgin"
msgstr "Jungfrauen"
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
msgid "Deviant"
msgstr "Deviant"
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
msgid "Fetish"
msgstr "Fetish"
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
msgid "Oodles"
msgstr "Oodles"
-#: ../../include/profile_selectors.php:21
+#: ../../include/profile_selectors.php:23
msgid "Nonsexual"
msgstr "Nonsexual"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Single"
msgstr "Single"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Lonely"
msgstr "Einsam"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Available"
msgstr "Verfügbar"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Unavailable"
msgstr "Nicht verfügbar"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Has crush"
msgstr "verknallt"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Infatuated"
msgstr "verliebt"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Dating"
msgstr "Dating"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Unfaithful"
msgstr "Untreu"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Sex Addict"
msgstr "Sexbesessen"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42 ../../include/user.php:272
msgid "Friends"
msgstr "Freunde"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Friends/Benefits"
msgstr "Freunde/Zuwendungen"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Casual"
msgstr "Casual"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Engaged"
msgstr "Verlobt"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Married"
msgstr "Verheiratet"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Imaginarily married"
msgstr "imaginär verheiratet"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Partners"
msgstr "Partner"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Cohabiting"
msgstr "zusammenlebend"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Common law"
msgstr "wilde Ehe"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Happy"
msgstr "Glücklich"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Not looking"
msgstr "Nicht auf der Suche"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Swinger"
msgstr "Swinger"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Betrayed"
msgstr "Betrogen"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Separated"
msgstr "Getrennt"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Unstable"
msgstr "Unstabil"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Divorced"
msgstr "Geschieden"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Imaginarily divorced"
msgstr "imaginär geschieden"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Widowed"
msgstr "Verwitwet"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Uncertain"
msgstr "Unsicher"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "It's complicated"
msgstr "Ist kompliziert"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Don't care"
msgstr "Ist mir nicht wichtig"
-#: ../../include/profile_selectors.php:37
+#: ../../include/profile_selectors.php:42
msgid "Ask me"
msgstr "Frag mich"
-#: ../../include/event.php:17 ../../include/bb2diaspora.php:244
+#: ../../include/event.php:17 ../../include/bb2diaspora.php:249
msgid "Starts:"
msgstr "Beginnt:"
-#: ../../include/event.php:27 ../../include/bb2diaspora.php:252
+#: ../../include/event.php:27 ../../include/bb2diaspora.php:257
msgid "Finishes:"
msgstr "Endet:"
@@ -6288,127 +6269,127 @@ msgid_plural "%d Contacts"
msgstr[0] "%d Kontakt"
msgstr[1] "%d Kontakte"
-#: ../../include/text.php:831
+#: ../../include/text.php:835
msgid "Monday"
msgstr "Montag"
-#: ../../include/text.php:831
+#: ../../include/text.php:835
msgid "Tuesday"
msgstr "Dienstag"
-#: ../../include/text.php:831
+#: ../../include/text.php:835
msgid "Wednesday"
msgstr "Mittwoch"
-#: ../../include/text.php:831
+#: ../../include/text.php:835
msgid "Thursday"
msgstr "Donnerstag"
-#: ../../include/text.php:831
+#: ../../include/text.php:835
msgid "Friday"
msgstr "Freitag"
-#: ../../include/text.php:831
+#: ../../include/text.php:835
msgid "Saturday"
msgstr "Samstag"
-#: ../../include/text.php:831
+#: ../../include/text.php:835
msgid "Sunday"
msgstr "Sonntag"
-#: ../../include/text.php:835
+#: ../../include/text.php:839
msgid "January"
msgstr "Januar"
-#: ../../include/text.php:835
+#: ../../include/text.php:839
msgid "February"
msgstr "Februar"
-#: ../../include/text.php:835
+#: ../../include/text.php:839
msgid "March"
msgstr "März"
-#: ../../include/text.php:835
+#: ../../include/text.php:839
msgid "April"
msgstr "April"
-#: ../../include/text.php:835
+#: ../../include/text.php:839
msgid "May"
msgstr "Mai"
-#: ../../include/text.php:835
+#: ../../include/text.php:839
msgid "June"
msgstr "Juni"
-#: ../../include/text.php:835
+#: ../../include/text.php:839
msgid "July"
msgstr "Juli"
-#: ../../include/text.php:835
+#: ../../include/text.php:839
msgid "August"
msgstr "August"
-#: ../../include/text.php:835
+#: ../../include/text.php:839
msgid "September"
msgstr "September"
-#: ../../include/text.php:835
+#: ../../include/text.php:839
msgid "October"
msgstr "Oktober"
-#: ../../include/text.php:835
+#: ../../include/text.php:839
msgid "November"
msgstr "November"
-#: ../../include/text.php:835
+#: ../../include/text.php:839
msgid "December"
msgstr "Dezember"
-#: ../../include/text.php:920
+#: ../../include/text.php:924
msgid "bytes"
msgstr "Byte"
-#: ../../include/text.php:940 ../../include/text.php:955
+#: ../../include/text.php:944 ../../include/text.php:959
msgid "remove"
msgstr "löschen"
-#: ../../include/text.php:940 ../../include/text.php:955
+#: ../../include/text.php:944 ../../include/text.php:959
msgid "[remove]"
msgstr "[löschen]"
-#: ../../include/text.php:943
+#: ../../include/text.php:947
msgid "Categories:"
msgstr "Kategorien:"
-#: ../../include/text.php:958
+#: ../../include/text.php:962
msgid "Filed under:"
msgstr "Abgelegt unter:"
-#: ../../include/text.php:974 ../../include/text.php:986
+#: ../../include/text.php:978 ../../include/text.php:990
msgid "Click to open/close"
msgstr "Zum öffnen/schließen klicken"
-#: ../../include/text.php:1091
+#: ../../include/text.php:1095 ../../include/user.php:230
msgid "default"
msgstr "standard"
-#: ../../include/text.php:1103
+#: ../../include/text.php:1107
msgid "Select an alternate language"
msgstr "Alternative Sprache auswählen"
-#: ../../include/text.php:1313
+#: ../../include/text.php:1317
msgid "activity"
msgstr "Aktivität"
-#: ../../include/text.php:1315
+#: ../../include/text.php:1319
msgid "comment"
msgstr "Kommentar"
-#: ../../include/text.php:1316
+#: ../../include/text.php:1320
msgid "post"
msgstr "Beitrag"
-#: ../../include/text.php:1471
+#: ../../include/text.php:1475
msgid "Item filed"
msgstr "Beitrag abgelegt"
@@ -6420,7 +6401,7 @@ msgstr "Freigabe-Benachrichtigung von Diaspora"
msgid "Attachments:"
msgstr "Anhänge:"
-#: ../../include/diaspora.php:2160
+#: ../../include/diaspora.php:2168
#, php-format
msgid "[Relayed] Comment authored by %s from network %s"
msgstr "[Weitergeleitet] Kommentar von %s aus dem %s Netzwerk"
@@ -6446,7 +6427,7 @@ msgstr "Eine gelöschte Gruppe mit diesem Namen wurde wiederbelebt. Bestehende B
#: ../../include/group.php:176
msgid "Default privacy group for new contacts"
-msgstr ""
+msgstr "Voreingestellte Gruppe für neue Kontakte"
#: ../../include/group.php:195
msgid "Everybody"
@@ -6472,7 +6453,7 @@ msgstr "Neue Gruppe erstellen"
msgid "Contacts not in any group"
msgstr "Kontakte in keiner Gruppe"
-#: ../../include/nav.php:46 ../../boot.php:815
+#: ../../include/nav.php:46 ../../boot.php:812
msgid "Logout"
msgstr "Abmelden"
@@ -6480,7 +6461,7 @@ msgstr "Abmelden"
msgid "End this session"
msgstr "Diese Sitzung beenden"
-#: ../../include/nav.php:49 ../../boot.php:1502
+#: ../../include/nav.php:49 ../../boot.php:1499
msgid "Status"
msgstr "Status"
@@ -6560,11 +6541,11 @@ msgstr "Verwalten"
msgid "Manage other pages"
msgstr "Andere Seiten verwalten"
-#: ../../include/nav.php:138 ../../boot.php:1063
+#: ../../include/nav.php:138 ../../boot.php:1060
msgid "Profiles"
msgstr "Profile"
-#: ../../include/nav.php:138 ../../boot.php:1063
+#: ../../include/nav.php:138 ../../boot.php:1060
msgid "Manage/edit profiles"
msgstr "Profile verwalten/editieren"
@@ -6647,13 +6628,13 @@ msgstr "Kategorien"
msgid "Logged out."
msgstr "Abgemeldet."
-#: ../../include/auth.php:113
+#: ../../include/auth.php:115
msgid ""
"We encountered a problem while logging in with the OpenID you provided. "
"Please check the correct spelling of the ID."
msgstr "Beim Versuch dich mit der von dir angegebenen OpenID anzumelden trat ein Problem auf. Bitte überprüfe, dass du die OpenID richtig geschrieben hast."
-#: ../../include/auth.php:113
+#: ../../include/auth.php:115
msgid "The error message was:"
msgstr "Die Fehlermeldung lautete:"
@@ -6725,7 +6706,7 @@ msgstr "Sekunde"
msgid "seconds"
msgstr "Sekunden"
-#: ../../include/datetime.php:277
+#: ../../include/datetime.php:278
#, php-format
msgid "%1$d %2$s ago"
msgstr "%1$d %2$s her"
@@ -6943,11 +6924,11 @@ msgstr "Foto:"
msgid "Please visit %s to approve or reject the suggestion."
msgstr "Bitte besuche %s, um den Vorschlag zu akzeptieren oder abzulehnen."
-#: ../../include/items.php:2736
+#: ../../include/items.php:2740
msgid "A new person is sharing with you at "
msgstr "Eine neue Person teilt mit dir auf "
-#: ../../include/items.php:2736
+#: ../../include/items.php:2740
msgid "You have a new follower at "
msgstr "Du hast einen neuen Kontakt auf "
@@ -6960,6 +6941,74 @@ msgstr "Bild/Foto"
msgid "link"
msgstr "Verweis"
+#: ../../include/user.php:38
+msgid "An invitation is required."
+msgstr "Du benötigst eine Einladung."
+
+#: ../../include/user.php:43
+msgid "Invitation could not be verified."
+msgstr "Die Einladung konnte nicht überprüft werden."
+
+#: ../../include/user.php:51
+msgid "Invalid OpenID url"
+msgstr "Ungültige OpenID URL"
+
+#: ../../include/user.php:66
+msgid "Please enter the required information."
+msgstr "Bitte trage die erforderlichen Informationen ein."
+
+#: ../../include/user.php:80
+msgid "Please use a shorter name."
+msgstr "Bitte verwende einen kürzeren Namen."
+
+#: ../../include/user.php:82
+msgid "Name too short."
+msgstr "Der Name ist zu kurz."
+
+#: ../../include/user.php:97
+msgid "That doesn't appear to be your full (First Last) name."
+msgstr "Das scheint nicht dein kompletter Name (Vor- und Nachname) zu sein."
+
+#: ../../include/user.php:102
+msgid "Your email domain is not among those allowed on this site."
+msgstr "Die Domain deiner E-Mail Adresse ist auf dieser Seite nicht erlaubt."
+
+#: ../../include/user.php:105
+msgid "Not a valid email address."
+msgstr "Keine gültige E-Mail-Adresse."
+
+#: ../../include/user.php:115
+msgid "Cannot use that email."
+msgstr "Konnte diese E-Mail-Adresse nicht verwenden."
+
+#: ../../include/user.php:121
+msgid ""
+"Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and "
+"must also begin with a letter."
+msgstr "Dein Spitzname darf nur aus Buchstaben und Zahlen (\"a-z\",\"0-9\", \"_\" und \"-\") bestehen, außerdem muss er mit einem Buchstaben beginnen."
+
+#: ../../include/user.php:127 ../../include/user.php:219
+msgid "Nickname is already registered. Please choose another."
+msgstr "Dieser Spitzname ist bereits vergeben. Bitte wähle einen anderen."
+
+#: ../../include/user.php:137
+msgid ""
+"Nickname was once registered here and may not be re-used. Please choose "
+"another."
+msgstr "Dieser Spitzname ist bereits vergeben. Bitte wähle einen anderen."
+
+#: ../../include/user.php:153
+msgid "SERIOUS ERROR: Generation of security keys failed."
+msgstr "FATALER FEHLER: Sicherheitsschlüssel konnten nicht erzeugt werden."
+
+#: ../../include/user.php:205
+msgid "An error occurred during registration. Please try again."
+msgstr "Wärend der Anmeldung ist ein Fehler aufgetreten. Bitte versuche es noch einmal."
+
+#: ../../include/user.php:240
+msgid "An error occurred creating your default profile. Please try again."
+msgstr "Bei der Erstellung des Standardprofils ist ein Fehler aufgetreten. Bitte versuche es noch einmal."
+
#: ../../include/security.php:21
msgid "Welcome "
msgstr "Willkommen "
@@ -6982,30 +7031,30 @@ msgstr "Das Sicherheitsmerkmal war nicht korrekt. Das passiert meistens wenn das
msgid "stopped following"
msgstr "wird nicht mehr gefolgt"
-#: ../../include/Contact.php:203 ../../include/conversation.php:821
+#: ../../include/Contact.php:203 ../../include/conversation.php:836
msgid "View Status"
msgstr "Pinnwand anschauen"
-#: ../../include/Contact.php:204 ../../include/conversation.php:822
+#: ../../include/Contact.php:204 ../../include/conversation.php:837
msgid "View Profile"
msgstr "Profil anschauen"
-#: ../../include/Contact.php:205 ../../include/conversation.php:823
+#: ../../include/Contact.php:205 ../../include/conversation.php:838
msgid "View Photos"
msgstr "Bilder anschauen"
#: ../../include/Contact.php:206 ../../include/Contact.php:219
-#: ../../include/conversation.php:824
+#: ../../include/conversation.php:839
msgid "Network Posts"
msgstr "Netzwerkbeiträge"
#: ../../include/Contact.php:207 ../../include/Contact.php:219
-#: ../../include/conversation.php:825
+#: ../../include/conversation.php:840
msgid "Edit Contact"
msgstr "Kontakt bearbeiten"
#: ../../include/Contact.php:208 ../../include/Contact.php:219
-#: ../../include/conversation.php:826
+#: ../../include/conversation.php:841
msgid "Send PM"
msgstr "Private Nachricht senden"
@@ -7018,17 +7067,17 @@ msgstr "Nachricht/Beitrag"
msgid "%1$s marked %2$s's %3$s as favorite"
msgstr "%1$s hat %2$s\\s %3$s als Favorit markiert"
-#: ../../include/conversation.php:321 ../../include/conversation.php:587
+#: ../../include/conversation.php:321 ../../include/conversation.php:602
msgid "Select"
msgstr "Auswählen"
-#: ../../include/conversation.php:338 ../../include/conversation.php:680
-#: ../../include/conversation.php:681
+#: ../../include/conversation.php:338 ../../include/conversation.php:695
+#: ../../include/conversation.php:696
#, php-format
msgid "View %s's profile @ %s"
msgstr "Das Profil von %s auf %s betrachten."
-#: ../../include/conversation.php:348 ../../include/conversation.php:692
+#: ../../include/conversation.php:348 ../../include/conversation.php:707
#, php-format
msgid "%s from %s"
msgstr "%s von %s"
@@ -7044,283 +7093,283 @@ msgid_plural "%d comments"
msgstr[0] "%d Kommentar"
msgstr[1] "%d Kommentare"
-#: ../../include/conversation.php:533
+#: ../../include/conversation.php:548
msgid "like"
msgstr "mag ich"
-#: ../../include/conversation.php:534
+#: ../../include/conversation.php:549
msgid "dislike"
msgstr "mag ich nicht"
-#: ../../include/conversation.php:536
+#: ../../include/conversation.php:551
msgid "Share this"
msgstr "Teile dieses"
-#: ../../include/conversation.php:536
+#: ../../include/conversation.php:551
msgid "share"
msgstr "Teilen"
-#: ../../include/conversation.php:560
+#: ../../include/conversation.php:575
msgid "Bold"
msgstr "Fett"
-#: ../../include/conversation.php:561
+#: ../../include/conversation.php:576
msgid "Italic"
msgstr "Kursiv"
-#: ../../include/conversation.php:562
+#: ../../include/conversation.php:577
msgid "Underline"
msgstr "Unterstrichen"
-#: ../../include/conversation.php:563
+#: ../../include/conversation.php:578
msgid "Quote"
msgstr "Zitat"
-#: ../../include/conversation.php:564
+#: ../../include/conversation.php:579
msgid "Code"
msgstr "Code"
-#: ../../include/conversation.php:565
+#: ../../include/conversation.php:580
msgid "Image"
msgstr "Bild"
-#: ../../include/conversation.php:566
+#: ../../include/conversation.php:581
msgid "Link"
msgstr "Verweis"
-#: ../../include/conversation.php:567
+#: ../../include/conversation.php:582
msgid "Video"
msgstr "Video"
-#: ../../include/conversation.php:600
+#: ../../include/conversation.php:615
msgid "add star"
msgstr "markieren"
-#: ../../include/conversation.php:601
+#: ../../include/conversation.php:616
msgid "remove star"
msgstr "Markierung entfernen"
-#: ../../include/conversation.php:602
+#: ../../include/conversation.php:617
msgid "toggle star status"
msgstr "Markierung umschalten"
-#: ../../include/conversation.php:605
+#: ../../include/conversation.php:620
msgid "starred"
msgstr "markiert"
-#: ../../include/conversation.php:606
+#: ../../include/conversation.php:621
msgid "add tag"
msgstr "Tag hinzufügen"
-#: ../../include/conversation.php:610
+#: ../../include/conversation.php:625
msgid "save to folder"
msgstr "In Ordner speichern"
-#: ../../include/conversation.php:682
+#: ../../include/conversation.php:697
msgid "to"
msgstr "zu"
-#: ../../include/conversation.php:683
+#: ../../include/conversation.php:698
msgid "Wall-to-Wall"
msgstr "Wall-to-Wall"
-#: ../../include/conversation.php:684
+#: ../../include/conversation.php:699
msgid "via Wall-To-Wall:"
msgstr "via Wall-To-Wall:"
-#: ../../include/conversation.php:729
+#: ../../include/conversation.php:744
msgid "Delete Selected Items"
msgstr "Lösche die markierten Beiträge"
-#: ../../include/conversation.php:880
+#: ../../include/conversation.php:895
#, php-format
msgid "%s likes this."
msgstr "%s mag das."
-#: ../../include/conversation.php:880
+#: ../../include/conversation.php:895
#, php-format
msgid "%s doesn't like this."
msgstr "%s mag das nicht."
-#: ../../include/conversation.php:884
+#: ../../include/conversation.php:899
#, php-format
msgid "<span %1$s>%2$d people</span> like this."
msgstr "<span %1$s>%2$d Leute</span> mögen das."
-#: ../../include/conversation.php:886
+#: ../../include/conversation.php:901
#, php-format
msgid "<span %1$s>%2$d people</span> don't like this."
msgstr "<span %1$s>%2$d Leute</span> mögen das nicht."
-#: ../../include/conversation.php:892
+#: ../../include/conversation.php:907
msgid "and"
msgstr "und"
-#: ../../include/conversation.php:895
+#: ../../include/conversation.php:910
#, php-format
msgid ", and %d other people"
msgstr " und %d andere"
-#: ../../include/conversation.php:896
+#: ../../include/conversation.php:911
#, php-format
msgid "%s like this."
msgstr "%s mögen das."
-#: ../../include/conversation.php:896
+#: ../../include/conversation.php:911
#, php-format
msgid "%s don't like this."
msgstr "%s mögen das nicht."
-#: ../../include/conversation.php:921
+#: ../../include/conversation.php:936
msgid "Visible to <strong>everybody</strong>"
msgstr "Für <strong>jedermann</strong> sichtbar"
-#: ../../include/conversation.php:923
+#: ../../include/conversation.php:938
msgid "Please enter a video link/URL:"
msgstr "Bitte Link/URL zum Video einfügen:"
-#: ../../include/conversation.php:924
+#: ../../include/conversation.php:939
msgid "Please enter an audio link/URL:"
msgstr "Bitte Link/URL zum Audio einfügen:"
-#: ../../include/conversation.php:925
+#: ../../include/conversation.php:940
msgid "Tag term:"
msgstr "Tag:"
-#: ../../include/conversation.php:927
+#: ../../include/conversation.php:942
msgid "Where are you right now?"
msgstr "Wo hältst du dich jetzt gerade auf?"
-#: ../../include/conversation.php:970
+#: ../../include/conversation.php:985
msgid "upload photo"
msgstr "Bild hochladen"
-#: ../../include/conversation.php:972
+#: ../../include/conversation.php:987
msgid "attach file"
msgstr "Datei anhängen"
-#: ../../include/conversation.php:974
+#: ../../include/conversation.php:989
msgid "web link"
msgstr "Weblink"
-#: ../../include/conversation.php:975
+#: ../../include/conversation.php:990
msgid "Insert video link"
msgstr "Video-Adresse einfügen"
-#: ../../include/conversation.php:976
+#: ../../include/conversation.php:991
msgid "video link"
msgstr "Video-Link"
-#: ../../include/conversation.php:977
+#: ../../include/conversation.php:992
msgid "Insert audio link"
msgstr "Audio-Adresse einfügen"
-#: ../../include/conversation.php:978
+#: ../../include/conversation.php:993
msgid "audio link"
msgstr "Audio-Link"
-#: ../../include/conversation.php:980
+#: ../../include/conversation.php:995
msgid "set location"
msgstr "Ort setzen"
-#: ../../include/conversation.php:982
+#: ../../include/conversation.php:997
msgid "clear location"
msgstr "Ort löschen"
-#: ../../include/conversation.php:989
+#: ../../include/conversation.php:1004
msgid "permissions"
msgstr "Zugriffsrechte"
-#: ../../boot.php:516
+#: ../../boot.php:513
msgid "Delete this item?"
msgstr "Diesen Beitrag löschen?"
-#: ../../boot.php:519
+#: ../../boot.php:516
msgid "show fewer"
msgstr "weniger anzeigen"
-#: ../../boot.php:692
+#: ../../boot.php:689
#, php-format
msgid "Update %s failed. See error logs."
msgstr "Update %s fehlgeschlagen. Bitte Fehlerprotokoll überprüfen."
-#: ../../boot.php:694
+#: ../../boot.php:691
#, php-format
msgid "Update Error at %s"
msgstr "Updatefehler bei %s"
-#: ../../boot.php:794
+#: ../../boot.php:791
msgid "Create a New Account"
msgstr "Neuen Account erstellen"
-#: ../../boot.php:818
+#: ../../boot.php:815
msgid "Nickname or Email address: "
msgstr "Spitzname oder Email-Adresse: "
-#: ../../boot.php:819
+#: ../../boot.php:816
msgid "Password: "
msgstr "Passwort: "
-#: ../../boot.php:822
+#: ../../boot.php:819
msgid "Or login using OpenID: "
msgstr "Oder melde dich mit deiner OpenID an: "
-#: ../../boot.php:828
+#: ../../boot.php:825
msgid "Forgot your password?"
msgstr "Passwort vergessen?"
-#: ../../boot.php:995
+#: ../../boot.php:992
msgid "Edit profile"
msgstr "Profil bearbeiten"
-#: ../../boot.php:1055
+#: ../../boot.php:1052
msgid "Message"
msgstr "Nachricht"
-#: ../../boot.php:1171 ../../boot.php:1247
+#: ../../boot.php:1168 ../../boot.php:1244
msgid "g A l F d"
msgstr "l, d. F G \\U\\h\\r"
-#: ../../boot.php:1172 ../../boot.php:1248
+#: ../../boot.php:1169 ../../boot.php:1245
msgid "F d"
msgstr "d. F"
-#: ../../boot.php:1217 ../../boot.php:1288
+#: ../../boot.php:1214 ../../boot.php:1285
msgid "[today]"
msgstr "[heute]"
-#: ../../boot.php:1229
+#: ../../boot.php:1226
msgid "Birthday Reminders"
msgstr "Geburtstagserinnerungen"
-#: ../../boot.php:1230
+#: ../../boot.php:1227
msgid "Birthdays this week:"
msgstr "Geburtstage diese Woche:"
-#: ../../boot.php:1281
+#: ../../boot.php:1278
msgid "[No description]"
msgstr "[keine Beschreibung]"
-#: ../../boot.php:1299
+#: ../../boot.php:1296
msgid "Event Reminders"
msgstr "Veranstaltungserinnerungen"
-#: ../../boot.php:1300
+#: ../../boot.php:1297
msgid "Events this week:"
msgstr "Veranstaltungen diese Woche"
-#: ../../boot.php:1505
+#: ../../boot.php:1502
msgid "Status Messages and Posts"
msgstr "Statusnachrichten und Beiträge"
-#: ../../boot.php:1511
+#: ../../boot.php:1508
msgid "Profile Details"
msgstr "Profildetails"
-#: ../../boot.php:1526
+#: ../../boot.php:1523
msgid "Events and Calendar"
msgstr "Ereignisse und Kalender"
-#: ../../boot.php:1532
+#: ../../boot.php:1529
msgid "Only You Can See This"
msgstr "Nur Du Kannst Das Sehen"
diff --git a/view/de/strings.php b/view/de/strings.php
index 7c127894a..1b0ef4b89 100644
--- a/view/de/strings.php
+++ b/view/de/strings.php
@@ -98,6 +98,7 @@ $a->strings["Private Message"] = "Private Nachricht";
$a->strings["View Full Size"] = "Betrachte Originalgröße";
$a->strings["Tags: "] = "Tags: ";
$a->strings["[Remove any tag]"] = "[Tag entfernen]";
+$a->strings["Rotate CW"] = "Im Uhrzeigersinn rotieren";
$a->strings["New album name"] = "Name des neuen Albums";
$a->strings["Caption"] = "Bildunterschrift";
$a->strings["Add a Tag"] = "Tag hinzufügen";
@@ -166,6 +167,7 @@ $a->strings["Failed to update contact record."] = "Aktualisierung der Kontaktdat
$a->strings["Your introduction has been sent."] = "Deine Kontaktanfrage wurde gesendet.";
$a->strings["Please login to confirm introduction."] = "Bitte melde dich an, um die Kontaktanfrage zu bestätigen.";
$a->strings["Incorrect identity currently logged in. Please login to <strong>this</strong> profile."] = "Momentan bist du mit einer anderen Identität angemeldet. Bitte melde Dich mit <strong>diesem</strong> Profil an.";
+$a->strings["Hide this contact"] = "Verberge diese Kontakt";
$a->strings["Welcome home %s."] = "Willkommen zurück %s.";
$a->strings["Please confirm your introduction/connection request to %s."] = "Bitte bestätige deine Kontaktanfrage bei %s.";
$a->strings["Confirm"] = "Bestätigen";
@@ -185,18 +187,14 @@ $a->strings[" - please do not use this form. Instead, enter %s into your Diaspo
$a->strings["Your Identity Address:"] = "Adresse deines Profils:";
$a->strings["Submit Request"] = "Anfrage abschicken";
$a->strings["Friendica Social Communications Server - Setup"] = "Friendica-Server für soziale Netzwerke – Setup";
-$a->strings["Database connection"] = "Datenbankverbindung";
$a->strings["Could not connect to database."] = "Verbindung zur Datenbank gescheitert";
$a->strings["Could not create table."] = "Konnte Tabelle nicht erstellen.";
$a->strings["Your Friendica site database has been installed."] = "Die Datenbank deiner Friendica Seite wurde installiert.";
-$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "WICHTIG: Du musst [manuell] einen Cronjob (o.ä.) für den Poller einrichten.";
-$a->strings["Please see the file \"INSTALL.txt\"."] = "Lies bitte die \"INSTALL.txt\".";
-$a->strings["Proceed to registration"] = "Mit der Registrierung fortfahren";
-$a->strings["Proceed with Installation"] = "Mit der Installation fortfahren";
$a->strings["You may need to import the file \"database.sql\" manually using phpmyadmin or mysql."] = "Möglicherweise musst du die Datei \"database.sql\" manuell mit phpmyadmin oder mysql importieren.";
-$a->strings["Database import failed."] = "Import der Datenbank schlug fehl.";
+$a->strings["Please see the file \"INSTALL.txt\"."] = "Lies bitte die \"INSTALL.txt\".";
$a->strings["System check"] = "Systemtest";
$a->strings["Check again"] = "Noch einmal testen";
+$a->strings["Database connection"] = "Datenbankverbindung";
$a->strings["In order to install Friendica we need to know how to connect to your database."] = "Um Friendica installieren zu können, müssen wir wissen, wie wir zu deiner Datenbank Kontakt aufnehmen können.";
$a->strings["Please contact your hosting provider or site administrator if you have questions about these settings."] = "Bitte kontaktiere den Hosting Provider oder den Administrator der Seite, falls du Fragen zu diesen Einstellungen haben solltest.";
$a->strings["The database you specify below should already exist. If it does not, please create it before continuing."] = "Die Datenbank, die du unten angibst, sollte bereits existieren. Ist dies noch nicht der Fall, erzeuge sie bitte bevor du mit der Installation fortfährst.";
@@ -209,8 +207,9 @@ $a->strings["Your account email address must match this in order to use the web
$a->strings["Please select a default timezone for your website"] = "Bitte wähle die Standardzeitzone deiner Webseite";
$a->strings["Site settings"] = "Server-Einstellungen";
$a->strings["Could not find a command line version of PHP in the web server PATH."] = "Konnte keine Kommandozeilenversion von PHP im PATH des Servers finden.";
+$a->strings["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 <a href='http://friendica.com/node/27'>'Activating scheduled tasks'</a>"] = "Wenn du keine Kommandozeilen Version von PHP auf deinem Server installiert hast, kannst du keine Hintergrundprozesse via cron starten. Siehe <a href='http://friendica.com/node/27'>'Activating scheduled tasks'</a>";
$a->strings["PHP executable path"] = "Pfad zu PHP";
-$a->strings["Enter full path to php executable"] = "Kompletter Pfad zum PHP-Executable";
+$a->strings["Enter full path to php executable. You can leave this blank to continue the installation."] = "Gib den kompletten Pfad zur ausführbaren Datei von PHP an. Du kannst diesen Feld auch frei lassen und mit der Installation fortfahren.";
$a->strings["Command line PHP"] = "Kommandozeilen-PHP";
$a->strings["The command line version of PHP on your system does not have \"register_argc_argv\" enabled."] = "Die Kommandozeilenversion von PHP auf deinem System hat \"register_argc_argv\" nicht aktiviert.";
$a->strings["This is required for message delivery to work."] = "Dies wird für die Auslieferung von Nachrichten benötigt.";
@@ -232,11 +231,15 @@ $a->strings["Error: mysqli PHP module required but not installed."] = "Fehler: D
$a->strings["Error: mb_string PHP module required but not installed."] = "Fehler: mb_string PHP Module wird benötigt ist aber nicht installiert.";
$a->strings["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."] = "Der Installationswizard muss in der Lage sein, eine Datei im Stammverzeichnis deines Webservers anzulegen, ist allerdings derzeit nicht in der Lage, dies zu tun.";
$a->strings["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."] = "In den meisten Fällen ist dies ein Problem mit den Schreibrechten, der Webserver könnte keine Schreiberlaubnis haben, selbst wenn du sie hast.";
-$a->strings["Please check with your site documentation or support people to see if this situation can be corrected."] = "Bitte überprüfe die Einstellungen und frage im Zweifelsfall dein Support Team, um diese Situation zu beheben.";
-$a->strings["If not, you may be required to perform a manual installation. Please see the file \"INSTALL.txt\" for instructions."] = "Sollte dies nicht möglich sein, musst du die Installation manuell durchführen. Lies dazu bitte in der Datei \"INSTALL.txt\".";
+$a->strings["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."] = "Nachdem du alles ausgefüllt hast, erhältst du einen Text, den du in eine Datei namens .htconfig.php in deinem Friendica-Wurzelverzeichnis kopieren musst.";
+$a->strings["You can alternatively skip this procedure and perform a manual installation. Please see the file \"INSTALL.txt\" for instructions."] = "Alternativ kannst du diesen Schritt aber auch überspringen und die Installation manuell durchführen. Eine Anleitung dazu (Englisch) findest du in der Datei INSTALL.txt.";
$a->strings[".htconfig.php is writable"] = "Schreibrechte auf .htconfig.php";
+$a->strings["Url rewrite in .htaccess is not working. Check your server configuration."] = "Umschreiben der URLs in der .htaccess funktioniert nicht. Überprüfe die Konfiguration des Servers.";
+$a->strings["Url rewrite is working"] = "URL rewrite funktioniert";
$a->strings["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."] = "Die Konfigurationsdatei \".htconfig.php\" konnte nicht angelegt werden. Bitte verwende den angefügten Text, um die Datei im Stammverzeichnis deiner Friendica-Installation zu erzeugen.";
$a->strings["Errors encountered creating database tables."] = "Fehler aufgetreten während der Erzeugung der Datenbanktabellen.";
+$a->strings["<h1>What next</h1>"] = "<h1>Wie geht es weiter?</h1>";
+$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "WICHTIG: Du musst [manuell] einen Cronjob (o.ä.) für den Poller einrichten.";
$a->strings["l F d, Y \\@ g:i A"] = "l F d, Y \\@ g:i A";
$a->strings["Time Conversion"] = "Zeitumrechnung";
$a->strings["Friendika provides this service for sharing events with other networks and friends in unknown timezones."] = "Friendica bietet diese Funktion an, um das Teilen von Events mit den Kontakten zu vereinfachen, deren Zeitzone nicht ermittelt werden kann.";
@@ -403,8 +406,8 @@ $a->strings[" Please use a shorter name."] = " Bitte verwende einen kürzeren Na
$a->strings[" Name too short."] = " Name ist zu kurz.";
$a->strings[" Not valid email."] = " Keine gültige E-Mail.";
$a->strings[" Cannot change to that email."] = "Ändern der E-Mail nicht möglich. ";
-$a->strings["Private forum has no privacy permissions. Using default privacy group."] = "";
-$a->strings["Private forum has no privacy permissions and no default privacy group."] = "";
+$a->strings["Private forum has no privacy permissions. Using default privacy group."] = "Für das private Forum sind keine Zugriffsrechte eingestellt. Die voreingestellte Gruppe für neue Kontakte wird benutzt.";
+$a->strings["Private forum has no privacy permissions and no default privacy group."] = "Für das private Forum sind keine Zugriffsrechte eingestellt, und es gibt keine voreingestellte Gruppe für neue Kontakte.";
$a->strings["Settings updated."] = "Einstellungen aktualisiert.";
$a->strings["Add application"] = "Programm hinzufügen";
$a->strings["Consumer Key"] = "Consumer Key";
@@ -446,16 +449,16 @@ $a->strings["Minimum of 10 seconds, no maximum"] = "Minimal 10 Sekunden, kein Ma
$a->strings["Number of items to display on the network page:"] = "Zahl der Beiträge, die pro Netzwerkseite angezeigt werden sollen: ";
$a->strings["Maximum of 100 items"] = "Maximal 100 Beiträge";
$a->strings["Don't show emoticons"] = "Keine Smilies anzeigen";
-$a->strings["Normal Account"] = "Normaler Account";
+$a->strings["Normal Account Page"] = "Normale Account Seite";
$a->strings["This account is a normal personal profile"] = "Dieser Account ist ein normales persönliches Profil";
-$a->strings["Soapbox Account"] = "Sandkasten-Account";
+$a->strings["Soapbox Page"] = "Sandkasten Seite";
$a->strings["Automatically approve all connection/friend requests as read-only fans"] = "Kontaktanfragen werden automatisch als Nurlese-Fans akzeptiert";
-$a->strings["Community/Celebrity Account"] = "Gemeinschafts-/Promi-Account";
+$a->strings["Community Forum/Celebrity Account"] = "Gemeinschafts Forum / Promi Konto";
$a->strings["Automatically approve all connection/friend requests as read-write fans"] = "Kontaktanfragen werden automatisch als Lese-und-Schreib-Fans akzeptiert";
-$a->strings["Automatic Friend Account"] = "Automatischer Freundesaccount";
+$a->strings["Automatic Friend Page"] = "Automatische Freunde Seite";
$a->strings["Automatically approve all connection/friend requests as friends"] = "Kontaktanfragen werden automatisch als Freund akzeptiert";
-$a->strings["Private Forum"] = "";
-$a->strings["Private forum - approved members only [Experimental]"] = "";
+$a->strings["Private Forum [Experimental]"] = "Privates Forum [Versuchsstadium]";
+$a->strings["Private forum - approved members only"] = "Privates Forum - Ausschließlich für Mitglieder";
$a->strings["OpenID:"] = "OpenID:";
$a->strings["(Optional) Allow this OpenID to login to this account."] = "(Optional) Erlaube die Anmeldung für diesen Account mit dieser OpenID.";
$a->strings["Publish your default profile in your local site directory?"] = "Veröffentliche dein Standardprofil im Verzeichnis der lokalen Seite?";
@@ -477,6 +480,7 @@ $a->strings["Expire posts:"] = "Beiträge verfallen lassen:";
$a->strings["Expire personal notes:"] = "Persönliche Notizen verfallen lassen:";
$a->strings["Expire starred posts:"] = "Markierte Beiträge verfallen lassen:";
$a->strings["Expire photos:"] = "Fotos verfallen lassen:";
+$a->strings["Only expire posts by others:"] = "Nur Beiträge anderer verfallen";
$a->strings["Account Settings"] = "Account-Einstellungen";
$a->strings["Password Settings"] = "Passwort-Einstellungen";
$a->strings["New Password:"] = "Neues Passwort:";
@@ -507,7 +511,8 @@ $a->strings["Someone writes a followup comment"] = "– jemand auch einen Kommen
$a->strings["You receive a private message"] = "– du eine private Nachricht erhältst";
$a->strings["You receive a friend suggestion"] = "- du eine Empfehlung erhältst";
$a->strings["You are tagged in a post"] = "- du in einem Beitrag erwähnt wurdest";
-$a->strings["Advanced Page Settings"] = "Erweiterte Seiten-Einstellungen";
+$a->strings["Advanced Account/Page Type Settings"] = "";
+$a->strings["Change the behaviour of this account for special situations"] = "Ändere das Verhalten deines Accounts für spezielle Situationen.";
$a->strings["Manage Identities and/or Pages"] = "Verwalte Identitäten und/oder Seiten";
$a->strings["Toggle between different identities or community/group pages which share your account details or which you have been granted \"manage\" permissions"] = "Wechsle zwischen verschiedenen Identitäten oder Gemeinschafts-/Gruppen-Seiten, die deine Zugangsdetails teilen oder zu denen du \"Manage\" Befugnisse bekommen hast.";
$a->strings["Select an identity to manage: "] = "Wähle eine Identität zum Verwalten: ";
@@ -590,22 +595,6 @@ $a->strings["Visible To"] = "Sichtbar für";
$a->strings["All Contacts (with secure profile access)"] = "Alle Kontakte (mit gesichertem Profilzugriff)";
$a->strings["No contacts."] = "Keine Kontakte.";
$a->strings["View Contacts"] = "Kontakte anzeigen";
-$a->strings["An invitation is required."] = "Du benötigst eine Einladung.";
-$a->strings["Invitation could not be verified."] = "Die Einladung konnte nicht überprüft werden.";
-$a->strings["Invalid OpenID url"] = "Ungültige OpenID URL";
-$a->strings["Please enter the required information."] = "Bitte trage die erforderlichen Informationen ein.";
-$a->strings["Please use a shorter name."] = "Bitte verwende einen kürzeren Namen.";
-$a->strings["Name too short."] = "Der Name ist zu kurz.";
-$a->strings["That doesn't appear to be your full (First Last) name."] = "Das scheint nicht dein kompletter Name (Vor- und Nachname) zu sein.";
-$a->strings["Your email domain is not among those allowed on this site."] = "Die Domain deiner E-Mail Adresse ist auf dieser Seite nicht erlaubt.";
-$a->strings["Not a valid email address."] = "Keine gültige E-Mail-Adresse.";
-$a->strings["Cannot use that email."] = "Konnte diese E-Mail-Adresse nicht verwenden.";
-$a->strings["Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and must also begin with a letter."] = "Dein Spitzname darf nur aus Buchstaben und Zahlen (\"a-z\",\"0-9\", \"_\" und \"-\") bestehen, außerdem muss er mit einem Buchstaben beginnen.";
-$a->strings["Nickname is already registered. Please choose another."] = "Dieser Spitzname ist bereits vergeben. Bitte wähle einen anderen.";
-$a->strings["Nickname was once registered here and may not be re-used. Please choose another."] = "Dieser Spitzname ist bereits vergeben. Bitte wähle einen anderen.";
-$a->strings["SERIOUS ERROR: Generation of security keys failed."] = "FATALER FEHLER: Sicherheitsschlüssel konnten nicht erzeugt werden.";
-$a->strings["An error occurred during registration. Please try again."] = "Wärend der Anmeldung ist ein Fehler aufgetreten. Bitte versuche es noch einmal.";
-$a->strings["An error occurred creating your default profile. Please try again."] = "Bei der Erstellung des Standardprofils ist ein Fehler aufgetreten. Bitte versuche es noch einmal.";
$a->strings["Registration details for %s"] = "Details der Registration von %s";
$a->strings["Registration successful. Please check your email for further instructions."] = "Registrierung erfolgreich. Eine E-Mail mit weiteren Anweisungen wurde an dich gesendet.";
$a->strings["Failed to send email message. Here is the message that failed."] = "Konnte die E-Mail nicht versenden. Hier ist die Nachricht, die nicht gesendet werden konnte.";
@@ -688,9 +677,13 @@ $a->strings["Users"] = "Nutzer";
$a->strings["Plugins"] = "Plugins";
$a->strings["Themes"] = "Themen";
$a->strings["DB updates"] = "DB Updates";
-$a->strings["Software Update"] = "Software Update";
$a->strings["Logs"] = "Protokolle";
$a->strings["User registrations waiting for confirmation"] = "Nutzeranmeldungen die auf Bestätigung warten";
+$a->strings["Normal Account"] = "Normaler Account";
+$a->strings["Soapbox Account"] = "Sandkasten-Account";
+$a->strings["Community/Celebrity Account"] = "Gemeinschafts-/Promi-Account";
+$a->strings["Automatic Friend Account"] = "Automatischer Freundesaccount";
+$a->strings["Message queues"] = "Nachrichten-Warteschlangen";
$a->strings["Administration"] = "Administration";
$a->strings["Summary"] = "Zusammenfassung";
$a->strings["Registered users"] = "Registrierte Nutzer";
@@ -830,7 +823,7 @@ $a->strings["{0} mentioned you in a post"] = "{0} hat dich in einem Beitrag erwÃ
$a->strings["Contacts who are not members of a group"] = "Kontakte, die keiner Gruppe zugewiesen sind";
$a->strings["OpenID protocol error. No ID returned."] = "OpenID Protokollfehler. Keine ID zurückgegeben.";
$a->strings["Account not found and OpenID registration is not permitted on this site."] = "Account wurde nicht gefunden und OpenID Registrierung auf diesem Server nicht gestattet.";
-$a->strings["Login failed."] = "Annmeldung fehlgeschlagen.";
+$a->strings["Login failed."] = "Anmeldung fehlgeschlagen.";
$a->strings["Connect URL missing."] = "Connect-URL fehlt";
$a->strings["This site is not configured to allow communications with other networks."] = "Diese Seite ist so konfiguriert, dass keine Kommunikation mit anderen Netzwerken erfolgen kann.";
$a->strings["No compatible communication protocols or feeds were discovered."] = "Es wurden keine kompatiblen Kommunikationsprotokolle oder Feeds gefunden.";
@@ -860,12 +853,13 @@ $a->strings["Gender"] = "Geschlecht";
$a->strings["Sexual Preference"] = "Sexuelle Vorlieben";
$a->strings["Homepage"] = "Webseite";
$a->strings["Interests"] = "Interessen";
+$a->strings["Address"] = "Adresse";
$a->strings["Location"] = "Wohnort";
$a->strings["Profile updated."] = "Profil aktualisiert.";
$a->strings[" and "] = " und ";
$a->strings["public profile"] = "öffentliches Profil";
$a->strings["%1\$s changed %2\$s to &ldquo;%3\$s&rdquo;"] = "%1\$s hat %2\$s geändert auf &ldquo;%3\$s&rdquo;";
-$a->strings[" - Visit %1\$s's %2\$s"] = "";
+$a->strings[" - Visit %1\$s's %2\$s"] = " – %1\$ss %2\$s besuchen";
$a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s hat folgendes aktualisiert %2\$s, verändert wurde %3\$s.";
$a->strings["Profile deleted."] = "Profil gelöscht.";
$a->strings["Profile-"] = "Profil-";
@@ -890,6 +884,7 @@ $a->strings["Region/State:"] = "Region/Bundesstaat:";
$a->strings["<span class=\"heart\">&hearts;</span> Marital Status:"] = "<span class=\"heart\">&hearts;</span> Beziehungsstatus:";
$a->strings["Who: (if applicable)"] = "Wer: (falls anwendbar)";
$a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Beispiele: cathy123, Cathy Williams, cathy@example.com";
+$a->strings["Since [date]:"] = "Seit [Datum]:";
$a->strings["Sexual Preference:"] = "Sexuelle Vorlieben:";
$a->strings["Homepage URL:"] = "Adresse der Homepage:";
$a->strings["Political Views:"] = "Politische Ansichten:";
@@ -1099,12 +1094,15 @@ $a->strings["Drupal site URL"] = "URL der Drupal Seite";
$a->strings["Drupal site uses clean URLS"] = "Drupal Seite verwendet bereinigte URLs";
$a->strings["Post to Drupal by default"] = "Veröffentliche öffentliche Beiträge standardmäßig bei Drupal";
$a->strings["Post from Friendica"] = "Beitrag via Friendica";
+$a->strings["Startpage Settings"] = "Startseiten-Einstellungen";
+$a->strings["Home page to load after login - leave blank for profile wall"] = "Seite, die nach dem Anmelden geladen werden soll. Leer = Pinnwand";
+$a->strings["Examples: &quot;network&quot; or &quot;notifications/system&quot;"] = "Beispiele: network, notifications/system";
$a->strings["Geonames settings updated."] = "Geonames Einstellungen aktualisiert";
$a->strings["Geonames Settings"] = "Geonames Einstellungen";
$a->strings["Enable Geonames Plugin"] = "Geonames Plugin aktivieren";
$a->strings["Your account on %s will expire in a few days."] = "Dein Konto auf %s wird in ein paar Tagen verfallen.";
-$a->strings["Your Friendica account is about to expire."] = "";
-$a->strings["Hi %1\$s,\n\nYour account on %2\$s will expire in less than five days. You may keep your account by logging in at least once every 30 days"] = "";
+$a->strings["Your Friendica account is about to expire."] = "Dein Friendica-Account wird in Kürze auslaufen.";
+$a->strings["Hi %1\$s,\n\nYour account on %2\$s will expire in less than five days. You may keep your account by logging in at least once every 30 days"] = "Hallo %1\$s,\n\ndein Account auf %2\$s wird in weniger als fünf Tagen auslaufen. Du kannst das verhindern, indem du dich mindestens einmal alle 30 Tage anmeldest.";
$a->strings["Upload a file"] = "Datei hochladen";
$a->strings["Drop files here to upload"] = "Ziehe Dateien hierher, um sie hochzuladen";
$a->strings["Failed"] = "Fehlgeschlagen";
@@ -1223,8 +1221,8 @@ $a->strings["WordPress username"] = "WordPress-Benutzername";
$a->strings["WordPress password"] = "WordPress-Passwort";
$a->strings["WordPress API URL"] = "WordPress-API-URL";
$a->strings["Post to WordPress by default"] = "Standardmäßig auf WordPress veröffentlichen";
-$a->strings["Provide a backlink to the Friendica post"] = "";
-$a->strings["Read the original post and comment stream on Friendica"] = "";
+$a->strings["Provide a backlink to the Friendica post"] = "Einen zurück zum Friendica-Beitrag hinzufügen";
+$a->strings["Read the original post and comment stream on Friendica"] = "Den Original-Beitrag samt Kommentaren bei Friendica lesen";
$a->strings["\"Show more\" Settings"] = "\"Mehr zeigen\" Einstellungen";
$a->strings["Enable Show More"] = "Aktiviere \"Mehr zeigen\"";
$a->strings["Cutting posts after how much characters"] = "Begrenze Beiträge nach einer bestimmten Anzahl an Buchstaben";
@@ -1318,6 +1316,7 @@ $a->strings["j F"] = "j F";
$a->strings["Birthday:"] = "Geburtstag:";
$a->strings["Age:"] = "Alter:";
$a->strings["Status:"] = "Status:";
+$a->strings["for %1\$d %2\$s"] = "für %1\$d %2\$s";
$a->strings["Homepage:"] = "Homepage:";
$a->strings["Tags:"] = "Tags";
$a->strings["Religion:"] = "Religion:";
@@ -1458,7 +1457,7 @@ $a->strings["view full size"] = "Volle Größe anzeigen";
$a->strings["Embedded content"] = "Eingebetteter Inhalt";
$a->strings["Embedding disabled"] = "Einbettungen deaktiviert";
$a->strings["A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name."] = "Eine gelöschte Gruppe mit diesem Namen wurde wiederbelebt. Bestehende Berechtigungseinstellungen <strong>könnten</strong> auf diese Gruppe oder zukünftige Mitglieder angewandt werden. Falls du dies nicht möchtest, erstelle bitte eine andere Gruppe mit einem anderen Namen.";
-$a->strings["Default privacy group for new contacts"] = "";
+$a->strings["Default privacy group for new contacts"] = "Voreingestellte Gruppe für neue Kontakte";
$a->strings["Everybody"] = "Alle Kontakte";
$a->strings["edit"] = "bearbeiten";
$a->strings["Groups"] = "Gruppen";
@@ -1581,6 +1580,22 @@ $a->strings["A new person is sharing with you at "] = "Eine neue Person teilt mi
$a->strings["You have a new follower at "] = "Du hast einen neuen Kontakt auf ";
$a->strings["image/photo"] = "Bild/Foto";
$a->strings["link"] = "Verweis";
+$a->strings["An invitation is required."] = "Du benötigst eine Einladung.";
+$a->strings["Invitation could not be verified."] = "Die Einladung konnte nicht überprüft werden.";
+$a->strings["Invalid OpenID url"] = "Ungültige OpenID URL";
+$a->strings["Please enter the required information."] = "Bitte trage die erforderlichen Informationen ein.";
+$a->strings["Please use a shorter name."] = "Bitte verwende einen kürzeren Namen.";
+$a->strings["Name too short."] = "Der Name ist zu kurz.";
+$a->strings["That doesn't appear to be your full (First Last) name."] = "Das scheint nicht dein kompletter Name (Vor- und Nachname) zu sein.";
+$a->strings["Your email domain is not among those allowed on this site."] = "Die Domain deiner E-Mail Adresse ist auf dieser Seite nicht erlaubt.";
+$a->strings["Not a valid email address."] = "Keine gültige E-Mail-Adresse.";
+$a->strings["Cannot use that email."] = "Konnte diese E-Mail-Adresse nicht verwenden.";
+$a->strings["Your \"nickname\" can only contain \"a-z\", \"0-9\", \"-\", and \"_\", and must also begin with a letter."] = "Dein Spitzname darf nur aus Buchstaben und Zahlen (\"a-z\",\"0-9\", \"_\" und \"-\") bestehen, außerdem muss er mit einem Buchstaben beginnen.";
+$a->strings["Nickname is already registered. Please choose another."] = "Dieser Spitzname ist bereits vergeben. Bitte wähle einen anderen.";
+$a->strings["Nickname was once registered here and may not be re-used. Please choose another."] = "Dieser Spitzname ist bereits vergeben. Bitte wähle einen anderen.";
+$a->strings["SERIOUS ERROR: Generation of security keys failed."] = "FATALER FEHLER: Sicherheitsschlüssel konnten nicht erzeugt werden.";
+$a->strings["An error occurred during registration. Please try again."] = "Wärend der Anmeldung ist ein Fehler aufgetreten. Bitte versuche es noch einmal.";
+$a->strings["An error occurred creating your default profile. Please try again."] = "Bei der Erstellung des Standardprofils ist ein Fehler aufgetreten. Bitte versuche es noch einmal.";
$a->strings["Welcome "] = "Willkommen ";
$a->strings["Please upload a profile photo."] = "Bitte lade ein Profilbild hoch.";
$a->strings["Welcome back "] = "Willkommen zurück ";
diff --git a/view/dfrn_req_confirm.tpl b/view/dfrn_req_confirm.tpl
index 58e9233aa..6c916323c 100644
--- a/view/dfrn_req_confirm.tpl
+++ b/view/dfrn_req_confirm.tpl
@@ -11,6 +11,10 @@ $please
<input type="hidden" name="localconfirm" value="1" />
$aes_allow
+<label id="dfrn-request-homecoming-hide-label" for="dfrn-request-homecoming-hide">$hidethem</label>
+<input type="checkbox" name="hidden-contact" value="1" {{ if $hidechecked }}checked="checked" {{ endif }} />
+
+
<div id="dfrn-request-homecoming-submit-wrapper" >
<input id="dfrn-request-homecoming-submit" type="submit" name="submit" value="$submit" />
</div>
diff --git a/view/diaspora_like_relay.tpl b/view/diaspora_like_relay.tpl
index 65559b05b..8b67f4de3 100644..100755
--- a/view/diaspora_like_relay.tpl
+++ b/view/diaspora_like_relay.tpl
@@ -5,9 +5,9 @@
<target_type>$target_type</target_type>
<parent_guid>$parent_guid</parent_guid>
<parent_author_signature>$parentsig</parent_author_signature>
- <author_signature>$authrosig</author_signature>
+ <author_signature>$authorsig</author_signature>
<positive>$positive</positive>
<diaspora_handle>$handle</diaspora_handle>
</like>
</post>
-</XML> \ No newline at end of file
+</XML>
diff --git a/view/diaspora_relay_retraction.tpl b/view/diaspora_relay_retraction.tpl
new file mode 100644
index 000000000..e76c7c6c5
--- /dev/null
+++ b/view/diaspora_relay_retraction.tpl
@@ -0,0 +1,10 @@
+<XML>
+ <post>
+ <relayable_retraction>
+ <target_type>$type</target_type>
+ <target_guid>$guid</target_guid>
+ <target_author_signature>$signature</target_author_signature>
+ <sender_handle>$handle</sender_handle>
+ </relayable_retraction>
+ </post>
+</XML>
diff --git a/view/diaspora_relayable_retraction.tpl b/view/diaspora_relayable_retraction.tpl
new file mode 100755
index 000000000..73cff8343
--- /dev/null
+++ b/view/diaspora_relayable_retraction.tpl
@@ -0,0 +1,11 @@
+<XML>
+ <post>
+ <relayable_retraction>
+ <target_type>$target_type</target_type>
+ <target_guid>$guid</target_guid>
+ <parent_author_signature>$parentsig</parent_author_signature>
+ <target_author_signature>$authorsig</target_author_signature>
+ <sender_handle>$handle</sender_handle>
+ </relayable_retraction>
+ </post>
+</XML>
diff --git a/view/pagetypes.tpl b/view/pagetypes.tpl
index 924fc47ac..c9022a1c1 100644
--- a/view/pagetypes.tpl
+++ b/view/pagetypes.tpl
@@ -1,7 +1,5 @@
{{inc field_radio.tpl with $field=$page_normal }}{{endinc}}
- {{inc field_radio.tpl with $field=$page_soapbox }}{{endinc}}
{{inc field_radio.tpl with $field=$page_community }}{{endinc}}
- {{inc field_radio.tpl with $field=$page_freelove }}{{endinc}}
- {{ if $experimental }}
{{inc field_radio.tpl with $field=$page_prvgroup }}{{endinc}}
- {{ endif }} \ No newline at end of file
+ {{inc field_radio.tpl with $field=$page_soapbox }}{{endinc}}
+ {{inc field_radio.tpl with $field=$page_freelove }}{{endinc}}
diff --git a/view/profile_advanced.tpl b/view/profile_advanced.tpl
index 470404fc3..0b8f31f43 100644
--- a/view/profile_advanced.tpl
+++ b/view/profile_advanced.tpl
@@ -29,7 +29,7 @@
{{ if $profile.marital }}
<dl id="aprofile-marital" class="aprofile">
<dt><span class="heart">&hearts;</span> $profile.marital.0</dt>
- <dd>$profile.marital.1 {{ if $profile.marital.with }}($profile.marital.with){{ endif }}</dd>
+ <dd>$profile.marital.1{{ if $profile.marital.with }} ($profile.marital.with){{ endif }}{{ if $profile.howlong }} $profile.howlong{{ endif }}</dd>
</dl>
{{ endif }}
@@ -54,6 +54,13 @@
</dl>
{{ endif }}
+{{ if $profile.hometown }}
+<dl id="aprofile-hometown" class="aprofile">
+ <dt>$profile.hometown.0</dt>
+ <dd>$profile.hometown.1</dd>
+</dl>
+{{ endif }}
+
{{ if $profile.politic }}
<dl id="aprofile-politic" class="aprofile">
<dt>$profile.politic.0</dt>
diff --git a/view/profile_edit.tpl b/view/profile_edit.tpl
index 2139fcf13..ad34b9956 100644
--- a/view/profile_edit.tpl
+++ b/view/profile_edit.tpl
@@ -97,6 +97,12 @@ $hide_friends
</div>
<div id="profile-edit-region-end"></div>
+<div id="profile-edit-hometown-wrapper" >
+<label id="profile-edit-hometown-label" for="profile-edit-hometown" >$lbl_hometown </label>
+<input type="text" size="32" name="hometown" id="profile-edit-hometown" value="$hometown" />
+</div>
+<div id="profile-edit-hometown-end"></div>
+
<div class="profile-edit-submit-wrapper" >
<input type="submit" name="submit" class="profile-edit-submit-button" value="$submit" />
</div>
@@ -108,6 +114,9 @@ $marital
</div>
<label id="profile-edit-with-label" for="profile-edit-with" > $lbl_with </label>
<input type="text" size="32" name="with" id="profile-edit-with" title="$lbl_ex1" value="$with" />
+<label id="profile-edit-howlong-label" for="profile-edit-howlong" > $lbl_howlong </label>
+<input type="text" size="32" name="howlong" id="profile-edit-howlong" title="$lbl_howlong" value="$howlong" />
+
<div id="profile-edit-marital-end"></div>
<div id="profile-edit-sexual-wrapper" >
diff --git a/view/prv_message.tpl b/view/prv_message.tpl
index 2ce07ce6f..ecfef95d6 100644
--- a/view/prv_message.tpl
+++ b/view/prv_message.tpl
@@ -17,7 +17,7 @@ $select
<div id="prvmail-submit-wrapper" >
- <input type="submit" id="prvmail-submit" name="submit" value="Submit" tabindex="13" />
+ <input type="submit" id="prvmail-submit" name="submit" value="$submit" tabindex="13" />
<div id="prvmail-upload-wrapper" >
<div id="prvmail-upload" class="icon border camera" title="$upload" ></div>
</div>
diff --git a/view/settings.tpl b/view/settings.tpl
index d61af072f..99ee9b51e 100644
--- a/view/settings.tpl
+++ b/view/settings.tpl
@@ -98,21 +98,22 @@ $group_select
<div class="settings-submit-wrapper" >
-<input type="submit" name="submit" class="settings-submit" value="Submit" />
+<input type="submit" name="submit" class="settings-submit" value="$submit" />
</div>
<h3 class="settings-heading">$h_not</h3>
+<div id="settings-notifications">
-<strong>$activity_options</strong>
+<div id="settings-activity-desc">$activity_options</div>
{{inc field_checkbox.tpl with $field=$post_newfriend }}{{endinc}}
{{inc field_checkbox.tpl with $field=$post_joingroup }}{{endinc}}
{{inc field_checkbox.tpl with $field=$post_profilechange }}{{endinc}}
-<div id="settings-notify-desc"><strong>$lbl_not </strong></div>
+<div id="settings-notify-desc">$lbl_not</div>
<div class="group">
{{inc field_intcheckbox.tpl with $field=$notify1 }}{{endinc}}
@@ -124,6 +125,7 @@ $group_select
{{inc field_intcheckbox.tpl with $field=$notify7 }}{{endinc}}
</div>
+</div>
<div class="settings-submit-wrapper" >
<input type="submit" name="submit" class="settings-submit" value="$submit" />
@@ -131,6 +133,7 @@ $group_select
<h3 class="settings-heading">$h_advn</h3>
+<div id="settings-pagetype-desc">$h_descadvn</div>
$pagetype
diff --git a/view/theme/dispy/conversation.tpl b/view/theme/dispy/conversation.tpl
index 41b6aeadf..c49cdf26b 100644
--- a/view/theme/dispy/conversation.tpl
+++ b/view/theme/dispy/conversation.tpl
@@ -18,6 +18,7 @@
{{ if $dropping }}
<div class="delete-checked">
-<a href="#" onclick="deleteCheckedItems();return false;"><span class="icon delete"></span><span class="s22 text">$dropping</span></a>
+<a href="#" onclick="deleteCheckedItems();return false;"><span class="icon delete"></span><span class="s22 text" onmouseover="imgbright(this);" onmouseout="imgdull(this);">$dropping</span></a>
</div>
+<div id="item-delete-selected-end"></div>
{{ endif }}
diff --git a/view/theme/dispy/dark/style.css b/view/theme/dispy/dark/style.css
index 965350749..b94e5ec34 100644
--- a/view/theme/dispy/dark/style.css
+++ b/view/theme/dispy/dark/style.css
@@ -103,7 +103,7 @@ div.jGrowl div.info{background:#1353b1 url("../../../images/icons/48/info.png")
nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkmenu.selected .icon.s22.notify{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAQAAABuvaSwAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAAUJcAAFCXAZtv64UAAAHuSURBVCjPbZPbTlNBFIYHLixXRIhEQGNRMUopJAJyAyZ4Z2l8B+XwEBqKtjwOp8oDIAJKIJFUjdFIQCUYrRytdyb0459ht8wG9rrYs9b618y/TsYEH4ZK4qRYYIdDybZOI7TKakIfVhrJ8J2i5IBNyV93/kaaBuv3oV3MgwCTPKGHPkkPA0xRUMBrOgN4AP0o6BseEpF2m3es0qJTFQneyvMhgDsC9tZprnEcGuOPeMcDLUpW3jlLxlDBmJTFY6gLvsVv8tyh9G7U3Z6mwtCuJAoiECSh/w1+8otmTjLqF2KDNsNzRY1bruV0o6rFFtc9S5USh5RRWvAYv4xX9dYPS8ur1oBQC4Y99m2uHriRNda5ErLdU1l3jCI2xdJ3XOYLX6kP2W6K2OF54Et84jN154F31d6ukKOG92pSbcjWLRrbRhVGLTZeOtXqX46LoQSHhJo3jOo3ESrdBQbljIRKNyXUiKHNNSXhTdbZiUzyT/WJ23Zn3BBFy+2u4ZHc1eV2N7EkxAvbbqMRmZOSlbE0g/uajRgl6Iy8r1wpnaFTQ4ji+8XOEsuxYmdDWpJleXJ0+BPdoduL4p5Vavd5IOllmJfiWmSWu6d3pV4jteFWqaAGbLkdKSqtUXXUnN3DSvF8phfy/JfkxfOp9sVb2COz+hY/T0qkwwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMS0wOS0xNlQwOTozOTowMCswMjowMC9Oi90AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTEtMDktMTZUMDk6Mzk6MDArMDI6MDBeEzNhAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg==");}
.show{display:block;}
#notifications{width:170px;height:20px;font-size:small;top:-19px;left:4px;position:absolute;}
-#nav-floater{position:fixed;top:20px;right:1%;padding:5px;background:#1d1f1d;color:transparent;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;z-index:100;width:300px;height:60px;}
+#nav-floater{position:fixed;top:20px;right:1%;padding:5px;background:#1d1f1d;color:transparent;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;z-index:100;width:270px;height:60px;}
#nav-buttons{clear:both;list-style:none;padding:0px;margin:0px;height:25px;}#nav-buttons>li{padding:0;display:inline-block;margin:0px -4px 0px 0px;}
.floaterflip{display:block;position:fixed;z-index:110;top:56px;right:19px;width:22px;height:22px;overflow:hidden;margin:0px;background:transparent url(dark/icons.png) -190px -60px no-repeat;}
.search-box{display:inline-block;margin:5px;position:fixed;right:0px;bottom:0px;z-index:100;background:#1d1f1d;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;}
@@ -111,7 +111,7 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
#search-text{border:1px solid #eeeeee;margin:5px 0;}
#mini-search-text{font-size:8pt;height:14px;width:10em;margin:5px;}
#scrollup{position:fixed;right:5px;bottom:40px;z-index:100;}#scrollup a:hover{text-decoration:none;border:0;}
-#user-menu{-moz-box-shadow:5px 0 10px 0 #111111;-o-box-shadow:5px 0 10px 0 #111111;-webkit-box-shadow:5px 0 10px 0 #111111;-ms-box-shadow:5px 0 10px 0 #111111;box-shadow:5px 0 10px 0 #111111;display:block;width:75%;margin:3px 0 0 0;position:relative;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;background-color:#555753;background-image:url("data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD//gATQ3JlYXRlZCB3aXRoIEdJTVD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAAIAAwDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAMH/8QAIhAAAQMEAgIDAAAAAAAAAAAAAQIDBAAFBhESIQdBMVFh/8QAFQEBAQAAAAAAAAAAAAAAAAAAAgP/xAAXEQEBAQEAAAAAAAAAAAAAAAABAAIR/9oADAMBAAIRAxEAPwCXiHO8dbsEi35BEhIehNlbUhxhBU82O+G9bKgToD2D+VlmZX9OWZBJuAiMxGlni0w0gJCED4HXv7pSi6eFML//2Q==");background-position:98% center;background-repeat:no-repeat;clear:both;top:4px;left:10px;padding:2px;}#user-menu>a{vertical-align:top;outline:0 none;}
+#user-menu{-moz-box-shadow:5px 0 10px 0 #111111;-o-box-shadow:5px 0 10px 0 #111111;-webkit-box-shadow:5px 0 10px 0 #111111;-ms-box-shadow:5px 0 10px 0 #111111;box-shadow:5px 0 10px 0 #111111;display:block;width:80%;margin:3px 0 0 0;position:relative;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;background-color:#555753;background-image:url("data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD//gATQ3JlYXRlZCB3aXRoIEdJTVD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAAIAAwDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAMH/8QAIhAAAQMEAgIDAAAAAAAAAAAAAQIDBAAFBhESIQdBMVFh/8QAFQEBAQAAAAAAAAAAAAAAAAAAAgP/xAAXEQEBAQEAAAAAAAAAAAAAAAABAAIR/9oADAMBAAIRAxEAPwCXiHO8dbsEi35BEhIehNlbUhxhBU82O+G9bKgToD2D+VlmZX9OWZBJuAiMxGlni0w0gJCED4HXv7pSi6eFML//2Q==");background-position:98% center;background-repeat:no-repeat;clear:both;top:4px;left:10px;padding:2px;}#user-menu>a{vertical-align:top;outline:0 none;}
#user-menu-label{font-size:small;padding:3px 20px 9px 5px;height:10px;}
.nav-ajax-update,.nav-ajax-left{width:30px;height:19px;background:transparent url(dark/notifications.png) 0 0 no-repeat;color:#111111;font-weight:bold;font-size:0.8em;padding-top:0.2em;text-align:center;float:left;margin:0 -1px 0 3px;display:block;visibility:hidden;}
.nav-ajax-update.show,.nav-ajax-left.show{visibility:visible;}
@@ -227,11 +227,12 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
#connect-services,#extra-help{margin:0px;padding:0px;list-style:none;list-style-position:inside;margin:1em 0 0 0;}#connect-services li,#extra-help li{display:inline;}
.ccollapse-wrapper{font-size:0.9em;margin-left:5em;}
.hide-comments-outer{font-size:small;}
-.wall-item-outside-wrapper.comment{margin-left:5em;}.wall-item-outside-wrapper.comment .wall-item-photo{width:40px !important;height:40px !important;}
+.wall-item-outside-wrapper.comment{margin-left:5em;}.wall-item-outside-wrapper.comment .wall-item-info{width:5em;}
+.wall-item-outside-wrapper.comment .wall-item-photo{width:40px !important;height:40px !important;}
.wall-item-outside-wrapper.comment .wall-item-photo-wrapper{width:40px;height:40px;}
-.wall-item-outside-wrapper.comment .wall-item-photo-menu-button{width:50px;top:45px;background-position:35px center;}
+.wall-item-outside-wrapper.comment .wall-item-photo-menu-button{width:3.35em;top:3.2em;background-position:35px center;}
.wall-item-outside-wrapper.comment .wall-item-author{margin-left:0.2em;}
-.wall-item-outside-wrapper.comment .wall-item-photo-menu{min-width:50px;top:60px;}
+.wall-item-outside-wrapper.comment .wall-item-photo-menu{min-width:4.5em;top:5.5em;}
.comment-wwedit-wrapper{border:1px solid #eeeecc;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;margin:5px;}
.comment-edit-wrapper{border-top:1px #aaa solid;}
[class^="comment-edit-bb"]{margin:0px;padding:0px;list-style:none;list-style-position:inside;display:none;margin:-40px 0 5px 60px;width:75%;}[class^="comment-edit-bb"]>li{display:inline-block;margin:0 10px 0 0;visibility:none;}
diff --git a/view/theme/dispy/dark/style.less b/view/theme/dispy/dark/style.less
index d394b13bf..c15706c36 100644
--- a/view/theme/dispy/dark/style.less
+++ b/view/theme/dispy/dark/style.less
@@ -639,7 +639,7 @@ nav #nav-notifications-linkmenu {
color: transparent;
.rounded_corners;
z-index: 100;
- .box(300px, 60px);
+ .box(270px, 60px);
}
#nav-buttons {
clear: both;
@@ -702,7 +702,7 @@ nav #nav-notifications-linkmenu {
#user-menu {
.box_shadow(5px, 0, 10px, 0);
display: block;
- width: 75%;
+ width: 80%;
margin: 3px 0 0 0;
position: relative;
.rounded_corners;
@@ -1526,6 +1526,9 @@ nav #nav-notifications-linkmenu {
}
.wall-item-outside-wrapper.comment {
margin-left: 5em;
+ .wall-item-info {
+ width: 5em;
+ }
.wall-item-photo {
width: 40px !important;
height: 40px !important;
@@ -1534,16 +1537,16 @@ nav #nav-notifications-linkmenu {
.box(40px, 40px);
}
.wall-item-photo-menu-button {
- width: 50px;
- top: 45px;
+ width: 3.35em;
+ top: 3.2em;
background-position: 35px center;
}
.wall-item-author {
margin-left: 0.2em;
}
.wall-item-photo-menu {
- min-width: 50px;
- top: 60px;
+ min-width: 4.5em;
+ top: 5.5em;
}
}
.comment-wwedit-wrapper {
diff --git a/view/theme/dispy/light/style.css b/view/theme/dispy/light/style.css
index c9f7ef95a..0e7fc1f8d 100644
--- a/view/theme/dispy/light/style.css
+++ b/view/theme/dispy/light/style.css
@@ -58,7 +58,7 @@ h6{font-size:xx-small;}
#articlemain{width:100%;height:100%;margin:0 auto;}
.button{color:#111111;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;padding:5px;cursor:pointer;}.button a{color:#111111;font-weight:bold;}
#profile-listing-desc a{color:#eeeeec;font-weight:bold;}
-[class$="-desc"],[id$="-desc"]{color:#eeeeec;background:#2e3436;border:3px ridge #111111;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;margin:3px 10px 7px 0;padding:5px;font-weight:bold;font-size:smaller;}
+[class$="-desc"],[id$="-desc"]{color:#eeeeec;background:#2e3436;border:2px outset #111111;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;margin:3px 10px 7px 0;padding:5px;font-weight:bold;font-size:smaller;}
#item-delete-selected-desc{float:left;margin-right:5px;}#item-delete-selected-desc:hover{text-decoration:underline;}
.intro-approve-as-friend-desc{margin-top:10px;}
.intro-desc{margin-bottom:20px;font-weight:bold;}
@@ -103,7 +103,7 @@ div.jGrowl div.info{background:#364e59 url("../../../images/icons/48/info.png")
nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkmenu.selected .icon.s22.notify{background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAQAAABuvaSwAAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAAUJcAAFCXAZtv64UAAAHuSURBVCjPbZPbTlNBFIYHLixXRIhEQGNRMUopJAJyAyZ4Z2l8B+XwEBqKtjwOp8oDIAJKIJFUjdFIQCUYrRytdyb0459ht8wG9rrYs9b618y/TsYEH4ZK4qRYYIdDybZOI7TKakIfVhrJ8J2i5IBNyV93/kaaBuv3oV3MgwCTPKGHPkkPA0xRUMBrOgN4AP0o6BseEpF2m3es0qJTFQneyvMhgDsC9tZprnEcGuOPeMcDLUpW3jlLxlDBmJTFY6gLvsVv8tyh9G7U3Z6mwtCuJAoiECSh/w1+8otmTjLqF2KDNsNzRY1bruV0o6rFFtc9S5USh5RRWvAYv4xX9dYPS8ur1oBQC4Y99m2uHriRNda5ErLdU1l3jCI2xdJ3XOYLX6kP2W6K2OF54Et84jN154F31d6ukKOG92pSbcjWLRrbRhVGLTZeOtXqX46LoQSHhJo3jOo3ESrdBQbljIRKNyXUiKHNNSXhTdbZiUzyT/WJ23Zn3BBFy+2u4ZHc1eV2N7EkxAvbbqMRmZOSlbE0g/uajRgl6Iy8r1wpnaFTQ4ji+8XOEsuxYmdDWpJleXJ0+BPdoduL4p5Vavd5IOllmJfiWmSWu6d3pV4jteFWqaAGbLkdKSqtUXXUnN3DSvF8phfy/JfkxfOp9sVb2COz+hY/T0qkwwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxMS0wOS0xNlQwOTozOTowMCswMjowMC9Oi90AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTEtMDktMTZUMDk6Mzk6MDArMDI6MDBeEzNhAAAAGXRFWHRTb2Z0d2FyZQB3d3cuaW5rc2NhcGUub3Jnm+48GgAAAABJRU5ErkJggg==");}
.show{display:block;}
#notifications{width:170px;height:20px;font-size:small;top:-19px;left:4px;position:absolute;}
-#nav-floater{position:fixed;top:20px;right:1%;padding:5px;background:#2e3436;color:transparent;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;z-index:100;width:300px;height:60px;}
+#nav-floater{position:fixed;top:20px;right:1%;padding:5px;background:#2e3436;color:transparent;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;z-index:100;width:270px;height:60px;}
#nav-buttons{clear:both;list-style:none;padding:0px;margin:0px;height:25px;}#nav-buttons>li{padding:0;display:inline-block;margin:0px -4px 0px 0px;}
.floaterflip{display:block;position:fixed;z-index:110;top:56px;right:19px;width:22px;height:22px;overflow:hidden;margin:0px;background:transparent url(light/icons.png) -190px -60px no-repeat;}
.search-box{display:inline-block;margin:5px;position:fixed;right:0px;bottom:0px;z-index:100;background:#2e3436;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;}
@@ -111,7 +111,7 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
#search-text{border:1px solid #999999;margin:5px 0;}
#mini-search-text{font-size:8pt;height:14px;width:10em;margin:5px;}
#scrollup{position:fixed;right:5px;bottom:40px;z-index:100;}#scrollup a:hover{text-decoration:none;border:0;}
-#user-menu{-moz-box-shadow:5px 0 10px 0 #111111;-o-box-shadow:5px 0 10px 0 #111111;-webkit-box-shadow:5px 0 10px 0 #111111;-ms-box-shadow:5px 0 10px 0 #111111;box-shadow:5px 0 10px 0 #111111;display:block;width:75%;margin:3px 0 0 0;position:relative;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;background-color:#555753;background-image:url("data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD//gATQ3JlYXRlZCB3aXRoIEdJTVD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAAIAAwDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAMH/8QAIhAAAQMEAgIDAAAAAAAAAAAAAQIDBAAFBhESIQdBMVFh/8QAFQEBAQAAAAAAAAAAAAAAAAAAAgP/xAAXEQEBAQEAAAAAAAAAAAAAAAABAAIR/9oADAMBAAIRAxEAPwCXiHO8dbsEi35BEhIehNlbUhxhBU82O+G9bKgToD2D+VlmZX9OWZBJuAiMxGlni0w0gJCED4HXv7pSi6eFML//2Q==");background-position:98% center;background-repeat:no-repeat;clear:both;top:4px;left:10px;padding:2px;}#user-menu>a{vertical-align:top;outline:0 none;}
+#user-menu{-moz-box-shadow:5px 0 10px 0 #111111;-o-box-shadow:5px 0 10px 0 #111111;-webkit-box-shadow:5px 0 10px 0 #111111;-ms-box-shadow:5px 0 10px 0 #111111;box-shadow:5px 0 10px 0 #111111;display:block;width:80%;margin:3px 0 0 0;position:relative;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;background-color:#555753;background-image:url("data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD//gATQ3JlYXRlZCB3aXRoIEdJTVD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAAIAAwDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAMH/8QAIhAAAQMEAgIDAAAAAAAAAAAAAQIDBAAFBhESIQdBMVFh/8QAFQEBAQAAAAAAAAAAAAAAAAAAAgP/xAAXEQEBAQEAAAAAAAAAAAAAAAABAAIR/9oADAMBAAIRAxEAPwCXiHO8dbsEi35BEhIehNlbUhxhBU82O+G9bKgToD2D+VlmZX9OWZBJuAiMxGlni0w0gJCED4HXv7pSi6eFML//2Q==");background-position:98% center;background-repeat:no-repeat;clear:both;top:4px;left:10px;padding:2px;}#user-menu>a{vertical-align:top;outline:0 none;}
#user-menu-label{font-size:small;padding:3px 20px 9px 5px;height:10px;}
.nav-ajax-update,.nav-ajax-left{width:30px;height:19px;background:transparent url(light/notifications.png) 0 0 no-repeat;color:#111111;font-weight:bold;font-size:0.8em;padding-top:0.2em;text-align:center;float:left;margin:0 -1px 0 3px;display:block;visibility:hidden;}
.nav-ajax-update.show,.nav-ajax-left.show{visibility:visible;}
@@ -133,7 +133,7 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
#sysmsg_info{position:fixed;bottom:0;-moz-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;-o-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;-webkit-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;-ms-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;padding:10px;background-color:#fcaf3e;border:2px solid #f8911b;border-bottom:0;padding-bottom:50px;z-index:1000;}
#sysmsg{position:fixed;bottom:0;-moz-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;-o-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;-webkit-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;-ms-box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;box-shadow:3px 3px 3px 10px 0 #111111 5px 5px 0px #111111;padding:10px;background-color:#fcaf3e;border:2px solid #f8911b;border-bottom:0;padding-bottom:50px;z-index:1000;}
#sysmsg_info br,#sysmsg br{display:block;margin:2px 0px;border-top:1px solid #eeeeec;}
-#asidemain{float:left;font-size:small;margin:20px 0 20px 35px;width:25%;display:inline;}
+#asidemain{float:left;font-size:small;margin:1em;width:25%;display:inline;}
#asideright,#asideleft{display:none;}
.vcard .fn{font-size:1.5em;font-weight:bold;border-bottom:1px solid #284d7d;padding-bottom:3px;}
.vcard #profile-photo-wrapper{margin:20px 0;background-color:#555753;padding:5px;width:175px;height:175px;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;-moz-box-shadow:3px 3px 10px 0 #111111;-o-box-shadow:3px 3px 10px 0 #111111;-webkit-box-shadow:3px 3px 10px 0 #111111;-ms-box-shadow:3px 3px 10px 0 #111111;box-shadow:3px 3px 10px 0 #111111;}
@@ -187,7 +187,7 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
#jot-title-display{font-weight:bold;}
.jothidden{display:none;}
#jot-preview-content{background-color:#f2f2c3;color:#111111;border:1px solid #111111;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;-moz-box-shadow:5px 0 10px 0px #111111;-o-box-shadow:5px 0 10px 0px #111111;-webkit-box-shadow:5px 0 10px 0px #111111;-ms-box-shadow:5px 0 10px 0px #111111;box-shadow:5px 0 10px 0px #111111;padding:3px 3px 6px 10px;}#jot-preview-content .wall-item-outside-wrapper{border:0;-o-border-radius:0px 0px 0px 0px;-webkit-border-radius:0px 0px 0px 0px;-moz-border-radius:0px 0px 0px 0px;-ms-border-radius:0px 0px 0px 0px;border-radius:0px 0px 0px 0px;-moz-box-shadow:0 0 0 0 #111111;-o-box-shadow:0 0 0 0 #111111;-webkit-box-shadow:0 0 0 0 #111111;-ms-box-shadow:0 0 0 0 #111111;box-shadow:0 0 0 0 #111111;}
-#sectionmain{margin:20px;font-size:0.8em;min-width:475px;width:67%;float:left;display:inline;}
+#sectionmain{margin:1em;font-size:0.8em;min-width:475px;width:69%;float:left;display:inline;}
.tabs{margin:0px;padding:0px;list-style:none;list-style-position:inside;margin:10px 0;}.tabs li{display:inline;font-size:smaller;}
.tab{border:1px solid #284d7d;padding:4px;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;}.tab:active,.tab:hover{background:#f2f2c3;color:#111111;border:1px solid #284d7d;}
.tab a{border:0;text-decoration:none;}
@@ -203,7 +203,7 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
[id^="tread-wrapper"],[class^="tread-wrapper"]{margin:1.2em 0 0 0;padding:0px;}
.wall-item-photo-menu{display:none;}
.wall-item-photo-menu-button{display:none;text-indent:-99999px;background:#555753 url(light/menu-user-pin.jpg) no-repeat 75px center;position:absolute;overflow:hidden;width:90px;height:20px;top:85px;left:0;-o-border-radius:0 0 5px 5px;-webkit-border-radius:0 0 5px 5px;-moz-border-radius:0 0 5px 5px;-ms-border-radius:0 0 5px 5px;border-radius:0 0 5px 5px;}
-.wall-item-info{float:left;width:8em;position:relative;}
+.wall-item-info{float:left;width:7em;position:relative;}
.wall-item-photo-wrapper{width:80px;height:80px;position:relative;padding:5px;background-color:#555753;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;}
[class^="wall-item-tools"] *{}[class^="wall-item-tools"] *>*{}
.wall-item-tools{float:right;opacity:0.4;-webkit-transition:all 0.75s ease-in-out;-moz-transition:all 0.75s ease-in-out;-o-transition:all 0.75s ease-in-out;-ms-transition:all 0.75s ease-in-out;transition:all 0.75s ease-in-out;}.wall-item-tools:hover{opacity:1;-webkit-transition:all 0.75s ease-in-out;-moz-transition:all 0.75s ease-in-out;-o-transition:all 0.75s ease-in-out;-ms-transition:all 0.75s ease-in-out;transition:all 0.75s ease-in-out;}
@@ -223,14 +223,16 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify,nav #nav-notifications-linkm
.wall-item-arrowphoto-wrapper{position:absolute;left:35px;top:80px;z-index:10002;}
.wall-item-photo-menu{min-width:92px;font-size:0.75em;border:2px solid #555753;border-top:0px;background:#555753;position:absolute;left:-2px;top:101px;display:none;z-index:10003;-o-border-radius:0 5px 5px 5px;-webkit-border-radius:0 5px 5px 5px;-moz-border-radius:0 5px 5px 5px;-ms-border-radius:0 5px 5px 5px;border-radius:0 5px 5px 5px;}.wall-item-photo-menu li a{white-space:nowrap;display:block;padding:5px 6px;color:#eeeeec;}.wall-item-photo-menu li a:hover{color:#555753;background:#eeeeec;}
#item-delete-selected{overflow:auto;width:100%;}
-#connect-services-header,#connect-services,#extra-help-header,#extra-help,#postit-header,#postit{margin:5px 0 0 0;}
+#connect-services-header,#extra-help-header{margin:1.5em 0 0 0;}
+#connect-services,#extra-help{margin:0px;padding:0px;list-style:none;list-style-position:inside;margin:1em 0 0 0;}#connect-services li,#extra-help li{display:inline;}
.ccollapse-wrapper{font-size:0.9em;margin-left:5em;}
.hide-comments-outer{font-size:small;}
-.wall-item-outside-wrapper.comment{margin-left:5em;}.wall-item-outside-wrapper.comment .wall-item-photo{width:40px !important;height:40px !important;}
+.wall-item-outside-wrapper.comment{margin-left:5em;}.wall-item-outside-wrapper.comment .wall-item-info{width:5em;}
+.wall-item-outside-wrapper.comment .wall-item-photo{width:40px !important;height:40px !important;}
.wall-item-outside-wrapper.comment .wall-item-photo-wrapper{width:40px;height:40px;}
-.wall-item-outside-wrapper.comment .wall-item-photo-menu-button{width:50px;top:45px;background-position:35px center;}
+.wall-item-outside-wrapper.comment .wall-item-photo-menu-button{width:3.35em;top:3.2em;background-position:35px center;}
.wall-item-outside-wrapper.comment .wall-item-author{margin-left:0.2em;}
-.wall-item-outside-wrapper.comment .wall-item-photo-menu{min-width:50px;top:60px;}
+.wall-item-outside-wrapper.comment .wall-item-photo-menu{min-width:4.5em;top:5.5em;}
.comment-wwedit-wrapper{border:1px solid #111111;-o-border-radius:5px;-webkit-border-radius:5px;-moz-border-radius:5px;-ms-border-radius:5px;border-radius:5px;margin:5px;}
.comment-edit-wrapper{border-top:1px #aaa solid;}
[class^="comment-edit-bb"]{margin:0px;padding:0px;list-style:none;list-style-position:inside;display:none;margin:-40px 0 5px 60px;width:75%;}[class^="comment-edit-bb"]>li{display:inline-block;margin:0 10px 0 0;visibility:none;}
diff --git a/view/theme/dispy/light/style.less b/view/theme/dispy/light/style.less
index 90cb8780b..ba8e0093b 100644
--- a/view/theme/dispy/light/style.less
+++ b/view/theme/dispy/light/style.less
@@ -640,7 +640,7 @@ nav #nav-notifications-linkmenu {
color: transparent;
.rounded_corners;
z-index: 100;
- .box(300px, 60px);
+ .box(270px, 60px);
}
#nav-buttons {
clear: both;
@@ -703,7 +703,7 @@ nav #nav-notifications-linkmenu {
#user-menu {
.box_shadow(5px, 0, 10px, 0);
display: block;
- width: 75%;
+ width: 80%;
margin: 3px 0 0 0;
position: relative;
.rounded_corners;
@@ -1527,6 +1527,9 @@ nav #nav-notifications-linkmenu {
}
.wall-item-outside-wrapper.comment {
margin-left: 5em;
+ .wall-item-info {
+ width: 5em;
+ }
.wall-item-photo {
width: 40px !important;
height: 40px !important;
@@ -1535,16 +1538,16 @@ nav #nav-notifications-linkmenu {
.box(40px, 40px);
}
.wall-item-photo-menu-button {
- width: 50px;
- top: 45px;
+ width: 3.35em;
+ top: 3.2em;
background-position: 35px center;
}
.wall-item-author {
margin-left: 0.2em;
}
.wall-item-photo-menu {
- min-width: 50px;
- top: 60px;
+ min-width: 4.5em;
+ top: 5.5em;
}
}
.comment-wwedit-wrapper {
diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css
index 07eba1edb..ab660888f 100644
--- a/view/theme/duepuntozero/style.css
+++ b/view/theme/duepuntozero/style.css
@@ -80,6 +80,7 @@ blockquote {
.heart {
color: #FF0000;
font-size: 100%;
+ margin-right: 5px;
}
@@ -678,7 +679,8 @@ input#dfrn-url {
#profile-edit-religion-label,
#profile-edit-pubkeywords-label,
#profile-edit-prvkeywords-label,
-#profile-edit-homepage-label {
+#profile-edit-homepage-label,
+#profile-edit-hometown-label {
float: left;
width: 175px;
}
@@ -716,7 +718,17 @@ input#dfrn-url {
#settings-community {
float: left;
}
-
+#settings-notifications label {
+ margin-left: 20px;
+}
+#settings-notify-desc, #settings-activity-desc {
+ font-weight: bold;
+ margin-bottom: 15px;
+}
+#settings-pagetype-desc {
+ color: #666666;
+ margin-bottom: 15px;
+}
#profile-in-dir-yes-label,
#profile-in-dir-no-label,
@@ -763,7 +775,7 @@ input#dfrn-url {
}
-#profile-edit-homepage {
+#profile-edit-homepage, #profile-edit-hometown {
float: left;
margin-bottom: 35px;
}
@@ -803,6 +815,7 @@ input#dfrn-url {
#profile-edit-pubkeywords-end,
#profile-edit-prvkeywords-end,
#profile-edit-homepage-end,
+#profile-edit-hometown-end,
#profile-in-dir-break,
#profile-in-dir-end,
#profile-in-netdir-break,
diff --git a/view/theme/quattro/dark/style.css b/view/theme/quattro/dark/style.css
index 1fa03b253..14b7c75b3 100644
--- a/view/theme/quattro/dark/style.css
+++ b/view/theme/quattro/dark/style.css
@@ -243,6 +243,18 @@
.icon.s48.language {
background-image: url("icons/language.png");
}
+.icon.on {
+ background-image: url("icons/addon_on.png");
+ min-width: 16px;
+ height: 16px;
+ background-position: 0px 0px;
+}
+.icon.off {
+ background-image: url("icons/addon_off.png");
+ width: 16px;
+ height: 16px;
+ background-position: 0px 0px;
+}
/* global */
body {
font-family: Liberation Sans, helvetica, arial, clean, sans-serif;
@@ -255,8 +267,7 @@ body {
h4 {
font-size: 1.1em;
}
-a,
-a:link {
+a, a:link {
color: #005c94;
text-decoration: none;
}
@@ -478,8 +489,7 @@ nav #nav-site-linkmenu .menu-popup {
right: 0px;
left: auto;
}
-nav #nav-notifications-linkmenu.on .icon.s22.notify,
-nav #nav-notifications-linkmenu.selected .icon.s22.notify {
+nav #nav-notifications-linkmenu.on .icon.s22.notify, nav #nav-notifications-linkmenu.selected .icon.s22.notify {
background-image: url("../../../images/icons/22/notify_on.png");
}
nav #nav-apps-link.selected {
@@ -668,15 +678,11 @@ aside #profiles-menu {
height: 48px;
}
/* group member */
-#contact-edit-drop-link,
-.mail-list-delete-wrapper,
-.group-delete-wrapper {
+#contact-edit-drop-link, .mail-list-delete-wrapper, .group-delete-wrapper {
float: right;
margin-right: 50px;
}
-#contact-edit-drop-link .drophide,
-.mail-list-delete-wrapper .drophide,
-.group-delete-wrapper .drophide {
+#contact-edit-drop-link .drophide, .mail-list-delete-wrapper .drophide, .group-delete-wrapper .drophide {
background-image: url('../../../images/icons/22/delete.png');
display: block;
width: 22px;
@@ -685,9 +691,7 @@ aside #profiles-menu {
position: relative;
top: -50px;
}
-#contact-edit-drop-link .drop,
-.mail-list-delete-wrapper .drop,
-.group-delete-wrapper .drop {
+#contact-edit-drop-link .drop, .mail-list-delete-wrapper .drop, .group-delete-wrapper .drop {
background-image: url('../../../images/icons/22/delete.png');
display: block;
width: 22px;
@@ -817,8 +821,7 @@ section {
display: table;
width: 750px;
}
-.wall-item-container .wall-item-item,
-.wall-item-container .wall-item-bottom {
+.wall-item-container .wall-item-item, .wall-item-container .wall-item-bottom {
display: table-row;
}
.wall-item-container .wall-item-bottom {
@@ -856,13 +859,11 @@ section {
.wall-item-container .wall-item-content img {
max-width: 710px;
}
-.wall-item-container .wall-item-links,
-.wall-item-container .wall-item-actions {
+.wall-item-container .wall-item-links, .wall-item-container .wall-item-actions {
display: table-cell;
vertical-align: middle;
}
-.wall-item-container .wall-item-links .icon,
-.wall-item-container .wall-item-actions .icon {
+.wall-item-container .wall-item-links .icon, .wall-item-container .wall-item-actions .icon {
opacity: 0.5;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
@@ -870,8 +871,7 @@ section {
-ms-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
-.wall-item-container .wall-item-links .icon:hover,
-.wall-item-container .wall-item-actions .icon:hover {
+.wall-item-container .wall-item-links .icon:hover, .wall-item-container .wall-item-actions .icon:hover {
opacity: 1;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
@@ -1015,6 +1015,9 @@ section {
opacity: 0.5;
}
.wwto {
+ position: absolute !important;
+ width: 25px;
+ height: 25px;
background: #FFFFFF;
border: 2px solid #364e59;
height: 25px;
@@ -1245,9 +1248,7 @@ section {
height: 18px;
}*/
/** acl **/
-#photo-edit-perms-select,
-#photos-upload-permissions-wrapper,
-#profile-jot-acl-wrapper {
+#photo-edit-perms-select, #photos-upload-permissions-wrapper, #profile-jot-acl-wrapper {
display: block!important;
}
#acl-wrapper {
@@ -1406,12 +1407,10 @@ ul.tabs li .active {
float: left;
width: 200px;
}
-.field input,
-.field textarea {
+.field input, .field textarea {
width: 400px;
}
-.field input[type="checkbox"],
-.field input[type="radio"] {
+.field input[type="checkbox"], .field input[type="radio"] {
width: auto;
}
.field textarea {
@@ -1642,15 +1641,13 @@ ul.tabs li .active {
transition: all 0.2s ease-in-out;
}
/* theme screenshot */
-.screenshot,
-#theme-preview {
+.screenshot, #theme-preview {
position: absolute;
width: 202px;
left: 70%;
top: 50px;
}
-.screenshot img,
-#theme-preview img {
+.screenshot img, #theme-preview img {
width: 200px;
height: 150px;
}
@@ -1663,3 +1660,77 @@ footer {
margin-top: 25px;
clear: both;
}
+/**
+ * ADMIN
+ */
+#pending-update {
+ float: right;
+ color: #ffffff;
+ font-weight: bold;
+ background-color: #FF0000;
+ padding: 0em 0.3em;
+}
+#adminpage dl {
+ clear: left;
+ margin-bottom: 2px;
+ padding-bottom: 2px;
+ border-bottom: 1px solid black;
+}
+#adminpage dt {
+ width: 200px;
+ float: left;
+ font-weight: bold;
+}
+#adminpage dd {
+ margin-left: 200px;
+}
+#adminpage h3 {
+ border-bottom: 1px solid #cccccc;
+}
+#adminpage .field label {
+ font-weight: bold;
+}
+#adminpage .submit {
+ clear: left;
+ text-align: right;
+}
+#adminpage #pluginslist {
+ margin: 0px;
+ padding: 0px;
+}
+#adminpage .plugin {
+ list-style: none;
+ display: block;
+ border: 1px solid #888888;
+ padding: 1em;
+ margin-bottom: 5px;
+ clear: left;
+}
+#adminpage .plugin desc {
+ margin-left: 2.5em;
+}
+#adminpage .toggleplugin {
+ float: left;
+ margin-right: 1em;
+}
+#adminpage table {
+ width: 100%;
+ border-bottom: 1px solid #000000;
+ margin: 5px 0px;
+}
+#adminpage table th {
+ text-align: left;
+}
+#adminpage table td .icon {
+ float: left;
+}
+#adminpage table tr:hover {
+ background-color: #bbc7d7;
+}
+#adminpage table#users img {
+ width: 16px;
+ height: 16px;
+}
+#adminpage .selectall {
+ text-align: right;
+}
diff --git a/view/theme/quattro/green/style.css b/view/theme/quattro/green/style.css
index 317112f6f..f33c45eae 100644
--- a/view/theme/quattro/green/style.css
+++ b/view/theme/quattro/green/style.css
@@ -243,6 +243,18 @@
.icon.s48.language {
background-image: url("icons/language.png");
}
+.icon.on {
+ background-image: url("icons/addon_on.png");
+ min-width: 16px;
+ height: 16px;
+ background-position: 0px 0px;
+}
+.icon.off {
+ background-image: url("icons/addon_off.png");
+ width: 16px;
+ height: 16px;
+ background-position: 0px 0px;
+}
/* global */
body {
font-family: Liberation Sans, helvetica, arial, clean, sans-serif;
@@ -255,8 +267,7 @@ body {
h4 {
font-size: 1.1em;
}
-a,
-a:link {
+a, a:link {
color: #009100;
text-decoration: none;
}
@@ -478,8 +489,7 @@ nav #nav-site-linkmenu .menu-popup {
right: 0px;
left: auto;
}
-nav #nav-notifications-linkmenu.on .icon.s22.notify,
-nav #nav-notifications-linkmenu.selected .icon.s22.notify {
+nav #nav-notifications-linkmenu.on .icon.s22.notify, nav #nav-notifications-linkmenu.selected .icon.s22.notify {
background-image: url("../../../images/icons/22/notify_on.png");
}
nav #nav-apps-link.selected {
@@ -668,15 +678,11 @@ aside #profiles-menu {
height: 48px;
}
/* group member */
-#contact-edit-drop-link,
-.mail-list-delete-wrapper,
-.group-delete-wrapper {
+#contact-edit-drop-link, .mail-list-delete-wrapper, .group-delete-wrapper {
float: right;
margin-right: 50px;
}
-#contact-edit-drop-link .drophide,
-.mail-list-delete-wrapper .drophide,
-.group-delete-wrapper .drophide {
+#contact-edit-drop-link .drophide, .mail-list-delete-wrapper .drophide, .group-delete-wrapper .drophide {
background-image: url('../../../images/icons/22/delete.png');
display: block;
width: 22px;
@@ -685,9 +691,7 @@ aside #profiles-menu {
position: relative;
top: -50px;
}
-#contact-edit-drop-link .drop,
-.mail-list-delete-wrapper .drop,
-.group-delete-wrapper .drop {
+#contact-edit-drop-link .drop, .mail-list-delete-wrapper .drop, .group-delete-wrapper .drop {
background-image: url('../../../images/icons/22/delete.png');
display: block;
width: 22px;
@@ -817,8 +821,7 @@ section {
display: table;
width: 750px;
}
-.wall-item-container .wall-item-item,
-.wall-item-container .wall-item-bottom {
+.wall-item-container .wall-item-item, .wall-item-container .wall-item-bottom {
display: table-row;
}
.wall-item-container .wall-item-bottom {
@@ -856,13 +859,11 @@ section {
.wall-item-container .wall-item-content img {
max-width: 710px;
}
-.wall-item-container .wall-item-links,
-.wall-item-container .wall-item-actions {
+.wall-item-container .wall-item-links, .wall-item-container .wall-item-actions {
display: table-cell;
vertical-align: middle;
}
-.wall-item-container .wall-item-links .icon,
-.wall-item-container .wall-item-actions .icon {
+.wall-item-container .wall-item-links .icon, .wall-item-container .wall-item-actions .icon {
opacity: 0.5;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
@@ -870,8 +871,7 @@ section {
-ms-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
-.wall-item-container .wall-item-links .icon:hover,
-.wall-item-container .wall-item-actions .icon:hover {
+.wall-item-container .wall-item-links .icon:hover, .wall-item-container .wall-item-actions .icon:hover {
opacity: 1;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
@@ -1015,6 +1015,9 @@ section {
opacity: 0.5;
}
.wwto {
+ position: absolute !important;
+ width: 25px;
+ height: 25px;
background: #FFFFFF;
border: 2px solid #364e59;
height: 25px;
@@ -1245,9 +1248,7 @@ section {
height: 18px;
}*/
/** acl **/
-#photo-edit-perms-select,
-#photos-upload-permissions-wrapper,
-#profile-jot-acl-wrapper {
+#photo-edit-perms-select, #photos-upload-permissions-wrapper, #profile-jot-acl-wrapper {
display: block!important;
}
#acl-wrapper {
@@ -1406,12 +1407,10 @@ ul.tabs li .active {
float: left;
width: 200px;
}
-.field input,
-.field textarea {
+.field input, .field textarea {
width: 400px;
}
-.field input[type="checkbox"],
-.field input[type="radio"] {
+.field input[type="checkbox"], .field input[type="radio"] {
width: auto;
}
.field textarea {
@@ -1642,15 +1641,13 @@ ul.tabs li .active {
transition: all 0.2s ease-in-out;
}
/* theme screenshot */
-.screenshot,
-#theme-preview {
+.screenshot, #theme-preview {
position: absolute;
width: 202px;
left: 70%;
top: 50px;
}
-.screenshot img,
-#theme-preview img {
+.screenshot img, #theme-preview img {
width: 200px;
height: 150px;
}
@@ -1663,3 +1660,77 @@ footer {
margin-top: 25px;
clear: both;
}
+/**
+ * ADMIN
+ */
+#pending-update {
+ float: right;
+ color: #ffffff;
+ font-weight: bold;
+ background-color: #FF0000;
+ padding: 0em 0.3em;
+}
+#adminpage dl {
+ clear: left;
+ margin-bottom: 2px;
+ padding-bottom: 2px;
+ border-bottom: 1px solid black;
+}
+#adminpage dt {
+ width: 200px;
+ float: left;
+ font-weight: bold;
+}
+#adminpage dd {
+ margin-left: 200px;
+}
+#adminpage h3 {
+ border-bottom: 1px solid #cccccc;
+}
+#adminpage .field label {
+ font-weight: bold;
+}
+#adminpage .submit {
+ clear: left;
+ text-align: right;
+}
+#adminpage #pluginslist {
+ margin: 0px;
+ padding: 0px;
+}
+#adminpage .plugin {
+ list-style: none;
+ display: block;
+ border: 1px solid #888888;
+ padding: 1em;
+ margin-bottom: 5px;
+ clear: left;
+}
+#adminpage .plugin desc {
+ margin-left: 2.5em;
+}
+#adminpage .toggleplugin {
+ float: left;
+ margin-right: 1em;
+}
+#adminpage table {
+ width: 100%;
+ border-bottom: 1px solid #000000;
+ margin: 5px 0px;
+}
+#adminpage table th {
+ text-align: left;
+}
+#adminpage table td .icon {
+ float: left;
+}
+#adminpage table tr:hover {
+ background-color: #bbc7d7;
+}
+#adminpage table#users img {
+ width: 16px;
+ height: 16px;
+}
+#adminpage .selectall {
+ text-align: right;
+}
diff --git a/view/theme/quattro/icons.less b/view/theme/quattro/icons.less
index 24e96b5aa..ae7459dfc 100644
--- a/view/theme/quattro/icons.less
+++ b/view/theme/quattro/icons.less
@@ -21,7 +21,8 @@
&.type-text { background-image: url("../../../images/icons/@{size}/text.png"); }
&.language { background-image: url("icons/language.png"); }
-
+
+
}
@@ -59,5 +60,17 @@
.icons(48);
}
+ &.on {
+ background-image: url("icons/addon_on.png");
+ min-width:16px;
+ height: 16px;
+ background-position: 0px 0px;
+ }
+ &.off {
+ background-image: url("icons/addon_off.png");
+ width: 16px;
+ height: 16px;
+ background-position: 0px 0px;
+ }
}
diff --git a/view/theme/quattro/icons/addon_off.png b/view/theme/quattro/icons/addon_off.png
new file mode 100644
index 000000000..40b53259a
--- /dev/null
+++ b/view/theme/quattro/icons/addon_off.png
Binary files differ
diff --git a/view/theme/quattro/icons/addon_on.png b/view/theme/quattro/icons/addon_on.png
new file mode 100644
index 000000000..3d9490f15
--- /dev/null
+++ b/view/theme/quattro/icons/addon_on.png
Binary files differ
diff --git a/view/theme/quattro/quattro.less b/view/theme/quattro/quattro.less
index 4c3279943..4d57719d9 100644
--- a/view/theme/quattro/quattro.less
+++ b/view/theme/quattro/quattro.less
@@ -1152,3 +1152,76 @@ footer { height: 100px; display: table-row; }
clear: both;
}
+/**
+ * ADMIN
+ */
+#pending-update {
+ float:right;
+ color: #ffffff;
+ font-weight: bold;
+ background-color: #FF0000;
+ padding: 0em 0.3em;
+
+}
+#adminpage {
+ dl {
+ clear: left;
+ margin-bottom: 2px;
+ padding-bottom: 2px;
+ border-bottom: 1px solid black;
+ }
+ dt {
+ width: 200px;
+ float: left;
+ font-weight: bold;
+ }
+ dd {
+ margin-left: 200px;
+ }
+ h3 {
+ border-bottom: 1px solid #cccccc;
+ }
+ .field label {
+ font-weight: bold;
+ }
+ .submit {
+ clear:left;
+ text-align: right;
+ }
+ #pluginslist {
+ margin: 0px; padding: 0px;
+ }
+ .plugin {
+ list-style: none;
+ display: block;
+ border: 1px solid #888888;
+ padding: 1em;
+ margin-bottom: 5px;
+ clear: left;
+ desc {
+ margin-left: 2.5em;
+ }
+ }
+ .toggleplugin {
+ float:left;
+ margin-right: 1em;
+ }
+ table {
+ width:100%;
+ border-bottom: 1px solid #000000;
+ margin: 5px 0px;
+ th {
+ text-align: left;
+ }
+ td .icon {
+ float: left;
+ }
+ tr:hover {
+ background-color: #bbc7d7;
+ }
+ }
+ table#users img {
+ width: 16px; height: 16px;
+ }
+ .selectall { text-align: right; }
+}