X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fpoco.php;h=bfa4957f1435329255fbbc73bcf026a70bef3096;hb=a54675b5971703c7ee4589d0dad74518cda9a760;hp=abe10ee39cc2ef7a56540ab9008b354ae3ebf39a;hpb=5bf813d0ec607ba2a276a77dccfcbe13b7664fd6;p=friendica.git diff --git a/mod/poco.php b/mod/poco.php index abe10ee39c..bfa4957f14 100644 --- a/mod/poco.php +++ b/mod/poco.php @@ -27,7 +27,7 @@ use Friendica\Core\Protocol; use Friendica\Core\Renderer; use Friendica\Database\DBA; use Friendica\DI; -use Friendica\Protocol\PortableContact; +use Friendica\Model\GServer; use Friendica\Util\DateTimeFormat; use Friendica\Util\Strings; use Friendica\Util\XML; @@ -56,16 +56,15 @@ function poco_init(App $a) { if ($a->argc > 1 && $a->argv[1] === '@server') { // List of all servers that this server knows - $ret = PortableContact::serverlist(); + $ret = GServer::getActive(); header('Content-type: application/json'); echo json_encode($ret); exit(); } if ($a->argc > 1 && $a->argv[1] === '@global') { - // List of all profiles that this server recently had data from - $global = true; - $update_limit = date(DateTimeFormat::MYSQL, time() - 30 * 86400); + // Global is not supported anymore + throw new \Friendica\Network\HTTPException\NotFoundException(); } if ($a->argc > 2 && $a->argv[2] === '@me') { $justme = true; @@ -99,17 +98,10 @@ function poco_init(App $a) { if (!empty($_GET['updatedSince'])) { $update_limit = date(DateTimeFormat::MYSQL, strtotime($_GET['updatedSince'])); } - if ($global) { - $contacts = q("SELECT count(*) AS `total` FROM `gcontact` WHERE `updated` >= '%s' AND `updated` >= `last_failure` AND NOT `hide` AND `network` IN ('%s', '%s', '%s')", - DBA::escape($update_limit), - DBA::escape(Protocol::DFRN), - DBA::escape(Protocol::DIASPORA), - DBA::escape(Protocol::OSTATUS) - ); - } elseif ($system_mode) { + if ($system_mode) { $totalResults = DBA::count('profile', ['net-publish' => true]); } else { - $contacts = q("SELECT count(*) AS `total` FROM `contact` WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0 + $contacts = q("SELECT count(*) AS `total` FROM `contact` WHERE `uid` = %d AND NOT `blocked` AND NOT `pending` AND NOT `unsearchable` AND NOT `archive` AND NOT `failed` AND `network` IN ('%s', '%s', '%s', '%s') $sql_extra", intval($user['uid']), @@ -131,24 +123,13 @@ function poco_init(App $a) { } $itemsPerPage = ((!empty($_GET['count'])) ? intval($_GET['count']) : $totalResults); - if ($global) { - Logger::log("Start global query", Logger::DEBUG); - $contacts = q("SELECT * FROM `gcontact` WHERE `updated` > '%s' AND NOT `hide` AND `network` IN ('%s', '%s', '%s') AND `updated` > `last_failure` - ORDER BY `updated` DESC LIMIT %d, %d", - DBA::escape($update_limit), - DBA::escape(Protocol::DFRN), - DBA::escape(Protocol::DIASPORA), - DBA::escape(Protocol::OSTATUS), - intval($startIndex), - intval($itemsPerPage) - ); - } elseif ($system_mode) { + if ($system_mode) { Logger::log("Start system mode query", Logger::DEBUG); $contacts = DBA::selectToArray('owner-view', [], ['net-publish' => true], ['limit' => [$startIndex, $itemsPerPage]]); } else { Logger::log("Start query for user " . $user['nickname'], Logger::DEBUG); - $contacts = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 AND `pending` = 0 AND `hidden` = 0 AND `archive` = 0 - AND NOT `failed` + $contacts = q("SELECT * FROM `contact` WHERE `uid` = %d AND NOT `blocked` AND NOT `pending` AND NOT `hidden` AND NOT `archive` + AND NOT `failed` AND NOT `unsearchable` AND `network` IN ('%s', '%s', '%s', '%s') $sql_extra LIMIT %d, %d", intval($user['uid']), DBA::escape(Protocol::DFRN),