Merge pull request #1086 from annando/master

Bugfix: Connecting with other users works again/Some more profile optimizing
This commit is contained in:
fabrixxm 2014-08-28 09:16:26 +02:00
commit 070581f793
7 changed files with 168 additions and 87 deletions

View file

@ -1414,7 +1414,9 @@ if(! function_exists('profile_load')) {
$a->page['title'] = $a->profile['name'] . " @ " . $a->config['sitename']; $a->page['title'] = $a->profile['name'] . " @ " . $a->config['sitename'];
$_SESSION['theme'] = $a->profile['theme']; if (!$profiledata)
$_SESSION['theme'] = $a->profile['theme'];
$_SESSION['mobile-theme'] = $a->profile['mobile-theme']; $_SESSION['mobile-theme'] = $a->profile['mobile-theme'];
/** /**

View file

@ -152,9 +152,9 @@ function bb_rearrange_share($shared) {
if ($matches) if ($matches)
$description = trim($matches[1]); $description = trim($matches[1]);
$url = htmlentities($url, ENT_QUOTES, 'UTF-8', false); $url = str_replace(array("[", "]"), array("[", "]"), htmlentities($url, ENT_QUOTES, 'UTF-8', false));
$title = htmlentities($title, ENT_QUOTES, 'UTF-8', false); $title = str_replace(array("[", "]"), array("[", "]"), htmlentities($title, ENT_QUOTES, 'UTF-8', false));
$preview = htmlentities($preview, ENT_QUOTES, 'UTF-8', false); $preview = str_replace(array("[", "]"), array("[", "]"), htmlentities($preview, ENT_QUOTES, 'UTF-8', false));
$Text = trim($shared[1])."\n[attachment type='".$type."'"; $Text = trim($shared[1])."\n[attachment type='".$type."'";
@ -165,7 +165,7 @@ function bb_rearrange_share($shared) {
if ($preview != "") { if ($preview != "") {
require_once("include/Photo.php"); require_once("include/Photo.php");
$picturedata = get_photo_info($preview); $picturedata = get_photo_info($preview);
// echo $preview."*".print_r($picturedata, true)."*";
if (count($picturedata) > 0) { if (count($picturedata) > 0) {
// if the preview picture is larger than 500 pixels then show it in a larger mode // if the preview picture is larger than 500 pixels then show it in a larger mode
// But only, if the picture isn't higher than large (To prevent huge posts) // But only, if the picture isn't higher than large (To prevent huge posts)
@ -281,8 +281,6 @@ function tryoembed($match){
if (isset($match[2])) if (isset($match[2]))
$o->title = $match[2]; $o->title = $match[2];
//echo "<pre>"; var_dump($match, $url, $o); killme();
if ($o->type=="error") return $match[0]; if ($o->type=="error") return $match[0];
$html = oembed_format_object($o); $html = oembed_format_object($o);
@ -586,11 +584,13 @@ function bb_ShareAttributes($share, $simplehtml) {
return($text); return($text);
} }
function GetProfileUsername($profile, $username, $compact = false) { function GetProfileUsername($profile, $username, $compact = false, $getnetwork = false) {
$twitter = preg_replace("=https?://twitter.com/(.*)=ism", "$1@twitter.com", $profile); $twitter = preg_replace("=https?://twitter.com/(.*)=ism", "$1@twitter.com", $profile);
if ($twitter != $profile) { if ($twitter != $profile) {
if ($compact) if ($getnetwork)
return(NETWORK_TWITTER);
elseif ($compact)
return($twitter); return($twitter);
else else
return($username." (".$twitter.")"); return($username." (".$twitter.")");
@ -598,7 +598,9 @@ function GetProfileUsername($profile, $username, $compact = false) {
$appnet = preg_replace("=https?://alpha.app.net/(.*)=ism", "$1@alpha.app.net", $profile); $appnet = preg_replace("=https?://alpha.app.net/(.*)=ism", "$1@alpha.app.net", $profile);
if ($appnet != $profile) { if ($appnet != $profile) {
if ($compact) if ($getnetwork)
return(NETWORK_APPNET);
elseif ($compact)
return($appnet); return($appnet);
else else
return($username." (".$appnet.")"); return($username." (".$appnet.")");
@ -606,7 +608,9 @@ function GetProfileUsername($profile, $username, $compact = false) {
$gplus = preg_replace("=https?://plus.google.com/(.*)=ism", "$1@plus.google.com", $profile); $gplus = preg_replace("=https?://plus.google.com/(.*)=ism", "$1@plus.google.com", $profile);
if ($gplus != $profile) { if ($gplus != $profile) {
if ($compact) if ($getnetwork)
return(NETWORK_GPLUS);
elseif ($compact)
return($gplususername." (".$username.")"); return($gplususername." (".$username.")");
else else
return($username." (".$gplus.")"); return($username." (".$gplus.")");
@ -614,7 +618,9 @@ function GetProfileUsername($profile, $username, $compact = false) {
$friendica = preg_replace("=https?://(.*)/profile/(.*)=ism", "$2@$1", $profile); $friendica = preg_replace("=https?://(.*)/profile/(.*)=ism", "$2@$1", $profile);
if ($friendica != $profile) { if ($friendica != $profile) {
if ($compact) if ($getnetwork)
return(NETWORK_DFRN);
elseif ($compact)
return($friendica); return($friendica);
else else
return($username." (".$friendica.")"); return($username." (".$friendica.")");
@ -622,7 +628,9 @@ function GetProfileUsername($profile, $username, $compact = false) {
$diaspora = preg_replace("=https?://(.*)/u/(.*)=ism", "$2@$1", $profile); $diaspora = preg_replace("=https?://(.*)/u/(.*)=ism", "$2@$1", $profile);
if ($diaspora != $profile) { if ($diaspora != $profile) {
if ($compact) if ($getnetwork)
return(NETWORK_DIASPORA);
elseif ($compact)
return($diaspora); return($diaspora);
else else
return($username." (".$diaspora.")"); return($username." (".$diaspora.")");
@ -635,7 +643,9 @@ function GetProfileUsername($profile, $username, $compact = false) {
$UserData = fetch_url("http://".$StatusnetHost."/api/users/show.json?user_id=".$StatusnetUser); $UserData = fetch_url("http://".$StatusnetHost."/api/users/show.json?user_id=".$StatusnetUser);
$user = json_decode($UserData); $user = json_decode($UserData);
if ($user) { if ($user) {
if ($compact) if ($getnetwork)
return(NETWORK_STATUSNET);
elseif ($compact)
return($user->screen_name."@".$StatusnetHost); return($user->screen_name."@".$StatusnetHost);
else else
return($username." (".$user->screen_name."@".$StatusnetHost.")"); return($username." (".$user->screen_name."@".$StatusnetHost.")");
@ -648,7 +658,9 @@ function GetProfileUsername($profile, $username, $compact = false) {
if ($rest == "") { if ($rest == "") {
$pumpio = preg_replace("=https?://([\.\w]+)/([\.\w]+)(.*)=ism", "$2@$1", $profile); $pumpio = preg_replace("=https?://([\.\w]+)/([\.\w]+)(.*)=ism", "$2@$1", $profile);
if ($pumpio != $profile) { if ($pumpio != $profile) {
if ($compact) if ($getnetwork)
return(NETWORK_PUMPIO);
elseif ($compact)
return($pumpio); return($pumpio);
else else
return($username." (".$pumpio.")"); return($username." (".$pumpio.")");

View file

@ -55,7 +55,7 @@ function nav_info(&$a) {
*/ */
$myident = ((is_array($a->user) && isset($a->user['nickname'])) ? $a->user['nickname'] . '@' : ''); $myident = ((is_array($a->user) && isset($a->user['nickname'])) ? $a->user['nickname'] . '@' : '');
$sitelocation = $myident . substr($a->get_baseurl($ssl_state),strpos($a->get_baseurl($ssl_state),'//') + 2 ); $sitelocation = $myident . substr($a->get_baseurl($ssl_state),strpos($a->get_baseurl($ssl_state),'//') + 2 );
@ -86,7 +86,7 @@ function nav_info(&$a) {
'icon' => (count($r) ? $a->get_cached_avatar_image($r[0]['micro']) : $a->get_baseurl($ssl_state)."/images/person-48.jpg"), 'icon' => (count($r) ? $a->get_cached_avatar_image($r[0]['micro']) : $a->get_baseurl($ssl_state)."/images/person-48.jpg"),
'name' => $a->user['username'], 'name' => $a->user['username'],
); );
} }
else { else {
$nav['login'] = Array('login',t('Login'), ($a->module == 'login'?'selected':''), t('Sign in')); $nav['login'] = Array('login',t('Login'), ($a->module == 'login'?'selected':''), t('Sign in'));
@ -101,7 +101,7 @@ function nav_info(&$a) {
if(! $homelink) if(! $homelink)
$homelink = ((x($_SESSION,'visitor_home')) ? $_SESSION['visitor_home'] : ''); $homelink = ((x($_SESSION,'visitor_home')) ? $_SESSION['visitor_home'] : '');
if(($a->module != 'home') && (! (local_user()))) if(($a->module != 'home') && (! (local_user())))
$nav['home'] = array($homelink, t('Home'), "", t('Home Page')); $nav['home'] = array($homelink, t('Home'), "", t('Home Page'));

View file

@ -175,13 +175,16 @@ function oembed_format_object($j){
$embedlink .= $j->author_name; $embedlink .= $j->author_name;
} }
if (trim($embedlink) == "")
$embedlink = $embedurl;
$ret .= "<a href='$embedurl' rel='oembed'>$embedlink</a>"; $ret .= "<a href='$embedurl' rel='oembed'>$embedlink</a>";
} }
//if (isset($j->author_name)) $ret.=" by ".$j->author_name; //if (isset($j->author_name)) $ret.=" by ".$j->author_name;
//if (isset($j->provider_name)) $ret.=" on ".$j->provider_name; //if (isset($j->provider_name)) $ret.=" on ".$j->provider_name;
} else { } else {
// add <a> for html2bbcode conversion // add <a> for html2bbcode conversion
$ret .= "<a href='$embedurl' rel='oembed'></a>"; $ret .= "<a href='$embedurl' rel='oembed'>$embedurl</a>";
} }
$ret.="<br style='clear:left'></span>"; $ret.="<br style='clear:left'></span>";
return mb_convert_encoding($ret, 'HTML-ENTITIES', mb_detect_encoding($ret)); return mb_convert_encoding($ret, 'HTML-ENTITIES', mb_detect_encoding($ret));

View file

@ -16,7 +16,7 @@ function display_init(&$a) {
// Does the local user have this item? // Does the local user have this item?
if (local_user()) { if (local_user()) {
$r = q("SELECT `id`, `parent`, `author-name`, `author-link`, `author-avatar`, `network` FROM `item` $r = q("SELECT `id`, `parent`, `author-name`, `author-link`, `author-avatar`, `network`, `body` FROM `item`
WHERE `item`.`visible` = 1 AND `item`.`deleted` = 0 and `item`.`moderated` = 0 WHERE `item`.`visible` = 1 AND `item`.`deleted` = 0 and `item`.`moderated` = 0
AND `guid` = '%s' AND `uid` = %d", $a->argv[1], local_user()); AND `guid` = '%s' AND `uid` = %d", $a->argv[1], local_user());
if (count($r)) { if (count($r)) {
@ -28,12 +28,12 @@ function display_init(&$a) {
// Or is it anywhere on the server? // Or is it anywhere on the server?
if ($nick == "") { if ($nick == "") {
$r = q("SELECT `user`.`nickname`, `item`.`id`, `item`.`parent`, `item`.`author-name`, $r = q("SELECT `user`.`nickname`, `item`.`id`, `item`.`parent`, `item`.`author-name`,
`item`.`author-link`, `item`.`author-avatar`, `item`.`network`, `item`.`uid` `item`.`author-link`, `item`.`author-avatar`, `item`.`network`, `item`.`uid`, `item`.`body`
FROM `item` INNER JOIN `user` ON `user`.`uid` = `item`.`uid` FROM `item` INNER JOIN `user` ON `user`.`uid` = `item`.`uid`
WHERE `item`.`visible` = 1 AND `item`.`deleted` = 0 and `item`.`moderated` = 0 WHERE `item`.`visible` = 1 AND `item`.`deleted` = 0 and `item`.`moderated` = 0
AND `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`allow_cid` = '' AND `item`.`allow_gid` = ''
AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = '' AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = ''
AND `item`.`private` = 0 AND `item`.`private` = 0 AND NOT `user`.`hidewall`
AND `item`.`guid` = '%s'", $a->argv[1]); AND `item`.`guid` = '%s'", $a->argv[1]);
// AND `item`.`private` = 0 AND `item`.`wall` = 1 // AND `item`.`private` = 0 AND `item`.`wall` = 1
if (count($r)) { if (count($r)) {
@ -43,56 +43,16 @@ function display_init(&$a) {
} }
if (count($r)) { if (count($r)) {
if ($r[0]["id"] != $r[0]["parent"]) if ($r[0]["id"] != $r[0]["parent"])
$r = q("SELECT `id`, `author-name`, `author-link`, `author-avatar`, `network` FROM `item` $r = q("SELECT `id`, `author-name`, `author-link`, `author-avatar`, `network`, `body` FROM `item`
WHERE `item`.`visible` = 1 AND `item`.`deleted` = 0 and `item`.`moderated` = 0 WHERE `item`.`visible` = 1 AND `item`.`deleted` = 0 and `item`.`moderated` = 0
AND `id` = %d", $r[0]["parent"]); AND `id` = %d", $r[0]["parent"]);
if (!strstr(normalise_link($r[0]["author-link"]), normalise_link($a->get_baseurl()))) { $profiledata = display_fetchauthor($a, $r[0]);
require_once("mod/proxy.php");
require_once("include/bbcode.php");
$profiledata["uid"] = -1;
$profiledata["nickname"] = $r[0]["author-name"];
$profiledata["name"] = $r[0]["author-name"];
$profiledata["picdate"] = "";
$profiledata["photo"] = proxy_url($r[0]["author-avatar"]);
$profiledata["url"] = $r[0]["author-link"];
$profiledata["network"] = $r[0]["network"];
// Fetching profile data from unique contacts if (strstr(normalise_link($profiledata["url"]), normalise_link($a->get_baseurl()))) {
// To-do: Extend "unique contacts" table for further contact data like location, ... $nickname = str_replace(normalise_link($a->get_baseurl())."/profile/", "", normalise_link($profiledata["url"]));
$r = q("SELECT `avatar`, `nick` FROM `unique_contacts` WHERE `url` = '%s'", normalise_link($profiledata["url"]));
if (count($r)) {
$profiledata["photo"] = proxy_url($r[0]["avatar"]);
if ($r[0]["nick"] != "")
$profiledata["nickname"] = $r[0]["nick"];
} else {
// Is this case possible?
// Fetching further contact data from the contact table, when it isn't available in the "unique contacts"
$r = q("SELECT `photo`, `nick` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d",
normalise_link($profiledata["url"]), $itemuid);
if (count($r)) {
$profiledata["photo"] = proxy_url($r[0]["photo"]);
if ($r[0]["nick"] != "")
$profiledata["nickname"] = $r[0]["nick"];
}
}
if (local_user()) {
if ($profiledata["network"] == NETWORK_DFRN) {
$connect = str_replace("/profile/", "/dfrn_request/", $profiledata["url"])."&addr=".bin2hex($a->get_baseurl()."/profile/".$a->user["nickname"]);
$profiledata["remoteconnect"] = $connect;
} elseif ($profiledata["network"] == NETWORK_DIASPORA)
$profiledata["remoteconnect"] = $a->get_baseurl()."/contacts?add=".GetProfileUsername($profiledata["url"], "", true);
} elseif ($profiledata["network"] == NETWORK_DFRN) {
$connect = str_replace("/profile/", "/dfrn_request/", $profiledata["url"]);
$profiledata["remoteconnect"] = $connect;
}
} else {
$nickname = str_replace(normalise_link($a->get_baseurl())."/profile/", "", normalise_link($r[0]["author-link"]));
if (($nickname != $a->user["nickname"])) { if (($nickname != $a->user["nickname"])) {
$profiledata["url"] = $r[0]["author-link"];
$r = q("SELECT `profile`.`uid` AS `profile_uid`, `profile`.* , `contact`.`avatar-date` AS picdate, `user`.* FROM `profile` $r = q("SELECT `profile`.`uid` AS `profile_uid`, `profile`.* , `contact`.`avatar-date` AS picdate, `user`.* FROM `profile`
INNER JOIN `contact` on `contact`.`uid` = `profile`.`uid` INNER JOIN `user` ON `profile`.`uid` = `user`.`uid` INNER JOIN `contact` on `contact`.`uid` = `profile`.`uid` INNER JOIN `user` ON `profile`.`uid` = `user`.`uid`
WHERE `user`.`nickname` = '%s' AND `profile`.`is-default` = 1 and `contact`.`self` = 1 LIMIT 1", WHERE `user`.`nickname` = '%s' AND `profile`.`is-default` = 1 and `contact`.`self` = 1 LIMIT 1",
@ -100,9 +60,15 @@ function display_init(&$a) {
); );
if (count($r)) if (count($r))
$profiledata = $r[0]; $profiledata = $r[0];
$profiledata["network"] = NETWORK_DFRN; $profiledata["network"] = NETWORK_DFRN;
} } else
$profiledata = array();
} }
} else {
$a->error = 404;
notice( t('Item not found.') . EOL);
return;
} }
} }
@ -110,6 +76,103 @@ function display_init(&$a) {
} }
function display_fetchauthor($a, $item) {
require_once("mod/proxy.php");
require_once("include/bbcode.php");
$profiledata = array();
$profiledata["uid"] = -1;
$profiledata["nickname"] = $item["author-name"];
$profiledata["name"] = $item["author-name"];
$profiledata["picdate"] = "";
$profiledata["photo"] = proxy_url($item["author-avatar"]);
$profiledata["url"] = $item["author-link"];
$profiledata["network"] = $item["network"];
// Fetching profile data from unique contacts
// To-do: Extend "unique contacts" table for further contact data like location, ...
$r = q("SELECT `avatar`, `nick` FROM `unique_contacts` WHERE `url` = '%s'", normalise_link($profiledata["url"]));
if (count($r)) {
$profiledata["photo"] = proxy_url($r[0]["avatar"]);
if ($r[0]["nick"] != "")
$profiledata["nickname"] = $r[0]["nick"];
} else {
// Is this case possible?
// Fetching further contact data from the contact table, when it isn't available in the "unique contacts"
$r = q("SELECT `photo`, `nick` FROM `contact` WHERE `nurl` = '%s' AND `uid` = %d",
normalise_link($profiledata["url"]), $itemuid);
if (count($r)) {
$profiledata["photo"] = proxy_url($r[0]["photo"]);
if ($r[0]["nick"] != "")
$profiledata["nickname"] = $r[0]["nick"];
}
}
// Check for a repeated message
$skip = false;
$body = trim($item["body"]);
// Skip if it isn't a pure repeated messages
// Does it start with a share?
if (!$skip AND strpos($body, "[share") > 0)
$skip = true;
// Does it end with a share?
if (!$skip AND (strlen($body) > (strrpos($body, "[/share]") + 8)))
$skip = true;
if (!$skip) {
$attributes = preg_replace("/\[share(.*?)\]\s?(.*?)\s?\[\/share\]\s?/ism","$1",$body);
// Skip if there is no shared message in there
if ($body == $attributes)
$skip = true;
}
if (!$skip) {
$author = "";
preg_match("/author='(.*?)'/ism", $attributes, $matches);
if ($matches[1] != "")
$profiledata["name"] = html_entity_decode($matches[1],ENT_QUOTES,'UTF-8');
preg_match('/author="(.*?)"/ism', $attributes, $matches);
if ($matches[1] != "")
$profiledata["name"] = html_entity_decode($matches[1],ENT_QUOTES,'UTF-8');
$profile = "";
preg_match("/profile='(.*?)'/ism", $attributes, $matches);
if ($matches[1] != "")
$profiledata["url"] = $matches[1];
preg_match('/profile="(.*?)"/ism', $attributes, $matches);
if ($matches[1] != "")
$profiledata["url"] = $matches[1];
$avatar = "";
preg_match("/avatar='(.*?)'/ism", $attributes, $matches);
if ($matches[1] != "")
$profiledata["photo"] = $matches[1];
preg_match('/avatar="(.*?)"/ism', $attributes, $matches);
if ($matches[1] != "")
$profiledata["photo"] = $matches[1];
$profiledata["nickname"] = $profiledata["name"];
$profiledata["network"] = GetProfileUsername($profiledata["url"], "", false, true);
}
if (local_user()) {
if ($profiledata["network"] == NETWORK_DFRN) {
$connect = str_replace("/profile/", "/dfrn_request/", $profiledata["url"])."&addr=".bin2hex($a->get_baseurl()."/profile/".$a->user["nickname"]);
$profiledata["remoteconnect"] = $connect;
} elseif ($profiledata["network"] == NETWORK_DIASPORA)
$profiledata["remoteconnect"] = $a->get_baseurl()."/contacts?add=".GetProfileUsername($profiledata["url"], "", true);
} elseif ($profiledata["network"] == NETWORK_DFRN) {
$connect = str_replace("/profile/", "/dfrn_request/", $profiledata["url"]);
$profiledata["remoteconnect"] = $connect;
}
return($profiledata);
}
function display_content(&$a, $update = 0) { function display_content(&$a, $update = 0) {
@ -161,7 +224,7 @@ function display_content(&$a, $update = 0) {
WHERE `item`.`visible` = 1 AND `item`.`deleted` = 0 and `item`.`moderated` = 0 WHERE `item`.`visible` = 1 AND `item`.`deleted` = 0 and `item`.`moderated` = 0
AND `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`allow_cid` = '' AND `item`.`allow_gid` = ''
AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = '' AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = ''
AND `item`.`private` = 0 AND `item`.`private` = 0 AND NOT `user`.`hidewall`
AND `item`.`guid` = '%s'", $a->argv[1]); AND `item`.`guid` = '%s'", $a->argv[1]);
// AND `item`.`private` = 0 AND `item`.`wall` = 1 // AND `item`.`private` = 0 AND `item`.`wall` = 1
if (count($r)) { if (count($r)) {

View file

@ -736,7 +736,7 @@ function item_post(&$a) {
update_thread($post_id); update_thread($post_id);
// update filetags in pconfig // update filetags in pconfig
file_tag_update_pconfig($uid,$categories_old,$categories_new,'category'); file_tag_update_pconfig($uid,$categories_old,$categories_new,'category');
proc_run('php', "include/notifier.php", 'edit_post', "$post_id"); proc_run('php', "include/notifier.php", 'edit_post', "$post_id");
if((x($_REQUEST,'return')) && strlen($return_path)) { if((x($_REQUEST,'return')) && strlen($return_path)) {
@ -792,8 +792,8 @@ function item_post(&$a) {
dbesc($datarray['attach']), dbesc($datarray['attach']),
intval($datarray['bookmark']), intval($datarray['bookmark']),
intval($datarray['origin']), intval($datarray['origin']),
intval($datarray['moderated']), intval($datarray['moderated']),
dbesc($datarray['file']) dbesc($datarray['file'])
); );
$r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' LIMIT 1", $r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' LIMIT 1",
@ -804,7 +804,7 @@ function item_post(&$a) {
add_thread($post_id); add_thread($post_id);
// update filetags in pconfig // update filetags in pconfig
file_tag_update_pconfig($uid,$categories_old,$categories_new,'category'); file_tag_update_pconfig($uid,$categories_old,$categories_new,'category');
// Store the fresh generated item into the cache // Store the fresh generated item into the cache
$cachefile = get_cachefile($datarray["guid"]."-".hash("md5", $datarray['body'])); $cachefile = get_cachefile($datarray["guid"]."-".hash("md5", $datarray['body']));
@ -942,25 +942,25 @@ function item_post(&$a) {
. '<br />'; . '<br />';
$disclaimer .= sprintf( t('You may visit them online at %s'), $a->get_baseurl() . '/profile/' . $a->user['nickname']) . EOL; $disclaimer .= sprintf( t('You may visit them online at %s'), $a->get_baseurl() . '/profile/' . $a->user['nickname']) . EOL;
$disclaimer .= t('Please contact the sender by replying to this post if you do not wish to receive these messages.') . EOL; $disclaimer .= t('Please contact the sender by replying to this post if you do not wish to receive these messages.') . EOL;
if (!$datarray['title']=='') { if (!$datarray['title']=='') {
$subject = email_header_encode($datarray['title'],'UTF-8'); $subject = email_header_encode($datarray['title'],'UTF-8');
} else { } else {
$subject = email_header_encode('[Friendica]' . ' ' . sprintf( t('%s posted an update.'),$a->user['username']),'UTF-8'); $subject = email_header_encode('[Friendica]' . ' ' . sprintf( t('%s posted an update.'),$a->user['username']),'UTF-8');
} }
$link = '<a href="' . $a->get_baseurl() . '/profile/' . $a->user['nickname'] . '"><img src="' . $author['thumb'] . '" alt="' . $a->user['username'] . '" /></a><br /><br />'; $link = '<a href="' . $a->get_baseurl() . '/profile/' . $a->user['nickname'] . '"><img src="' . $author['thumb'] . '" alt="' . $a->user['username'] . '" /></a><br /><br />';
$html = prepare_body($datarray); $html = prepare_body($datarray);
$message = '<html><body>' . $link . $html . $disclaimer . '</body></html>'; $message = '<html><body>' . $link . $html . $disclaimer . '</body></html>';
include_once('include/html2plain.php'); include_once('include/html2plain.php');
$params = array ( $params = array (
'fromName' => $a->user['username'], 'fromName' => $a->user['username'],
'fromEmail' => $a->user['email'], 'fromEmail' => $a->user['email'],
'toEmail' => $addr, 'toEmail' => $addr,
'replyTo' => $a->user['email'], 'replyTo' => $a->user['email'],
'messageSubject' => $subject, 'messageSubject' => $subject,
'htmlVersion' => $message, 'htmlVersion' => $message,
'textVersion' => html2plain($html.$disclaimer), 'textVersion' => html2plain($html.$disclaimer),
); );
enotify::send($params); enotify::send($params);
} }
} }
} }

View file

@ -29,6 +29,7 @@
<label id="dfrn-url-label" for="dfrn-url" >{{$your_address}}</label> <label id="dfrn-url-label" for="dfrn-url" >{{$your_address}}</label>
{{if $myaddr}} {{if $myaddr}}
{{$myaddr}} {{$myaddr}}
<input type="hidden" name="dfrn_url" id="dfrn-url" size="32" value="{{$myaddr}}" />
{{else}} {{else}}
<input type="text" name="dfrn_url" id="dfrn-url" size="32" value="{{$myaddr}}" /> <input type="text" name="dfrn_url" id="dfrn-url" size="32" value="{{$myaddr}}" />
{{/if}} {{/if}}