Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?php
2
// $Id: EbatNs_DataConverter.php,v 1.2 2008-05-02 15:04:05 carsten Exp $
3
// $Log: EbatNs_DataConverter.php,v $
4
// Revision 1.2  2008-05-02 15:04:05  carsten
5
// Initial, PHP5
6
//
7
class EbatNs_DataConverter
8
{
9
    protected $options = array();
10
 
11
    function __construct ()
12
    {
13
    }
14
 
15
    function decodeData ($data, $type = 'string')
16
    {
17
        switch ($type)
18
        {
19
            case 'boolean':
20
                if ($data == 'true')
21
                    return true; else
22
                    return null;
23
        }
24
        return $data;
25
    }
26
 
27
    function encodeData ($data, $type = 'string', $elementName = null)
28
    {
29
        return ("<![CDATA[" . $data . "]]>");
30
    }
31
 
32
    function encryptData ($data, $type = null)
33
    {
34
        return $data;
35
    }
36
 
37
    function decryptData ($data, $type = null)
38
    {
39
        return $data;
40
    }
41
}
42
 
43
class EbatNs_DataConverterUtf8 extends EbatNs_DataConverter
44
{
45
    function __construct ()
46
    {
47
        parent::__construct();
48
    }
49
}
50
 
51
class EbatNs_DataConverterIso extends EbatNs_DataConverter
52
{
53
    function __construct ()
54
    {
55
        parent::__construct();
56
    }
57
 
58
    function decodeData ($data, $type = 'string')
59
    {
60
        switch ($type)
61
        {
62
            case 'string':
63
                return utf8_decode($data);
64
            case 'dateTime':
65
                {
66
                    $dPieces = split('T', $data);
67
                    $tPieces = split("\.", $dPieces[1]);
68
                    $data = $dPieces[0] . ' ' . $tPieces[0];
69
                    // return date('Y-m-d H:i:s', strtotime($data) + date('Z'));
70
                    return $data;
71
                }
72
            case 'boolean':
73
                if ($data == 'true')
74
                    return true; else
75
                    return null;
76
            default:
77
                return $data;
78
        }
79
    }
80
 
81
    function encodeData ($data, $type = 'string', $elementName = null)
82
    {
83
        switch ($type)
84
        {
85
            case 'dateTime':
86
                $time = strtotime($data);
87
                $data = date("Y-m-d\\TH:i:s.000\\Z", $time);
88
                break;
89
 
90
            case 'boolean':
91
            case 'int':
92
            case (substr($type, 0, - 8) . 'CodeType'):
93
                break;
94
 
95
            default:
96
                if (is_string($data))
97
                    $data = "<![CDATA[" . utf8_encode($data) . "]]>";
98
                break;
99
        }
100
 
101
        return $data;
102
    }
103
}
104
?>