2
0
mirror of https://github.com/boostorg/website.git synced 2026-01-19 04:42:17 +00:00
Files
website/doc/libraries.json.php
2016-11-14 22:54:09 +00:00

42 lines
1.1 KiB
PHP

<?php
require_once(__DIR__.'/../common/code/bootstrap.php');
function libraries_json($params) {
if (isset($params['version'])) {
$version = BoostVersion::from($params['version']);
} else {
$version = BoostVersion::current();
}
$version_libs = array_map(
function($lib) {
// TODO: Better handling of hidden libraries.
if (!empty($lib['boost-version']) &&
$lib['boost-version']->is_hidden() &&
empty($lib['status'])
) {
$lib['status'] = 'hidden';
unset($lib['boost-version']);
}
$r = new BoostLibrary($lib);
return $r;
},
BoostLibraries::load()->get_for_version($version, null,
'BoostLibraries::filter_all'));
return BoostLibrary::get_libraries_json($version_libs);
}
header('Content-type: application/json');
try {
echo libraries_json($_GET);
}
catch (BoostVersion_Exception $e) {
header($_SERVER['SERVER_PROTOCOL'] . ' 400 Malformed request', true, 400);
echo json_encode(Array(
'error' => $e->getMessage(),
));
}