Suggest only active accounts. Remove duplicates from gcontact table.
This commit is contained in:
parent
47560fc6c7
commit
d49c3e99ac
|
@ -413,6 +413,8 @@ function db_definition() {
|
||||||
"network" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
"network" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
||||||
"name" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
"name" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
||||||
"nick" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
"nick" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
||||||
|
"location" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
||||||
|
"about" => array("type" => "text", "not null" => "1"),
|
||||||
"attag" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
"attag" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
||||||
"photo" => array("type" => "text", "not null" => "1"),
|
"photo" => array("type" => "text", "not null" => "1"),
|
||||||
"thumb" => array("type" => "text", "not null" => "1"),
|
"thumb" => array("type" => "text", "not null" => "1"),
|
||||||
|
|
|
@ -98,7 +98,7 @@ function poco_load($cid,$uid = 0,$zcid = 0,$url = null) {
|
||||||
if((! $name) || (! $profile_url) || (! $profile_photo))
|
if((! $name) || (! $profile_url) || (! $profile_photo))
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
$x = q("select * from `gcontact` where `nurl` = '%s' limit 1",
|
$x = q("SELECT * FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
|
||||||
dbesc(normalise_link($profile_url))
|
dbesc(normalise_link($profile_url))
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -116,8 +116,7 @@ function poco_load($cid,$uid = 0,$zcid = 0,$url = null) {
|
||||||
dbesc(normalise_link($profile_url))
|
dbesc(normalise_link($profile_url))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
q("insert into `gcontact` (`name`,`url`,`nurl`,`photo`,`connect`, `updated`)
|
q("insert into `gcontact` (`name`,`url`,`nurl`,`photo`,`connect`, `updated`)
|
||||||
values ( '%s', '%s', '%s', '%s','%s') ",
|
values ( '%s', '%s', '%s', '%s','%s') ",
|
||||||
dbesc($name),
|
dbesc($name),
|
||||||
|
@ -127,7 +126,7 @@ function poco_load($cid,$uid = 0,$zcid = 0,$url = null) {
|
||||||
dbesc($connect_url),
|
dbesc($connect_url),
|
||||||
dbesc($updated)
|
dbesc($updated)
|
||||||
);
|
);
|
||||||
$x = q("select * from `gcontact` where `nurl` = '%s' limit 1",
|
$x = q("SELECT * FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
|
||||||
dbesc(normalise_link($profile_url))
|
dbesc(normalise_link($profile_url))
|
||||||
);
|
);
|
||||||
if(count($x))
|
if(count($x))
|
||||||
|
@ -136,14 +135,14 @@ function poco_load($cid,$uid = 0,$zcid = 0,$url = null) {
|
||||||
if(! $gcid)
|
if(! $gcid)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
$r = q("select * from glink where `cid` = %d and `uid` = %d and `gcid` = %d and `zcid` = %d limit 1",
|
$r = q("SELECT * FROM `glink` WHERE `cid` = %d AND `uid` = %d AND `gcid` = %d AND `zcid` = %d LIMIT 1",
|
||||||
intval($cid),
|
intval($cid),
|
||||||
intval($uid),
|
intval($uid),
|
||||||
intval($gcid),
|
intval($gcid),
|
||||||
intval($zcid)
|
intval($zcid)
|
||||||
);
|
);
|
||||||
if(! count($r)) {
|
if(! count($r)) {
|
||||||
q("insert into glink ( `cid`,`uid`,`gcid`,`zcid`, `updated`) values (%d,%d,%d,%d, '%s') ",
|
q("INSERT INTO `glink` (`cid`,`uid`,`gcid`,`zcid`, `updated`) VALUES (%d,%d,%d,%d, '%s') ",
|
||||||
intval($cid),
|
intval($cid),
|
||||||
intval($uid),
|
intval($uid),
|
||||||
intval($gcid),
|
intval($gcid),
|
||||||
|
@ -152,7 +151,7 @@ function poco_load($cid,$uid = 0,$zcid = 0,$url = null) {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
q("update glink set updated = '%s' where `cid` = %d and `uid` = %d and `gcid` = %d and zcid = %d",
|
q("UPDATE `glink` SET `updated` = '%s' WHERE `cid` = %d AND `uid` = %d AND `gcid` = %d AND `zcid` = %d",
|
||||||
dbesc(datetime_convert()),
|
dbesc(datetime_convert()),
|
||||||
intval($cid),
|
intval($cid),
|
||||||
intval($uid),
|
intval($uid),
|
||||||
|
@ -161,10 +160,17 @@ function poco_load($cid,$uid = 0,$zcid = 0,$url = null) {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// For unknown reasons there are sometimes duplicates
|
||||||
|
q("DELETE FROM `gcontact` WHERE `nurl` = '%s' AND `id` != %d AND
|
||||||
|
NOT EXISTS (SELECT `gcid` FROM `glink` WHERE `gcid` = `gcontact`.`id`)",
|
||||||
|
dbesc(normalise_link($profile_url)),
|
||||||
|
intval($gcid)
|
||||||
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
logger("poco_load: loaded $total entries",LOGGER_DEBUG);
|
logger("poco_load: loaded $total entries",LOGGER_DEBUG);
|
||||||
|
|
||||||
q("delete from glink where `cid` = %d and `uid` = %d and `zcid` = %d and `updated` < UTC_TIMESTAMP - INTERVAL 2 DAY",
|
q("DELETE FROM `glink` WHERE `cid` = %d AND `uid` = %d AND `zcid` = %d AND `updated` < UTC_TIMESTAMP - INTERVAL 2 DAY",
|
||||||
intval($cid),
|
intval($cid),
|
||||||
intval($uid),
|
intval($uid),
|
||||||
intval($zcid)
|
intval($zcid)
|
||||||
|
@ -300,7 +306,8 @@ function suggestion_query($uid, $start = 0, $limit = 80) {
|
||||||
where uid = %d and not gcontact.nurl in ( select nurl from contact where uid = %d )
|
where uid = %d and not gcontact.nurl in ( select nurl from contact where uid = %d )
|
||||||
and not gcontact.name in ( select name from contact where uid = %d )
|
and not gcontact.name in ( select name from contact where uid = %d )
|
||||||
and not gcontact.id in ( select gcid from gcign where uid = %d )
|
and not gcontact.id in ( select gcid from gcign where uid = %d )
|
||||||
group by glink.gcid order by total desc limit %d, %d ",
|
AND `gcontact`.`updated` != '0000-00-00 00:00:00'
|
||||||
|
group by glink.gcid order by gcontact.updated desc,total desc limit %d, %d ",
|
||||||
intval($uid),
|
intval($uid),
|
||||||
intval($uid),
|
intval($uid),
|
||||||
intval($uid),
|
intval($uid),
|
||||||
|
@ -317,6 +324,7 @@ function suggestion_query($uid, $start = 0, $limit = 80) {
|
||||||
where glink.uid = 0 and glink.cid = 0 and glink.zcid = 0 and not gcontact.nurl in ( select nurl from contact where uid = %d )
|
where glink.uid = 0 and glink.cid = 0 and glink.zcid = 0 and not gcontact.nurl in ( select nurl from contact where uid = %d )
|
||||||
and not gcontact.name in ( select name from contact where uid = %d )
|
and not gcontact.name in ( select name from contact where uid = %d )
|
||||||
and not gcontact.id in ( select gcid from gcign where uid = %d )
|
and not gcontact.id in ( select gcid from gcign where uid = %d )
|
||||||
|
AND `gcontact`.`updated` != '0000-00-00 00:00:00'
|
||||||
order by rand() limit %d, %d ",
|
order by rand() limit %d, %d ",
|
||||||
intval($uid),
|
intval($uid),
|
||||||
intval($uid),
|
intval($uid),
|
||||||
|
@ -325,9 +333,14 @@ function suggestion_query($uid, $start = 0, $limit = 80) {
|
||||||
intval($limit)
|
intval($limit)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$list = array();
|
||||||
|
foreach ($r2 AS $suggestion)
|
||||||
|
$list[$suggestion["nurl"]] = $suggestion;
|
||||||
|
|
||||||
return array_merge($r,$r2);
|
foreach ($r AS $suggestion)
|
||||||
|
$list[$suggestion["nurl"]] = $suggestion;
|
||||||
|
|
||||||
|
return $list;
|
||||||
}
|
}
|
||||||
|
|
||||||
function update_suggestions() {
|
function update_suggestions() {
|
||||||
|
|
Loading…
Reference in a new issue