Completed
Push — master ( f7ec0b...a501be )
by Elf
01:55
created

helpers.php ➔ urlsafe_base64_encode()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 1
dl 0
loc 4
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
        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
        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
        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
        if (is_object($value)) {
56
            if (method_exists($value, '__toString')) {
57
                return (string) $value;
58
            }
59
60
            if (method_exists($value, 'toArray')) {
61
                $value = $value->toArray();
62
            }
63
        }
64
65
        return is_string($value) ? $value : json_encode($value, $jsonOptions | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
66
    }
67
}
68
69
if (! function_exists('active')) {
70
    /**
71
     * Returns string 'active' if the current request URI matches the given patterns.
72
     *
73
     * @return string
74
     */
75
    function active()
76
    {
77
        return call_user_func_array([app('request'), 'is'], func_get_args()) ? 'active' : '';
78
    }
79
}
80