Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 16
0.00% covered (danger)
0.00%
0 / 4
CRAP
0.00% covered (danger)
0.00%
0 / 1
FilesController
0.00% covered (danger)
0.00%
0 / 16
0.00% covered (danger)
0.00%
0 / 4
42
0.00% covered (danger)
0.00%
0 / 1
 index
0.00% covered (danger)
0.00%
0 / 3
0.00% covered (danger)
0.00%
0 / 1
2
 webdavIndex
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 webdavPath
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
 webdav
0.00% covered (danger)
0.00%
0 / 9
0.00% covered (danger)
0.00%
0 / 1
12
1<?php
2
3namespace Olz\Apps\Files;
4
5use Olz\Apps\Files\Components\OlzFiles\OlzFiles;
6use Olz\Apps\Files\Components\OlzWebDav\OlzWebDav;
7use Olz\Utils\HttpUtils;
8use Psr\Log\LoggerInterface;
9use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
10use Symfony\Component\HttpFoundation\Request;
11use Symfony\Component\HttpFoundation\Response;
12use Symfony\Component\Routing\Annotation\Route;
13
14class 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}