From bed435d76a74a3284a4145369d6d560e2e6ee9c6 Mon Sep 17 00:00:00 2001
From: Michael Vogel <icarus@dabo.de>
Date: Wed, 6 Jan 2016 15:10:22 +0100
Subject: [PATCH] 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));