diff options
62 files changed, 3290 insertions, 2383 deletions
@@ -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 = '♲ ' . $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">♥</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 “%3$s”" 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\">♥</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 “%3$s”" msgstr "%1$s hat %2$s geändert auf “%3$s”" -#: ../../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\">♥</span> Marital Status:" msgstr "<span class=\"heart\">♥</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: "network" or "notifications/system"" -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 “%3\$s”"] = "%1\$s hat %2\$s geändert auf “%3\$s”"; -$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\">♥</span> Marital Status:"] = "<span class=\"heart\">♥</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: "network" or "notifications/system""] = "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">♥</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 Binary files differnew file mode 100644 index 000000000..40b53259a --- /dev/null +++ b/view/theme/quattro/icons/addon_off.png diff --git a/view/theme/quattro/icons/addon_on.png b/view/theme/quattro/icons/addon_on.png Binary files differnew file mode 100644 index 000000000..3d9490f15 --- /dev/null +++ b/view/theme/quattro/icons/addon_on.png 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; } +} |