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');
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));
}

View file

@ -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,

View file

@ -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);

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
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;

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 = 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) {
$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;
$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');
@ -2262,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');
}
@ -2294,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

View file

@ -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;

View file

@ -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;
@ -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`,
`contact`.`name`, `contact`.`url`, `contact`.`thumb` from `item`
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
$sql_extra
LIMIT 1",
dbesc($parent_uri),
dbesc($parent_uri),
dbesc($parent_uri),
intval($importer['importer_uid'])
);
if($r && count($r))
@ -2362,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']),
@ -2536,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;

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();
@ -803,10 +803,22 @@ function scale_external_images($s,$include_link = true) {
require_once('include/Photo.php');
foreach($matches as $mtch) {
logger('scale_external_image: ' . $mtch[1]);
$hostname = str_replace('www.','',substr($a->get_baseurl(),strpos($a->get_baseurl(),'://')+3));
if(stristr($mtch[1],$hostname))
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
$type = guess_image_type($mtch[1],true);
@ -822,7 +834,7 @@ function scale_external_images($s,$include_link = true) {
$new_width = $ph->getWidth();
$new_height = $ph->getHeight();
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)
? '[url=' . $mtch[1] . ']' . t('view full size') . '[/url]' . "\n"
: ''),$s);

View file

@ -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 : '') ;
}

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['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);

View file

@ -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) {

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');
$res = new_keypair(1024);
$res = new_keypair(4096);
$private_key = $res['prvkey'];
$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>';
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: '),

View file

@ -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'])));
@ -156,6 +159,14 @@ function profiles_post(&$a) {
$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'],

View file

@ -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;
}

View file

@ -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 ""

View file

@ -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

View file

@ -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">

View file

@ -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">

View file

@ -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

View file

@ -19,8 +19,9 @@
<div id="conversation-end"></div>
{{ if $dropping }}
<div class="delete-checked">
<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" class="fakelink" onclick="deleteCheckedItems(); return false;">
<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 id="item-delete-selected-end"></div>
{{ 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;}
.checkeditem{opacity:1;}
#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-desc{font-size:smaller;}
.fc-state-highlight{background:#eeeecc;color:#2e2f2e;}
.directory-item{float:left;margin:0 5px 4px 0;padding:3px;width:180px;height:250px;position:relative;}
#group-sidebar{margin-bottom:10px;}

View file

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

View file

@ -19,31 +19,32 @@
<div id="jot-tools" class="jothidden" style="display:none">
<div id="profile-jot-submit-wrapper" class="jothidden">
<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>
<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>
<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>
</div>
<div id="profile-video-wrapper" style="display: $visitor;">
<a class="icon video" id="profile-video" onclick="jotVideoURL();return false;" title="$video"></a>
</div>
<div id="profile-audio-wrapper" style="display: $visitor;">
<a class="icon audio" id="profile-audio" onclick="jotAudioURL();return false;" title="$audio"></a>
</div>
<div id="profile-location-wrapper" style="display: $visitor;">
<a class="icon globe" id="profile-location" onclick="jotGetLocation();return false;" title="$setloc"></a>
</div>
<div id="profile-nolocation-wrapper" style="display: none;">
<a class="icon noglobe" id="profile-nolocation" onclick="jotClearLocation();return false;" title="$noloc"></a>
</div>
<div id="profile-upload-wrapper" style="display: $visitor;">
<div id="wall-image-upload-div"><a href="#" onclick="return false;" id="wall-image-upload" class="icon camera" title="$upload"></a></div>
</div>
<div id="profile-attach-wrapper" style="display: $visitor;">
<div id="wall-file-upload-div"><a href="#" onclick="return false;" id="wall-file-upload" class="icon attach" title="$attach"></a></div>
</div>
<div id="profile-jot-plugin-wrapper">
$jotplugins
</div>
<div id="profile-link-wrapper" style="display: $visitor;" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);">
<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 id="profile-video-wrapper" style="display: $visitor;">
<a id="profile-video" class="icon video" onclick="jotVideoURL();return false;" title="$video"></a>
</div>
<div id="profile-audio-wrapper" style="display: $visitor;">
<a id="profile-audio" class="icon audio" onclick="jotAudioURL();return false;" title="$audio"></a>
</div>
<div id="profile-location-wrapper" style="display: $visitor;">
<a id="profile-location" class="icon globe" onclick="jotGetLocation();return false;" title="$setloc"></a>
</div>
<div id="profile-nolocation-wrapper" style="display: none;">
<a id="profile-nolocation" class="icon noglobe" onclick="jotClearLocation();return false;" title="$noloc"></a>
</div>
<div id="profile-jot-plugin-wrapper">
$jotplugins
</div>
<a class="icon-text-preview pointer"></a><a id="jot-preview-link" class="pointer" onclick="preview_post(); return false;" title="$preview">$preview</a>
<input type="submit" id="profile-jot-submit" name="submit" value="$share" />
@ -57,16 +58,16 @@
</div> <!-- /#jot-tools -->
<div id="jot-preview-content" style="display:none;"></div>
<div style="display: none;">
<div id="profile-jot-acl-wrapper" style="width:auto;height:auto;overflow:auto;">
$acl
<hr style="clear:both" />
<div id="profile-jot-email-label">$emailcc</div>
<input type="text" name="emailcc" id="profile-jot-email" title="$emtitle" />
<div id="profile-jot-email-label">$emailcc</div><input type="text" name="emailcc" id="profile-jot-email" title="$emtitle" />
<div id="profile-jot-email-end"></div>
$jotnets
</div>
</div>
</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;}
.checkeditem{opacity:1;}
#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-desc{font-size:smaller;}
.fc-state-highlight{background:#eeeeec;color:#111111;}
.directory-item{float:left;margin:0 5px 4px 0;padding:3px;width:180px;height:250px;position:relative;}
#group-sidebar{margin-bottom:10px;}

View file

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

View file

@ -78,9 +78,9 @@
</div>
</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-dislike" id="wall-item-dislike-$item.id">$item.dislike</div>
<div class="wall-item-comment-wrapper">
<div class="wall-item-like $item.indent" id="wall-item-like-$item.id">$item.like</div>
<div class="wall-item-dislike $item.indent" id="wall-item-dislike-$item.id">$item.dislike</div>
<div class="wall-item-comment-wrapper" >
$item.comment
</div>

View file

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

View file

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