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"]));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @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;
|
||||
$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);
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue