aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZvi ben Yaakov (a.k.a rdc) <coderzvi@infosoc.net>2012-06-25 13:59:53 +0300
committerZvi ben Yaakov (a.k.a rdc) <coderzvi@infosoc.net>2012-06-25 13:59:53 +0300
commit94f895e98df73efe32a7c986a4b7844b0ab8fc01 (patch)
tree92324c19bb13025d8f2f0087212348a039acbec6
parent00668aaa71336f48b141c443749a66c58a555503 (diff)
parent7ea5917bf794c431fe304fa25380f19a6927cf63 (diff)
downloadvolse-hubzilla-94f895e98df73efe32a7c986a4b7844b0ab8fc01.tar.gz
volse-hubzilla-94f895e98df73efe32a7c986a4b7844b0ab8fc01.tar.bz2
volse-hubzilla-94f895e98df73efe32a7c986a4b7844b0ab8fc01.zip
Merge git://github.com/friendica/friendica
-rw-r--r--boot.php10
-rw-r--r--database.sql2
-rw-r--r--include/bb2diaspora.php50
-rw-r--r--include/conversation.php8
-rwxr-xr-xinclude/diaspora.php11
-rw-r--r--include/follow.php36
-rwxr-xr-xinclude/items.php14
-rw-r--r--include/plugin.php81
-rw-r--r--include/profile_advanced.php5
-rw-r--r--include/user.php14
-rw-r--r--mod/dfrn_confirm.php2
-rw-r--r--mod/photos.php39
-rw-r--r--mod/profiles.php21
-rw-r--r--update.php11
-rw-r--r--util/messages.po302
-rw-r--r--view/en/update_fail_eml.tpl2
-rw-r--r--view/photos_upload.tpl3
-rw-r--r--view/profile_advanced.tpl13
-rw-r--r--view/profile_edit.tpl24
-rw-r--r--view/theme/duepuntozero/style.css3
20 files changed, 472 insertions, 179 deletions
diff --git a/boot.php b/boot.php
index be47184aa..2c8723d26 100644
--- a/boot.php
+++ b/boot.php
@@ -10,9 +10,9 @@ require_once('include/nav.php');
require_once('include/cache.php');
define ( 'FRIENDICA_PLATFORM', 'Friendica');
-define ( 'FRIENDICA_VERSION', '3.0.1382' );
+define ( 'FRIENDICA_VERSION', '3.0.1384' );
define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
-define ( 'DB_UPDATE_VERSION', 1149 );
+define ( 'DB_UPDATE_VERSION', 1150 );
define ( 'EOL', "<br />\r\n" );
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')
$args[0] = ((x($a->config,'php_path')) && (strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');
- foreach ($args as $arg){
- $arg = escapeshellarg($arg);
- }
+ for($x = 0; $x < count($args); $x ++)
+ $args[$x] = escapeshellarg($args[$x]);
+
$cmdline = implode($args," ");
proc_close(proc_open($cmdline." &",array(),$foo));
}
diff --git a/database.sql b/database.sql
index 53dc0c5b2..8178ffa86 100644
--- a/database.sql
+++ b/database.sql
@@ -831,6 +831,8 @@ CREATE TABLE IF NOT EXISTS `profile` (
`religion` char(255) NOT NULL,
`pub_keywords` text NOT NULL,
`prv_keywords` text NOT NULL,
+ `likes` text NOT NULL,
+ `dislikes` text NOT NULL,
`about` text NOT NULL,
`summary` char(255) NOT NULL,
`music` text NOT NULL,
diff --git a/include/bb2diaspora.php b/include/bb2diaspora.php
index 96cc735bd..ac693127b 100644
--- a/include/bb2diaspora.php
+++ b/include/bb2diaspora.php
@@ -68,9 +68,14 @@ function stripdcode_br_cb($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
- 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. Second 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) {
+ // 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
$Text = bbcode($Text, $preserve_nl, false);
@@ -93,6 +131,12 @@ function bb2diaspora($Text,$preserve_nl = false) {
$md = new Markdownify(false, false, false);
$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
$Text = strip_tags($Text);
diff --git a/include/conversation.php b/include/conversation.php
index d830c8daa..c2113dead 100644
--- a/include/conversation.php
+++ b/include/conversation.php
@@ -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
if(((activity_match($item['verb'],ACTIVITY_LIKE))
- || (activity_match($item['verb'],ACTIVITY_DISLIKE)))
- && ($item['id'] != $item['parent']))
+ || (activity_match($item['verb'],ACTIVITY_DISLIKE))))
+// && ($item['id'] != $item['parent']))
continue;
$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);
if($page_writeable) {
- if($toplevelpost) {
+/* if($toplevelpost) { */
$likebuttons = array(
'like' => array( t("I like this \x28toggle\x29"), t("like")),
'dislike' => array( t("I don't like this \x28toggle\x29"), t("dislike")),
);
if ($shareable) $likebuttons['share'] = array( t('Share this'), t('share'));
- }
+/* } */
$qc = $qcomment = null;
diff --git a/include/diaspora.php b/include/diaspora.php
index fdb85f15f..a398007e1 100755
--- a/include/diaspora.php
+++ b/include/diaspora.php
@@ -2252,7 +2252,6 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) {
$relay_retract = true;
$target_type = ( ($item['verb'] === ACTIVITY_LIKE) ? 'Like' : 'Comment');
- $sender_signed_text = $item['guid'] . ';' . $target_type ;
$sql_sign_id = 'retract_iid';
$tpl = get_markup_template('diaspora_relayable_retraction.tpl');
@@ -2263,13 +2262,10 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) {
$target_type = 'Post';
// $positive = (($item['deleted']) ? 'false' : 'true');
$positive = 'true';
- $sender_signed_text = $item['guid'] . ';' . $target_type . ';' . $parent_guid . ';' . $positive . ';' . $myaddr;
$tpl = get_markup_template('diaspora_like_relay.tpl');
}
else { // item is a comment
- $sender_signed_text = $item['guid'] . ';' . $parent_guid . ';' . $text . ';' . $myaddr;
-
$tpl = get_markup_template('diaspora_comment_relay.tpl');
}
@@ -2295,6 +2291,13 @@ function diaspora_send_relay($item,$owner,$contact,$public_batch = false) {
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
//
// We'll use the $sender_signed_text that we just created, instead of the $signed_text
diff --git a/include/follow.php b/include/follow.php
index 22288a0da..b4d1732b8 100644
--- a/include/follow.php
+++ b/include/follow.php
@@ -62,6 +62,11 @@ function new_contact($uid,$url,$interactive = false) {
}
}
+
+
+
+
+
// This extra param just confuses things, remove it
if($ret['network'] === NETWORK_DIASPORA)
$ret['url'] = str_replace('?absolute=true','',$ret['url']);
@@ -89,6 +94,11 @@ function new_contact($uid,$url,$interactive = false) {
$ret['notify'] = '';
}
+
+
+
+
+
if(! $ret['notify']) {
$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 {
+
+ // 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);
if($ret['network'] === NETWORK_DIASPORA)
$new_relation = CONTACT_IS_FOLLOWER;
diff --git a/include/items.php b/include/items.php
index 91ed6762c..e495393fa 100755
--- a/include/items.php
+++ b/include/items.php
@@ -1726,10 +1726,12 @@ function consume_feed($xml,$importer,&$contact, &$hub, $datedir = 0, $pass = 0)
$datarray['type'] = 'activity';
$datarray['gravity'] = GRAVITY_LIKE;
// 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['contact-id']),
- dbesc($datarray['verb'])
+ dbesc($datarray['verb']),
+ dbesc($parent_uri),
+ dbesc($parent_uri)
);
if($r && count($r))
continue;
@@ -2363,7 +2365,7 @@ function local_delivery($importer,$data) {
$datarray['gravity'] = GRAVITY_LIKE;
$datarray['last-child'] = 0;
// 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['contact-id']),
dbesc($datarray['verb']),
@@ -2537,10 +2539,12 @@ function local_delivery($importer,$data) {
$datarray['type'] = 'activity';
$datarray['gravity'] = GRAVITY_LIKE;
// 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['contact-id']),
- dbesc($datarray['verb'])
+ dbesc($datarray['verb']),
+ dbesc($parent_uri),
+ dbesc($parent_uri)
);
if($r && count($r))
continue;
diff --git a/include/plugin.php b/include/plugin.php
index c6b61ae6e..d762e8717 100644
--- a/include/plugin.php
+++ b/include/plugin.php
@@ -316,3 +316,84 @@ function get_theme_screenshot($theme) {
}
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 : '') ;
+}
diff --git a/include/profile_advanced.php b/include/profile_advanced.php
index ffb45090b..8dfb1beec 100644
--- a/include/profile_advanced.php
+++ b/include/profile_advanced.php
@@ -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['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['music'])) $profile['music'] = array( t('Musical interests:'), $txt);
diff --git a/include/user.php b/include/user.php
index 2477438bf..383a3b3e1 100644
--- a/include/user.php
+++ b/include/user.php
@@ -147,13 +147,18 @@ function create_user($arr) {
require_once('include/crypto.php');
- $keys = new_keypair(1024);
+ $keys = new_keypair(4096);
if($keys === false) {
$result['message'] .= t('SERIOUS ERROR: Generation of security keys failed.') . EOL;
return $result;
}
+ $default_service_class = get_config('system','default_service_class');
+ if(! $default_service_class)
+ $default_service_class = '';
+
+
$prvkey = $keys['prvkey'];
$pubkey = $keys['pubkey'];
@@ -173,8 +178,8 @@ function create_user($arr) {
$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' )",
+ `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', '%s' )",
dbesc(generate_user_guid()),
dbesc($username),
dbesc($new_password_encoded),
@@ -187,7 +192,8 @@ function create_user($arr) {
dbesc($sprvkey),
dbesc(datetime_convert()),
intval($verified),
- intval($blocked)
+ intval($blocked),
+ dbesc($default_service_class)
);
if($r) {
diff --git a/mod/dfrn_confirm.php b/mod/dfrn_confirm.php
index 76b99cbca..8e39f5fd0 100644
--- a/mod/dfrn_confirm.php
+++ b/mod/dfrn_confirm.php
@@ -146,7 +146,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
*/
require_once('include/crypto.php');
- $res = new_keypair(1024);
+ $res = new_keypair(4096);
$private_key = $res['prvkey'];
$public_key = $res['pubkey'];
diff --git a/mod/photos.php b/mod/photos.php
index d96bc135e..ea4d7f81f 100644
--- a/mod/photos.php
+++ b/mod/photos.php
@@ -38,8 +38,10 @@ function photos_init(&$a) {
$o .= '<div class="fn">' . $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>';
-
- 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 .= '<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);
$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);
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>';
-
+ $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');
$o .= replace_macros($tpl,array(
'$pagename' => t('Upload Photos'),
'$sessid' => session_id(),
+ '$usage' => $usage_message,
'$nickname' => $a->data['user']['nickname'],
'$newalbum' => t('New album name: '),
'$existalbumtext' => t('or existing album name: '),
diff --git a/mod/profiles.php b/mod/profiles.php
index a9da5454c..4df8a5af7 100644
--- a/mod/profiles.php
+++ b/mod/profiles.php
@@ -130,6 +130,9 @@ function profiles_post(&$a) {
$politic = notags(trim($_POST['politic']));
$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'])));
$interest = fix_mce_lf(escape_tags(trim($_POST['interest'])));
$contact = fix_mce_lf(escape_tags(trim($_POST['contact'])));
@@ -155,7 +158,15 @@ function profiles_post(&$a) {
if($withchanged) {
$changes[] = '[color=#ff0000]&hearts;[/color] ' . t('Romantic Partner');
$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']) {
$changes[] = t('Work/Employment');
}
@@ -222,6 +233,8 @@ function profiles_post(&$a) {
`religion` = '%s',
`pub_keywords` = '%s',
`prv_keywords` = '%s',
+ `likes` = '%s',
+ `dislikes` = '%s',
`about` = '%s',
`interest` = '%s',
`contact` = '%s',
@@ -254,6 +267,8 @@ function profiles_post(&$a) {
dbesc($religion),
dbesc($pub_keywords),
dbesc($prv_keywords),
+ dbesc($likes),
+ dbesc($dislikes),
dbesc($about),
dbesc($interest),
dbesc($contact),
@@ -577,6 +592,8 @@ function profiles_content(&$a) {
'$lbl_religion' => t('Religious Views:'),
'$lbl_pubkey' => t('Public Keywords:'),
'$lbl_prvkey' => t('Private Keywords:'),
+ '$lbl_likes' => t('Likes:'),
+ '$lbl_dislikes' => t('Dislikes:'),
'$lbl_ex2' => t('Example: fishing photography software'),
'$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"),
@@ -617,6 +634,8 @@ function profiles_content(&$a) {
'$religion' => $r[0]['religion'],
'$pub_keywords' => $r[0]['pub_keywords'],
'$prv_keywords' => $r[0]['prv_keywords'],
+ '$likes' => $r[0]['likes'],
+ '$dislikes' => $r[0]['dislikes'],
'$music' => $r[0]['music'],
'$book' => $r[0]['book'],
'$tv' => $r[0]['tv'],
diff --git a/update.php b/update.php
index 0f7bf664d..eeb8b07b1 100644
--- a/update.php
+++ b/update.php
@@ -1,6 +1,6 @@
<?php
-define( 'UPDATE_VERSION' , 1149 );
+define( 'UPDATE_VERSION' , 1150 );
/**
*
@@ -1289,3 +1289,12 @@ function update_1148() {
return UPDATE_FAILED;
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;
+}
diff --git a/util/messages.po b/util/messages.po
index 416e30ef8..87e2e0ac6 100644
--- a/util/messages.po
+++ b/util/messages.po
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: 3.0.1382\n"
+"Project-Id-Version: 3.0.1384\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"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\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/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:507
-#: ../../addon/dav/layout.fnk.php:353 ../../include/items.php:3401
+#: ../../mod/dfrn_confirm.php:53 ../../addon/facebook/facebook.php:508
+#: ../../addon/dav/layout.fnk.php:353 ../../include/items.php:3411
#: ../../index.php:309
msgid "Permission denied."
msgstr ""
@@ -133,7 +133,8 @@ msgstr ""
#: ../../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: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/yourls/yourls.php:76 ../../addon/ljpost/ljpost.php:93
#: ../../addon/nsfw/nsfw.php:57 ../../addon/page/page.php:164
@@ -156,11 +157,11 @@ msgstr ""
#: ../../addon/statusnet/statusnet.php:318
#: ../../addon/statusnet/statusnet.php:325
#: ../../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/wppost/wppost.php:110 ../../addon/showmore/showmore.php:48
#: ../../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/posterous/posterous.php:103
#: ../../view/theme/cleanzero/config.php:80
@@ -278,7 +279,7 @@ msgid "Description:"
msgstr ""
#: ../../mod/events.php:423 ../../include/event.php:37
-#: ../../include/bb2diaspora.php:265 ../../boot.php:1126
+#: ../../include/bb2diaspora.php:355 ../../boot.php:1126
msgid "Location:"
msgstr ""
@@ -385,8 +386,8 @@ msgstr ""
#: ../../mod/profile_photo.php:176 ../../mod/profile_photo.php:254
#: ../../mod/profile_photo.php:263
#: ../../addon/communityhome/communityhome.php:111
-#: ../../view/theme/diabook/theme.php:599 ../../include/user.php:298
-#: ../../include/user.php:305 ../../include/user.php:312
+#: ../../view/theme/diabook/theme.php:599 ../../include/user.php:304
+#: ../../include/user.php:311 ../../include/user.php:318
msgid "Profile Photos"
msgstr ""
@@ -409,7 +410,7 @@ msgstr ""
#: ../../mod/photos.php:589 ../../mod/like.php:185 ../../mod/tagger.php:70
#: ../../addon/communityhome/communityhome.php:163
#: ../../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
msgid "photo"
msgstr ""
@@ -546,14 +547,14 @@ msgstr ""
msgid "I don't like this (toggle)"
msgstr ""
-#: ../../mod/photos.php:1290 ../../include/conversation.php:989
+#: ../../mod/photos.php:1290 ../../include/conversation.php:993
msgid "Share"
msgstr ""
#: ../../mod/photos.php:1291 ../../mod/editpost.php:104
#: ../../mod/wallmessage.php:145 ../../mod/message.php:215
#: ../../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"
msgstr ""
@@ -569,7 +570,7 @@ msgid "Comment"
msgstr ""
#: ../../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"
msgstr ""
@@ -640,7 +641,7 @@ msgstr ""
msgid "Edit post"
msgstr ""
-#: ../../mod/editpost.php:80 ../../include/conversation.php:975
+#: ../../mod/editpost.php:80 ../../include/conversation.php:979
msgid "Post to Email"
msgstr ""
@@ -651,17 +652,17 @@ msgstr ""
#: ../../mod/editpost.php:96 ../../mod/wallmessage.php:143
#: ../../mod/message.php:213 ../../mod/message.php:408
-#: ../../include/conversation.php:990
+#: ../../include/conversation.php:994
msgid "Upload photo"
msgstr ""
-#: ../../mod/editpost.php:97 ../../include/conversation.php:992
+#: ../../mod/editpost.php:97 ../../include/conversation.php:996
msgid "Attach file"
msgstr ""
#: ../../mod/editpost.php:98 ../../mod/wallmessage.php:144
#: ../../mod/message.php:214 ../../mod/message.php:409
-#: ../../include/conversation.php:994
+#: ../../include/conversation.php:998
msgid "Insert web link"
msgstr ""
@@ -677,35 +678,35 @@ msgstr ""
msgid "Insert Vorbis [.ogg] audio"
msgstr ""
-#: ../../mod/editpost.php:102 ../../include/conversation.php:1000
+#: ../../mod/editpost.php:102 ../../include/conversation.php:1004
msgid "Set your location"
msgstr ""
-#: ../../mod/editpost.php:103 ../../include/conversation.php:1002
+#: ../../mod/editpost.php:103 ../../include/conversation.php:1006
msgid "Clear browser location"
msgstr ""
-#: ../../mod/editpost.php:105 ../../include/conversation.php:1009
+#: ../../mod/editpost.php:105 ../../include/conversation.php:1013
msgid "Permission settings"
msgstr ""
-#: ../../mod/editpost.php:113 ../../include/conversation.php:1018
+#: ../../mod/editpost.php:113 ../../include/conversation.php:1022
msgid "CC: email addresses"
msgstr ""
-#: ../../mod/editpost.php:114 ../../include/conversation.php:1019
+#: ../../mod/editpost.php:114 ../../include/conversation.php:1023
msgid "Public post"
msgstr ""
-#: ../../mod/editpost.php:117 ../../include/conversation.php:1005
+#: ../../mod/editpost.php:117 ../../include/conversation.php:1009
msgid "Set title"
msgstr ""
-#: ../../mod/editpost.php:119 ../../include/conversation.php:1007
+#: ../../mod/editpost.php:119 ../../include/conversation.php:1011
msgid "Categories (comma-separated list)"
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"
msgstr ""
@@ -826,7 +827,7 @@ msgstr ""
msgid "Confirm"
msgstr ""
-#: ../../mod/dfrn_request.php:715 ../../include/items.php:2797
+#: ../../mod/dfrn_request.php:715 ../../include/items.php:2805
msgid "[Name Withheld]"
msgstr ""
@@ -1152,7 +1153,7 @@ msgid ""
msgstr ""
#: ../../mod/localtime.php:12 ../../include/event.php:11
-#: ../../include/bb2diaspora.php:243
+#: ../../include/bb2diaspora.php:333
msgid "l F d, Y \\@ g:i A"
msgstr ""
@@ -1725,10 +1726,10 @@ msgstr ""
#: ../../mod/lostpass.php:45 ../../mod/lostpass.php:107
#: ../../mod/register.php:90 ../../mod/register.php:144
#: ../../mod/regmod.php:54 ../../mod/dfrn_confirm.php:752
-#: ../../addon/facebook/facebook.php:692
-#: ../../addon/facebook/facebook.php:1182
+#: ../../addon/facebook/facebook.php:693
+#: ../../addon/facebook/facebook.php:1183
#: ../../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
msgid "Administrator"
msgstr ""
@@ -1874,11 +1875,11 @@ msgstr ""
msgid "Private forum has no privacy permissions and no default privacy group."
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/openstreetmap/openstreetmap.php:80
#: ../../addon/mathjax/mathjax.php:66 ../../addon/piwik/piwik.php:105
-#: ../../addon/twitter/twitter.php:376
+#: ../../addon/twitter/twitter.php:382
msgid "Settings updated."
msgstr ""
@@ -1888,12 +1889,12 @@ msgid "Add application"
msgstr ""
#: ../../mod/settings.php:558 ../../mod/settings.php:584
-#: ../../addon/statusnet/statusnet.php:555
+#: ../../addon/statusnet/statusnet.php:561
msgid "Consumer Key"
msgstr ""
#: ../../mod/settings.php:559 ../../mod/settings.php:585
-#: ../../addon/statusnet/statusnet.php:554
+#: ../../addon/statusnet/statusnet.php:560
msgid "Consumer Secret"
msgstr ""
@@ -2419,8 +2420,8 @@ msgid "Personal Notes"
msgstr ""
#: ../../mod/notes.php:63 ../../mod/filer.php:30
-#: ../../addon/facebook/facebook.php:760
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:185
+#: ../../addon/facebook/facebook.php:761
+#: ../../addon/privacy_image_cache/privacy_image_cache.php:187
#: ../../addon/dav/layout.fnk.php:384 ../../include/text.php:652
msgid "Save"
msgstr ""
@@ -2455,7 +2456,7 @@ msgid "No recipient."
msgstr ""
#: ../../mod/wallmessage.php:124 ../../mod/message.php:172
-#: ../../include/conversation.php:943
+#: ../../include/conversation.php:947
msgid "Please enter a link URL:"
msgstr ""
@@ -2777,20 +2778,20 @@ msgstr ""
msgid "People Search"
msgstr ""
-#: ../../mod/like.php:185 ../../mod/like.php:259 ../../mod/tagger.php:70
-#: ../../addon/facebook/facebook.php:1576
+#: ../../mod/like.php:185 ../../mod/like.php:260 ../../mod/tagger.php:70
+#: ../../addon/facebook/facebook.php:1577
#: ../../addon/communityhome/communityhome.php:158
#: ../../addon/communityhome/communityhome.php:167
#: ../../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:121 ../../include/conversation.php:130
msgid "status"
msgstr ""
-#: ../../mod/like.php:202 ../../addon/facebook/facebook.php:1580
+#: ../../mod/like.php:202 ../../addon/facebook/facebook.php:1581
#: ../../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
#, php-format
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/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."
msgstr ""
@@ -3155,7 +3156,7 @@ msgstr ""
msgid "Advanced"
msgstr ""
-#: ../../mod/admin.php:428 ../../addon/statusnet/statusnet.php:552
+#: ../../mod/admin.php:428 ../../addon/statusnet/statusnet.php:558
msgid "Site name"
msgstr ""
@@ -4010,7 +4011,7 @@ msgstr ""
msgid "Edit visibility"
msgstr ""
-#: ../../mod/filer.php:29 ../../include/conversation.php:947
+#: ../../mod/filer.php:29 ../../include/conversation.php:951
msgid "Save to Folder:"
msgstr ""
@@ -4264,83 +4265,99 @@ msgstr ""
msgid "%1$s has joined %2$s"
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"
msgstr ""
-#: ../../addon/facebook/facebook.php:518
+#: ../../addon/facebook/facebook.php:519
msgid "Updating contacts"
msgstr ""
-#: ../../addon/facebook/facebook.php:541
+#: ../../addon/facebook/facebook.php:542
msgid "Facebook API key is missing."
msgstr ""
-#: ../../addon/facebook/facebook.php:548
+#: ../../addon/facebook/facebook.php:549
msgid "Facebook Connect"
msgstr ""
-#: ../../addon/facebook/facebook.php:554
+#: ../../addon/facebook/facebook.php:555
msgid "Install Facebook connector for this account."
msgstr ""
-#: ../../addon/facebook/facebook.php:561
+#: ../../addon/facebook/facebook.php:562
msgid "Remove Facebook connector"
msgstr ""
-#: ../../addon/facebook/facebook.php:566
+#: ../../addon/facebook/facebook.php:567
msgid ""
"Re-authenticate [This is necessary whenever your Facebook password is "
"changed.]"
msgstr ""
-#: ../../addon/facebook/facebook.php:573
+#: ../../addon/facebook/facebook.php:574
msgid "Post to Facebook by default"
msgstr ""
-#: ../../addon/facebook/facebook.php:579
+#: ../../addon/facebook/facebook.php:580
msgid ""
"Facebook friend linking has been disabled on this site. The following "
"settings will have no effect."
msgstr ""
-#: ../../addon/facebook/facebook.php:583
+#: ../../addon/facebook/facebook.php:584
msgid ""
"Facebook friend linking has been disabled on this site. If you disable it, "
"you will be unable to re-enable it."
msgstr ""
-#: ../../addon/facebook/facebook.php:586
+#: ../../addon/facebook/facebook.php:587
msgid "Link all your Facebook friends and conversations on this website"
msgstr ""
-#: ../../addon/facebook/facebook.php:588
+#: ../../addon/facebook/facebook.php:589
msgid ""
"Facebook conversations consist of your <em>profile wall</em> and your friend "
"<em>stream</em>."
msgstr ""
-#: ../../addon/facebook/facebook.php:589
+#: ../../addon/facebook/facebook.php:590
msgid "On this website, your Facebook friend stream is only visible to you."
msgstr ""
-#: ../../addon/facebook/facebook.php:590
+#: ../../addon/facebook/facebook.php:591
msgid ""
"The following settings determine the privacy of your Facebook profile wall "
"on this website."
msgstr ""
-#: ../../addon/facebook/facebook.php:594
+#: ../../addon/facebook/facebook.php:595
msgid ""
"On this website your Facebook profile wall conversations will only be "
"visible to you"
msgstr ""
-#: ../../addon/facebook/facebook.php:599
+#: ../../addon/facebook/facebook.php:600
msgid "Do not import your Facebook profile wall conversations"
msgstr ""
-#: ../../addon/facebook/facebook.php:601
+#: ../../addon/facebook/facebook.php:602
msgid ""
"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 "
@@ -4348,120 +4365,120 @@ msgid ""
"who may see the conversations."
msgstr ""
-#: ../../addon/facebook/facebook.php:606
+#: ../../addon/facebook/facebook.php:607
msgid "Comma separated applications to ignore"
msgstr ""
-#: ../../addon/facebook/facebook.php:690
+#: ../../addon/facebook/facebook.php:691
msgid "Problems with Facebook Real-Time Updates"
msgstr ""
-#: ../../addon/facebook/facebook.php:718
+#: ../../addon/facebook/facebook.php:719
#: ../../include/contact_selectors.php:81
msgid "Facebook"
msgstr ""
-#: ../../addon/facebook/facebook.php:719
+#: ../../addon/facebook/facebook.php:720
msgid "Facebook Connector Settings"
msgstr ""
-#: ../../addon/facebook/facebook.php:734
+#: ../../addon/facebook/facebook.php:735
msgid "Facebook API Key"
msgstr ""
-#: ../../addon/facebook/facebook.php:744
+#: ../../addon/facebook/facebook.php:745
msgid ""
"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 "
"using this form.<br><br>"
msgstr ""
-#: ../../addon/facebook/facebook.php:749
+#: ../../addon/facebook/facebook.php:750
msgid ""
"Error: the given API Key seems to be incorrect (the application access token "
"could not be retrieved)."
msgstr ""
-#: ../../addon/facebook/facebook.php:751
+#: ../../addon/facebook/facebook.php:752
msgid "The given API Key seems to work correctly."
msgstr ""
-#: ../../addon/facebook/facebook.php:753
+#: ../../addon/facebook/facebook.php:754
msgid ""
"The correctness of the API Key could not be detected. Somthing strange's "
"going on."
msgstr ""
-#: ../../addon/facebook/facebook.php:756
+#: ../../addon/facebook/facebook.php:757
msgid "App-ID / API-Key"
msgstr ""
-#: ../../addon/facebook/facebook.php:757
+#: ../../addon/facebook/facebook.php:758
msgid "Application secret"
msgstr ""
-#: ../../addon/facebook/facebook.php:758
+#: ../../addon/facebook/facebook.php:759
#, php-format
msgid "Polling Interval in minutes (minimum %1$s minutes)"
msgstr ""
-#: ../../addon/facebook/facebook.php:759
+#: ../../addon/facebook/facebook.php:760
msgid ""
"Synchronize comments (no comments on Facebook are missed, at the cost of "
"increased system load)"
msgstr ""
-#: ../../addon/facebook/facebook.php:763
+#: ../../addon/facebook/facebook.php:764
msgid "Real-Time Updates"
msgstr ""
-#: ../../addon/facebook/facebook.php:767
+#: ../../addon/facebook/facebook.php:768
msgid "Real-Time Updates are activated."
msgstr ""
-#: ../../addon/facebook/facebook.php:768
+#: ../../addon/facebook/facebook.php:769
msgid "Deactivate Real-Time Updates"
msgstr ""
-#: ../../addon/facebook/facebook.php:770
+#: ../../addon/facebook/facebook.php:771
msgid "Real-Time Updates not activated."
msgstr ""
-#: ../../addon/facebook/facebook.php:770
+#: ../../addon/facebook/facebook.php:771
msgid "Activate Real-Time Updates"
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."
msgstr ""
-#: ../../addon/facebook/facebook.php:813
+#: ../../addon/facebook/facebook.php:814
msgid "Post to Facebook"
msgstr ""
-#: ../../addon/facebook/facebook.php:911
+#: ../../addon/facebook/facebook.php:912
msgid ""
"Post to Facebook cancelled because of multi-network access permission "
"conflict."
msgstr ""
-#: ../../addon/facebook/facebook.php:1131
+#: ../../addon/facebook/facebook.php:1132
msgid "View on Friendica"
msgstr ""
-#: ../../addon/facebook/facebook.php:1164
+#: ../../addon/facebook/facebook.php:1165
msgid "Facebook post failed. Queued for retry."
msgstr ""
-#: ../../addon/facebook/facebook.php:1204
+#: ../../addon/facebook/facebook.php:1205
msgid "Your Facebook connection became invalid. Please Re-authenticate."
msgstr ""
-#: ../../addon/facebook/facebook.php:1205
+#: ../../addon/facebook/facebook.php:1206
msgid "Facebook connection became invalid"
msgstr ""
-#: ../../addon/facebook/facebook.php:1206
+#: ../../addon/facebook/facebook.php:1207
#, php-format
msgid ""
"Hi %1$s,\n"
@@ -4483,23 +4500,23 @@ msgstr ""
msgid "Automatically follow any StatusNet followers/mentioners"
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)"
msgstr ""
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:187
+#: ../../addon/privacy_image_cache/privacy_image_cache.php:189
msgid "Cache Statistics"
msgstr ""
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:190
+#: ../../addon/privacy_image_cache/privacy_image_cache.php:192
msgid "Number of items"
msgstr ""
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:192
+#: ../../addon/privacy_image_cache/privacy_image_cache.php:194
msgid "Size of the cache"
msgstr ""
-#: ../../addon/privacy_image_cache/privacy_image_cache.php:194
+#: ../../addon/privacy_image_cache/privacy_image_cache.php:196
msgid "Delete the whole cache"
msgstr ""
@@ -5034,7 +5051,7 @@ msgstr ""
msgid "Post to Drupal by default"
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
msgid "Post from Friendica"
msgstr ""
@@ -5551,7 +5568,7 @@ msgstr ""
msgid "Clear OAuth configuration"
msgstr ""
-#: ../../addon/statusnet/statusnet.php:553
+#: ../../addon/statusnet/statusnet.php:559
msgid "API URL"
msgstr ""
@@ -5650,7 +5667,7 @@ msgstr ""
msgid "Provide a backlink to the Friendica post"
msgstr ""
-#: ../../addon/wppost/wppost.php:205
+#: ../../addon/wppost/wppost.php:207
msgid "Read the original post and comment stream on Friendica"
msgstr ""
@@ -5768,11 +5785,11 @@ msgstr ""
msgid "Send linked #-tags and @-names to Twitter"
msgstr ""
-#: ../../addon/twitter/twitter.php:383
+#: ../../addon/twitter/twitter.php:389
msgid "Consumer key"
msgstr ""
-#: ../../addon/twitter/twitter.php:384
+#: ../../addon/twitter/twitter.php:390
msgid "Consumer secret"
msgstr ""
@@ -6370,7 +6387,7 @@ msgstr ""
msgid "Sex Addict"
msgstr ""
-#: ../../include/profile_selectors.php:42 ../../include/user.php:272
+#: ../../include/profile_selectors.php:42 ../../include/user.php:278
msgid "Friends"
msgstr ""
@@ -6458,11 +6475,11 @@ msgstr ""
msgid "Ask me"
msgstr ""
-#: ../../include/event.php:17 ../../include/bb2diaspora.php:249
+#: ../../include/event.php:17 ../../include/bb2diaspora.php:339
msgid "Starts:"
msgstr ""
-#: ../../include/event.php:27 ../../include/bb2diaspora.php:257
+#: ../../include/event.php:27 ../../include/bb2diaspora.php:347
msgid "Finishes:"
msgstr ""
@@ -6606,7 +6623,7 @@ msgstr ""
msgid "Click to open/close"
msgstr ""
-#: ../../include/text.php:1096 ../../include/user.php:230
+#: ../../include/text.php:1096 ../../include/user.php:236
msgid "default"
msgstr ""
@@ -6634,19 +6651,19 @@ msgstr ""
msgid "Sharing notification from Diaspora network"
msgstr ""
-#: ../../include/diaspora.php:2074
+#: ../../include/diaspora.php:2085
msgid "Attachments:"
msgstr ""
-#: ../../include/network.php:827
+#: ../../include/network.php:839
msgid "view full size"
msgstr ""
-#: ../../include/oembed.php:134
+#: ../../include/oembed.php:135
msgid "Embedded content"
msgstr ""
-#: ../../include/oembed.php:143
+#: ../../include/oembed.php:144
msgid "Embedding disabled"
msgstr ""
@@ -6943,11 +6960,11 @@ msgstr ""
msgid "From: "
msgstr ""
-#: ../../include/bbcode.php:210 ../../include/bbcode.php:230
+#: ../../include/bbcode.php:214 ../../include/bbcode.php:234
msgid "$1 wrote:"
msgstr ""
-#: ../../include/bbcode.php:245 ../../include/bbcode.php:314
+#: ../../include/bbcode.php:249 ../../include/bbcode.php:322
msgid "Image/photo"
msgstr ""
@@ -7188,27 +7205,18 @@ msgstr ""
msgid "following"
msgstr ""
-#: ../../include/items.php:2804
+#: ../../include/items.php:2812
msgid "A new person is sharing with you at "
msgstr ""
-#: ../../include/items.php:2804
+#: ../../include/items.php:2812
msgid "You have a new follower at "
msgstr ""
-#: ../../include/items.php:3466
+#: ../../include/items.php:3476
msgid "Archives"
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
msgid "An invitation is required."
msgstr ""
@@ -7255,7 +7263,7 @@ msgid ""
"must also begin with a letter."
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."
msgstr ""
@@ -7269,11 +7277,11 @@ msgstr ""
msgid "SERIOUS ERROR: Generation of security keys failed."
msgstr ""
-#: ../../include/user.php:205
+#: ../../include/user.php:211
msgid "An error occurred during registration. Please try again."
msgstr ""
-#: ../../include/user.php:240
+#: ../../include/user.php:246
msgid "An error occurred creating your default profile. Please try again."
msgstr ""
@@ -7449,102 +7457,102 @@ msgstr ""
msgid "Delete Selected Items"
msgstr ""
-#: ../../include/conversation.php:901
+#: ../../include/conversation.php:905
#, php-format
msgid "%s likes this."
msgstr ""
-#: ../../include/conversation.php:901
+#: ../../include/conversation.php:905
#, php-format
msgid "%s doesn't like this."
msgstr ""
-#: ../../include/conversation.php:905
+#: ../../include/conversation.php:909
#, php-format
msgid "<span %1$s>%2$d people</span> like this."
msgstr ""
-#: ../../include/conversation.php:907
+#: ../../include/conversation.php:911
#, php-format
msgid "<span %1$s>%2$d people</span> don't like this."
msgstr ""
-#: ../../include/conversation.php:913
+#: ../../include/conversation.php:917
msgid "and"
msgstr ""
-#: ../../include/conversation.php:916
+#: ../../include/conversation.php:920
#, php-format
msgid ", and %d other people"
msgstr ""
-#: ../../include/conversation.php:917
+#: ../../include/conversation.php:921
#, php-format
msgid "%s like this."
msgstr ""
-#: ../../include/conversation.php:917
+#: ../../include/conversation.php:921
#, php-format
msgid "%s don't like this."
msgstr ""
-#: ../../include/conversation.php:942
+#: ../../include/conversation.php:946
msgid "Visible to <strong>everybody</strong>"
msgstr ""
-#: ../../include/conversation.php:944
+#: ../../include/conversation.php:948
msgid "Please enter a video link/URL:"
msgstr ""
-#: ../../include/conversation.php:945
+#: ../../include/conversation.php:949
msgid "Please enter an audio link/URL:"
msgstr ""
-#: ../../include/conversation.php:946
+#: ../../include/conversation.php:950
msgid "Tag term:"
msgstr ""
-#: ../../include/conversation.php:948
+#: ../../include/conversation.php:952
msgid "Where are you right now?"
msgstr ""
-#: ../../include/conversation.php:991
+#: ../../include/conversation.php:995
msgid "upload photo"
msgstr ""
-#: ../../include/conversation.php:993
+#: ../../include/conversation.php:997
msgid "attach file"
msgstr ""
-#: ../../include/conversation.php:995
+#: ../../include/conversation.php:999
msgid "web link"
msgstr ""
-#: ../../include/conversation.php:996
+#: ../../include/conversation.php:1000
msgid "Insert video link"
msgstr ""
-#: ../../include/conversation.php:997
+#: ../../include/conversation.php:1001
msgid "video link"
msgstr ""
-#: ../../include/conversation.php:998
+#: ../../include/conversation.php:1002
msgid "Insert audio link"
msgstr ""
-#: ../../include/conversation.php:999
+#: ../../include/conversation.php:1003
msgid "audio link"
msgstr ""
-#: ../../include/conversation.php:1001
+#: ../../include/conversation.php:1005
msgid "set location"
msgstr ""
-#: ../../include/conversation.php:1003
+#: ../../include/conversation.php:1007
msgid "clear location"
msgstr ""
-#: ../../include/conversation.php:1010
+#: ../../include/conversation.php:1014
msgid "permissions"
msgstr ""
diff --git a/view/en/update_fail_eml.tpl b/view/en/update_fail_eml.tpl
index f68a3dece..548e1a0df 100644
--- a/view/en/update_fail_eml.tpl
+++ b/view/en/update_fail_eml.tpl
@@ -1,5 +1,5 @@
Hey,
-I'm $sitename.
+I'm $sitename;
The friendica developers released update $update recently,
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
diff --git a/view/photos_upload.tpl b/view/photos_upload.tpl
index 318a92427..706b3398d 100644
--- a/view/photos_upload.tpl
+++ b/view/photos_upload.tpl
@@ -1,4 +1,7 @@
<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" >
<div id="photos-upload-new-wrapper" >
<div id="photos-upload-newalbum-div">
diff --git a/view/profile_advanced.tpl b/view/profile_advanced.tpl
index 0b8f31f43..b02b7f27d 100644
--- a/view/profile_advanced.tpl
+++ b/view/profile_advanced.tpl
@@ -89,6 +89,19 @@
</dl>
{{ 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 }}
<dl id="aprofile-contact" class="aprofile">
diff --git a/view/profile_edit.tpl b/view/profile_edit.tpl
index ad34b9956..64cd47324 100644
--- a/view/profile_edit.tpl
+++ b/view/profile_edit.tpl
@@ -187,6 +187,30 @@ $lbl_hobbies
</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" >
<p id="contact-jot-desc" >
$lbl_social
diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css
index de366210b..ea3a2da9c 100644
--- a/view/theme/duepuntozero/style.css
+++ b/view/theme/duepuntozero/style.css
@@ -1644,6 +1644,9 @@ input#dfrn-url {
display:block!important;
}
+#photos-usage-message {
+ margin-bottom: 15px;
+}
#acl-wrapper {