GenerateLivePathForTrait   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 14
dl 0
loc 29
rs 10
c 1
b 0
f 0
wmc 5

1 Method

Rating   Name   Duplication   Size   Complexity  
A generateLivePathFor() 0 22 5
1
<?php
2
3
namespace PiedWeb\CMSBundle\Utils;
4
5
use PiedWeb\CMSBundle\Entity\PageInterface;
6
use Symfony\Component\Routing\RouterInterface;
7
8
trait GenerateLivePathForTrait
9
{
10
    /**
11
     * @var RouterInterface
12
     */
13
    protected $router;
14
15
    protected function generateLivePathFor($host, $route = 'piedweb_cms_page', $params = [])
16
    {
17
        if (isset($params['locale'])) {
18
            $params['_locale'] = $params['locale'].'/';
19
            unset($params['locale']);
20
        }
21
22
        if ($host instanceof PageInterface) {
23
            $page = $host;
24
            $host = $page->getHost();
25
        }
26
27
        if (isset($page)) {
28
            $params['slug'] = $page->getRealSlug();
29
        }
30
31
        if ($host) {
32
            $params['host'] = $host;
33
            $route = 'custom_host_'.$route;
34
        }
35
36
        return $this->router->generate($route, $params);
37
    }
38
}
39