From: Tobias Diekershoff Date: Sun, 10 Jan 2016 09:54:20 +0000 (+0100) Subject: Merge pull request #335 from annando/1601-gcontact X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=4676ff55545d95dd88590e51d2e1c331787a838d;hp=0249534f5ddb9605c073ef5820f9f6a960912bf7;p=friendica-addons.git Merge pull request #335 from annando/1601-gcontact Preparation for new core function for storing contact data --- diff --git a/appnet/appnet.php b/appnet/appnet.php index 10deb96d..a672e065 100644 --- a/appnet/appnet.php +++ b/appnet/appnet.php @@ -1097,28 +1097,36 @@ function appnet_expand_annotations($a, $annotations) { function appnet_fetchcontact($a, $uid, $contact, $me, $create_user) { - $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 (function_exists("update_gcontact")) + 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"]))); - 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/buffer/buffer.php b/buffer/buffer.php index ebd3c37c..162600d6 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 08668e15..0a5f50b9 100644 --- a/pumpio/pumpio.php +++ b/pumpio/pumpio.php @@ -944,27 +944,35 @@ function pumpio_dolike(&$a, $uid, $self, $post, $own_id, $threadcompletion = tru function pumpio_get_contact($uid, $contact) { - $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), + if (function_exists("update_gcontact")) + 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 12c26e47..f92dde76 100644 --- a/statusnet/statusnet.php +++ b/statusnet/statusnet.php @@ -908,29 +908,36 @@ function statusnet_fetch_contact($uid, $contact, $create_user) { if ($contact->statusnet_profile_url == "") return(-1); - // 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 (function_exists("update_gcontact")) + 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))); + + 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 a6a27ea8..3469cafc 100644 --- a/twitter/twitter.php +++ b/twitter/twitter.php @@ -925,41 +925,55 @@ function twitter_queue_hook(&$a,&$b) { } } -function twitter_fetch_contact($uid, $contact, $create_user) { +function twitter_fix_avatar($avatar) { require_once("include/Photo.php"); - if ($contact->id_str == "") - return(-1); - - $avatar = str_replace("_normal.", ".", $contact->profile_image_url_https); + $new_avatar = str_replace("_normal.", ".", $avatar); - $info = get_photo_info($avatar); + $info = get_photo_info($new_avatar); if (!$info) - $avatar = $contact->profile_image_url_https; + $new_avatar = $avatar; - // 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))); + return $new_avatar; +} - 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))); +function twitter_fetch_contact($uid, $contact, $create_user) { + + if ($contact->id_str == "") + return(-1); - 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))); + $avatar = twitter_fix_avatar($contact->profile_image_url_https); + + if (function_exists("update_gcontact")) + 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))); + + 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))); + } $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `alias` = '%s' LIMIT 1", intval($uid), dbesc("twitter::".$contact->id_str)); @@ -1220,6 +1234,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 +1376,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 +1480,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;