a7f0c98e8be47e4d905dd0b69a59c3376e0ba748
[rock.divinelegy.git] / Controllers / IndexController.php
1 <?php
2
3 namespace Controllers;
4
5 use DataAccess\StepMania\ISimfileRepository;
6 use Services\IHttpResponse;
7
8 class IndexController implements IDivineController
9 {
10
11 private $_content;
12 private $_simfileRepository;
13 private $_jsonResponse;
14 private $_response;
15
16 //override
17 public function __construct(
18 IHttpResponse $response,
19 ISimfileRepository $repository
20 ) {
21 $this->_response = $response;
22 $this->_simfileRepository = $repository;
23 }
24
25 public function setJsonResponse() {
26 $this->_jsonResponse = true;
27 }
28
29 public function getAction() {
30 /* @var $simfile Domain\Entities\StepMania\ISimfile */
31 $simfile = $this->_simfileRepository->find(1);
32 $modes = array();
33 /* @var $steps Domain\VOs\StepMania\IStepChart */
34 foreach ($simfile->getSteps() as $steps) {
35 $modes[] = $steps->getArtist()->getTag();
36 }
37
38 $this->_response->setHeader('Content-Type', 'application/json')
39 ->setBody(json_encode($modes))
40 ->sendResponse();
41 }
42 }