1: <?php
2: 3: 4:
5: 6: 7: 8: 9: 10: 11: 12: 13:
14:
15: 16: 17: 18: 19: 20: 21: 22: 23:
24: defined('XOOPS_ROOT_PATH') || exit('Restricted access');
25:
26: 27: 28: 29: 30: 31:
32: function xoops_hex2bin($hex)
33: {
34: if (!is_string($hex)) {
35: return null;
36: }
37: $r = '';
38: $len = strlen($hex);
39: for ($a = 0; $a < $len; $a += 2) {
40: $r .= chr(hexdec($hex{$a} . $hex{$a + 1}));
41: }
42:
43: return $r;
44: }
45:
46: 47: 48: 49: 50: 51:
52: function xoops_bin2hex($bin)
53: {
54: return bin2hex($bin);
55: }
56:
57: 58: 59: 60: 61: 62: 63:
64: function xoops_ishexstr($hex, $checklen = 32)
65: {
66: $accepted = array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f');
67: $len = strlen($hex);
68: if ($checklen > $len) {
69: $checklen = $len;
70: }
71: $hex = strtolower($hex);
72: for ($i = 0; $i < $len; ++$i) {
73: if (!in_array($hex{$i}, $accepted)) {
74: return false;
75: }
76: }
77:
78: return true;
79: }
80:
81: 82: 83: 84: 85: 86: 87: 88:
89: function xoops_convert_encode($data, $store_method = 'urlcode')
90: {
91: switch ($store_method) {
92: default:
93: return urlencode($data);
94: case 'base64':
95: return base64_encode($data);
96: case 'uucode':
97: return convert_uuencode($data);
98: case 'open':
99: return $data;
100: case 'hex':
101: return bin2hex($data);
102: }
103: }
104:
105: 106: 107: 108: 109: 110: 111:
112: function xoops_convert_decode($data, $store_method = 'urlcode')
113: {
114: switch ($store_method) {
115: default:
116: return urldecode($data);
117: case 'base64':
118: return base64_decode($data);
119: case 'uucode':
120: return convert_uudecode($data);
121: case 'open':
122: return $data;
123: case 'hex':
124: return xoops_hex2bin($data);
125: }
126: }
127:
128: 129: 130: 131: 132: 133: 134: 135:
136: function xoops_aw_encode($value, $key, $store_method = 'urlcode')
137: {
138: $value = xoops_convert_encode($value, $store_method);
139: }
140:
141: 142: 143: 144: 145: 146: 147: 148:
149: function xoops_aw_decode($value, $key, $store_method = 'urlcode')
150: {
151: $value = xoops_convert_decode($value, $store_method);
152: }
153: