]>
Commit | Line | Data |
---|---|---|
1 | <?php | |
2 | ||
3 | namespace Shaarli\Api\Controllers; | |
4 | ||
5 | use Slim\Http\Request; | |
6 | use Slim\Http\Response; | |
7 | ||
8 | /** | |
9 | * Class Info | |
10 | * | |
11 | * REST API Controller: /info | |
12 | * | |
13 | * @package Api\Controllers | |
14 | * @see http://shaarli.github.io/api-documentation/#links-instance-information-get | |
15 | */ | |
16 | class Info extends ApiController | |
17 | { | |
18 | /** | |
19 | * Service providing various information about Shaarli instance. | |
20 | * | |
21 | * @param Request $request Slim request. | |
22 | * @param Response $response Slim response. | |
23 | * | |
24 | * @return Response response. | |
25 | */ | |
26 | public function getInfo($request, $response) | |
27 | { | |
28 | $info = [ | |
29 | 'global_counter' => count($this->linkDb), | |
30 | 'private_counter' => count_private($this->linkDb), | |
31 | 'settings' => array( | |
32 | 'title' => $this->conf->get('general.title', 'Shaarli'), | |
33 | 'header_link' => $this->conf->get('general.header_link', '?'), | |
34 | 'timezone' => $this->conf->get('general.timezone', 'UTC'), | |
35 | 'enabled_plugins' => $this->conf->get('general.enabled_plugins', []), | |
36 | 'default_private_links' => $this->conf->get('privacy.default_private_links', false), | |
37 | ), | |
38 | ]; | |
39 | ||
40 | return $response->withJson($info, 200, $this->jsonStyle); | |
41 | } | |
42 | } |