require_once('include/email.php');
require_once('include/ostatus_conversation.php');
require_once('include/threads.php');
+require_once('include/socgraph.php');
function get_feed_for(&$a, $dfrn_id, $owner_nick, $last_update, $direction = 0) {
$current_post = $r[0]['id'];
logger('item_store: created item ' . $current_post);
+ // Add every contact to the global contact table
+ // Contacts from the statusnet connector are also added since you could add them in OStatus as well.
+ if (!$arr['private'] AND in_array($arr["network"],
+ array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS, NETWORK_STATUSNET, "")))
+ poco_check($arr["author-link"], $arr["author-name"], $arr["author-avatar"], "", $arr["received"]);
+
// Set "success_update" to the date of the last time we heard from this contact
// This can be used to filter for inactive contacts and poco.
// Only do this for public postings to avoid privacy problems, since poco data is public.
if((! $name) || (! $profile_url) || (! $profile_photo))
continue;
- $x = q("SELECT * FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
- dbesc(normalise_link($profile_url))
- );
-
- if(count($x)) {
- $gcid = $x[0]['id'];
+ $gcid = poco_check($profile_url, $name, $profile_photo, $connect_url, $updated);
- if($x[0]['name'] != $name || $x[0]['photo'] != $profile_photo || $x[0]['updated'] < $updated) {
- q("update gcontact set `name` = '%s', `photo` = '%s', `connect` = '%s', `url` = '%s', `updated` = '%s'
- where `nurl` = '%s'",
- dbesc($name),
- dbesc($profile_photo),
- dbesc($connect_url),
- dbesc($profile_url),
- dbesc($updated),
- dbesc(normalise_link($profile_url))
- );
- }
- } else {
- q("insert into `gcontact` (`name`,`url`,`nurl`,`photo`,`connect`, `updated`)
- values ( '%s', '%s', '%s', '%s','%s') ",
- dbesc($name),
- dbesc($profile_url),
- dbesc(normalise_link($profile_url)),
- dbesc($profile_photo),
- dbesc($connect_url),
- dbesc($updated)
- );
- $x = q("SELECT * FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
- dbesc(normalise_link($profile_url))
- );
- if(count($x))
- $gcid = $x[0]['id'];
- }
if(! $gcid)
return;
}
+function poco_check($profile_url, $name, $profile_photo, $connect_url, $updated) {
+ $gcid = "";
+
+ if (($profile_url == "") OR ($name == "") OR ($profile_photo == ""))
+ return $gcid;
+
+ logger("profile-check URL: ".$profile_url." name: ".$name." avatar: ".$profile_photo, LOGGER_DEBUG);
+
+ $x = q("SELECT * FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
+ dbesc(normalise_link($profile_url))
+ );
+
+ if(count($x)) {
+ $gcid = $x[0]['id'];
+
+ if($x[0]['name'] != $name || $x[0]['photo'] != $profile_photo || $x[0]['updated'] < $updated) {
+ q("update gcontact set `name` = '%s', `photo` = '%s', `connect` = '%s', `url` = '%s', `updated` = '%s'
+ where `nurl` = '%s'",
+ dbesc($name),
+ dbesc($profile_photo),
+ dbesc($connect_url),
+ dbesc($profile_url),
+ dbesc($updated),
+ dbesc(normalise_link($profile_url))
+ );
+ }
+ } else {
+ q("insert into `gcontact` (`name`,`url`,`nurl`,`photo`,`connect`, `updated`)
+ values ('%s', '%s', '%s', '%s','%s', '%s')",
+ dbesc($name),
+ dbesc($profile_url),
+ dbesc(normalise_link($profile_url)),
+ dbesc($profile_photo),
+ dbesc($connect_url),
+ dbesc($updated)
+ );
+ $x = q("SELECT * FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
+ dbesc(normalise_link($profile_url))
+ );
+ if(count($x))
+ $gcid = $x[0]['id'];
+ }
+ return $gcid;
+}
function count_common_friends($uid,$cid) {