Completed
Push — feature/0.7.0 ( 0adc7f...2eb0ad )
by Ryuichi
03:47
created

Functions.php ➔ safetyIn()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 2
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 4
rs 10
1
<?php
2
/**
3
 * Functions
4
 * @author Ryuichi TANAKA.
5
 * @since 2013/09/04
6
 * @version 0.7
7
 */
8
9
use WebStream\Module\Security;
10
use WebStream\DI\ServiceLocator;
11
use WebStream\Log\Logger;
12
13
/**
14
 * ハンドリングできないエラーをハンドリングする
15
 */
16
if (!function_exists('shutdownHandler')) {
17
    function shutdownHandler()
18
    {
19
        // ログ処理
20
        if ($error = error_get_last()) {
21
            $errorMsg = $error['message'] . " " . $error['file'] . "(" . $error['line'] . ")";
22
            switch ($error['type']) {
23
                case E_ERROR:
24
                case E_CORE_ERROR:
25
                case E_COMPILE_ERROR:
26
                case E_USER_ERROR:
27
                case E_RECOVERABLE_ERROR:
28
                    Logger::fatal($errorMsg);
29
                    break;
30
                case E_PARSE:
31
                    Logger::error($errorMsg);
32
                    break;
33
                case E_WARNING:
34
                case E_CORE_WARNING:
35
                case E_COMPILE_WARNING:
36
                case E_USER_WARNING:
37
                case E_STRICT:
38
                case E_NOTICE:
39
                case E_USER_NOTICE:
40
                case E_DEPRECATED:
41
                case E_USER_DEPRECATED:
42
                    Logger::warn($errorMsg);
43
                    break;
44
            }
45
        }
46
    }
47
}
48
49
/**
50
 * 入力データに対して安全なデータに変換をする
51
 */
52
if (!function_exists('safetyIn')) {
53
    function safetyIn($data)
54
    {
55
        return Security::safetyIn($data);
56
    }
57
}
58
59
/**
60
 * 出力データに対して安全なデータに変換をする
61
 */
62
if (!function_exists('safetyOut')) {
63
    function safetyOut($data)
64
    {
65
        return Security::safetyOut($data);
66
    }
67
}
68
69
/**
70
 * 出力データに対して安全なデータに変換をする(JavaScript専用)
71
 */
72
if (!function_exists('safetyOutJavaScript')) {
73
    function safetyOutJavaScript($data)
74
    {
75
        return Security::safetyOutJavaScript($data);
76
    }
77
}
78
79
/**
80
 * 出力データに対して安全なデータに変換をする(XML専用)
81
 */
82
if (!function_exists('safetyOutXML')) {
83
    function safetyOutXML($data)
84
    {
85
        return Security::safetyOutXML($data);
86
    }
87
}
88
89
/**
90
 * 出力データに対して安全なデータに変換をする(JSON専用)
91
 */
92
if (!function_exists('safetyOutJSON')) {
93
    function safetyOutJSON($data)
94
    {
95
        return json_encode($data, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT);
96
    }
97
}
98
99
/**
100
 * 出力データに対して安全なデータに変換をする(JSON専用)
101
 */
102
if (!function_exists('safetyOutJSONP')) {
103
    function safetyOutJSONP($data, $callback)
104
    {
105
        return safetyOutJavaScript($callback) . "(" . safetyOutJSON($data) . ");";
106
    }
107
}
108