Merge branch 'master' into themetests

This commit is contained in:
Fabio Comuni 2011-02-17 14:14:06 +01:00
commit 3d69e2a50c
30 changed files with 318 additions and 197 deletions

View file

@ -210,10 +210,23 @@ function dfrn_notify_post(&$a) {
= html_entity_decode(bbcode(stripslashes(str_replace(array("\\r\\n", "\\r","\\n\\n" ,"\\n"), "<br />\n",$msg['body']))));
// load the template for private message notifications
$tpl = load_view_file('view/mail_received_eml.tpl');
$tpl = load_view_file('view/mail_received_html_body_eml.tpl');
$email_html_body_tpl = replace_macros($tpl,array(
'$siteName' => $a->config['sitename'], // name of this site
'$siteurl' => $a->get_baseurl(), // descriptive url of this site
'$thumb' => $importer['thumb'], // thumbnail url for sender icon
'$email' => $importer['email'], // email address to send to
'$url' => $importer['url'], // full url for the site
'$from' => $msg['from-name'], // name of the person sending the message
'$title' => stripslashes($msg['title']), // subject of the message
'$htmlversion' => $msg['htmlversion'], // html version of the message
'$mimeboundary' => $msg['mimeboundary'], // mime message divider
'$hostname' => $a->get_hostname() // name of this host
));
// import the data into the template
$email_tpl = replace_macros($tpl, array(
// load the template for private message notifications
$tpl = load_view_file('view/mail_received_text_body_eml.tpl');
$email_text_body_tpl = replace_macros($tpl,array(
'$siteName' => $a->config['sitename'], // name of this site
'$siteurl' => $a->get_baseurl(), // descriptive url of this site
'$thumb' => $importer['thumb'], // thumbnail url for sender icon
@ -222,11 +235,25 @@ function dfrn_notify_post(&$a) {
'$from' => $msg['from-name'], // name of the person sending the message
'$title' => stripslashes($msg['title']), // subject of the message
'$textversion' => $msg['textversion'], // text version of the message
'$htmlversion' => $msg['htmlversion'], // html version of the message
'$mimeboundary' => $msg['mimeboundary'], // mime message divider
'$hostname' => $a->get_hostname() // name of this host
));
// load the template for private message notifications
$tpl = load_view_file('view/mail_received_eml.tpl');
// import the data into the template
$email_tpl = replace_macros($tpl, array(
'$siteurl' => $a->get_baseurl(), // descriptive url of this site
'$email' => $importer['email'], // email address to send to
'$from' => $msg['from-name'], // name of the person sending the message
'$title' => stripslashes($msg['title']), // subject of the message
'$mimeboundary' => $msg['mimeboundary'], // mime message divider
'$hostname' => $a->get_hostname(), // name of this host
'$htmlbody' => chunk_split(base64_encode($email_html_body_tpl)),
'$textbody' => chunk_split(base64_encode($email_text_body_tpl))
));
logger("message headers: " . $msg['headers']);
logger("message body: " . $mail_tpl);

View file

@ -272,6 +272,7 @@ function display_content(&$a) {
'$owner_url' => $owner_url,
'$owner_photo' => $owner_photo,
'$owner_name' => $owner_name,
'$plink' => get_plink($item),
'$drop' => $drop,
'$vote' => $likebuttons,
'$like' => $like,

View file

@ -19,15 +19,15 @@ function follow_post(&$a) {
if(count($links)) {
foreach($links as $link) {
if($link['@attributes']['rel'] === NAMESPACE_DFRN)
$dfrn = $link['@attributes']['href'];
$dfrn = unamp($link['@attributes']['href']);
if($link['@attributes']['rel'] === 'salmon')
$notify = $link['@attributes']['href'];
$notify = unamp($link['@attributes']['href']);
if($link['@attributes']['rel'] === NAMESPACE_FEED)
$poll = $link['@attributes']['href'];
$poll = unamp($link['@attributes']['href']);
if($link['@attributes']['rel'] === 'http://microformats.org/profile/hcard')
$hcard = $link['@attributes']['href'];
$hcard = unamp($link['@attributes']['href']);
if($link['@attributes']['rel'] === 'http://webfinger.net/rel/profile-page')
$profile = $link['@attributes']['href'];
$profile = unamp($link['@attributes']['href']);
}
@ -43,10 +43,10 @@ function follow_post(&$a) {
if(strpos($link['@attributes']['href'],'@') === false) {
if(isset($profile)) {
if($link['@attributes']['href'] !== $profile)
$alias = $link['@attributes']['href'];
$alias = unamp($link['@attributes']['href']);
}
else
$profile = $link['@attributes']['href'];
$profile = unamp($link['@attributes']['href']);
}
}
}
@ -103,7 +103,7 @@ function follow_post(&$a) {
$ret = scrape_feed($url);
if(count($ret) && ($ret['feed_atom'] || $ret['feed_rss'])) {
$poll = ((x($ret,'feed_atom')) ? $ret['feed_atom'] : $ret['feed_rss']);
$poll = ((x($ret,'feed_atom')) ? unamp($ret['feed_atom']) : unamp($ret['feed_rss']));
$vcard = array();
require_once('simplepie/simplepie.inc');
$feed = new SimplePie();
@ -116,27 +116,35 @@ function follow_post(&$a) {
$vcard['photo'] = $feed->get_image_url();
$author = $feed->get_author();
if($author) {
$vcard['fn'] = trim($author->get_name());
$vcard['nick'] = strtolower($vcard['fn']);
$vcard['fn'] = unxmlify(trim($author->get_name()));
if(! $vcard['fn'])
$vcard['fn'] = trim(unxmlify($author->get_email()));
if(strpos($vcard['fn'],'@') !== false)
$vcard['fn'] = substr($vcard['fn'],0,strpos($vcard['fn'],'@'));
$vcard['nick'] = strtolower(notags(unxmlify($vcard['fn'])));
if(strpos($vcard['nick'],' '))
$vcard['nick'] = trim(substr($vcard['nick'],0,strpos($vcard['nick'],' ')));
$email = $author->get_email();
$email = unxmlify($author->get_email());
}
else {
$item = $feed->get_item(0);
if($item) {
$author = $item->get_author();
if($author) {
$vcard['fn'] = trim($author->get_name());
$vcard['nick'] = strtolower($vcard['fn']);
$vcard['fn'] = trim(unxmlify($author->get_name()));
if(! $vcard['fn'])
$vcard['fn'] = trim(unxmlify($author->get_email()));
if(strpos($vcard['fn'],'@') !== false)
$vcard['fn'] = substr($vcard['fn'],0,strpos($vcard['fn'],'@'));
$vcard['nick'] = strtolower(unxmlify($vcard['fn']));
if(strpos($vcard['nick'],' '))
$vcard['nick'] = trim(substr($vcard['nick'],0,strpos($vcard['nick'],' ')));
$email = $author->get_email();
$email = unxmlify($author->get_email());
}
if(! $vcard['photo']) {
$rawmedia = $item->get_item_tags('http://search.yahoo.com/mrss/','thumbnail');
if($rawmedia && $rawmedia[0]['attribs']['']['url'])
$vcard['photo'] = $rawmedia[0]['attribs']['']['url'];
$vcard['photo'] = unxmlify($rawmedia[0]['attribs']['']['url']);
}
}
}
@ -150,6 +158,9 @@ function follow_post(&$a) {
logger('follow: poll=' . $poll . ' notify=' . $notify . ' profile=' . $profile . ' vcard=' . print_r($vcard,true));
$vcard['fn'] = notags($vcard['fn']);
$vcard['nick'] = notags($vcard['nick']);
// do we have enough information?
if(! ((x($vcard['fn'])) && ($poll) && ($profile))) {
@ -157,6 +168,7 @@ function follow_post(&$a) {
goaway($_SESSION['return_url']);
}
if(! $notify) {
notice( t('Limited profile. This person will be unable to receive direct/personal notifications from you.') . EOL);
}

View file

@ -35,7 +35,9 @@ function item_post(&$a) {
);
if(! count($r)) {
notice( t('Unable to locate original post.') . EOL);
goaway($a->get_baseurl() . "/" . $_POST['return'] );
if(x($_POST,'return'))
goaway($a->get_baseurl() . "/" . $_POST['return'] );
killme();
}
$parent_item = $r[0];
if($parent_item['contact-id'] && $uid) {
@ -53,7 +55,9 @@ function item_post(&$a) {
if(! can_write_wall($a,$profile_uid)) {
notice( t('Permission denied.') . EOL) ;
return;
if(x($_POST,'return'))
goaway($a->get_baseurl() . "/" . $_POST['return'] );
killme();
}
$user = null;
@ -92,8 +96,9 @@ function item_post(&$a) {
if(! strlen($body)) {
notice( t('Empty post discarded.') . EOL );
goaway($a->get_baseurl() . "/" . $_POST['return'] );
if(x($_POST,'return'))
goaway($a->get_baseurl() . "/" . $_POST['return'] );
killme();
}
// get contact info for poster
@ -429,10 +434,11 @@ function item_post(&$a) {
}
}
$r = q("UPDATE `item` SET `parent` = %d, `parent-uri` = '%s', `changed` = '%s', `last-child` = 1, `visible` = 1
$r = q("UPDATE `item` SET `parent` = %d, `parent-uri` = '%s', `plink` = '%s', `changed` = '%s', `last-child` = 1, `visible` = 1
WHERE `id` = %d LIMIT 1",
intval($parent),
dbesc(($parent == $post_id) ? $uri : $parent_item['uri']),
dbesc($a->get_baseurl() . '/display/' . $user['nickname'] . '/' . $post_id),
dbesc(datetime_convert()),
intval($post_id)
);
@ -544,7 +550,7 @@ function item_content(&$a) {
// generate a resource-id and therefore aren't intimately linked to the item.
if(strlen($item['resource-id'])) {
$q("DELETE FROM `photo` WHERE `resource-id` = '%s' AND `uid` = %d ",
q("DELETE FROM `photo` WHERE `resource-id` = '%s' AND `uid` = %d ",
dbesc($item['resource-id']),
intval($item['uid'])
);

View file

@ -2,11 +2,6 @@
require_once('include/acl_selectors.php');
function message_init(&$a) {
}
function message_post(&$a) {
if(! local_user()) {
@ -69,6 +64,43 @@ function message_post(&$a) {
if(count($r))
$post_id = $r[0]['id'];
/**
*
* When a photo was uploaded into the message using the (profile wall) ajax
* uploader, The permissions are initially set to disallow anybody but the
* owner from seeing it. This is because the permissions may not yet have been
* set for the post. If it's private, the photo permissions should be set
* appropriately. But we didn't know the final permissions on the post until
* now. So now we'll look for links of uploaded messages that are in the
* post and set them to the same permissions as the post itself.
*
*/
$match = null;
if(preg_match_all("/\[img\](.+?)\[\/img\]/",$body,$match)) {
$images = $match[1];
if(count($images)) {
foreach($images as $image) {
if(! stristr($image,$a->get_baseurl() . '/photo/'))
continue;
$image_uri = substr($image,strrpos($image,'/') + 1);
$image_uri = substr($image_uri,0, strpos($image_uri,'-'));
$r = q("UPDATE `photo` SET `allow_cid` = '%s'
WHERE `resource-id` = '%s' AND `album` = '%s' AND `uid` = %d ",
dbesc('<' . $recipient . '>'),
dbesc($image_uri),
dbesc( t('Wall Photos')),
intval(local_user())
);
}
}
}
$php_path = ((strlen($a->config['php_path'])) ? $a->config['php_path'] : 'php');
if($post_id) {
@ -80,7 +112,6 @@ function message_post(&$a) {
notice( t('Message could not be sent.') . EOL );
}
return;
}
function message_content(&$a) {

View file

@ -425,6 +425,7 @@ function network_content(&$a, $update = 0) {
'$owner_url' => $owner_url,
'$owner_photo' => $owner_photo,
'$owner_name' => $owner_name,
'$plink' => get_plink($item),
'$drop' => $drop,
'$vote' => $likebuttons,
'$like' => $like,

View file

@ -371,6 +371,7 @@ function profile_content(&$a, $update = 0) {
'$lock' => $lock,
'$location' => $location,
'$indent' => $indent,
'$plink' => get_plink($item),
'$drop' => $drop,
'$like' => $like,
'$vote' => $likebuttons,