This commit is contained in:
Sebastian Egbers 2012-06-25 13:59:39 +02:00
commit 020deedd7c
30 changed files with 544 additions and 227 deletions

View file

@ -10,9 +10,9 @@ require_once('include/nav.php');
require_once('include/cache.php'); require_once('include/cache.php');
define ( 'FRIENDICA_PLATFORM', 'Friendica'); define ( 'FRIENDICA_PLATFORM', 'Friendica');
define ( 'FRIENDICA_VERSION', '3.0.1382' ); define ( 'FRIENDICA_VERSION', '3.0.1384' );
define ( 'DFRN_PROTOCOL_VERSION', '2.23' ); define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
define ( 'DB_UPDATE_VERSION', 1149 ); define ( 'DB_UPDATE_VERSION', 1150 );
define ( 'EOL', "<br />\r\n" ); define ( 'EOL', "<br />\r\n" );
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' ); define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
@ -1374,9 +1374,9 @@ if(! function_exists('proc_run')) {
if(count($args) && $args[0] === 'php') if(count($args) && $args[0] === 'php')
$args[0] = ((x($a->config,'php_path')) && (strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php'); $args[0] = ((x($a->config,'php_path')) && (strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');
foreach ($args as $arg){ for($x = 0; $x < count($args); $x ++)
$arg = escapeshellarg($arg); $args[$x] = escapeshellarg($args[$x]);
}
$cmdline = implode($args," "); $cmdline = implode($args," ");
proc_close(proc_open($cmdline." &",array(),$foo)); proc_close(proc_open($cmdline." &",array(),$foo));
} }

View file

@ -831,6 +831,8 @@ CREATE TABLE IF NOT EXISTS `profile` (
`religion` char(255) NOT NULL, `religion` char(255) NOT NULL,
`pub_keywords` text NOT NULL, `pub_keywords` text NOT NULL,
`prv_keywords` text NOT NULL, `prv_keywords` text NOT NULL,
`likes` text NOT NULL,
`dislikes` text NOT NULL,
`about` text NOT NULL, `about` text NOT NULL,
`summary` char(255) NOT NULL, `summary` char(255) NOT NULL,
`music` text NOT NULL, `music` text NOT NULL,

View file

@ -68,9 +68,14 @@ function stripdcode_br_cb($s) {
function diaspora_ul($s) { function diaspora_ul($s) {
// Replace "[\\*]" followed by any number (including zero) of // Replace "[*]" followed by any number (including zero) of
// spaces by "* " to match Diaspora's list format // spaces by "* " to match Diaspora's list format
return preg_replace("/\[\\\\\*\]( *)/", "* ", $s[1]); if( strpos($s[0], "[list]") === 0 )
return '<ul class="listbullet" style="list-style-type: circle;">' . preg_replace("/\[\*\]( *)/", "* ", $s[1]) . '</ul>';
elseif( strpos($s[0], "[ul]") === 0 )
return '<ul class="listbullet" style="list-style-type: circle;">' . preg_replace("/\[\*\]( *)/", "* ", $s[1]) . '</ul>';
else
return $s[0];
} }
@ -80,12 +85,45 @@ function diaspora_ol($s) {
// 1. First element // 1. First element
// 1. Second element // 1. Second element
// 1. Third element // 1. Third element
return preg_replace("/\[\\\\\*\]( *)/", "1. ", $s[1]); if( strpos($s[0], "[list=1]") === 0 )
return '<ul class="listdecimal" style="list-style-type: decimal;">' . preg_replace("/\[\*\]( *)/", "1. ", $s[1]) . '</ul>';
elseif( strpos($s[0], "[list=i]") === 0 )
return '<ul class="listlowerroman" style="list-style-type: lower-roman;">' . preg_replace("/\[\*\]( *)/", "1. ", $s[1]) . '</ul>';
elseif( strpos($s[0], "[list=I]") === 0 )
return '<ul class="listupperroman" style="list-style-type: upper-roman;">' . preg_replace("/\[\*\]( *)/", "1. ", $s[1]) . '</ul>';
elseif( strpos($s[0], "[list=a]") === 0 )
return '<ul class="listloweralpha" style="list-style-type: lower-alpha;">' . preg_replace("/\[\*\]( *)/", "1. ", $s[1]) . '</ul>';
elseif( strpos($s[0], "[list=A]") === 0 )
return '<ul class="listupperalpha" style="list-style-type: upper-alpha;">' . preg_replace("/\[\*\]( *)/", "1. ", $s[1]) . '</ul>';
elseif( strpos($s[0], "[ol]") === 0 )
return '<ul class="listdecimal" style="list-style-type: decimal;">' . preg_replace("/\[\*\]( *)/", "1. ", $s[1]) . '</ul>';
else
return $s[0];
} }
function bb2diaspora($Text,$preserve_nl = false) { function bb2diaspora($Text,$preserve_nl = false) {
// bbcode() will convert "[*]" into "<li>" with no closing "</li>"
// Markdownify() is unable to handle these, as it makes each new
// "<li>" into a deeper nested element until it crashes. So pre-format
// the lists as Diaspora lists before sending the $Text to bbcode()
//
// Note that regular expressions are really not suitable for parsing
// text with opening and closing tags, so nested lists may make things
// wonky
$endlessloop = 0;
while ((strpos($Text, "[/list]") !== false) && (strpos($Text, "[list") !== false) && (++$endlessloop < 20)) {
$Text = preg_replace_callback("/\[list\](.*?)\[\/list\]/is", 'diaspora_ul', $Text);
$Text = preg_replace_callback("/\[list=1\](.*?)\[\/list\]/is", 'diaspora_ol', $Text);
$Text = preg_replace_callback("/\[list=i\](.*?)\[\/list\]/s",'diaspora_ol', $Text);
$Text = preg_replace_callback("/\[list=I\](.*?)\[\/list\]/s", 'diaspora_ol', $Text);
$Text = preg_replace_callback("/\[list=a\](.*?)\[\/list\]/s", 'diaspora_ol', $Text);
$Text = preg_replace_callback("/\[list=A\](.*?)\[\/list\]/s", 'diaspora_ol', $Text);
}
$Text = preg_replace_callback("/\[ul\](.*?)\[\/ul\]/is", 'diaspora_ul', $Text);
$Text = preg_replace_callback("/\[ol\](.*?)\[\/ol\]/is", 'diaspora_ol', $Text);
// Convert it to HTML - don't try oembed // Convert it to HTML - don't try oembed
$Text = bbcode($Text, $preserve_nl, false); $Text = bbcode($Text, $preserve_nl, false);
@ -93,6 +131,12 @@ function bb2diaspora($Text,$preserve_nl = false) {
$md = new Markdownify(false, false, false); $md = new Markdownify(false, false, false);
$Text = $md->parseString($Text); $Text = $md->parseString($Text);
// If the text going into bbcode() has a plain URL in it, i.e.
// with no [url] tags around it, it will come out of parseString()
// looking like: <http://url.com>, which gets removed by strip_tags().
// So take off the angle brackets of any such URL
$Text = preg_replace("/<http(.*?)>/is", "http$1", $Text);
// Remove all unconverted tags // Remove all unconverted tags
$Text = strip_tags($Text); $Text = strip_tags($Text);

View file

@ -427,8 +427,8 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
// We've already parsed out like/dislike for special treatment. We can ignore them now // We've already parsed out like/dislike for special treatment. We can ignore them now
if(((activity_match($item['verb'],ACTIVITY_LIKE)) if(((activity_match($item['verb'],ACTIVITY_LIKE))
|| (activity_match($item['verb'],ACTIVITY_DISLIKE))) || (activity_match($item['verb'],ACTIVITY_DISLIKE))))
&& ($item['id'] != $item['parent'])) // && ($item['id'] != $item['parent']))
continue; continue;
$toplevelpost = (($item['id'] == $item['parent']) ? true : false); $toplevelpost = (($item['id'] == $item['parent']) ? true : false);
@ -549,13 +549,13 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
$shareable = ((($profile_owner == local_user()) && ((! $item['private']) || $item['network'] === NETWORK_FEED)) ? true : false); $shareable = ((($profile_owner == local_user()) && ((! $item['private']) || $item['network'] === NETWORK_FEED)) ? true : false);
if($page_writeable) { if($page_writeable) {
/* if($toplevelpost) { */ /* if($toplevelpost) { */
$likebuttons = array( $likebuttons = array(
'like' => array( t("I like this \x28toggle\x29"), t("like")), 'like' => array( t("I like this \x28toggle\x29"), t("like")),
'dislike' => array( t("I don't like this \x28toggle\x29"), t("dislike")), 'dislike' => array( t("I don't like this \x28toggle\x29"), t("dislike")),
); );
if ($shareable) $likebuttons['share'] = array( t('Share this'), t('share')); if ($shareable) $likebuttons['share'] = array( t('Share this'), t('share'));
/* } */ /* } */
$qc = $qcomment = null; $qc = $qcomment = null;

View file

@ -1560,7 +1560,8 @@ function diaspora_photo($importer,$xml,$msg) {
$link_text = '[img]' . $remote_photo_path . $remote_photo_name . '[/img]' . "\n"; $link_text = '[img]' . $remote_photo_path . $remote_photo_name . '[/img]' . "\n";
$link_text = scale_external_images($link_text); $link_text = scale_external_images($link_text, true,
array($remote_photo_name, 'scaled_full_' . $remote_photo_name));
if(strpos($parent_item['body'],$link_text) === false) { if(strpos($parent_item['body'],$link_text) === false) {
$r = q("update item set `body` = '%s', `visible` = 1 where `id` = %d and `uid` = %d limit 1", $r = q("update item set `body` = '%s', `visible` = 1 where `id` = %d and `uid` = %d limit 1",
@ -2251,7 +2252,6 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) {
$relay_retract = true; $relay_retract = true;
$target_type = ( ($item['verb'] === ACTIVITY_LIKE) ? 'Like' : 'Comment'); $target_type = ( ($item['verb'] === ACTIVITY_LIKE) ? 'Like' : 'Comment');
$sender_signed_text = $item['guid'] . ';' . $target_type ;
$sql_sign_id = 'retract_iid'; $sql_sign_id = 'retract_iid';
$tpl = get_markup_template('diaspora_relayable_retraction.tpl'); $tpl = get_markup_template('diaspora_relayable_retraction.tpl');
@ -2262,13 +2262,10 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) {
$target_type = 'Post'; $target_type = 'Post';
// $positive = (($item['deleted']) ? 'false' : 'true'); // $positive = (($item['deleted']) ? 'false' : 'true');
$positive = 'true'; $positive = 'true';
$sender_signed_text = $item['guid'] . ';' . $target_type . ';' . $parent_guid . ';' . $positive . ';' . $myaddr;
$tpl = get_markup_template('diaspora_like_relay.tpl'); $tpl = get_markup_template('diaspora_like_relay.tpl');
} }
else { // item is a comment else { // item is a comment
$sender_signed_text = $item['guid'] . ';' . $parent_guid . ';' . $text . ';' . $myaddr;
$tpl = get_markup_template('diaspora_comment_relay.tpl'); $tpl = get_markup_template('diaspora_comment_relay.tpl');
} }
@ -2294,6 +2291,13 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) {
return; return;
} }
if($relay_retract)
$sender_signed_text = $item['guid'] . ';' . $target_type;
elseif($like)
$sender_signed_text = $item['guid'] . ';' . $target_type . ';' . $parent_guid . ';' . $positive . ';' . $handle;
else
$sender_signed_text = $item['guid'] . ';' . $parent_guid . ';' . $text . ';' . $handle;
// Sign the relayable with the top-level owner's signature // Sign the relayable with the top-level owner's signature
// //
// We'll use the $sender_signed_text that we just created, instead of the $signed_text // We'll use the $sender_signed_text that we just created, instead of the $signed_text

View file

@ -62,6 +62,11 @@ function new_contact($uid,$url,$interactive = false) {
} }
} }
// This extra param just confuses things, remove it // This extra param just confuses things, remove it
if($ret['network'] === NETWORK_DIASPORA) if($ret['network'] === NETWORK_DIASPORA)
$ret['url'] = str_replace('?absolute=true','',$ret['url']); $ret['url'] = str_replace('?absolute=true','',$ret['url']);
@ -89,6 +94,11 @@ function new_contact($uid,$url,$interactive = false) {
$ret['notify'] = ''; $ret['notify'] = '';
} }
if(! $ret['notify']) { if(! $ret['notify']) {
$result['message'] .= t('Limited profile. This person will be unable to receive direct/personal notifications from you.') . EOL; $result['message'] .= t('Limited profile. This person will be unable to receive direct/personal notifications from you.') . EOL;
} }
@ -129,6 +139,32 @@ function new_contact($uid,$url,$interactive = false) {
} }
else { else {
// check service class limits
$r = q("select count(*) as total from contact where uid = %d and pending = 0 and self = 0",
intval($uid)
);
if(count($r))
$total_contacts = $r[0]['total'];
if(! service_class_allows($uid,'total_contacts',$total_contacts)) {
$result['message'] .= upgrade_message();
return $result;
}
$r = q("select count(network) as total from contact where uid = %d and network = '%s' and pending = 0 and self = 0",
intval($uid),
dbesc($network)
);
if(count($r))
$total_network = $r[0]['total'];
if(! service_class_allows($uid,'total_contacts_' . $network,$total_network)) {
$result['message'] .= upgrade_message();
return $result;
}
$new_relation = (($ret['network'] === NETWORK_MAIL) ? CONTACT_IS_FRIEND : CONTACT_IS_SHARING); $new_relation = (($ret['network'] === NETWORK_MAIL) ? CONTACT_IS_FRIEND : CONTACT_IS_SHARING);
if($ret['network'] === NETWORK_DIASPORA) if($ret['network'] === NETWORK_DIASPORA)
$new_relation = CONTACT_IS_FOLLOWER; $new_relation = CONTACT_IS_FOLLOWER;

View file

@ -1726,10 +1726,12 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
$datarray['type'] = 'activity'; $datarray['type'] = 'activity';
$datarray['gravity'] = GRAVITY_LIKE; $datarray['gravity'] = GRAVITY_LIKE;
// only one like or dislike per person // only one like or dislike per person
$r = q("select id from item where uid = %d and `contact-id` = %d and verb ='%s' and deleted = 0 limit 1", $r = q("select id from item where uid = %d and `contact-id` = %d and verb ='%s' and deleted = 0 and (`parent-uri` = '%s' OR `thr_parent` = '%s') limit 1",
intval($datarray['uid']), intval($datarray['uid']),
intval($datarray['contact-id']), intval($datarray['contact-id']),
dbesc($datarray['verb']) dbesc($datarray['verb']),
dbesc($parent_uri),
dbesc($parent_uri)
); );
if($r && count($r)) if($r && count($r))
continue; continue;
@ -2269,12 +2271,13 @@ function local_delivery($importer,$data) {
$r = q("select `item`.`id`, `item`.`uri`, `item`.`tag`, `item`.`forum_mode`,`item`.`origin`,`item`.`wall`, $r = q("select `item`.`id`, `item`.`uri`, `item`.`tag`, `item`.`forum_mode`,`item`.`origin`,`item`.`wall`,
`contact`.`name`, `contact`.`url`, `contact`.`thumb` from `item` `contact`.`name`, `contact`.`url`, `contact`.`thumb` from `item`
LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
WHERE `item`.`uri` = '%s' AND `item`.`parent-uri` = '%s' WHERE `item`.`uri` = '%s' AND (`item`.`parent-uri` = '%s' or `item`.`thr-parent` = '%s')
AND `item`.`uid` = %d AND `item`.`uid` = %d
$sql_extra $sql_extra
LIMIT 1", LIMIT 1",
dbesc($parent_uri), dbesc($parent_uri),
dbesc($parent_uri), dbesc($parent_uri),
dbesc($parent_uri),
intval($importer['importer_uid']) intval($importer['importer_uid'])
); );
if($r && count($r)) if($r && count($r))
@ -2362,7 +2365,7 @@ function local_delivery($importer,$data) {
$datarray['gravity'] = GRAVITY_LIKE; $datarray['gravity'] = GRAVITY_LIKE;
$datarray['last-child'] = 0; $datarray['last-child'] = 0;
// only one like or dislike per person // only one like or dislike per person
$r = q("select id from item where uid = %d and `contact-id` = %d and verb ='%s' and (`thr-parent` = '%s' or `parent-uri` = '%s') and deleted = 0 limit 1", $r = q("select id from item where uid = %d and `contact-id` = %d and verb = '%s' and (`thr-parent` = '%s' or `parent-uri` = '%s') and deleted = 0 limit 1",
intval($datarray['uid']), intval($datarray['uid']),
intval($datarray['contact-id']), intval($datarray['contact-id']),
dbesc($datarray['verb']), dbesc($datarray['verb']),
@ -2536,10 +2539,12 @@ function local_delivery($importer,$data) {
$datarray['type'] = 'activity'; $datarray['type'] = 'activity';
$datarray['gravity'] = GRAVITY_LIKE; $datarray['gravity'] = GRAVITY_LIKE;
// only one like or dislike per person // only one like or dislike per person
$r = q("select id from item where uid = %d and `contact-id` = %d and verb ='%s' and deleted = 0 limit 1", $r = q("select id from item where uid = %d and `contact-id` = %d and verb ='%s' and deleted = 0 and (`parent-uri` = '%s' OR `thr-parent` = '%s') limit 1",
intval($datarray['uid']), intval($datarray['uid']),
intval($datarray['contact-id']), intval($datarray['contact-id']),
dbesc($datarray['verb']) dbesc($datarray['verb']),
dbesc($parent_uri),
dbesc($parent_uri)
); );
if($r && count($r)) if($r && count($r))
continue; continue;

View file

@ -793,7 +793,7 @@ function add_fcontact($arr,$update = false) {
} }
function scale_external_images($s,$include_link = true) { function scale_external_images($s, $include_link = true, $scale_replace = false) {
$a = get_app(); $a = get_app();
@ -803,10 +803,22 @@ function scale_external_images($s,$include_link = true) {
require_once('include/Photo.php'); require_once('include/Photo.php');
foreach($matches as $mtch) { foreach($matches as $mtch) {
logger('scale_external_image: ' . $mtch[1]); logger('scale_external_image: ' . $mtch[1]);
$hostname = str_replace('www.','',substr($a->get_baseurl(),strpos($a->get_baseurl(),'://')+3)); $hostname = str_replace('www.','',substr($a->get_baseurl(),strpos($a->get_baseurl(),'://')+3));
if(stristr($mtch[1],$hostname)) if(stristr($mtch[1],$hostname))
continue; continue;
$i = fetch_url($mtch[1]);
// $scale_replace, if passed, is an array of two elements. The
// first is the name of the full-size image. The second is the
// name of a remote, scaled-down version of the full size image.
// This allows Friendica to display the smaller remote image if
// one exists, while still linking to the full-size image
if($scale_replace)
$scaled = str_replace($scale_replace[0], $scale_replace[1], $mtch[1]);
else
$scaled = $mtch[1];
$i = fetch_url($scaled);
// guess mimetype from headers or filename // guess mimetype from headers or filename
$type = guess_image_type($mtch[1],true); $type = guess_image_type($mtch[1],true);
@ -822,7 +834,7 @@ function scale_external_images($s,$include_link = true) {
$new_width = $ph->getWidth(); $new_width = $ph->getWidth();
$new_height = $ph->getHeight(); $new_height = $ph->getHeight();
logger('scale_external_images: ' . $orig_width . '->' . $new_width . 'w ' . $orig_height . '->' . $new_height . 'h' . ' match: ' . $mtch[0], LOGGER_DEBUG); logger('scale_external_images: ' . $orig_width . '->' . $new_width . 'w ' . $orig_height . '->' . $new_height . 'h' . ' match: ' . $mtch[0], LOGGER_DEBUG);
$s = str_replace($mtch[0],'[img=' . $new_width . 'x' . $new_height. ']' . $mtch[1] . '[/img]' $s = str_replace($mtch[0],'[img=' . $new_width . 'x' . $new_height. ']' . $scaled . '[/img]'
. "\n" . (($include_link) . "\n" . (($include_link)
? '[url=' . $mtch[1] . ']' . t('view full size') . '[/url]' . "\n" ? '[url=' . $mtch[1] . ']' . t('view full size') . '[/url]' . "\n"
: ''),$s); : ''),$s);

View file

@ -316,3 +316,84 @@ function get_theme_screenshot($theme) {
} }
return($a->get_baseurl() . '/images/blank.png'); return($a->get_baseurl() . '/images/blank.png');
} }
// check service_class restrictions. If there are no service_classes defined, everything is allowed.
// if $usage is supplied, we check against a maximum count and return true if the current usage is
// less than the subscriber plan allows. Otherwise we return boolean true or false if the property
// is allowed (or not) in this subscriber plan. An unset property for this service plan means
// the property is allowed, so it is only necessary to provide negative properties for each plan,
// or what the subscriber is not allowed to do.
function service_class_allows($uid,$property,$usage = false) {
if($uid == local_user()) {
$service_class = $a->user['service_class'];
}
else {
$r = q("select service_class from user where uid = %d limit 1",
intval($uid)
);
if($r !== false and count($r)) {
$service_class = $r[0]['service_class'];
}
}
if(! x($service_class))
return true; // everything is allowed
$arr = get_config('service_class',$service_class);
if(! is_array($arr) || (! count($arr)))
return true;
if($usage === false)
return ((x($arr[$property])) ? (bool) $arr['property'] : true);
else {
if(! array_key_exists($property,$arr))
return true;
return (((intval($usage)) < intval($arr[$property])) ? true : false);
}
}
function service_class_fetch($uid,$property) {
if($uid == local_user()) {
$service_class = $a->user['service_class'];
}
else {
$r = q("select service_class from user where uid = %d limit 1",
intval($uid)
);
if($r !== false and count($r)) {
$service_class = $r[0]['service_class'];
}
}
if(! x($service_class))
return false; // everything is allowed
$arr = get_config('service_class',$service_class);
if(! is_array($arr) || (! count($arr)))
return false;
return((array_key_exists($property,$arr)) ? $arr[$property] : false);
}
function upgrade_link() {
$l = get_config('service_class','upgrade_link');
$t = sprintf('<a href="%s">' . t('Click here to upgrade.') . '</div>', $l);
if($l)
return $t;
return '';
}
function upgrade_message() {
$x = upgrade_link();
return t('This action exceeds the limits set by your subscription plan.') . (($x) ? ' ' . $x : '') ;
}
function upgrade_bool_message() {
$x = upgrade_link();
return t('This action is not available under your subscription plan.') . (($x) ? ' ' . $x : '') ;
}

View file

@ -59,6 +59,11 @@ function advanced_profile(&$a) {
if($txt = prepare_text($a->profile['interest'])) $profile['interest'] = array( t('Hobbies/Interests:'), $txt); if($txt = prepare_text($a->profile['interest'])) $profile['interest'] = array( t('Hobbies/Interests:'), $txt);
if($txt = prepare_text($a->profile['likes'])) $profile['likes'] = array( t('Likes:'), $txt);
if($txt = prepare_text($a->profile['dislikes'])) $profile['dislikes'] = array( t('Dislikes:'), $txt);
if($txt = prepare_text($a->profile['contact'])) $profile['contact'] = array( t('Contact information and Social Networks:'), $txt); if($txt = prepare_text($a->profile['contact'])) $profile['contact'] = array( t('Contact information and Social Networks:'), $txt);
if($txt = prepare_text($a->profile['music'])) $profile['music'] = array( t('Musical interests:'), $txt); if($txt = prepare_text($a->profile['music'])) $profile['music'] = array( t('Musical interests:'), $txt);

View file

@ -147,13 +147,18 @@ function create_user($arr) {
require_once('include/crypto.php'); require_once('include/crypto.php');
$keys = new_keypair(1024); $keys = new_keypair(4096);
if($keys === false) { if($keys === false) {
$result['message'] .= t('SERIOUS ERROR: Generation of security keys failed.') . EOL; $result['message'] .= t('SERIOUS ERROR: Generation of security keys failed.') . EOL;
return $result; return $result;
} }
$default_service_class = get_config('system','default_service_class');
if(! $default_service_class)
$default_service_class = '';
$prvkey = $keys['prvkey']; $prvkey = $keys['prvkey'];
$pubkey = $keys['pubkey']; $pubkey = $keys['pubkey'];
@ -173,8 +178,8 @@ function create_user($arr) {
$spubkey = $sres['pubkey']; $spubkey = $sres['pubkey'];
$r = q("INSERT INTO `user` ( `guid`, `username`, `password`, `email`, `openid`, `nickname`, $r = q("INSERT INTO `user` ( `guid`, `username`, `password`, `email`, `openid`, `nickname`,
`pubkey`, `prvkey`, `spubkey`, `sprvkey`, `register_date`, `verified`, `blocked`, `timezone` ) `pubkey`, `prvkey`, `spubkey`, `sprvkey`, `register_date`, `verified`, `blocked`, `timezone`, `service_class` )
VALUES ( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, 'UTC' )", VALUES ( '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, 'UTC', '%s' )",
dbesc(generate_user_guid()), dbesc(generate_user_guid()),
dbesc($username), dbesc($username),
dbesc($new_password_encoded), dbesc($new_password_encoded),
@ -187,7 +192,8 @@ function create_user($arr) {
dbesc($sprvkey), dbesc($sprvkey),
dbesc(datetime_convert()), dbesc(datetime_convert()),
intval($verified), intval($verified),
intval($blocked) intval($blocked),
dbesc($default_service_class)
); );
if($r) { if($r) {

8
js/jquery.js vendored

File diff suppressed because one or more lines are too long

View file

@ -146,7 +146,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
*/ */
require_once('include/crypto.php'); require_once('include/crypto.php');
$res = new_keypair(1024); $res = new_keypair(4096);
$private_key = $res['prvkey']; $private_key = $res['prvkey'];
$public_key = $res['pubkey']; $public_key = $res['pubkey'];

View file

@ -39,7 +39,9 @@ function photos_init(&$a) {
$o .= '<div id="profile-photo-wrapper"><img class="photo" style="width: 175px; height: 175px;" src="' . $a->get_cached_avatar_image($a->get_baseurl() . '/photo/profile/' . $a->data['user']['uid'] . '.jpg') . '" alt="' . $a->data['user']['username'] . '" /></div>'; $o .= '<div id="profile-photo-wrapper"><img class="photo" style="width: 175px; height: 175px;" src="' . $a->get_cached_avatar_image($a->get_baseurl() . '/photo/profile/' . $a->data['user']['uid'] . '.jpg') . '" alt="' . $a->data['user']['username'] . '" /></div>';
$o .= '</div>'; $o .= '</div>';
if(! intval($a->data['user']['hidewall'])) { $albums_visible = ((intval($a->data['user']['hidewall']) && (! local_user()) && (! remote_user())) ? false : true);
if($albums_visible) {
$o .= '<div id="side-bar-photos-albums" class="widget">'; $o .= '<div id="side-bar-photos-albums" class="widget">';
$o .= '<h3>' . '<a href="' . $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '">' . t('Photo Albums') . '</a></h3>'; $o .= '<h3>' . '<a href="' . $a->get_baseurl() . '/photos/' . $a->data['user']['nickname'] . '">' . t('Photo Albums') . '</a></h3>';
@ -709,6 +711,24 @@ function photos_post(&$a) {
logger('mod/photos.php: photos_post(): loading the contents of ' . $src , LOGGER_DEBUG); logger('mod/photos.php: photos_post(): loading the contents of ' . $src , LOGGER_DEBUG);
$imagedata = @file_get_contents($src); $imagedata = @file_get_contents($src);
$r = q("select sum(octet_length(data)) as total from photo where uid = %d and scale = 0 and album != 'Contact Photos' ",
intval($a->data['user']['uid'])
);
$limit = service_class_fetch($a->data['user']['uid'],'photo_upload_limit');
if(($limit !== false) && (($r[0]['total'] + strlen($imagedata)) > $limit)) {
notice( upgrade_message() . EOL );
@unlink($src);
$foo = 0;
call_hooks('photo_post_end',$foo);
killme();
}
$ph = new Photo($imagedata, $type); $ph = new Photo($imagedata, $type);
if(! $ph->is_valid()) { if(! $ph->is_valid()) {
@ -966,12 +986,25 @@ function photos_content(&$a) {
<input type="submit" name="submit" value="' . t('Submit') . '" id="photos-upload-submit" /> </div>'; <input type="submit" name="submit" value="' . t('Submit') . '" id="photos-upload-submit" /> </div>';
$r = q("select sum(octet_length(data)) as total from photo where uid = %d and scale = 0 and album != 'Contact Photos' ",
intval($a->data['user']['uid'])
);
$limit = service_class_fetch($a->data['user']['uid'],'photo_upload_limit');
if($limit !== false) {
$usage_message = sprintf( t("You have used %1$.2f Mbytes of %2$.2f Mbytes photo storage."), $r[0]['total'] / 1024000, $limit / 1024000 );
}
else {
$usage_message = sprintf( t('You have used %1$.2f Mbytes of photo storage.'), $r[0]['total'] / 1024000 );
}
$tpl = get_markup_template('photos_upload.tpl'); $tpl = get_markup_template('photos_upload.tpl');
$o .= replace_macros($tpl,array( $o .= replace_macros($tpl,array(
'$pagename' => t('Upload Photos'), '$pagename' => t('Upload Photos'),
'$sessid' => session_id(), '$sessid' => session_id(),
'$usage' => $usage_message,
'$nickname' => $a->data['user']['nickname'], '$nickname' => $a->data['user']['nickname'],
'$newalbum' => t('New album name: '), '$newalbum' => t('New album name: '),
'$existalbumtext' => t('or existing album name: '), '$existalbumtext' => t('or existing album name: '),

View file

@ -130,6 +130,9 @@ function profiles_post(&$a) {
$politic = notags(trim($_POST['politic'])); $politic = notags(trim($_POST['politic']));
$religion = notags(trim($_POST['religion'])); $religion = notags(trim($_POST['religion']));
$likes = fix_mce_lf(escape_tags(trim($_POST['likes'])));
$dislikes = fix_mce_lf(escape_tags(trim($_POST['dislikes'])));
$about = fix_mce_lf(escape_tags(trim($_POST['about']))); $about = fix_mce_lf(escape_tags(trim($_POST['about'])));
$interest = fix_mce_lf(escape_tags(trim($_POST['interest']))); $interest = fix_mce_lf(escape_tags(trim($_POST['interest'])));
$contact = fix_mce_lf(escape_tags(trim($_POST['contact']))); $contact = fix_mce_lf(escape_tags(trim($_POST['contact'])));
@ -156,6 +159,14 @@ function profiles_post(&$a) {
$changes[] = '[color=#ff0000]&hearts;[/color] ' . t('Romantic Partner'); $changes[] = '[color=#ff0000]&hearts;[/color] ' . t('Romantic Partner');
$value = strip_tags($with); $value = strip_tags($with);
} }
if($likes != $orig[0]['likes']) {
$changes[] = t('Likes');
$value = $likes;
}
if($dislikes != $orig[0]['dislikes']) {
$changes[] = t('Dislikes');
$value = $dislikes;
}
if($work != $orig[0]['work']) { if($work != $orig[0]['work']) {
$changes[] = t('Work/Employment'); $changes[] = t('Work/Employment');
} }
@ -222,6 +233,8 @@ function profiles_post(&$a) {
`religion` = '%s', `religion` = '%s',
`pub_keywords` = '%s', `pub_keywords` = '%s',
`prv_keywords` = '%s', `prv_keywords` = '%s',
`likes` = '%s',
`dislikes` = '%s',
`about` = '%s', `about` = '%s',
`interest` = '%s', `interest` = '%s',
`contact` = '%s', `contact` = '%s',
@ -254,6 +267,8 @@ function profiles_post(&$a) {
dbesc($religion), dbesc($religion),
dbesc($pub_keywords), dbesc($pub_keywords),
dbesc($prv_keywords), dbesc($prv_keywords),
dbesc($likes),
dbesc($dislikes),
dbesc($about), dbesc($about),
dbesc($interest), dbesc($interest),
dbesc($contact), dbesc($contact),
@ -577,6 +592,8 @@ function profiles_content(&$a) {
'$lbl_religion' => t('Religious Views:'), '$lbl_religion' => t('Religious Views:'),
'$lbl_pubkey' => t('Public Keywords:'), '$lbl_pubkey' => t('Public Keywords:'),
'$lbl_prvkey' => t('Private Keywords:'), '$lbl_prvkey' => t('Private Keywords:'),
'$lbl_likes' => t('Likes:'),
'$lbl_dislikes' => t('Dislikes:'),
'$lbl_ex2' => t('Example: fishing photography software'), '$lbl_ex2' => t('Example: fishing photography software'),
'$lbl_pubdsc' => t("\x28Used for suggesting potential friends, can be seen by others\x29"), '$lbl_pubdsc' => t("\x28Used for suggesting potential friends, can be seen by others\x29"),
'$lbl_prvdsc' => t("\x28Used for searching profiles, never shown to others\x29"), '$lbl_prvdsc' => t("\x28Used for searching profiles, never shown to others\x29"),
@ -617,6 +634,8 @@ function profiles_content(&$a) {
'$religion' => $r[0]['religion'], '$religion' => $r[0]['religion'],
'$pub_keywords' => $r[0]['pub_keywords'], '$pub_keywords' => $r[0]['pub_keywords'],
'$prv_keywords' => $r[0]['prv_keywords'], '$prv_keywords' => $r[0]['prv_keywords'],
'$likes' => $r[0]['likes'],
'$dislikes' => $r[0]['dislikes'],
'$music' => $r[0]['music'], '$music' => $r[0]['music'],
'$book' => $r[0]['book'], '$book' => $r[0]['book'],
'$tv' => $r[0]['tv'], '$tv' => $r[0]['tv'],

View file

@ -1,6 +1,6 @@
<?php <?php
define( 'UPDATE_VERSION' , 1149 ); define( 'UPDATE_VERSION' , 1150 );
/** /**
* *
@ -1289,3 +1289,12 @@ function update_1148() {
return UPDATE_FAILED; return UPDATE_FAILED;
return UPDATE_SUCCESS; return UPDATE_SUCCESS;
} }
function update_1149() {
$r1 = q("ALTER TABLE profile ADD likes text NOT NULL after prv_keywords");
$r2 = q("ALTER TABLE profile ADD dislikes text NOT NULL after likes");
if (! ($r1 && $r2))
return UPDATE_FAILED;
return UPDATE_SUCCESS;
}

View file

@ -6,9 +6,9 @@
#, fuzzy #, fuzzy
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: 3.0.1382\n" "Project-Id-Version: 3.0.1384\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-22 10:00-0700\n" "POT-Creation-Date: 2012-06-24 10:00-0700\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -54,8 +54,8 @@ msgstr ""
#: ../../mod/follow.php:9 ../../mod/display.php:138 ../../mod/profiles.php:7 #: ../../mod/follow.php:9 ../../mod/display.php:138 ../../mod/profiles.php:7
#: ../../mod/profiles.php:385 ../../mod/delegate.php:6 #: ../../mod/profiles.php:385 ../../mod/delegate.php:6
#: ../../mod/suggest.php:28 ../../mod/invite.php:13 ../../mod/invite.php:81 #: ../../mod/suggest.php:28 ../../mod/invite.php:13 ../../mod/invite.php:81
#: ../../mod/dfrn_confirm.php:53 ../../addon/facebook/facebook.php:507 #: ../../mod/dfrn_confirm.php:53 ../../addon/facebook/facebook.php:508
#: ../../addon/dav/layout.fnk.php:353 ../../include/items.php:3401 #: ../../addon/dav/layout.fnk.php:353 ../../include/items.php:3411
#: ../../index.php:309 #: ../../index.php:309
msgid "Permission denied." msgid "Permission denied."
msgstr "" msgstr ""
@ -133,7 +133,8 @@ msgstr ""
#: ../../mod/group.php:85 ../../mod/message.php:216 ../../mod/message.php:410 #: ../../mod/group.php:85 ../../mod/message.php:216 ../../mod/message.php:410
#: ../../mod/admin.php:420 ../../mod/admin.php:656 ../../mod/admin.php:792 #: ../../mod/admin.php:420 ../../mod/admin.php:656 ../../mod/admin.php:792
#: ../../mod/admin.php:991 ../../mod/admin.php:1078 ../../mod/profiles.php:554 #: ../../mod/admin.php:991 ../../mod/admin.php:1078 ../../mod/profiles.php:554
#: ../../mod/invite.php:119 ../../addon/facebook/facebook.php:609 #: ../../mod/invite.php:119 ../../addon/fromgplus/fromgplus.php:40
#: ../../addon/facebook/facebook.php:610
#: ../../addon/snautofollow/snautofollow.php:64 #: ../../addon/snautofollow/snautofollow.php:64
#: ../../addon/yourls/yourls.php:76 ../../addon/ljpost/ljpost.php:93 #: ../../addon/yourls/yourls.php:76 ../../addon/ljpost/ljpost.php:93
#: ../../addon/nsfw/nsfw.php:57 ../../addon/page/page.php:164 #: ../../addon/nsfw/nsfw.php:57 ../../addon/page/page.php:164
@ -156,11 +157,11 @@ msgstr ""
#: ../../addon/statusnet/statusnet.php:318 #: ../../addon/statusnet/statusnet.php:318
#: ../../addon/statusnet/statusnet.php:325 #: ../../addon/statusnet/statusnet.php:325
#: ../../addon/statusnet/statusnet.php:353 #: ../../addon/statusnet/statusnet.php:353
#: ../../addon/statusnet/statusnet.php:561 ../../addon/tumblr/tumblr.php:90 #: ../../addon/statusnet/statusnet.php:567 ../../addon/tumblr/tumblr.php:90
#: ../../addon/numfriends/numfriends.php:85 ../../addon/gnot/gnot.php:88 #: ../../addon/numfriends/numfriends.php:85 ../../addon/gnot/gnot.php:88
#: ../../addon/wppost/wppost.php:110 ../../addon/showmore/showmore.php:48 #: ../../addon/wppost/wppost.php:110 ../../addon/showmore/showmore.php:48
#: ../../addon/piwik/piwik.php:89 ../../addon/twitter/twitter.php:180 #: ../../addon/piwik/piwik.php:89 ../../addon/twitter/twitter.php:180
#: ../../addon/twitter/twitter.php:209 ../../addon/twitter/twitter.php:381 #: ../../addon/twitter/twitter.php:209 ../../addon/twitter/twitter.php:387
#: ../../addon/irc/irc.php:55 ../../addon/blogger/blogger.php:102 #: ../../addon/irc/irc.php:55 ../../addon/blogger/blogger.php:102
#: ../../addon/posterous/posterous.php:103 #: ../../addon/posterous/posterous.php:103
#: ../../view/theme/cleanzero/config.php:80 #: ../../view/theme/cleanzero/config.php:80
@ -278,7 +279,7 @@ msgid "Description:"
msgstr "" msgstr ""
#: ../../mod/events.php:423 ../../include/event.php:37 #: ../../mod/events.php:423 ../../include/event.php:37
#: ../../include/bb2diaspora.php:265 ../../boot.php:1126 #: ../../include/bb2diaspora.php:355 ../../boot.php:1126
msgid "Location:" msgid "Location:"
msgstr "" msgstr ""
@ -385,8 +386,8 @@ msgstr ""
#: ../../mod/profile_photo.php:176 ../../mod/profile_photo.php:254 #: ../../mod/profile_photo.php:176 ../../mod/profile_photo.php:254
#: ../../mod/profile_photo.php:263 #: ../../mod/profile_photo.php:263
#: ../../addon/communityhome/communityhome.php:111 #: ../../addon/communityhome/communityhome.php:111
#: ../../view/theme/diabook/theme.php:599 ../../include/user.php:298 #: ../../view/theme/diabook/theme.php:599 ../../include/user.php:304
#: ../../include/user.php:305 ../../include/user.php:312 #: ../../include/user.php:311 ../../include/user.php:318
msgid "Profile Photos" msgid "Profile Photos"
msgstr "" msgstr ""
@ -409,7 +410,7 @@ msgstr ""
#: ../../mod/photos.php:589 ../../mod/like.php:185 ../../mod/tagger.php:70 #: ../../mod/photos.php:589 ../../mod/like.php:185 ../../mod/tagger.php:70
#: ../../addon/communityhome/communityhome.php:163 #: ../../addon/communityhome/communityhome.php:163
#: ../../view/theme/diabook/theme.php:570 ../../include/text.php:1316 #: ../../view/theme/diabook/theme.php:570 ../../include/text.php:1316
#: ../../include/diaspora.php:1709 ../../include/conversation.php:53 #: ../../include/diaspora.php:1710 ../../include/conversation.php:53
#: ../../include/conversation.php:126 #: ../../include/conversation.php:126
msgid "photo" msgid "photo"
msgstr "" msgstr ""
@ -546,14 +547,14 @@ msgstr ""
msgid "I don't like this (toggle)" msgid "I don't like this (toggle)"
msgstr "" msgstr ""
#: ../../mod/photos.php:1290 ../../include/conversation.php:989 #: ../../mod/photos.php:1290 ../../include/conversation.php:993
msgid "Share" msgid "Share"
msgstr "" msgstr ""
#: ../../mod/photos.php:1291 ../../mod/editpost.php:104 #: ../../mod/photos.php:1291 ../../mod/editpost.php:104
#: ../../mod/wallmessage.php:145 ../../mod/message.php:215 #: ../../mod/wallmessage.php:145 ../../mod/message.php:215
#: ../../mod/message.php:411 ../../include/conversation.php:371 #: ../../mod/message.php:411 ../../include/conversation.php:371
#: ../../include/conversation.php:731 ../../include/conversation.php:1008 #: ../../include/conversation.php:731 ../../include/conversation.php:1012
msgid "Please wait" msgid "Please wait"
msgstr "" msgstr ""
@ -569,7 +570,7 @@ msgid "Comment"
msgstr "" msgstr ""
#: ../../mod/photos.php:1311 ../../mod/editpost.php:125 #: ../../mod/photos.php:1311 ../../mod/editpost.php:125
#: ../../include/conversation.php:589 ../../include/conversation.php:1026 #: ../../include/conversation.php:589 ../../include/conversation.php:1030
msgid "Preview" msgid "Preview"
msgstr "" msgstr ""
@ -640,7 +641,7 @@ msgstr ""
msgid "Edit post" msgid "Edit post"
msgstr "" msgstr ""
#: ../../mod/editpost.php:80 ../../include/conversation.php:975 #: ../../mod/editpost.php:80 ../../include/conversation.php:979
msgid "Post to Email" msgid "Post to Email"
msgstr "" msgstr ""
@ -651,17 +652,17 @@ msgstr ""
#: ../../mod/editpost.php:96 ../../mod/wallmessage.php:143 #: ../../mod/editpost.php:96 ../../mod/wallmessage.php:143
#: ../../mod/message.php:213 ../../mod/message.php:408 #: ../../mod/message.php:213 ../../mod/message.php:408
#: ../../include/conversation.php:990 #: ../../include/conversation.php:994
msgid "Upload photo" msgid "Upload photo"
msgstr "" msgstr ""
#: ../../mod/editpost.php:97 ../../include/conversation.php:992 #: ../../mod/editpost.php:97 ../../include/conversation.php:996
msgid "Attach file" msgid "Attach file"
msgstr "" msgstr ""
#: ../../mod/editpost.php:98 ../../mod/wallmessage.php:144 #: ../../mod/editpost.php:98 ../../mod/wallmessage.php:144
#: ../../mod/message.php:214 ../../mod/message.php:409 #: ../../mod/message.php:214 ../../mod/message.php:409
#: ../../include/conversation.php:994 #: ../../include/conversation.php:998
msgid "Insert web link" msgid "Insert web link"
msgstr "" msgstr ""
@ -677,35 +678,35 @@ msgstr ""
msgid "Insert Vorbis [.ogg] audio" msgid "Insert Vorbis [.ogg] audio"
msgstr "" msgstr ""
#: ../../mod/editpost.php:102 ../../include/conversation.php:1000 #: ../../mod/editpost.php:102 ../../include/conversation.php:1004
msgid "Set your location" msgid "Set your location"
msgstr "" msgstr ""
#: ../../mod/editpost.php:103 ../../include/conversation.php:1002 #: ../../mod/editpost.php:103 ../../include/conversation.php:1006
msgid "Clear browser location" msgid "Clear browser location"
msgstr "" msgstr ""
#: ../../mod/editpost.php:105 ../../include/conversation.php:1009 #: ../../mod/editpost.php:105 ../../include/conversation.php:1013
msgid "Permission settings" msgid "Permission settings"
msgstr "" msgstr ""
#: ../../mod/editpost.php:113 ../../include/conversation.php:1018 #: ../../mod/editpost.php:113 ../../include/conversation.php:1022
msgid "CC: email addresses" msgid "CC: email addresses"
msgstr "" msgstr ""
#: ../../mod/editpost.php:114 ../../include/conversation.php:1019 #: ../../mod/editpost.php:114 ../../include/conversation.php:1023
msgid "Public post" msgid "Public post"
msgstr "" msgstr ""
#: ../../mod/editpost.php:117 ../../include/conversation.php:1005 #: ../../mod/editpost.php:117 ../../include/conversation.php:1009
msgid "Set title" msgid "Set title"
msgstr "" msgstr ""
#: ../../mod/editpost.php:119 ../../include/conversation.php:1007 #: ../../mod/editpost.php:119 ../../include/conversation.php:1011
msgid "Categories (comma-separated list)" msgid "Categories (comma-separated list)"
msgstr "" msgstr ""
#: ../../mod/editpost.php:120 ../../include/conversation.php:1021 #: ../../mod/editpost.php:120 ../../include/conversation.php:1025
msgid "Example: bob@example.com, mary@example.com" msgid "Example: bob@example.com, mary@example.com"
msgstr "" msgstr ""
@ -826,7 +827,7 @@ msgstr ""
msgid "Confirm" msgid "Confirm"
msgstr "" msgstr ""
#: ../../mod/dfrn_request.php:715 ../../include/items.php:2797 #: ../../mod/dfrn_request.php:715 ../../include/items.php:2805
msgid "[Name Withheld]" msgid "[Name Withheld]"
msgstr "" msgstr ""
@ -1152,7 +1153,7 @@ msgid ""
msgstr "" msgstr ""
#: ../../mod/localtime.php:12 ../../include/event.php:11 #: ../../mod/localtime.php:12 ../../include/event.php:11
#: ../../include/bb2diaspora.php:243 #: ../../include/bb2diaspora.php:333
msgid "l F d, Y \\@ g:i A" msgid "l F d, Y \\@ g:i A"
msgstr "" msgstr ""
@ -1725,10 +1726,10 @@ msgstr ""
#: ../../mod/lostpass.php:45 ../../mod/lostpass.php:107 #: ../../mod/lostpass.php:45 ../../mod/lostpass.php:107
#: ../../mod/register.php:90 ../../mod/register.php:144 #: ../../mod/register.php:90 ../../mod/register.php:144
#: ../../mod/regmod.php:54 ../../mod/dfrn_confirm.php:752 #: ../../mod/regmod.php:54 ../../mod/dfrn_confirm.php:752
#: ../../addon/facebook/facebook.php:692 #: ../../addon/facebook/facebook.php:693
#: ../../addon/facebook/facebook.php:1182 #: ../../addon/facebook/facebook.php:1183
#: ../../addon/public_server/public_server.php:62 #: ../../addon/public_server/public_server.php:62
#: ../../addon/testdrive/testdrive.php:67 ../../include/items.php:2806 #: ../../addon/testdrive/testdrive.php:67 ../../include/items.php:2814
#: ../../boot.php:720 #: ../../boot.php:720
msgid "Administrator" msgid "Administrator"
msgstr "" msgstr ""
@ -1874,11 +1875,11 @@ msgstr ""
msgid "Private forum has no privacy permissions and no default privacy group." msgid "Private forum has no privacy permissions and no default privacy group."
msgstr "" msgstr ""
#: ../../mod/settings.php:484 ../../addon/facebook/facebook.php:492 #: ../../mod/settings.php:484 ../../addon/facebook/facebook.php:493
#: ../../addon/impressum/impressum.php:77 #: ../../addon/impressum/impressum.php:77
#: ../../addon/openstreetmap/openstreetmap.php:80 #: ../../addon/openstreetmap/openstreetmap.php:80
#: ../../addon/mathjax/mathjax.php:66 ../../addon/piwik/piwik.php:105 #: ../../addon/mathjax/mathjax.php:66 ../../addon/piwik/piwik.php:105
#: ../../addon/twitter/twitter.php:376 #: ../../addon/twitter/twitter.php:382
msgid "Settings updated." msgid "Settings updated."
msgstr "" msgstr ""
@ -1888,12 +1889,12 @@ msgid "Add application"
msgstr "" msgstr ""
#: ../../mod/settings.php:558 ../../mod/settings.php:584 #: ../../mod/settings.php:558 ../../mod/settings.php:584
#: ../../addon/statusnet/statusnet.php:555 #: ../../addon/statusnet/statusnet.php:561
msgid "Consumer Key" msgid "Consumer Key"
msgstr "" msgstr ""
#: ../../mod/settings.php:559 ../../mod/settings.php:585 #: ../../mod/settings.php:559 ../../mod/settings.php:585
#: ../../addon/statusnet/statusnet.php:554 #: ../../addon/statusnet/statusnet.php:560
msgid "Consumer Secret" msgid "Consumer Secret"
msgstr "" msgstr ""
@ -2419,8 +2420,8 @@ msgid "Personal Notes"
msgstr "" msgstr ""
#: ../../mod/notes.php:63 ../../mod/filer.php:30 #: ../../mod/notes.php:63 ../../mod/filer.php:30
#: ../../addon/facebook/facebook.php:760 #: ../../addon/facebook/facebook.php:761
#: ../../addon/privacy_image_cache/privacy_image_cache.php:185 #: ../../addon/privacy_image_cache/privacy_image_cache.php:187
#: ../../addon/dav/layout.fnk.php:384 ../../include/text.php:652 #: ../../addon/dav/layout.fnk.php:384 ../../include/text.php:652
msgid "Save" msgid "Save"
msgstr "" msgstr ""
@ -2455,7 +2456,7 @@ msgid "No recipient."
msgstr "" msgstr ""
#: ../../mod/wallmessage.php:124 ../../mod/message.php:172 #: ../../mod/wallmessage.php:124 ../../mod/message.php:172
#: ../../include/conversation.php:943 #: ../../include/conversation.php:947
msgid "Please enter a link URL:" msgid "Please enter a link URL:"
msgstr "" msgstr ""
@ -2777,20 +2778,20 @@ msgstr ""
msgid "People Search" msgid "People Search"
msgstr "" msgstr ""
#: ../../mod/like.php:185 ../../mod/like.php:259 ../../mod/tagger.php:70 #: ../../mod/like.php:185 ../../mod/like.php:260 ../../mod/tagger.php:70
#: ../../addon/facebook/facebook.php:1576 #: ../../addon/facebook/facebook.php:1577
#: ../../addon/communityhome/communityhome.php:158 #: ../../addon/communityhome/communityhome.php:158
#: ../../addon/communityhome/communityhome.php:167 #: ../../addon/communityhome/communityhome.php:167
#: ../../view/theme/diabook/theme.php:565 #: ../../view/theme/diabook/theme.php:565
#: ../../view/theme/diabook/theme.php:574 ../../include/diaspora.php:1709 #: ../../view/theme/diabook/theme.php:574 ../../include/diaspora.php:1710
#: ../../include/conversation.php:48 ../../include/conversation.php:57 #: ../../include/conversation.php:48 ../../include/conversation.php:57
#: ../../include/conversation.php:121 ../../include/conversation.php:130 #: ../../include/conversation.php:121 ../../include/conversation.php:130
msgid "status" msgid "status"
msgstr "" msgstr ""
#: ../../mod/like.php:202 ../../addon/facebook/facebook.php:1580 #: ../../mod/like.php:202 ../../addon/facebook/facebook.php:1581
#: ../../addon/communityhome/communityhome.php:172 #: ../../addon/communityhome/communityhome.php:172
#: ../../view/theme/diabook/theme.php:579 ../../include/diaspora.php:1725 #: ../../view/theme/diabook/theme.php:579 ../../include/diaspora.php:1726
#: ../../include/conversation.php:65 #: ../../include/conversation.php:65
#, php-format #, php-format
msgid "%1$s likes %2$s's %3$s" msgid "%1$s likes %2$s's %3$s"
@ -2803,7 +2804,7 @@ msgstr ""
#: ../../mod/notice.php:15 ../../mod/viewsrc.php:15 ../../mod/admin.php:159 #: ../../mod/notice.php:15 ../../mod/viewsrc.php:15 ../../mod/admin.php:159
#: ../../mod/admin.php:700 ../../mod/admin.php:899 ../../mod/display.php:37 #: ../../mod/admin.php:700 ../../mod/admin.php:899 ../../mod/display.php:37
#: ../../mod/display.php:142 ../../include/items.php:3248 #: ../../mod/display.php:142 ../../include/items.php:3258
msgid "Item not found." msgid "Item not found."
msgstr "" msgstr ""
@ -3155,7 +3156,7 @@ msgstr ""
msgid "Advanced" msgid "Advanced"
msgstr "" msgstr ""
#: ../../mod/admin.php:428 ../../addon/statusnet/statusnet.php:552 #: ../../mod/admin.php:428 ../../addon/statusnet/statusnet.php:558
msgid "Site name" msgid "Site name"
msgstr "" msgstr ""
@ -4010,7 +4011,7 @@ msgstr ""
msgid "Edit visibility" msgid "Edit visibility"
msgstr "" msgstr ""
#: ../../mod/filer.php:29 ../../include/conversation.php:947 #: ../../mod/filer.php:29 ../../include/conversation.php:951
msgid "Save to Folder:" msgid "Save to Folder:"
msgstr "" msgstr ""
@ -4264,83 +4265,99 @@ msgstr ""
msgid "%1$s has joined %2$s" msgid "%1$s has joined %2$s"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:513 #: ../../addon/fromgplus/fromgplus.php:29
msgid "Google+ Import Settings"
msgstr ""
#: ../../addon/fromgplus/fromgplus.php:32
msgid "Enable Google+ Import"
msgstr ""
#: ../../addon/fromgplus/fromgplus.php:35
msgid "Google Account ID"
msgstr ""
#: ../../addon/fromgplus/fromgplus.php:55
msgid "Google+ Import Settings saved."
msgstr ""
#: ../../addon/facebook/facebook.php:514
msgid "Facebook disabled" msgid "Facebook disabled"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:518 #: ../../addon/facebook/facebook.php:519
msgid "Updating contacts" msgid "Updating contacts"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:541 #: ../../addon/facebook/facebook.php:542
msgid "Facebook API key is missing." msgid "Facebook API key is missing."
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:548 #: ../../addon/facebook/facebook.php:549
msgid "Facebook Connect" msgid "Facebook Connect"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:554 #: ../../addon/facebook/facebook.php:555
msgid "Install Facebook connector for this account." msgid "Install Facebook connector for this account."
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:561 #: ../../addon/facebook/facebook.php:562
msgid "Remove Facebook connector" msgid "Remove Facebook connector"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:566 #: ../../addon/facebook/facebook.php:567
msgid "" msgid ""
"Re-authenticate [This is necessary whenever your Facebook password is " "Re-authenticate [This is necessary whenever your Facebook password is "
"changed.]" "changed.]"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:573 #: ../../addon/facebook/facebook.php:574
msgid "Post to Facebook by default" msgid "Post to Facebook by default"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:579 #: ../../addon/facebook/facebook.php:580
msgid "" msgid ""
"Facebook friend linking has been disabled on this site. The following " "Facebook friend linking has been disabled on this site. The following "
"settings will have no effect." "settings will have no effect."
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:583 #: ../../addon/facebook/facebook.php:584
msgid "" msgid ""
"Facebook friend linking has been disabled on this site. If you disable it, " "Facebook friend linking has been disabled on this site. If you disable it, "
"you will be unable to re-enable it." "you will be unable to re-enable it."
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:586 #: ../../addon/facebook/facebook.php:587
msgid "Link all your Facebook friends and conversations on this website" msgid "Link all your Facebook friends and conversations on this website"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:588 #: ../../addon/facebook/facebook.php:589
msgid "" msgid ""
"Facebook conversations consist of your <em>profile wall</em> and your friend " "Facebook conversations consist of your <em>profile wall</em> and your friend "
"<em>stream</em>." "<em>stream</em>."
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:589 #: ../../addon/facebook/facebook.php:590
msgid "On this website, your Facebook friend stream is only visible to you." msgid "On this website, your Facebook friend stream is only visible to you."
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:590 #: ../../addon/facebook/facebook.php:591
msgid "" msgid ""
"The following settings determine the privacy of your Facebook profile wall " "The following settings determine the privacy of your Facebook profile wall "
"on this website." "on this website."
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:594 #: ../../addon/facebook/facebook.php:595
msgid "" msgid ""
"On this website your Facebook profile wall conversations will only be " "On this website your Facebook profile wall conversations will only be "
"visible to you" "visible to you"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:599 #: ../../addon/facebook/facebook.php:600
msgid "Do not import your Facebook profile wall conversations" msgid "Do not import your Facebook profile wall conversations"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:601 #: ../../addon/facebook/facebook.php:602
msgid "" msgid ""
"If you choose to link conversations and leave both of these boxes unchecked, " "If you choose to link conversations and leave both of these boxes unchecked, "
"your Facebook profile wall will be merged with your profile wall on this " "your Facebook profile wall will be merged with your profile wall on this "
@ -4348,120 +4365,120 @@ msgid ""
"who may see the conversations." "who may see the conversations."
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:606 #: ../../addon/facebook/facebook.php:607
msgid "Comma separated applications to ignore" msgid "Comma separated applications to ignore"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:690 #: ../../addon/facebook/facebook.php:691
msgid "Problems with Facebook Real-Time Updates" msgid "Problems with Facebook Real-Time Updates"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:718 #: ../../addon/facebook/facebook.php:719
#: ../../include/contact_selectors.php:81 #: ../../include/contact_selectors.php:81
msgid "Facebook" msgid "Facebook"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:719 #: ../../addon/facebook/facebook.php:720
msgid "Facebook Connector Settings" msgid "Facebook Connector Settings"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:734 #: ../../addon/facebook/facebook.php:735
msgid "Facebook API Key" msgid "Facebook API Key"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:744 #: ../../addon/facebook/facebook.php:745
msgid "" msgid ""
"Error: it appears that you have specified the App-ID and -Secret in your ." "Error: it appears that you have specified the App-ID and -Secret in your ."
"htconfig.php file. As long as they are specified there, they cannot be set " "htconfig.php file. As long as they are specified there, they cannot be set "
"using this form.<br><br>" "using this form.<br><br>"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:749 #: ../../addon/facebook/facebook.php:750
msgid "" msgid ""
"Error: the given API Key seems to be incorrect (the application access token " "Error: the given API Key seems to be incorrect (the application access token "
"could not be retrieved)." "could not be retrieved)."
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:751 #: ../../addon/facebook/facebook.php:752
msgid "The given API Key seems to work correctly." msgid "The given API Key seems to work correctly."
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:753 #: ../../addon/facebook/facebook.php:754
msgid "" msgid ""
"The correctness of the API Key could not be detected. Somthing strange's " "The correctness of the API Key could not be detected. Somthing strange's "
"going on." "going on."
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:756 #: ../../addon/facebook/facebook.php:757
msgid "App-ID / API-Key" msgid "App-ID / API-Key"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:757 #: ../../addon/facebook/facebook.php:758
msgid "Application secret" msgid "Application secret"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:758 #: ../../addon/facebook/facebook.php:759
#, php-format #, php-format
msgid "Polling Interval in minutes (minimum %1$s minutes)" msgid "Polling Interval in minutes (minimum %1$s minutes)"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:759 #: ../../addon/facebook/facebook.php:760
msgid "" msgid ""
"Synchronize comments (no comments on Facebook are missed, at the cost of " "Synchronize comments (no comments on Facebook are missed, at the cost of "
"increased system load)" "increased system load)"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:763 #: ../../addon/facebook/facebook.php:764
msgid "Real-Time Updates" msgid "Real-Time Updates"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:767 #: ../../addon/facebook/facebook.php:768
msgid "Real-Time Updates are activated." msgid "Real-Time Updates are activated."
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:768 #: ../../addon/facebook/facebook.php:769
msgid "Deactivate Real-Time Updates" msgid "Deactivate Real-Time Updates"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:770 #: ../../addon/facebook/facebook.php:771
msgid "Real-Time Updates not activated." msgid "Real-Time Updates not activated."
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:770 #: ../../addon/facebook/facebook.php:771
msgid "Activate Real-Time Updates" msgid "Activate Real-Time Updates"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:789 ../../addon/dav/layout.fnk.php:360 #: ../../addon/facebook/facebook.php:790 ../../addon/dav/layout.fnk.php:360
msgid "The new values have been saved." msgid "The new values have been saved."
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:813 #: ../../addon/facebook/facebook.php:814
msgid "Post to Facebook" msgid "Post to Facebook"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:911 #: ../../addon/facebook/facebook.php:912
msgid "" msgid ""
"Post to Facebook cancelled because of multi-network access permission " "Post to Facebook cancelled because of multi-network access permission "
"conflict." "conflict."
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:1131 #: ../../addon/facebook/facebook.php:1132
msgid "View on Friendica" msgid "View on Friendica"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:1164 #: ../../addon/facebook/facebook.php:1165
msgid "Facebook post failed. Queued for retry." msgid "Facebook post failed. Queued for retry."
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:1204 #: ../../addon/facebook/facebook.php:1205
msgid "Your Facebook connection became invalid. Please Re-authenticate." msgid "Your Facebook connection became invalid. Please Re-authenticate."
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:1205 #: ../../addon/facebook/facebook.php:1206
msgid "Facebook connection became invalid" msgid "Facebook connection became invalid"
msgstr "" msgstr ""
#: ../../addon/facebook/facebook.php:1206 #: ../../addon/facebook/facebook.php:1207
#, php-format #, php-format
msgid "" msgid ""
"Hi %1$s,\n" "Hi %1$s,\n"
@ -4483,23 +4500,23 @@ msgstr ""
msgid "Automatically follow any StatusNet followers/mentioners" msgid "Automatically follow any StatusNet followers/mentioners"
msgstr "" msgstr ""
#: ../../addon/privacy_image_cache/privacy_image_cache.php:182 #: ../../addon/privacy_image_cache/privacy_image_cache.php:184
msgid "Lifetime of the cache (in hours)" msgid "Lifetime of the cache (in hours)"
msgstr "" msgstr ""
#: ../../addon/privacy_image_cache/privacy_image_cache.php:187 #: ../../addon/privacy_image_cache/privacy_image_cache.php:189
msgid "Cache Statistics" msgid "Cache Statistics"
msgstr "" msgstr ""
#: ../../addon/privacy_image_cache/privacy_image_cache.php:190 #: ../../addon/privacy_image_cache/privacy_image_cache.php:192
msgid "Number of items" msgid "Number of items"
msgstr "" msgstr ""
#: ../../addon/privacy_image_cache/privacy_image_cache.php:192 #: ../../addon/privacy_image_cache/privacy_image_cache.php:194
msgid "Size of the cache" msgid "Size of the cache"
msgstr "" msgstr ""
#: ../../addon/privacy_image_cache/privacy_image_cache.php:194 #: ../../addon/privacy_image_cache/privacy_image_cache.php:196
msgid "Delete the whole cache" msgid "Delete the whole cache"
msgstr "" msgstr ""
@ -5034,7 +5051,7 @@ msgstr ""
msgid "Post to Drupal by default" msgid "Post to Drupal by default"
msgstr "" msgstr ""
#: ../../addon/drpost/drpost.php:184 ../../addon/wppost/wppost.php:199 #: ../../addon/drpost/drpost.php:184 ../../addon/wppost/wppost.php:201
#: ../../addon/blogger/blogger.php:172 ../../addon/posterous/posterous.php:189 #: ../../addon/blogger/blogger.php:172 ../../addon/posterous/posterous.php:189
msgid "Post from Friendica" msgid "Post from Friendica"
msgstr "" msgstr ""
@ -5551,7 +5568,7 @@ msgstr ""
msgid "Clear OAuth configuration" msgid "Clear OAuth configuration"
msgstr "" msgstr ""
#: ../../addon/statusnet/statusnet.php:553 #: ../../addon/statusnet/statusnet.php:559
msgid "API URL" msgid "API URL"
msgstr "" msgstr ""
@ -5650,7 +5667,7 @@ msgstr ""
msgid "Provide a backlink to the Friendica post" msgid "Provide a backlink to the Friendica post"
msgstr "" msgstr ""
#: ../../addon/wppost/wppost.php:205 #: ../../addon/wppost/wppost.php:207
msgid "Read the original post and comment stream on Friendica" msgid "Read the original post and comment stream on Friendica"
msgstr "" msgstr ""
@ -5768,11 +5785,11 @@ msgstr ""
msgid "Send linked #-tags and @-names to Twitter" msgid "Send linked #-tags and @-names to Twitter"
msgstr "" msgstr ""
#: ../../addon/twitter/twitter.php:383 #: ../../addon/twitter/twitter.php:389
msgid "Consumer key" msgid "Consumer key"
msgstr "" msgstr ""
#: ../../addon/twitter/twitter.php:384 #: ../../addon/twitter/twitter.php:390
msgid "Consumer secret" msgid "Consumer secret"
msgstr "" msgstr ""
@ -6370,7 +6387,7 @@ msgstr ""
msgid "Sex Addict" msgid "Sex Addict"
msgstr "" msgstr ""
#: ../../include/profile_selectors.php:42 ../../include/user.php:272 #: ../../include/profile_selectors.php:42 ../../include/user.php:278
msgid "Friends" msgid "Friends"
msgstr "" msgstr ""
@ -6458,11 +6475,11 @@ msgstr ""
msgid "Ask me" msgid "Ask me"
msgstr "" msgstr ""
#: ../../include/event.php:17 ../../include/bb2diaspora.php:249 #: ../../include/event.php:17 ../../include/bb2diaspora.php:339
msgid "Starts:" msgid "Starts:"
msgstr "" msgstr ""
#: ../../include/event.php:27 ../../include/bb2diaspora.php:257 #: ../../include/event.php:27 ../../include/bb2diaspora.php:347
msgid "Finishes:" msgid "Finishes:"
msgstr "" msgstr ""
@ -6606,7 +6623,7 @@ msgstr ""
msgid "Click to open/close" msgid "Click to open/close"
msgstr "" msgstr ""
#: ../../include/text.php:1096 ../../include/user.php:230 #: ../../include/text.php:1096 ../../include/user.php:236
msgid "default" msgid "default"
msgstr "" msgstr ""
@ -6634,19 +6651,19 @@ msgstr ""
msgid "Sharing notification from Diaspora network" msgid "Sharing notification from Diaspora network"
msgstr "" msgstr ""
#: ../../include/diaspora.php:2074 #: ../../include/diaspora.php:2085
msgid "Attachments:" msgid "Attachments:"
msgstr "" msgstr ""
#: ../../include/network.php:827 #: ../../include/network.php:839
msgid "view full size" msgid "view full size"
msgstr "" msgstr ""
#: ../../include/oembed.php:134 #: ../../include/oembed.php:135
msgid "Embedded content" msgid "Embedded content"
msgstr "" msgstr ""
#: ../../include/oembed.php:143 #: ../../include/oembed.php:144
msgid "Embedding disabled" msgid "Embedding disabled"
msgstr "" msgstr ""
@ -6943,11 +6960,11 @@ msgstr ""
msgid "From: " msgid "From: "
msgstr "" msgstr ""
#: ../../include/bbcode.php:210 ../../include/bbcode.php:230 #: ../../include/bbcode.php:214 ../../include/bbcode.php:234
msgid "$1 wrote:" msgid "$1 wrote:"
msgstr "" msgstr ""
#: ../../include/bbcode.php:245 ../../include/bbcode.php:314 #: ../../include/bbcode.php:249 ../../include/bbcode.php:322
msgid "Image/photo" msgid "Image/photo"
msgstr "" msgstr ""
@ -7188,27 +7205,18 @@ msgstr ""
msgid "following" msgid "following"
msgstr "" msgstr ""
#: ../../include/items.php:2804 #: ../../include/items.php:2812
msgid "A new person is sharing with you at " msgid "A new person is sharing with you at "
msgstr "" msgstr ""
#: ../../include/items.php:2804 #: ../../include/items.php:2812
msgid "You have a new follower at " msgid "You have a new follower at "
msgstr "" msgstr ""
#: ../../include/items.php:3466 #: ../../include/items.php:3476
msgid "Archives" msgid "Archives"
msgstr "" msgstr ""
#: ../../include/bb2diaspora.php:102 ../../include/bb2diaspora.php:112
#: ../../include/bb2diaspora.php:113
msgid "image/photo"
msgstr ""
#: ../../include/bb2diaspora.php:102
msgid "link"
msgstr ""
#: ../../include/user.php:38 #: ../../include/user.php:38
msgid "An invitation is required." msgid "An invitation is required."
msgstr "" msgstr ""
@ -7255,7 +7263,7 @@ msgid ""
"must also begin with a letter." "must also begin with a letter."
msgstr "" msgstr ""
#: ../../include/user.php:127 ../../include/user.php:219 #: ../../include/user.php:127 ../../include/user.php:225
msgid "Nickname is already registered. Please choose another." msgid "Nickname is already registered. Please choose another."
msgstr "" msgstr ""
@ -7269,11 +7277,11 @@ msgstr ""
msgid "SERIOUS ERROR: Generation of security keys failed." msgid "SERIOUS ERROR: Generation of security keys failed."
msgstr "" msgstr ""
#: ../../include/user.php:205 #: ../../include/user.php:211
msgid "An error occurred during registration. Please try again." msgid "An error occurred during registration. Please try again."
msgstr "" msgstr ""
#: ../../include/user.php:240 #: ../../include/user.php:246
msgid "An error occurred creating your default profile. Please try again." msgid "An error occurred creating your default profile. Please try again."
msgstr "" msgstr ""
@ -7449,102 +7457,102 @@ msgstr ""
msgid "Delete Selected Items" msgid "Delete Selected Items"
msgstr "" msgstr ""
#: ../../include/conversation.php:901 #: ../../include/conversation.php:905
#, php-format #, php-format
msgid "%s likes this." msgid "%s likes this."
msgstr "" msgstr ""
#: ../../include/conversation.php:901 #: ../../include/conversation.php:905
#, php-format #, php-format
msgid "%s doesn't like this." msgid "%s doesn't like this."
msgstr "" msgstr ""
#: ../../include/conversation.php:905 #: ../../include/conversation.php:909
#, php-format #, php-format
msgid "<span %1$s>%2$d people</span> like this." msgid "<span %1$s>%2$d people</span> like this."
msgstr "" msgstr ""
#: ../../include/conversation.php:907 #: ../../include/conversation.php:911
#, php-format #, php-format
msgid "<span %1$s>%2$d people</span> don't like this." msgid "<span %1$s>%2$d people</span> don't like this."
msgstr "" msgstr ""
#: ../../include/conversation.php:913 #: ../../include/conversation.php:917
msgid "and" msgid "and"
msgstr "" msgstr ""
#: ../../include/conversation.php:916 #: ../../include/conversation.php:920
#, php-format #, php-format
msgid ", and %d other people" msgid ", and %d other people"
msgstr "" msgstr ""
#: ../../include/conversation.php:917 #: ../../include/conversation.php:921
#, php-format #, php-format
msgid "%s like this." msgid "%s like this."
msgstr "" msgstr ""
#: ../../include/conversation.php:917 #: ../../include/conversation.php:921
#, php-format #, php-format
msgid "%s don't like this." msgid "%s don't like this."
msgstr "" msgstr ""
#: ../../include/conversation.php:942 #: ../../include/conversation.php:946
msgid "Visible to <strong>everybody</strong>" msgid "Visible to <strong>everybody</strong>"
msgstr "" msgstr ""
#: ../../include/conversation.php:944 #: ../../include/conversation.php:948
msgid "Please enter a video link/URL:" msgid "Please enter a video link/URL:"
msgstr "" msgstr ""
#: ../../include/conversation.php:945 #: ../../include/conversation.php:949
msgid "Please enter an audio link/URL:" msgid "Please enter an audio link/URL:"
msgstr "" msgstr ""
#: ../../include/conversation.php:946 #: ../../include/conversation.php:950
msgid "Tag term:" msgid "Tag term:"
msgstr "" msgstr ""
#: ../../include/conversation.php:948 #: ../../include/conversation.php:952
msgid "Where are you right now?" msgid "Where are you right now?"
msgstr "" msgstr ""
#: ../../include/conversation.php:991 #: ../../include/conversation.php:995
msgid "upload photo" msgid "upload photo"
msgstr "" msgstr ""
#: ../../include/conversation.php:993 #: ../../include/conversation.php:997
msgid "attach file" msgid "attach file"
msgstr "" msgstr ""
#: ../../include/conversation.php:995 #: ../../include/conversation.php:999
msgid "web link" msgid "web link"
msgstr "" msgstr ""
#: ../../include/conversation.php:996 #: ../../include/conversation.php:1000
msgid "Insert video link" msgid "Insert video link"
msgstr "" msgstr ""
#: ../../include/conversation.php:997 #: ../../include/conversation.php:1001
msgid "video link" msgid "video link"
msgstr "" msgstr ""
#: ../../include/conversation.php:998 #: ../../include/conversation.php:1002
msgid "Insert audio link" msgid "Insert audio link"
msgstr "" msgstr ""
#: ../../include/conversation.php:999 #: ../../include/conversation.php:1003
msgid "audio link" msgid "audio link"
msgstr "" msgstr ""
#: ../../include/conversation.php:1001 #: ../../include/conversation.php:1005
msgid "set location" msgid "set location"
msgstr "" msgstr ""
#: ../../include/conversation.php:1003 #: ../../include/conversation.php:1007
msgid "clear location" msgid "clear location"
msgstr "" msgstr ""
#: ../../include/conversation.php:1010 #: ../../include/conversation.php:1014
msgid "permissions" msgid "permissions"
msgstr "" msgstr ""

View file

@ -1,5 +1,5 @@
Hey, Hey,
I'm $sitename. I'm $sitename;
The friendica developers released update $update recently, The friendica developers released update $update recently,
but when I tried to install it, something went terribly wrong. but when I tried to install it, something went terribly wrong.
This needs to be fixed soon and I can't do it alone. Please contact a This needs to be fixed soon and I can't do it alone. Please contact a

View file

@ -1,4 +1,7 @@
<h3>$pagename</h3> <h3>$pagename</h3>
<div id="photos-usage-message">$usage</div>
<form action="photos/$nickname" enctype="multipart/form-data" method="post" name="photos-upload-form" id="photos-upload-form" > <form action="photos/$nickname" enctype="multipart/form-data" method="post" name="photos-upload-form" id="photos-upload-form" >
<div id="photos-upload-new-wrapper" > <div id="photos-upload-new-wrapper" >
<div id="photos-upload-newalbum-div"> <div id="photos-upload-newalbum-div">

View file

@ -89,6 +89,19 @@
</dl> </dl>
{{ endif }} {{ endif }}
{{ if $profile.likes }}
<dl id="aprofile-likes" class="aprofile">
<dt>$profile.likes.0</dt>
<dd>$profile.likes.1</dd>
</dl>
{{ endif }}
{{ if $profile.dislikes }}
<dl id="aprofile-dislikes" class="aprofile">
<dt>$profile.dislikes.0</dt>
<dd>$profile.dislikes.1</dd>
</dl>
{{ endif }}
{{ if $profile.contact }} {{ if $profile.contact }}
<dl id="aprofile-contact" class="aprofile"> <dl id="aprofile-contact" class="aprofile">

View file

@ -187,6 +187,30 @@ $lbl_hobbies
</div> </div>
<div id="likes-jot-wrapper" >
<p id="likes-jot-desc" >
$lbl_likes
</p>
<textarea rows="10" cols="72" id="likes-jot-text" name="likes" >$likes</textarea>
</div>
<div id="likes-jot-end"></div>
</div>
<div id="dislikes-jot-wrapper" >
<p id="dislikes-jot-desc" >
$lbl_dislikes
</p>
<textarea rows="10" cols="72" id="dislikes-jot-text" name="dislikes" >$dislikes</textarea>
</div>
<div id="dislikes-jot-end"></div>
</div>
<div id="contact-jot-wrapper" > <div id="contact-jot-wrapper" >
<p id="contact-jot-desc" > <p id="contact-jot-desc" >
$lbl_social $lbl_social

View file

@ -19,8 +19,9 @@
<div id="conversation-end"></div> <div id="conversation-end"></div>
{{ if $dropping }} {{ if $dropping }}
<div class="delete-checked"> <div id="item-delete-selected" class="fakelink" onclick="deleteCheckedItems(); return false;">
<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 id="item-delete-selected-icon" class="icon drophide" title="$dropping" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></div>
<div id="item-delete-selected-desc" >$dropping</div>
</div> </div>
<div id="item-delete-selected-end"></div> <div id="item-delete-selected-end"></div>
{{ endif }} {{ endif }}

View file

@ -391,8 +391,9 @@ div[id$="wrapper"]{height:100%;}div[id$="wrapper"] br{clear:left;}
.item-select{opacity:0.1;margin:5px 0 0 6px !important;}.item-select:hover{opacity:1;} .item-select{opacity:0.1;margin:5px 0 0 6px !important;}.item-select:hover{opacity:1;}
.checkeditem{opacity:1;} .checkeditem{opacity:1;}
#item-delete-selected{margin-top:30px;} #item-delete-selected{margin-top:30px;}
.delete-checked{position:absolute;left:35px;margin-top:20px;} #item-delete-selected{position:absolute;left:35px;margin-top:20px;}
#item-delete-selected-icon{float:left;margin-right:5px;} #item-delete-selected-icon{float:left;margin-right:5px;}
#item-delete-selected-desc{font-size:smaller;}
.fc-state-highlight{background:#eeeecc;color:#2e2f2e;} .fc-state-highlight{background:#eeeecc;color:#2e2f2e;}
.directory-item{float:left;margin:0 5px 4px 0;padding:3px;width:180px;height:250px;position:relative;} .directory-item{float:left;margin:0 5px 4px 0;padding:3px;width:180px;height:250px;position:relative;}
#group-sidebar{margin-bottom:10px;} #group-sidebar{margin-bottom:10px;}

View file

@ -2373,7 +2373,7 @@ div {
} }
/* was tired of having no way of moving it around, so /* was tired of having no way of moving it around, so
* here's a little 'hook' to do so */ * here's a little 'hook' to do so */
.delete-checked { #item-delete-selected {
position: absolute; position: absolute;
left: 35px; left: 35px;
margin-top: 20px; margin-top: 20px;
@ -2382,6 +2382,9 @@ div {
float: left; float: left;
margin-right: 5px; margin-right: 5px;
} }
#item-delete-selected-desc {
font-size: smaller;
}
.fc-state-highlight { .fc-state-highlight {
background: @main_colour; background: @main_colour;
color: @bg_colour; color: @bg_colour;

View file

@ -20,25 +20,26 @@
<div id="profile-jot-submit-wrapper" class="jothidden"> <div id="profile-jot-submit-wrapper" class="jothidden">
<div id="profile-upload-wrapper" style="display: $visitor;"> <div id="profile-upload-wrapper" style="display: $visitor;">
<div id="wall-image-upload-div"><a class="icon camera" href="#" onclick="return false;" id="wall-image-upload" title="$upload"></a></div> <div id="wall-image-upload-div"><a href="#" onclick="return false;" id="wall-image-upload" class="icon camera" title="$upload"></a></div>
</div> </div>
<div id="profile-attach-wrapper" style="display: $visitor;"> <div id="profile-attach-wrapper" style="display: $visitor;">
<div id="wall-file-upload-div"><a class="icon attach" href="#" onclick="return false;" id="wall-file-upload" title="$attach"></a></div> <div id="wall-file-upload-div"><a href="#" onclick="return false;" id="wall-file-upload" class="icon attach" title="$attach"></a></div>
</div> </div>
<div id="profile-link-wrapper" style="display: $visitor;" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);"> <div id="profile-link-wrapper" style="display: $visitor;" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);">
<a class="icon link" id="profile-link" ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;" title="$weblink"></a> <a id="profile-link" class="icon link" ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;" title="$weblink"></a>
</div> </div>
<div id="profile-video-wrapper" style="display: $visitor;"> <div id="profile-video-wrapper" style="display: $visitor;">
<a class="icon video" id="profile-video" onclick="jotVideoURL();return false;" title="$video"></a> <a id="profile-video" class="icon video" onclick="jotVideoURL();return false;" title="$video"></a>
</div> </div>
<div id="profile-audio-wrapper" style="display: $visitor;"> <div id="profile-audio-wrapper" style="display: $visitor;">
<a class="icon audio" id="profile-audio" onclick="jotAudioURL();return false;" title="$audio"></a> <a id="profile-audio" class="icon audio" onclick="jotAudioURL();return false;" title="$audio"></a>
</div> </div>
<div id="profile-location-wrapper" style="display: $visitor;"> <div id="profile-location-wrapper" style="display: $visitor;">
<a class="icon globe" id="profile-location" onclick="jotGetLocation();return false;" title="$setloc"></a> <a id="profile-location" class="icon globe" onclick="jotGetLocation();return false;" title="$setloc"></a>
</div> </div>
<div id="profile-nolocation-wrapper" style="display: none;"> <div id="profile-nolocation-wrapper" style="display: none;">
<a class="icon noglobe" id="profile-nolocation" onclick="jotClearLocation();return false;" title="$noloc"></a> <a id="profile-nolocation" class="icon noglobe" onclick="jotClearLocation();return false;" title="$noloc"></a>
</div> </div>
<div id="profile-jot-plugin-wrapper"> <div id="profile-jot-plugin-wrapper">
@ -57,16 +58,16 @@
</div> <!-- /#jot-tools --> </div> <!-- /#jot-tools -->
<div id="jot-preview-content" style="display:none;"></div> <div id="jot-preview-content" style="display:none;"></div>
<div style="display: none;"> <div style="display: none;">
<div id="profile-jot-acl-wrapper" style="width:auto;height:auto;overflow:auto;"> <div id="profile-jot-acl-wrapper" style="width:auto;height:auto;overflow:auto;">
$acl $acl
<hr style="clear:both" /> <hr style="clear:both" />
<div id="profile-jot-email-label">$emailcc</div> <div id="profile-jot-email-label">$emailcc</div><input type="text" name="emailcc" id="profile-jot-email" title="$emtitle" />
<input type="text" name="emailcc" id="profile-jot-email" title="$emtitle" />
<div id="profile-jot-email-end"></div> <div id="profile-jot-email-end"></div>
$jotnets $jotnets
</div> </div>
</div> </div>
</form> </form>
{{ if $content }}<script>initEditor();</script>{{ endif }} {{ if $content }}<script>initEditor();</script>{{ endif }}

View file

@ -391,8 +391,9 @@ div[id$="wrapper"]{height:100%;}div[id$="wrapper"] br{clear:left;}
.item-select{opacity:0.1;margin:5px 0 0 6px !important;}.item-select:hover{opacity:1;} .item-select{opacity:0.1;margin:5px 0 0 6px !important;}.item-select:hover{opacity:1;}
.checkeditem{opacity:1;} .checkeditem{opacity:1;}
#item-delete-selected{margin-top:30px;} #item-delete-selected{margin-top:30px;}
.delete-checked{position:absolute;left:35px;margin-top:20px;} #item-delete-selected{position:absolute;left:35px;margin-top:20px;}
#item-delete-selected-icon{float:left;margin-right:5px;} #item-delete-selected-icon{float:left;margin-right:5px;}
#item-delete-selected-desc{font-size:smaller;}
.fc-state-highlight{background:#eeeeec;color:#111111;} .fc-state-highlight{background:#eeeeec;color:#111111;}
.directory-item{float:left;margin:0 5px 4px 0;padding:3px;width:180px;height:250px;position:relative;} .directory-item{float:left;margin:0 5px 4px 0;padding:3px;width:180px;height:250px;position:relative;}
#group-sidebar{margin-bottom:10px;} #group-sidebar{margin-bottom:10px;}

View file

@ -2374,7 +2374,7 @@ div {
} }
/* was tired of having no way of moving it around, so /* was tired of having no way of moving it around, so
* here's a little 'hook' to do so */ * here's a little 'hook' to do so */
.delete-checked { #item-delete-selected {
position: absolute; position: absolute;
left: 35px; left: 35px;
margin-top: 20px; margin-top: 20px;
@ -2383,6 +2383,9 @@ div {
float: left; float: left;
margin-right: 5px; margin-right: 5px;
} }
#item-delete-selected-desc {
font-size: smaller;
}
.fc-state-highlight { .fc-state-highlight {
background: @bg_colour; background: @bg_colour;
color: @main_colour; color: @main_colour;

View file

@ -78,9 +78,9 @@
</div> </div>
</div> </div>
<div class="wall-item-wrapper-end"></div> <div class="wall-item-wrapper-end"></div>
<div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div> <div class="wall-item-like $item.indent" id="wall-item-like-$item.id">$item.like</div>
<div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div> <div class="wall-item-dislike $item.indent" id="wall-item-dislike-$item.id">$item.dislike</div>
<div class="wall-item-comment-wrapper"> <div class="wall-item-comment-wrapper" >
$item.comment $item.comment
</div> </div>

View file

@ -86,8 +86,8 @@ class="icon recycle wall-item-share-buttons" title="$item.vote.share.0" onclick
</div> </div>
</div> </div>
<div class="wall-item-wrapper-end"></div> <div class="wall-item-wrapper-end"></div>
<div class="wall-item-like" id="wall-item-like-$item.id">$item.like</div> <div class="wall-item-like $item.indent" id="wall-item-like-$item.id">$item.like</div>
<div class="wall-item-dislike" id="wall-item-dislike-$item.id">$item.dislike</div> <div class="wall-item-dislike $item.indent" id="wall-item-dislike-$item.id">$item.dislike</div>
<div class="wall-item-comment-separator"></div> <div class="wall-item-comment-separator"></div>
<div class="wall-item-comment-wrapper"> <div class="wall-item-comment-wrapper">
$item.comment $item.comment

View file

@ -1644,6 +1644,9 @@ input#dfrn-url {
display:block!important; display:block!important;
} }
#photos-usage-message {
margin-bottom: 15px;
}
#acl-wrapper { #acl-wrapper {