We can now return a list of known servers

This commit is contained in:
Michael 2017-03-04 11:04:00 +00:00
parent ec9dddb445
commit b42167f0ac
2 changed files with 30 additions and 6 deletions

View file

@ -2024,4 +2024,25 @@ function gs_discover() {
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;
}
?>

View file

@ -27,6 +27,12 @@ function poco_init(App $a) {
$justme = 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') {
$global = true;
$update_limit = date("Y-m-d H:i:s", time() - 30 * 86400);
@ -314,11 +320,9 @@ function poco_init(App $a) {
$ret['entry'][] = $entry;
}
}
else
} else
$ret['entry'][] = array();
}
else
} else
http_status_exit(500);
logger("End of poco", LOGGER_DEBUG);
@ -332,8 +336,7 @@ function poco_init(App $a) {
header('Content-type: application/json');
echo json_encode($ret);
killme();
}
else
} else
http_status_exit(500);