X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FConsole%2FMergeContacts.php;h=f04b64a23dc4b1507bd0570995ac5e1ed8a02214;hb=d63aca97b8f0bebfad7ee7517d50b12624907998;hp=c3588545f478f22a1a62be364b75c7029ed7dc4a;hpb=e46354a522ae8c8cddb5882d0570d8d0cfa5e1fd;p=friendica.git diff --git a/src/Console/MergeContacts.php b/src/Console/MergeContacts.php index c3588545f4..f04b64a23d 100644 --- a/src/Console/MergeContacts.php +++ b/src/Console/MergeContacts.php @@ -1,6 +1,6 @@ dba = $dba; - $this->l10n = $l10n; + $this->dba = $dba; + $this->l10n = $l10n; } - protected function doExecute() + protected function doExecute(): int { $duplicates = $this->dba->p("SELECT COUNT(*) AS `total`, `uri-id`, MAX(`url`) AS `url` FROM `contact` WHERE `uid` = 0 GROUP BY `uri-id` HAVING total > 1"); while ($duplicate = $this->dba->fetch($duplicates)) { $this->out($this->l10n->t('%d %s, %d duplicates.', $duplicate['uri-id'], $duplicate['url'], $duplicate['total'])); if ($this->getOption(['e', 'execute'], false)) { + if (empty($duplicate['uri-id'])) { + $this->err($this->l10n->t('uri-id is empty for contact %s.', $duplicate['url'])); + continue; + } $this->mergeContacts($duplicate['uri-id']); } } @@ -83,7 +88,7 @@ HELP; { $first = $this->dba->selectFirst('contact', ['id', 'nurl', 'url'], ["`uri-id` = ? AND `nurl` != ? AND `url` != ?", $uriid, '', ''], ['order' => ['id']]); if (empty($first)) { - $this->err($this->l10n->t('No valid first countact found for uri-id %d.', $uriid)); + $this->err($this->l10n->t('No valid first contact found for uri-id %d.', $uriid)); return; } $this->out($first['url']); @@ -133,11 +138,11 @@ HELP; $this->updateTable('post-thread-user', 'contact-id', $from, $to, false); $this->updateTable('user-contact', 'cid', $from, $to, true); - if (!$this->dba->delete('contact', ['id' => $from])) { + if (!Contact::deleteById($from)) { $this->err($this->l10n->t('Deletion of id %d failed', $from)); } else { $this->out($this->l10n->t('Deletion of id %d was successful', $from)); - } + } } private function updateTable(string $table, string $field, int $from, int $to, bool $in_unique_key)