Renamed function
This commit is contained in:
parent
438394bc1d
commit
3b92f7357c
|
@ -434,7 +434,7 @@ class PostUpdate
|
||||||
|
|
||||||
Logger::info('Start');
|
Logger::info('Start');
|
||||||
|
|
||||||
$contacts = DBA::p("SELECT ANY_VALUE(`id`) AS `id`, ANY_VALUE(`nurl`) AS `nurl` FROM `contact`
|
$contacts = DBA::p("SELECT `nurl`, `uid` FROM `contact`
|
||||||
WHERE EXISTS (SELECT `nurl` FROM `contact` AS `c2`
|
WHERE EXISTS (SELECT `nurl` FROM `contact` AS `c2`
|
||||||
WHERE `c2`.`nurl` = `contact`.`nurl` AND `c2`.`id` != `contact`.`id` AND `c2`.`uid` = `contact`.`uid` AND `c2`.`network` IN (?, ?, ?) AND NOT `deleted`)
|
WHERE `c2`.`nurl` = `contact`.`nurl` AND `c2`.`id` != `contact`.`id` AND `c2`.`uid` = `contact`.`uid` AND `c2`.`network` IN (?, ?, ?) AND NOT `deleted`)
|
||||||
AND (`network` IN (?, ?, ?) OR (`uid` = ?)) AND NOT `deleted` GROUP BY `nurl`, `uid`",
|
AND (`network` IN (?, ?, ?) OR (`uid` = ?)) AND NOT `deleted` GROUP BY `nurl`, `uid`",
|
||||||
|
@ -442,8 +442,8 @@ class PostUpdate
|
||||||
Protocol::DIASPORA, Protocol::OSTATUS, Protocol::ACTIVITYPUB, 0);
|
Protocol::DIASPORA, Protocol::OSTATUS, Protocol::ACTIVITYPUB, 0);
|
||||||
|
|
||||||
while ($contact = DBA::fetch($contacts)) {
|
while ($contact = DBA::fetch($contacts)) {
|
||||||
Logger::info('Remove duplicates', ['id' => $contact['id']]);
|
Logger::info('Remove duplicates', ['nurl' => $contact['nurl'], 'uid' => $contact['uid']]);
|
||||||
Contact::handleDuplicateByID($contact['id']);
|
Contact::removeDuplicates($contact['nurl'], $contact['uid']);
|
||||||
}
|
}
|
||||||
|
|
||||||
DBA::close($contact);
|
DBA::close($contact);
|
||||||
|
|
|
@ -156,7 +156,7 @@ class Contact extends BaseObject
|
||||||
}
|
}
|
||||||
|
|
||||||
// Search for duplicated contacts and get rid of them
|
// Search for duplicated contacts and get rid of them
|
||||||
self::handleDuplicates($contact['nurl'], $contact['uid']);
|
self::removeDuplicates($contact['nurl'], $contact['uid']);
|
||||||
|
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
@ -1880,7 +1880,7 @@ class Contact extends BaseObject
|
||||||
}
|
}
|
||||||
|
|
||||||
// Search for duplicated contacts and get rid of them
|
// Search for duplicated contacts and get rid of them
|
||||||
if (self::handleDuplicates(Strings::normaliseLink($url), $uid) || ($uid != 0)) {
|
if (self::removeDuplicates(Strings::normaliseLink($url), $uid) || ($uid != 0)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1922,33 +1922,14 @@ class Contact extends BaseObject
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check and remove duplicate contact entries
|
* @brief Remove duplicated contacts
|
||||||
*
|
|
||||||
* @param integer $contact_id Contact ID
|
|
||||||
* @throws \Exception
|
|
||||||
*/
|
|
||||||
public static function handleDuplicateByID(int $contact_id)
|
|
||||||
{
|
|
||||||
$contact = DBA::selectFirst('contact', ['nurl', 'uid'], ['id' => $contact_id, 'deleted' => false]);
|
|
||||||
if (!DBA::isResult($contact)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Search for duplicated contacts and get rid of them
|
|
||||||
self::handleDuplicates($contact['nurl'], $contact['uid']);
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Helper function for "updateFromProbe". Remove duplicated contacts
|
|
||||||
*
|
*
|
||||||
* @param string $nurl Normalised contact url
|
* @param string $nurl Normalised contact url
|
||||||
* @param integer $uid User id
|
* @param integer $uid User id
|
||||||
* @return boolean
|
* @return boolean
|
||||||
* @throws \Exception
|
* @throws \Exception
|
||||||
*/
|
*/
|
||||||
private static function handleDuplicates(string $nurl, int $uid)
|
public static function removeDuplicates(string $nurl, int $uid)
|
||||||
{
|
{
|
||||||
$condition = ['nurl' => $nurl, 'uid' => $uid, 'deleted' => false, 'network' => Protocol::FEDERATED];
|
$condition = ['nurl' => $nurl, 'uid' => $uid, 'deleted' => false, 'network' => Protocol::FEDERATED];
|
||||||
$count = DBA::count('contact', $condition);
|
$count = DBA::count('contact', $condition);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user