mirror of
https://github.com/friendica/friendica
synced 2024-12-23 16:00:16 +00:00
We can now return a list of known servers
This commit is contained in:
parent
ec9dddb445
commit
b42167f0ac
2 changed files with 30 additions and 6 deletions
|
@ -2024,4 +2024,25 @@ function gs_discover() {
|
||||||
q("UPDATE `gserver` SET `last_poco_query` = '%s' WHERE `nurl` = '%s'", dbesc(datetime_convert()), dbesc($server["nurl"]));
|
q("UPDATE `gserver` SET `last_poco_query` = '%s' WHERE `nurl` = '%s'", dbesc(datetime_convert()), dbesc($server["nurl"]));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Returns a list of all known servers
|
||||||
|
* @return array List of server urls
|
||||||
|
*/
|
||||||
|
function poco_serverlist() {
|
||||||
|
$r = q("SELECT `id`, `url`, `site_name` AS `displayName`, `network`, `platform`, `version` FROM `gserver`
|
||||||
|
WHERE `network` IN ('%s', '%s', '%s') AND `last_contact` > `last_failure`
|
||||||
|
ORDER BY `last_contact`
|
||||||
|
LIMIT 1000",
|
||||||
|
dbesc(NETWORK_DFRN), dbesc(NETWORK_DIASPORA), dbesc(NETWORK_OSTATUS));
|
||||||
|
if (!dbm::is_result($r)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
$list = array();
|
||||||
|
foreach ($r AS $server) {
|
||||||
|
$server['id'] = (int)$server['id'];
|
||||||
|
$list[] = $server;
|
||||||
|
}
|
||||||
|
return $list;
|
||||||
|
}
|
||||||
?>
|
?>
|
||||||
|
|
15
mod/poco.php
15
mod/poco.php
|
@ -27,6 +27,12 @@ function poco_init(App $a) {
|
||||||
$justme = false;
|
$justme = false;
|
||||||
$global = false;
|
$global = false;
|
||||||
|
|
||||||
|
if($a->argc > 1 && $a->argv[1] === '@server') {
|
||||||
|
$ret = poco_serverlist();
|
||||||
|
header('Content-type: application/json');
|
||||||
|
echo json_encode($ret);
|
||||||
|
killme();
|
||||||
|
}
|
||||||
if($a->argc > 1 && $a->argv[1] === '@global') {
|
if($a->argc > 1 && $a->argv[1] === '@global') {
|
||||||
$global = true;
|
$global = true;
|
||||||
$update_limit = date("Y-m-d H:i:s", time() - 30 * 86400);
|
$update_limit = date("Y-m-d H:i:s", time() - 30 * 86400);
|
||||||
|
@ -314,11 +320,9 @@ function poco_init(App $a) {
|
||||||
|
|
||||||
$ret['entry'][] = $entry;
|
$ret['entry'][] = $entry;
|
||||||
}
|
}
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
$ret['entry'][] = array();
|
$ret['entry'][] = array();
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
http_status_exit(500);
|
http_status_exit(500);
|
||||||
|
|
||||||
logger("End of poco", LOGGER_DEBUG);
|
logger("End of poco", LOGGER_DEBUG);
|
||||||
|
@ -332,8 +336,7 @@ function poco_init(App $a) {
|
||||||
header('Content-type: application/json');
|
header('Content-type: application/json');
|
||||||
echo json_encode($ret);
|
echo json_encode($ret);
|
||||||
killme();
|
killme();
|
||||||
}
|
} else
|
||||||
else
|
|
||||||
http_status_exit(500);
|
http_status_exit(500);
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue