Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 16 |
|
0.00% |
0 / 4 |
CRAP | |
0.00% |
0 / 1 |
FilesController | |
0.00% |
0 / 16 |
|
0.00% |
0 / 4 |
42 | |
0.00% |
0 / 1 |
index | |
0.00% |
0 / 3 |
|
0.00% |
0 / 1 |
2 | |||
webdavIndex | |
0.00% |
0 / 2 |
|
0.00% |
0 / 1 |
2 | |||
webdavPath | |
0.00% |
0 / 2 |
|
0.00% |
0 / 1 |
2 | |||
webdav | |
0.00% |
0 / 9 |
|
0.00% |
0 / 1 |
12 |
1 | <?php |
2 | |
3 | namespace Olz\Apps\Files; |
4 | |
5 | use Olz\Apps\Files\Components\OlzFiles\OlzFiles; |
6 | use Olz\Apps\Files\Components\OlzWebDav\OlzWebDav; |
7 | use Olz\Utils\HttpUtils; |
8 | use Psr\Log\LoggerInterface; |
9 | use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; |
10 | use Symfony\Component\HttpFoundation\Request; |
11 | use Symfony\Component\HttpFoundation\Response; |
12 | use Symfony\Component\Routing\Annotation\Route; |
13 | |
14 | class FilesController extends AbstractController { |
15 | #[Route('/apps/files')] |
16 | public function index( |
17 | Request $request, |
18 | LoggerInterface $logger, |
19 | HttpUtils $httpUtils, |
20 | OlzFiles $olzFiles, |
21 | ): Response { |
22 | $httpUtils->countRequest($request); |
23 | $html_out = $olzFiles->getHtml([]); |
24 | return new Response($html_out); |
25 | } |
26 | |
27 | #[Route('/apps/files/webdav')] |
28 | public function webdavIndex( |
29 | Request $request, |
30 | LoggerInterface $logger, |
31 | HttpUtils $httpUtils, |
32 | OlzWebDav $olzWebDav, |
33 | ): Response { |
34 | $httpUtils->countRequest($request); |
35 | return $this->webdav($request, $logger, $olzWebDav); |
36 | } |
37 | |
38 | #[Route('/apps/files/webdav/{path}', requirements: ['path' => '.*'])] |
39 | public function webdavPath( |
40 | Request $request, |
41 | LoggerInterface $logger, |
42 | HttpUtils $httpUtils, |
43 | OlzWebDav $olzWebDav, |
44 | string $path, |
45 | ): Response { |
46 | $httpUtils->countRequest($request); |
47 | return $this->webdav($request, $logger, $olzWebDav, $path); |
48 | } |
49 | |
50 | protected function webdav( |
51 | Request $request, |
52 | LoggerInterface $logger, |
53 | OlzWebDav $olzWebDav, |
54 | ?string $path = null, |
55 | ): Response { |
56 | $html_out = $olzWebDav->getHtml(['path' => $path]); |
57 | $response = new Response($html_out); |
58 | foreach (headers_list() as $header) { |
59 | $colon_position = strpos($header, ':'); |
60 | if ($colon_position !== false) { |
61 | $key = substr($header, 0, $colon_position); |
62 | $value = substr($header, $colon_position + 1); |
63 | $response->headers->set($key, $value); |
64 | } |
65 | } |
66 | return $response; |
67 | } |
68 | } |