From 3b54203d80b63101d064581081ec7a2a5236e322 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Tue, 5 Jan 2016 15:35:49 +0100 Subject: [PATCH 1/2] The gcontact table will now be filled instead of the unique_contacts --- appnet/appnet.php | 8 ++++++++ buffer/buffer.php | 1 + pumpio/pumpio.php | 7 +++++++ statusnet/statusnet.php | 7 +++++++ twitter/twitter.php | 34 ++++++++++++++++++++++++++++------ 5 files changed, 51 insertions(+), 6 deletions(-) diff --git a/appnet/appnet.php b/appnet/appnet.php index 10deb96d0..be90ec3ab 100644 --- a/appnet/appnet.php +++ b/appnet/appnet.php @@ -1097,6 +1097,14 @@ function appnet_expand_annotations($a, $annotations) { function appnet_fetchcontact($a, $uid, $contact, $me, $create_user) { + if (function_exists("update_gcontact")) + update_gcontact($contact["canonical_url"], + NETWORK_APPNET, $contact["avatar_image"]["url"], + $contact["name"], $contact["username"], + "", $contact["description"]["text"], + $contact["username"]."@app.net"); + + // Old Code $r = q("SELECT id FROM unique_contacts WHERE url='%s' LIMIT 1", dbesc(normalise_link($contact["canonical_url"]))); diff --git a/buffer/buffer.php b/buffer/buffer.php index ebd3c37c1..162600d64 100644 --- a/buffer/buffer.php +++ b/buffer/buffer.php @@ -377,6 +377,7 @@ function buffer_send(&$a,&$b) { $message["media[thumbnail]"] = $post["preview"]; //print_r($message); + logger("buffer_send: data for message ".$b["id"].": ".print_r($message, true), LOGGER_DEBUG); $ret = $buffer->go('/updates/create', $message); logger("buffer_send: send message ".$b["id"]." result: ".print_r($ret, true), LOGGER_DEBUG); } diff --git a/pumpio/pumpio.php b/pumpio/pumpio.php index 08668e15a..b90d8b608 100644 --- a/pumpio/pumpio.php +++ b/pumpio/pumpio.php @@ -944,6 +944,13 @@ function pumpio_dolike(&$a, $uid, $self, $post, $own_id, $threadcompletion = tru function pumpio_get_contact($uid, $contact) { + if (function_exists("update_gcontact")) + update_gcontact($contact->url, + NETWORK_PUMPIO, $contact->image->url, + $contact->displayName, $contact->preferredUsername, + $contact->location->displayName, $contact->summary, + str_replace("acct:", "", $contact->id)); + $r = q("SELECT id FROM unique_contacts WHERE url='%s' LIMIT 1", dbesc(normalise_link($contact->url))); diff --git a/statusnet/statusnet.php b/statusnet/statusnet.php index 12c26e470..7f5cfe179 100644 --- a/statusnet/statusnet.php +++ b/statusnet/statusnet.php @@ -908,6 +908,13 @@ function statusnet_fetch_contact($uid, $contact, $create_user) { if ($contact->statusnet_profile_url == "") return(-1); + if (function_exists("update_gcontact")) + update_gcontact($contact->statusnet_profile_url, + NETWORK_STATUSNET, $contact->profile_image_url, + $contact->name, $contact->screen_name, + $contact->location, $contact->description, + statusnet_address($contact)); + // Check if the unique contact is existing // To-Do: only update once a while $r = q("SELECT id FROM unique_contacts WHERE url='%s' LIMIT 1", diff --git a/twitter/twitter.php b/twitter/twitter.php index a6a27ea84..9533f6d14 100644 --- a/twitter/twitter.php +++ b/twitter/twitter.php @@ -925,18 +925,38 @@ function twitter_queue_hook(&$a,&$b) { } } +function twitter_fix_avatar($avatar) { + $new_avatar = str_replace("_normal.", ".", $avatar); + + $info = get_photo_info($new_avatar); + if (!$info) + $new_avatar = $avatar; + + return $new_avatar; +} + function twitter_fetch_contact($uid, $contact, $create_user) { require_once("include/Photo.php"); if ($contact->id_str == "") return(-1); - $avatar = str_replace("_normal.", ".", $contact->profile_image_url_https); + $avatar = twitter_fix_avatar($contact->profile_image_url_https); - $info = get_photo_info($avatar); - if (!$info) - $avatar = $contact->profile_image_url_https; + //$avatar = str_replace("_normal.", ".", $contact->profile_image_url_https); + //$info = get_photo_info($avatar); + //if (!$info) + // $avatar = $contact->profile_image_url_https; + + if (function_exists("update_gcontact")) + update_gcontact("https://twitter.com/".$contact->screen_name, + NETWORK_TWITTER, $avatar, + $contact->name, $contact->screen_name, + $contact->location, $contact->description, + $contact->screen_name."@twitter.com"); + + // Old stuff - will be removed later // Check if the unique contact is existing // To-Do: only update once a while $r = q("SELECT id FROM unique_contacts WHERE url='%s' LIMIT 1", @@ -1220,6 +1240,8 @@ function twitter_expand_entities($a, $body, $item, $no_tags = false, $picture) { if (($footer == "") AND ($picture != "")) $body .= "\n\n[img]".$picture."[/img]\n"; + elseif (($footer == "") AND ($picture == "")) + $body = add_page_info_to_body($body); if ($no_tags) return(array("body" => $body, "tags" => "")); @@ -1360,7 +1382,7 @@ function twitter_createpost($a, $uid, $post, $self, $create_user, $only_existing $postarray['owner-name'] = $post->user->name; $postarray['owner-link'] = "https://twitter.com/".$post->user->screen_name; - $postarray['owner-avatar'] = $post->user->profile_image_url_https; + $postarray['owner-avatar'] = twitter_fix_avatar($post->user->profile_image_url_https); } if(($contactid == 0) AND !$only_existing_contact) @@ -1464,7 +1486,7 @@ function twitter_createpost($a, $uid, $post, $self, $create_user, $only_existing // Let retweets look like wall-to-wall posts $postarray['author-name'] = $post->retweeted_status->user->name; $postarray['author-link'] = "https://twitter.com/".$post->retweeted_status->user->screen_name; - $postarray['author-avatar'] = $post->retweeted_status->user->profile_image_url_https; + $postarray['author-avatar'] = twitter_fix_avatar($post->retweeted_status->user->profile_image_url_https); //if (($post->retweeted_status->user->screen_name != "") AND ($post->retweeted_status->id_str != "")) { // $postarray['plink'] = "https://twitter.com/".$post->retweeted_status->user->screen_name."/status/".$post->retweeted_status->id_str; // $postarray['uri'] = "twitter::".$post->retweeted_status->id_str; From bed435d76a74a3284a4145369d6d560e2e6ee9c6 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Wed, 6 Jan 2016 15:10:22 +0100 Subject: [PATCH 2/2] Updated function call for updating the global contacts. --- appnet/appnet.php | 54 +++++++++++++++++----------------- pumpio/pumpio.php | 51 ++++++++++++++++---------------- statusnet/statusnet.php | 54 +++++++++++++++++----------------- twitter/twitter.php | 64 +++++++++++++++++++---------------------- 4 files changed, 109 insertions(+), 114 deletions(-) diff --git a/appnet/appnet.php b/appnet/appnet.php index be90ec3ab..a672e065b 100644 --- a/appnet/appnet.php +++ b/appnet/appnet.php @@ -1098,35 +1098,35 @@ function appnet_expand_annotations($a, $annotations) { function appnet_fetchcontact($a, $uid, $contact, $me, $create_user) { if (function_exists("update_gcontact")) - update_gcontact($contact["canonical_url"], - NETWORK_APPNET, $contact["avatar_image"]["url"], - $contact["name"], $contact["username"], - "", $contact["description"]["text"], - $contact["username"]."@app.net"); + update_gcontact(array("url" => $contact["canonical_url"], "generation" => 2, + "network" => NETWORK_APPNET, "photo" => $contact["avatar_image"]["url"], + "name" => $contact["name"], "nick" => $contact["username"], + "about" => $contact["description"]["text"], "hide" => true, + "addr" => $contact["username"]."@app.net")); + else { + // Old Code + $r = q("SELECT id FROM unique_contacts WHERE url='%s' LIMIT 1", + dbesc(normalise_link($contact["canonical_url"]))); - // Old Code - $r = q("SELECT id FROM unique_contacts WHERE url='%s' LIMIT 1", - dbesc(normalise_link($contact["canonical_url"]))); - - if (count($r) == 0) - q("INSERT INTO unique_contacts (url, name, nick, avatar) VALUES ('%s', '%s', '%s', '%s')", - dbesc(normalise_link($contact["canonical_url"])), - dbesc($contact["name"]), - dbesc($contact["username"]), - dbesc($contact["avatar_image"]["url"])); - else - q("UPDATE unique_contacts SET name = '%s', nick = '%s', avatar = '%s' WHERE url = '%s'", - dbesc($contact["name"]), - dbesc($contact["username"]), - dbesc($contact["avatar_image"]["url"]), - dbesc(normalise_link($contact["canonical_url"]))); - - if (DB_UPDATE_VERSION >= "1177") - q("UPDATE `unique_contacts` SET `location` = '%s', `about` = '%s' WHERE url = '%s'", - dbesc(""), - dbesc($contact["description"]["text"]), - dbesc(normalise_link($contact["canonical_url"]))); + if (count($r) == 0) + q("INSERT INTO unique_contacts (url, name, nick, avatar) VALUES ('%s', '%s', '%s', '%s')", + dbesc(normalise_link($contact["canonical_url"])), + dbesc($contact["name"]), + dbesc($contact["username"]), + dbesc($contact["avatar_image"]["url"])); + else + q("UPDATE unique_contacts SET name = '%s', nick = '%s', avatar = '%s' WHERE url = '%s'", + dbesc($contact["name"]), + dbesc($contact["username"]), + dbesc($contact["avatar_image"]["url"]), + dbesc(normalise_link($contact["canonical_url"]))); + if (DB_UPDATE_VERSION >= "1177") + q("UPDATE `unique_contacts` SET `location` = '%s', `about` = '%s' WHERE url = '%s'", + dbesc(""), + dbesc($contact["description"]["text"]), + dbesc(normalise_link($contact["canonical_url"]))); + } $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `alias` = '%s' LIMIT 1", intval($uid), dbesc("adn::".$contact["id"])); diff --git a/pumpio/pumpio.php b/pumpio/pumpio.php index b90d8b608..0a5f50b96 100644 --- a/pumpio/pumpio.php +++ b/pumpio/pumpio.php @@ -945,33 +945,34 @@ function pumpio_dolike(&$a, $uid, $self, $post, $own_id, $threadcompletion = tru function pumpio_get_contact($uid, $contact) { if (function_exists("update_gcontact")) - update_gcontact($contact->url, - NETWORK_PUMPIO, $contact->image->url, - $contact->displayName, $contact->preferredUsername, - $contact->location->displayName, $contact->summary, - str_replace("acct:", "", $contact->id)); - - $r = q("SELECT id FROM unique_contacts WHERE url='%s' LIMIT 1", - dbesc(normalise_link($contact->url))); - - if (count($r) == 0) - q("INSERT INTO unique_contacts (url, name, nick, avatar) VALUES ('%s', '%s', '%s', '%s')", - dbesc(normalise_link($contact->url)), - dbesc($contact->displayName), - dbesc($contact->preferredUsername), - dbesc($contact->image->url)); - else - q("UPDATE unique_contacts SET name = '%s', nick = '%s', avatar = '%s' WHERE url = '%s'", - dbesc($contact->displayName), - dbesc($contact->preferredUsername), - dbesc($contact->image->url), + update_gcontact(array("url" => $contact->url, "network" => NETWORK_PUMPIO, "generation" => 2, + "photo" => $contact->image->url, "name" => $contact->displayName, "hide" => true, + "nick" => $contact->preferredUsername, "location" => $contact->location->displayName, + "about" => $contact->summary, "addr" => str_replace("acct:", "", $contact->id))); + else { + // Old Code + $r = q("SELECT id FROM unique_contacts WHERE url='%s' LIMIT 1", dbesc(normalise_link($contact->url))); - if (DB_UPDATE_VERSION >= "1177") - q("UPDATE `unique_contacts` SET `location` = '%s', `about` = '%s' WHERE url = '%s'", - dbesc($contact->location->displayName), - dbesc($contact->summary), - dbesc(normalise_link($contact->url))); + if (count($r) == 0) + q("INSERT INTO unique_contacts (url, name, nick, avatar) VALUES ('%s', '%s', '%s', '%s')", + dbesc(normalise_link($contact->url)), + dbesc($contact->displayName), + dbesc($contact->preferredUsername), + dbesc($contact->image->url)); + else + q("UPDATE unique_contacts SET name = '%s', nick = '%s', avatar = '%s' WHERE url = '%s'", + dbesc($contact->displayName), + dbesc($contact->preferredUsername), + dbesc($contact->image->url), + dbesc(normalise_link($contact->url))); + + if (DB_UPDATE_VERSION >= "1177") + q("UPDATE `unique_contacts` SET `location` = '%s', `about` = '%s' WHERE url = '%s'", + dbesc($contact->location->displayName), + dbesc($contact->summary), + dbesc(normalise_link($contact->url))); + } $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `url` = '%s' LIMIT 1", intval($uid), dbesc($contact->url)); diff --git a/statusnet/statusnet.php b/statusnet/statusnet.php index 7f5cfe179..f92dde76c 100644 --- a/statusnet/statusnet.php +++ b/statusnet/statusnet.php @@ -909,35 +909,35 @@ function statusnet_fetch_contact($uid, $contact, $create_user) { return(-1); if (function_exists("update_gcontact")) - update_gcontact($contact->statusnet_profile_url, - NETWORK_STATUSNET, $contact->profile_image_url, - $contact->name, $contact->screen_name, - $contact->location, $contact->description, - statusnet_address($contact)); + update_gcontact(array("url" => $contact->statusnet_profile_url, + "network" => NETWORK_STATUSNET, "photo" => $contact->profile_image_url, + "name" => $contact->name, "nick" => $contact->screen_name, + "location" => $contact->location, "about" => $contact->description, + "addr" => statusnet_address($contact), "generation" => 3)); + else { + // Old Code + $r = q("SELECT id FROM unique_contacts WHERE url='%s' LIMIT 1", + dbesc(normalise_link($contact->statusnet_profile_url))); - // Check if the unique contact is existing - // To-Do: only update once a while - $r = q("SELECT id FROM unique_contacts WHERE url='%s' LIMIT 1", - dbesc(normalise_link($contact->statusnet_profile_url))); + if (count($r) == 0) + q("INSERT INTO unique_contacts (url, name, nick, avatar) VALUES ('%s', '%s', '%s', '%s')", + dbesc(normalise_link($contact->statusnet_profile_url)), + dbesc($contact->name), + dbesc($contact->screen_name), + dbesc($contact->profile_image_url)); + else + q("UPDATE unique_contacts SET name = '%s', nick = '%s', avatar = '%s' WHERE url = '%s'", + dbesc($contact->name), + dbesc($contact->screen_name), + dbesc($contact->profile_image_url), + dbesc(normalise_link($contact->statusnet_profile_url))); - if (count($r) == 0) - q("INSERT INTO unique_contacts (url, name, nick, avatar) VALUES ('%s', '%s', '%s', '%s')", - dbesc(normalise_link($contact->statusnet_profile_url)), - dbesc($contact->name), - dbesc($contact->screen_name), - dbesc($contact->profile_image_url)); - else - q("UPDATE unique_contacts SET name = '%s', nick = '%s', avatar = '%s' WHERE url = '%s'", - dbesc($contact->name), - dbesc($contact->screen_name), - dbesc($contact->profile_image_url), - dbesc(normalise_link($contact->statusnet_profile_url))); - - if (DB_UPDATE_VERSION >= "1177") - q("UPDATE `unique_contacts` SET `location` = '%s', `about` = '%s' WHERE url = '%s'", - dbesc($contact->location), - dbesc($contact->description), - dbesc(normalise_link($contact->statusnet_profile_url))); + if (DB_UPDATE_VERSION >= "1177") + q("UPDATE `unique_contacts` SET `location` = '%s', `about` = '%s' WHERE url = '%s'", + dbesc($contact->location), + dbesc($contact->description), + dbesc(normalise_link($contact->statusnet_profile_url))); + } $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `alias` = '%s' AND `network` = '%s'LIMIT 1", intval($uid), dbesc(normalise_link($contact->statusnet_profile_url)), dbesc(NETWORK_STATUSNET)); diff --git a/twitter/twitter.php b/twitter/twitter.php index 9533f6d14..3469cafc5 100644 --- a/twitter/twitter.php +++ b/twitter/twitter.php @@ -926,6 +926,8 @@ function twitter_queue_hook(&$a,&$b) { } function twitter_fix_avatar($avatar) { + require_once("include/Photo.php"); + $new_avatar = str_replace("_normal.", ".", $avatar); $info = get_photo_info($new_avatar); @@ -936,50 +938,42 @@ function twitter_fix_avatar($avatar) { } function twitter_fetch_contact($uid, $contact, $create_user) { - require_once("include/Photo.php"); if ($contact->id_str == "") return(-1); $avatar = twitter_fix_avatar($contact->profile_image_url_https); - //$avatar = str_replace("_normal.", ".", $contact->profile_image_url_https); - - //$info = get_photo_info($avatar); - //if (!$info) - // $avatar = $contact->profile_image_url_https; - if (function_exists("update_gcontact")) - update_gcontact("https://twitter.com/".$contact->screen_name, - NETWORK_TWITTER, $avatar, - $contact->name, $contact->screen_name, - $contact->location, $contact->description, - $contact->screen_name."@twitter.com"); + update_gcontact(array("url" => "https://twitter.com/".$contact->screen_name, + "network" => NETWORK_TWITTER, "photo" => $avatar, "hide" => true, + "name" => $contact->name, "nick" => $contact->screen_name, + "location" => $contact->location, "about" => $contact->description, + "addr" => $contact->screen_name."@twitter.com", "generation" => 2)); + else { + // Old Code + $r = q("SELECT id FROM unique_contacts WHERE url='%s' LIMIT 1", + dbesc(normalise_link("https://twitter.com/".$contact->screen_name))); - // Old stuff - will be removed later - // Check if the unique contact is existing - // To-Do: only update once a while - $r = q("SELECT id FROM unique_contacts WHERE url='%s' LIMIT 1", - dbesc(normalise_link("https://twitter.com/".$contact->screen_name))); + if (count($r) == 0) + q("INSERT INTO unique_contacts (url, name, nick, avatar) VALUES ('%s', '%s', '%s', '%s')", + dbesc(normalise_link("https://twitter.com/".$contact->screen_name)), + dbesc($contact->name), + dbesc($contact->screen_name), + dbesc($avatar)); + else + q("UPDATE unique_contacts SET name = '%s', nick = '%s', avatar = '%s' WHERE url = '%s'", + dbesc($contact->name), + dbesc($contact->screen_name), + dbesc($avatar), + dbesc(normalise_link("https://twitter.com/".$contact->screen_name))); - if (count($r) == 0) - q("INSERT INTO unique_contacts (url, name, nick, avatar) VALUES ('%s', '%s', '%s', '%s')", - dbesc(normalise_link("https://twitter.com/".$contact->screen_name)), - dbesc($contact->name), - dbesc($contact->screen_name), - dbesc($avatar)); - else - q("UPDATE unique_contacts SET name = '%s', nick = '%s', avatar = '%s' WHERE url = '%s'", - dbesc($contact->name), - dbesc($contact->screen_name), - dbesc($avatar), - dbesc(normalise_link("https://twitter.com/".$contact->screen_name))); - - if (DB_UPDATE_VERSION >= "1177") - q("UPDATE `unique_contacts` SET `location` = '%s', `about` = '%s' WHERE url = '%s'", - dbesc($contact->location), - dbesc($contact->description), - dbesc(normalise_link("https://twitter.com/".$contact->screen_name))); + if (DB_UPDATE_VERSION >= "1177") + q("UPDATE `unique_contacts` SET `location` = '%s', `about` = '%s' WHERE url = '%s'", + dbesc($contact->location), + dbesc($contact->description), + dbesc(normalise_link("https://twitter.com/".$contact->screen_name))); + } $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `alias` = '%s' LIMIT 1", intval($uid), dbesc("twitter::".$contact->id_str));