Url   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 5
lcom 0
cbo 2
dl 0
loc 35
ccs 0
cts 17
cp 0
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A toAction() 0 13 4
A toSearch() 0 6 1
1
<?php
2
/**
3
 * HiPanel core package
4
 *
5
 * @link      https://hipanel.com/
6
 * @package   hipanel-core
7
 * @license   BSD-3-Clause
8
 * @copyright Copyright (c) 2014-2019, HiQDev (http://hiqdev.com/)
9
 */
10
11
namespace hipanel\helpers;
12
13
use yii\helpers\Inflector;
14
15
class Url extends \yii\helpers\Url
16
{
17
    /**
18
     * @param string|array $params
19
     * @return array|string
20
     */
21
    public static function toAction($link, $params = [], $action = 'index')
22
    {
23
        $params = is_array($params) ? $params : ['id' => $params];
24
        if (strpos('/', $link) === false) {
25
            $link = $link . '/' . $action;
26
        }
27
        if (strpos('@', $link) === false) {
28
            $link = '@' . $link;
29
        }
30
        array_unshift($params, $link);
31
32
        return $params;
33
    }
34
35
    /**
36
     * Build search url.
37
     *
38
     * @param string $modelName
39
     * @param array $params
40
     * @param string $action
41
     * @return array|string
42
     */
43
    public static function toSearch(string $modelName, array $params = [], string $action = 'index')
44
    {
45
        $formName = Inflector::id2camel($modelName) . 'Search';
46
47
        return static::toAction($modelName, [$formName => $params], $action);
48
    }
49
}
50