Url::toSearch()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 6
ccs 0
cts 0
cp 0
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 3
crap 2
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