diff --git a/boot.php b/boot.php index 3189f929ee..b01effcbfb 100644 --- a/boot.php +++ b/boot.php @@ -11,7 +11,7 @@ require_once('include/cache.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); define ( 'FRIENDICA_VERSION', '2.3.1198' ); define ( 'DFRN_PROTOCOL_VERSION', '2.22' ); -define ( 'DB_UPDATE_VERSION', 1111 ); +define ( 'DB_UPDATE_VERSION', 1112 ); define ( 'EOL', "
\r\n" ); define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' ); diff --git a/database.sql b/database.sql index 894ea42d98..e96aff4b77 100644 --- a/database.sql +++ b/database.sql @@ -694,6 +694,7 @@ CREATE TABLE IF NOT EXISTS `gcontact` ( `url` CHAR( 255 ) NOT NULL , `nurl` CHAR( 255 ) NOT NULL , `photo` CHAR( 255 ) NOT NULL, +`connect` CHAR( 255 ) NOT NULL, INDEX ( `nurl` ) ) ENGINE = MyISAM DEFAULT CHARSET=utf8; diff --git a/include/socgraph.php b/include/socgraph.php index ffd3fd5df8..78a5514a0d 100644 --- a/include/socgraph.php +++ b/include/socgraph.php @@ -52,6 +52,7 @@ function poco_load($cid,$uid = 0,$url = null) { $profile_url = ''; $profile_photo = ''; + $connect_url = ''; $name = ''; $name = $entry->displayName; @@ -59,13 +60,18 @@ function poco_load($cid,$uid = 0,$url = null) { foreach($entry->urls as $url) { if($url->type == 'profile') { $profile_url = $url->value; - break; + continue; } + if($url->type == 'webfinger') { + $connect_url = str_replace('acct:' , '', $url->value); + continue; + } + } foreach($entry->photos as $photo) { if($photo->type == 'profile') { $profile_photo = $photo->value; - break; + continue; } } @@ -80,21 +86,23 @@ function poco_load($cid,$uid = 0,$url = null) { $gcid = $x[0]['id']; if($x[0]['name'] != $name || $x[0]['photo'] != $profile_photo) { - q("update gcontact set `name` = '%s', `photo` = '%s' where - `nurl` = '%s' limit 1", + q("update gcontact set `name` = '%s', `photo` = '%s', `connect` = '%s' + where `nurl` = '%s' limit 1", dbesc($name), dbesc($profile_photo), + dbesc($connect_url), dbesc(normalise_link($profile_url)) ); } } else { - q("insert into `gcontact` (`name`,`url`,`nurl`,`photo`) - values ( '%s', '%s', '%s', '%s') ", + q("insert into `gcontact` (`name`,`url`,`nurl`,`photo`,`connect`) + values ( '%s', '%s', '%s', '%s','%s') ", dbesc($name), dbesc($profile_url), dbesc(normalise_link($profile_url)), - dbesc($profile_photo) + dbesc($profile_photo), + dbesc($connect_url) ); $x = q("select * from `gcontact` where `nurl` = '%s' limit 1", dbesc(normalise_link($profile_url)) diff --git a/update.php b/update.php index 61a9a80edf..9b5772af1c 100644 --- a/update.php +++ b/update.php @@ -1,6 +1,6 @@