Merge pull request #335 from annando/1601-gcontact

Preparation for new core function for storing contact data
This commit is contained in:
Tobias Diekershoff 2016-01-10 10:54:20 +01:00
commit 4676ff5554
5 changed files with 129 additions and 89 deletions

View file

@ -1097,28 +1097,36 @@ function appnet_expand_annotations($a, $annotations) {
function appnet_fetchcontact($a, $uid, $contact, $me, $create_user) { function appnet_fetchcontact($a, $uid, $contact, $me, $create_user) {
$r = q("SELECT id FROM unique_contacts WHERE url='%s' LIMIT 1", if (function_exists("update_gcontact"))
dbesc(normalise_link($contact["canonical_url"]))); 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 (count($r) == 0) if (count($r) == 0)
q("INSERT INTO unique_contacts (url, name, nick, avatar) VALUES ('%s', '%s', '%s', '%s')", q("INSERT INTO unique_contacts (url, name, nick, avatar) VALUES ('%s', '%s', '%s', '%s')",
dbesc(normalise_link($contact["canonical_url"])), dbesc(normalise_link($contact["canonical_url"])),
dbesc($contact["name"]), dbesc($contact["name"]),
dbesc($contact["username"]), dbesc($contact["username"]),
dbesc($contact["avatar_image"]["url"])); dbesc($contact["avatar_image"]["url"]));
else else
q("UPDATE unique_contacts SET name = '%s', nick = '%s', avatar = '%s' WHERE url = '%s'", q("UPDATE unique_contacts SET name = '%s', nick = '%s', avatar = '%s' WHERE url = '%s'",
dbesc($contact["name"]), dbesc($contact["name"]),
dbesc($contact["username"]), dbesc($contact["username"]),
dbesc($contact["avatar_image"]["url"]), dbesc($contact["avatar_image"]["url"]),
dbesc(normalise_link($contact["canonical_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 (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", $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `alias` = '%s' LIMIT 1",
intval($uid), dbesc("adn::".$contact["id"])); intval($uid), dbesc("adn::".$contact["id"]));

View file

@ -377,6 +377,7 @@ function buffer_send(&$a,&$b) {
$message["media[thumbnail]"] = $post["preview"]; $message["media[thumbnail]"] = $post["preview"];
//print_r($message); //print_r($message);
logger("buffer_send: data for message ".$b["id"].": ".print_r($message, true), LOGGER_DEBUG);
$ret = $buffer->go('/updates/create', $message); $ret = $buffer->go('/updates/create', $message);
logger("buffer_send: send message ".$b["id"]." result: ".print_r($ret, true), LOGGER_DEBUG); logger("buffer_send: send message ".$b["id"]." result: ".print_r($ret, true), LOGGER_DEBUG);
} }

View file

@ -944,27 +944,35 @@ function pumpio_dolike(&$a, $uid, $self, $post, $own_id, $threadcompletion = tru
function pumpio_get_contact($uid, $contact) { function pumpio_get_contact($uid, $contact) {
$r = q("SELECT id FROM unique_contacts WHERE url='%s' LIMIT 1", if (function_exists("update_gcontact"))
dbesc(normalise_link($contact->url))); update_gcontact(array("url" => $contact->url, "network" => NETWORK_PUMPIO, "generation" => 2,
"photo" => $contact->image->url, "name" => $contact->displayName, "hide" => true,
if (count($r) == 0) "nick" => $contact->preferredUsername, "location" => $contact->location->displayName,
q("INSERT INTO unique_contacts (url, name, nick, avatar) VALUES ('%s', '%s', '%s', '%s')", "about" => $contact->summary, "addr" => str_replace("acct:", "", $contact->id)));
dbesc(normalise_link($contact->url)), else {
dbesc($contact->displayName), // Old Code
dbesc($contact->preferredUsername), $r = q("SELECT id FROM unique_contacts WHERE url='%s' LIMIT 1",
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))); dbesc(normalise_link($contact->url)));
if (DB_UPDATE_VERSION >= "1177") if (count($r) == 0)
q("UPDATE `unique_contacts` SET `location` = '%s', `about` = '%s' WHERE url = '%s'", q("INSERT INTO unique_contacts (url, name, nick, avatar) VALUES ('%s', '%s', '%s', '%s')",
dbesc($contact->location->displayName), dbesc(normalise_link($contact->url)),
dbesc($contact->summary), dbesc($contact->displayName),
dbesc(normalise_link($contact->url))); 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", $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `url` = '%s' LIMIT 1",
intval($uid), dbesc($contact->url)); intval($uid), dbesc($contact->url));

View file

@ -908,29 +908,36 @@ function statusnet_fetch_contact($uid, $contact, $create_user) {
if ($contact->statusnet_profile_url == "") if ($contact->statusnet_profile_url == "")
return(-1); return(-1);
// Check if the unique contact is existing if (function_exists("update_gcontact"))
// To-Do: only update once a while update_gcontact(array("url" => $contact->statusnet_profile_url,
$r = q("SELECT id FROM unique_contacts WHERE url='%s' LIMIT 1", "network" => NETWORK_STATUSNET, "photo" => $contact->profile_image_url,
dbesc(normalise_link($contact->statusnet_profile_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) if (count($r) == 0)
q("INSERT INTO unique_contacts (url, name, nick, avatar) VALUES ('%s', '%s', '%s', '%s')", q("INSERT INTO unique_contacts (url, name, nick, avatar) VALUES ('%s', '%s', '%s', '%s')",
dbesc(normalise_link($contact->statusnet_profile_url)), dbesc(normalise_link($contact->statusnet_profile_url)),
dbesc($contact->name), dbesc($contact->name),
dbesc($contact->screen_name), dbesc($contact->screen_name),
dbesc($contact->profile_image_url)); dbesc($contact->profile_image_url));
else else
q("UPDATE unique_contacts SET name = '%s', nick = '%s', avatar = '%s' WHERE url = '%s'", q("UPDATE unique_contacts SET name = '%s', nick = '%s', avatar = '%s' WHERE url = '%s'",
dbesc($contact->name), dbesc($contact->name),
dbesc($contact->screen_name), dbesc($contact->screen_name),
dbesc($contact->profile_image_url), dbesc($contact->profile_image_url),
dbesc(normalise_link($contact->statusnet_profile_url))); dbesc(normalise_link($contact->statusnet_profile_url)));
if (DB_UPDATE_VERSION >= "1177") if (DB_UPDATE_VERSION >= "1177")
q("UPDATE `unique_contacts` SET `location` = '%s', `about` = '%s' WHERE url = '%s'", q("UPDATE `unique_contacts` SET `location` = '%s', `about` = '%s' WHERE url = '%s'",
dbesc($contact->location), dbesc($contact->location),
dbesc($contact->description), dbesc($contact->description),
dbesc(normalise_link($contact->statusnet_profile_url))); dbesc(normalise_link($contact->statusnet_profile_url)));
}
$r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `alias` = '%s' AND `network` = '%s'LIMIT 1", $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)); intval($uid), dbesc(normalise_link($contact->statusnet_profile_url)), dbesc(NETWORK_STATUSNET));

View file

@ -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"); require_once("include/Photo.php");
$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) {
if ($contact->id_str == "") if ($contact->id_str == "")
return(-1); 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 (function_exists("update_gcontact"))
if (!$info) update_gcontact(array("url" => "https://twitter.com/".$contact->screen_name,
$avatar = $contact->profile_image_url_https; "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)));
// Check if the unique contact is existing if (count($r) == 0)
// To-Do: only update once a while q("INSERT INTO unique_contacts (url, name, nick, avatar) VALUES ('%s', '%s', '%s', '%s')",
$r = q("SELECT id FROM unique_contacts WHERE url='%s' LIMIT 1", dbesc(normalise_link("https://twitter.com/".$contact->screen_name)),
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) if (DB_UPDATE_VERSION >= "1177")
q("INSERT INTO unique_contacts (url, name, nick, avatar) VALUES ('%s', '%s', '%s', '%s')", q("UPDATE `unique_contacts` SET `location` = '%s', `about` = '%s' WHERE url = '%s'",
dbesc(normalise_link("https://twitter.com/".$contact->screen_name)), dbesc($contact->location),
dbesc($contact->name), dbesc($contact->description),
dbesc($contact->screen_name), dbesc(normalise_link("https://twitter.com/".$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", $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `alias` = '%s' LIMIT 1",
intval($uid), dbesc("twitter::".$contact->id_str)); 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 != "")) if (($footer == "") AND ($picture != ""))
$body .= "\n\n[img]".$picture."[/img]\n"; $body .= "\n\n[img]".$picture."[/img]\n";
elseif (($footer == "") AND ($picture == ""))
$body = add_page_info_to_body($body);
if ($no_tags) if ($no_tags)
return(array("body" => $body, "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-name'] = $post->user->name;
$postarray['owner-link'] = "https://twitter.com/".$post->user->screen_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) 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 // Let retweets look like wall-to-wall posts
$postarray['author-name'] = $post->retweeted_status->user->name; $postarray['author-name'] = $post->retweeted_status->user->name;
$postarray['author-link'] = "https://twitter.com/".$post->retweeted_status->user->screen_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 != "")) { //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['plink'] = "https://twitter.com/".$post->retweeted_status->user->screen_name."/status/".$post->retweeted_status->id_str;
// $postarray['uri'] = "twitter::".$post->retweeted_status->id_str; // $postarray['uri'] = "twitter::".$post->retweeted_status->id_str;