Completed
Push — master ( f10528...8e7edb )
by Elf
02:04
created

helpers.php ➔ in_arrayi()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 1
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 2
dl 0
loc 4
ccs 1
cts 1
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
3
if (! function_exists('urlsafe_base64_encode')) {
4
    /**
5
     * Encodes the given data with base64, and returns an URL-safe string.
6
     *
7
     * @param  string  $data
8
     * @return string
9
     */
10
    function urlsafe_base64_encode($data)
11
    {
12 1
        return strtr(base64_encode($data), ['+' => '-', '/' => '_', '=' => '']);
13
    }
14
}
15
16
if (! function_exists('urlsafe_base64_decode')) {
17
    /**
18
     * Decodes a base64 encoded data.
19
     *
20
     * @param  string  $data
21
     * @param  bool  $strict
22
     * @return string
23
     */
24
    function urlsafe_base64_decode($data, $strict = false)
25
    {
26 1
        return base64_decode(strtr($data.str_repeat('=', (4 - strlen($data) % 4)), '-_', '+/'), $strict);
27
    }
28
}
29
30
if (! function_exists('mb_trim')) {
31
    /**
32
     * Strip whitespace (or other characters) from the beginning and end of a string.
33
     *
34
     * @see https://github.com/vanderlee/PHP-multibyte-functions/blob/master/functions/mb_trim.php
35
     *
36
     * @param  string  $string
37
     * @return string
38
     */
39
    function mb_trim($string)
40
    {
41 1
        return mb_ereg_replace('^\s*([\s\S]*?)\s*$', '\1', $string);
42
    }
43
}
44
45
if (! function_exists('string_value')) {
46
    /**
47
     * Converts any type to a string.
48
     *
49
     * @param  mixed  $value
50
     * @param  int  $jsonOptions  JSON_PRETTY_PRINT, etc
51
     * @return string
52
     */
53
    function string_value($value, $jsonOptions = 0)
54
    {
55 1
        if (is_string($value)) {
56
            return $value;
57
        }
58
59 1
        if (method_exists($value, '__toString')) {
60 1
            return (string) $value;
61
        }
62
63 1
        if (method_exists($value, 'toArray')) {
64 1
            $value = $value->toArray();
65
        }
66
67 1
        $jsonOptions |= JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES;
68
69 1
        return json_encode($value, $jsonOptions);
70
    }
71
}
72
73
if (! function_exists('in_arrayi')) {
74
    /**
75
     * Case-insensitive `in_array`.
76
     *
77
     * @see https://stackoverflow.com/a/2166524/521946
78
     * @see http://uk.php.net/manual/en/function.in-array.php#89256
79
     *
80
     * @param  string  $needle
81
     * @param  array  $haystack
82
     * @return bool
83
     */
84
    function in_arrayi($needle, $haystack)
85
    {
86 1
        return in_array(strtolower($needle), array_map('strtolower', $haystack));
87
    }
88
}
89
90
if (! function_exists('active')) {
91
    /**
92
     * Returns string 'active' if the current request URI matches the given patterns.
93
     *
94
     * @return string
95
     */
96
    function active()
97
    {
98
        return call_user_func_array([app('request'), 'is'], func_get_args()) ? 'active' : '';
99
    }
100
}
101
102
if (! function_exists('asset_from')) {
103
    /**
104
     * Generate the URL to an asset from a custom root domain such as CDN, etc.
105
     *
106
     * @param  string  $root
107
     * @param  string  $path
108
     * @param  bool|null  $secure
109
     * @return string
110
     */
111
    function asset_from($root, $path = '', $secure = null)
112
    {
113
        return app('url')->assetFrom($root, $path, $secure);
114
    }
115
}
116