Merge pull request #205 from annando/master

fbpost/fbsync: fetching larger photos, appnet/statusnet/twitter: better removal of superfluous links
This commit is contained in:
Tobias Diekershoff 2014-08-07 08:39:14 +02:00
commit b343c2721a
9 changed files with 47 additions and 17 deletions

View file

@ -968,10 +968,9 @@ function appnet_createpost($a, $uid, $post, $me, $user, $ownid, $createuser, $th
if (sizeof($links)) { if (sizeof($links)) {
$link = array_pop($links); $link = array_pop($links);
$url = "[url=".$link."]".$link."[/url]"; $url = str_replace(array('/', '.'), array('\/', '\.'), $link);
$removedlink = trim(str_replace($url, "", $postarray['body']));
$removedlink = preg_replace("/\[url\=".$url."\](.*?)\[\/url\]/ism", '', $postarray['body']);
if (($removedlink == "") OR strstr($postarray['body'], $removedlink)) if (($removedlink == "") OR strstr($postarray['body'], $removedlink))
$postarray['body'] = $removedlink; $postarray['body'] = $removedlink;

View file

@ -34,6 +34,7 @@ function convpath_page_header(&$a, &$o){
function convpath_page_end(&$a, &$o){ function convpath_page_end(&$a, &$o){
$o = convpath_convert($o); $o = convpath_convert($o);
if (isset($a->page['aside']))
$a->page['aside'] = convpath_convert($a->page['aside']); $a->page['aside'] = convpath_convert($a->page['aside']);
} }

View file

@ -564,7 +564,7 @@ function fbpost_post_hook(&$a,&$b) {
if ($toplevel) { if ($toplevel) {
require_once("include/plaintext.php"); require_once("include/plaintext.php");
$msgarr = plaintext($a, $b, 0, false); $msgarr = plaintext($a, $b, 0, false, 9);
$msg = $msgarr["text"]; $msg = $msgarr["text"];
$link = $msgarr["url"]; $link = $msgarr["url"];
$linkname = $msgarr["title"]; $linkname = $msgarr["title"];
@ -1050,11 +1050,25 @@ function fbpost_fetchwall($a, $uid) {
$type = $item->type; $type = $item->type;
if(isset($item->picture) && isset($item->link))
$content .= "\n".'[url='.$item->link.'][img]'.fpost_cleanpicture($item->picture).'[/img][/url]';
else {
if (isset($item->picture)) if (isset($item->picture))
$content .= "\n".'[img]'.fpost_cleanpicture($item->picture).'[/img]'; $picture = $item->picture;
if (($type == "photo") AND isset($item->object_id)) {
logger('fbpost_fetchwall: fetching fbid '.$item->object_id, LOGGER_DEBUG);
$url = "https://graph.facebook.com/".$item->object_id."?access_token=".$access_token;
$feed = fetch_url($url);
$data = json_decode($feed);
if (isset($data->images)) {
$picture = $data->images[0]->source;
logger('fbpost_fetchwall: got fbid image '.$preview, LOGGER_DEBUG);
}
}
if(($picture != "") && isset($item->link))
$content .= "\n".'[url='.$item->link.'][img]'.$picture.'[/img][/url]';
else {
if ($picture != "")
$content .= "\n".'[img]'.$picture.'[/img]';
// if just a link, it may be a wall photo - check // if just a link, it may be a wall photo - check
if(isset($item->link)) if(isset($item->link))
$content .= fbpost_get_photo($uid,$item->link); $content .= fbpost_get_photo($uid,$item->link);
@ -1125,7 +1139,7 @@ function fbpost_get_photo($uid,$link) {
$x = fetch_url('https://graph.facebook.com/'.$photo_id.'?access_token='.$access_token); $x = fetch_url('https://graph.facebook.com/'.$photo_id.'?access_token='.$access_token);
$j = json_decode($x); $j = json_decode($x);
if($j->picture) if($j->picture)
return "\n\n".'[url='.$link.'][img]'.fpost_cleanpicture($j->picture).'[/img][/url]'; return "\n\n".'[url='.$link.'][img]'.$j->picture.'[/img][/url]';
return ""; return "";
} }

View file

@ -213,6 +213,8 @@ function fbsync_expire($a,$b) {
function fbsync_createpost($a, $uid, $self, $contacts, $applications, $post, $create_user) { function fbsync_createpost($a, $uid, $self, $contacts, $applications, $post, $create_user) {
$access_token = get_pconfig($uid,'facebook','access_token');
require_once("include/oembed.php"); require_once("include/oembed.php");
// check if it was already imported // check if it was already imported
@ -365,10 +367,23 @@ function fbsync_createpost($a, $uid, $self, $contacts, $applications, $post, $cr
if (isset($media->src)) if (isset($media->src))
$preview = $media->src; $preview = $media->src;
if (isset($media->photo)) if (isset($media->photo)) {
if (isset($media->photo->images) AND (count($media->photo->images) > 1)) if (isset($media->photo->images) AND (count($media->photo->images) > 1))
$preview = $media->photo->images[1]->src; $preview = $media->photo->images[1]->src;
if (isset($media->photo->fbid)) {
logger('fbsync_createpost: fetching fbid '.$media->photo->fbid, LOGGER_DEBUG);
$url = "https://graph.facebook.com/".$media->photo->fbid."?access_token=".$access_token;
$feed = fetch_url($url);
$data = json_decode($feed);
if (isset($data->images)) {
$preview = $data->images[0]->source;
logger('fbsync_createpost: got fbid '.$media->photo->fbid.' image '.$preview, LOGGER_DEBUG);
} else
logger('fbsync_createpost: error fetching fbid '.$media->photo->fbid.' '.print_r($data, true), LOGGER_DEBUG);
}
}
if (isset($media->href) AND ($preview != "") AND ($media->href != "")) if (isset($media->href) AND ($preview != "") AND ($media->href != ""))
$content .= "\n".'[url='.$media->href.'][img]'.$preview.'[/img][/url]'; $content .= "\n".'[url='.$media->href.'][img]'.$preview.'[/img][/url]';
else { else {

View file

@ -271,7 +271,7 @@ function gpluspost_send(&$a,&$b) {
$item["body"] = preg_replace("(\[i\](.*?)\[\/i\])ism",'_$1_',$item["body"]); $item["body"] = preg_replace("(\[i\](.*?)\[\/i\])ism",'_$1_',$item["body"]);
$item["body"] = preg_replace("(\[s\](.*?)\[\/s\])ism",'-$1-',$item["body"]); $item["body"] = preg_replace("(\[s\](.*?)\[\/s\])ism",'-$1-',$item["body"]);
$data = plaintext($a, $item, 0, false); $data = plaintext($a, $item, 0, false, 9);
logger('gpluspost_send: data: '.print_r($data, true), LOGGER_DEBUG); logger('gpluspost_send: data: '.print_r($data, true), LOGGER_DEBUG);

View file

@ -485,6 +485,7 @@ function jappixmini_script(&$a,&$s) {
dbesc($dfrn_id), dbesc($dfrn_id),
dbesc($dfrn_id) dbesc($dfrn_id)
); );
if (count($r))
$name = $r[0]["name"]; $name = $r[0]["name"];
$value = $row['v']; $value = $row['v'];

View file

@ -307,8 +307,8 @@ function privacy_image_cache_img_cb($matches) {
$matches[2] = urldecode($queryvar['url']); $matches[2] = urldecode($queryvar['url']);
// if fetching facebook pictures don't fetch the thumbnail but the big one // if fetching facebook pictures don't fetch the thumbnail but the big one
if (((strpos($matches[2], ".fbcdn.net/") OR strpos($matches[2], "/fbcdn-photos-"))) and (substr($matches[2], -6) == "_s.jpg")) //if (((strpos($matches[2], ".fbcdn.net/") OR strpos($matches[2], "/fbcdn-photos-"))) and (substr($matches[2], -6) == "_s.jpg"))
$matches[2] = substr($matches[2], 0, -6)."_n.jpg"; // $matches[2] = substr($matches[2], 0, -6)."_n.jpg";
// following line changed per bug #431 // following line changed per bug #431
if (privacy_image_cache_is_local_image($matches[2])) if (privacy_image_cache_is_local_image($matches[2]))

View file

@ -1538,7 +1538,7 @@ function statusnet_convertmsg($a, $body, $no_tags = false) {
if (($footerlink != "") AND (trim($footer) != "")) { if (($footerlink != "") AND (trim($footer) != "")) {
$removedlink = trim(str_replace($footerlink, "", $body)); $removedlink = trim(str_replace($footerlink, "", $body));
if (strstr($body, $removedlink)) if (($removedlink == "") OR strstr($body, $removedlink))
$body = $removedlink; $body = $removedlink;
$body .= $footer; $body .= $footer;

View file

@ -1142,7 +1142,7 @@ function twitter_expand_entities($a, $body, $item, $no_tags = false, $picture) {
if (($footerlink != "") AND (trim($footer) != "")) { if (($footerlink != "") AND (trim($footer) != "")) {
$removedlink = trim(str_replace($footerlink, "", $body)); $removedlink = trim(str_replace($footerlink, "", $body));
if (strstr($body, $removedlink)) if (($removedlink == "") OR strstr($body, $removedlink))
$body = $removedlink; $body = $removedlink;
$body .= $footer; $body .= $footer;