... |
... |
@@ -12,6 +12,7 @@ declare(strict_types=1);
|
12 |
12 |
|
13 |
13 |
namespace vonRotenberg\MemberfilesBundle\Controller\Frontend\ContentElement;
|
14 |
14 |
|
|
15 |
+use Contao\BackendTemplate;
|
15 |
16 |
use Contao\Config;
|
16 |
17 |
use Contao\ContentModel;
|
17 |
18 |
use Contao\Controller;
|
... |
... |
@@ -29,6 +30,7 @@ use Contao\Template;
|
29 |
30 |
use Doctrine\DBAL\Connection;
|
30 |
31 |
use Symfony\Component\HttpFoundation\Request;
|
31 |
32 |
use Symfony\Component\HttpFoundation\Response;
|
|
33 |
+use Symfony\Contracts\Translation\TranslatorInterface;
|
32 |
34 |
use vonRotenberg\MemberfilesBundle\Model\SecureDownloadsModel;
|
33 |
35 |
|
34 |
36 |
/**
|
... |
... |
@@ -49,6 +51,14 @@ class SecureDownloadsController extends AbstractContentElementController
|
49 |
51 |
$this->User = FrontendUser::getInstance();
|
50 |
52 |
}
|
51 |
53 |
|
|
54 |
+ public function __invoke(Request $request, ContentModel $model, string $section, array $classes = null): Response
|
|
55 |
+ {
|
|
56 |
+ if (System::getContainer()->get('contao.routing.scope_matcher')->isBackendRequest($request)) {
|
|
57 |
+ return $this->getBackendWildcard($model);
|
|
58 |
+ }
|
|
59 |
+ return parent::__invoke($request, $model, $section, $classes); // TODO: Change the autogenerated stub
|
|
60 |
+ }
|
|
61 |
+
|
52 |
62 |
|
53 |
63 |
protected function getResponse(Template $template, ContentModel $model, Request $request): Response
|
54 |
64 |
{
|
... |
... |
@@ -268,4 +278,31 @@ class SecureDownloadsController extends AbstractContentElementController
|
268 |
278 |
|
269 |
279 |
return $template->getResponse();
|
270 |
280 |
}
|
|
281 |
+
|
|
282 |
+ protected function getBackendWildcard(ContentModel $element): Response
|
|
283 |
+ {
|
|
284 |
+ $href = $this->container->get('router')->generate(
|
|
285 |
+ 'contao_backend',
|
|
286 |
+ ['do' => 'themes', 'table' => 'tl_module', 'act' => 'edit', 'id' => $element->id]
|
|
287 |
+ );
|
|
288 |
+
|
|
289 |
+ $name = $this->container->get('translator')->trans('FMD.'.$this->getType().'.0', [], 'contao_modules');
|
|
290 |
+
|
|
291 |
+ $template = new BackendTemplate('be_wildcard');
|
|
292 |
+ $template->wildcard = '### '.strtoupper($name).' ###';
|
|
293 |
+ $template->id = $element->id;
|
|
294 |
+ $template->link = $element->name;
|
|
295 |
+ $template->href = $href;
|
|
296 |
+
|
|
297 |
+ return new Response($template->parse());
|
|
298 |
+ }
|
|
299 |
+
|
|
300 |
+ public static function getSubscribedServices(): array
|
|
301 |
+ {
|
|
302 |
+ $services = parent::getSubscribedServices();
|
|
303 |
+
|
|
304 |
+ $services['translator'] = TranslatorInterface::class;
|
|
305 |
+
|
|
306 |
+ return $services;
|
|
307 |
+ }
|
271 |
308 |
}
|