Showing
2 changed files
with
134 additions
and
80 deletions
1 | <?php | 1 | <?php |
2 | 2 | ||
3 | -// $english = mysql_escape_string($_REQUEST['translate']); | ||
4 | -// Der Service ist zur Zeit leider deaktiviert.... | ||
5 | -// $trans = new SoapClient( | ||
6 | -// "http://www.xmethods.net/sd/2001/BabelFishService.wsdl"); | ||
7 | - | ||
8 | -/* | ||
9 | - try | ||
10 | - { | ||
11 | - $german = $trans->BabelFish("en_de",$english); | ||
12 | - $french = $trans->BabelFish("en_fr",$english); | ||
13 | - } | ||
14 | - catch(SoapFault $e) | ||
15 | - { | ||
16 | - $english = "not found"; | ||
17 | - $german = "not found"; | ||
18 | - $french = "not found"; | ||
19 | - } | ||
20 | -*/ | ||
21 | - class dummy | ||
22 | - { | ||
23 | - // nur public member werden via json verschickt. | ||
24 | - public $german; | ||
25 | - public $english; | ||
26 | - public $french; | ||
27 | - | ||
28 | - function __construct ($english, $german, $french) | ||
29 | - { | ||
30 | - $this->german = $german; | ||
31 | - $this->english = $english; | ||
32 | - $this->french["val1"] = $french; | ||
33 | - $this->french["val2"] = "jokus"; | ||
34 | - } | ||
35 | - } | ||
36 | - | ||
37 | - $encoding = FALSE; | ||
38 | - if (isset ($_SERVER['HTTP_ACCEPT_ENCODING']) && | ||
39 | - strpos ($_SERVER['HTTP_ACCEPT_ENCODING'], 'x-gzip') !== FALSE) | ||
40 | - $encoding = "x-gzip"; | ||
41 | - if (isset ($_SERVER['HTTP_ACCEPT_ENCODING']) && | ||
42 | - strpos ($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== FALSE) | ||
43 | - $encoding = "gzip"; | ||
44 | - | ||
45 | - header ('Content-type: text/plain'); | ||
46 | - | ||
47 | - $result = FALSE; | ||
48 | - if ($encoding !== FALSE) | ||
49 | - $result = gzcompress (json_encode (new dummy ( | ||
50 | - 'doing gzip', 'gezipedte Daten', 'la zippo'))); | ||
51 | - | ||
52 | - if ($result !== FALSE) | ||
53 | - { | ||
54 | - header ('Content-Encoding: ' . $encoding); | ||
55 | - | ||
56 | - print ("\x1f\x8b\x08\x00\x00\x00\x00\x00"); | ||
57 | - print ($result); | ||
58 | - } | ||
59 | - else | ||
60 | - { | ||
61 | - $result = json_encode (new dummy ( | ||
62 | - 'doing no gzip', 'nicht gezipedte Daten', 'no la zippo')); | ||
63 | - | ||
64 | - print ($result); | ||
65 | - } | 3 | +require_once dirname(__FILE__) . '/../config.php'; |
4 | +require_once LIBDIR . 'c_personAdmin.php'; | ||
5 | +require_once LIBDIR . 'c_xmlify.php'; | ||
6 | + | ||
7 | +$personAdmin = new c_personAdmin (); | ||
8 | +$persons = xmlify ($personAdmin->getPersons ()); | ||
9 | +$p = deXmlify ($persons); | ||
10 | + | ||
11 | +exit (1); | ||
12 | + | ||
13 | +$encoding = FALSE; | ||
14 | +if (isset ($_SERVER['HTTP_ACCEPT_ENCODING']) && | ||
15 | + strpos ($_SERVER['HTTP_ACCEPT_ENCODING'], 'x-gzip') !== FALSE) | ||
16 | +$encoding = "x-gzip"; | ||
17 | +if (isset ($_SERVER['HTTP_ACCEPT_ENCODING']) && | ||
18 | + strpos ($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== FALSE) | ||
19 | +$encoding = "gzip"; | ||
20 | + | ||
21 | +header ('Content-type: text/xml'); | ||
22 | + | ||
23 | +$result = FALSE; | ||
24 | +if ($encoding !== FALSE) | ||
25 | + $result = gzcompress ($persons); | ||
26 | + | ||
27 | +if ($result !== FALSE) | ||
28 | +{ | ||
29 | + header ('Content-Encoding: ' . $encoding); | ||
30 | + | ||
31 | + print ("\x1f\x8b\x08\x00\x00\x00\x00\x00"); | ||
32 | + print ($result); | ||
33 | +} | ||
34 | +else | ||
35 | + print ($persons); | ||
66 | 36 | ||
67 | ?> | 37 | ?> |
@@ -7,9 +7,72 @@ | @@ -7,9 +7,72 @@ | ||
7 | 7 | ||
8 | <script type="text/javascript"> | 8 | <script type="text/javascript"> |
9 | <!-- | 9 | <!-- |
10 | + function xmlToArray (xr) | ||
11 | + { | ||
12 | + ret = new Array (); | ||
13 | + | ||
14 | + if (! xr.hasChildNodes ()) | ||
15 | + return ret; | ||
16 | + | ||
17 | + for (node in xr.childNodes) | ||
18 | + { | ||
19 | + if (node.nodeType == 1 && | ||
20 | + node.name == 'item') | ||
21 | + { | ||
22 | + key = childNode->getAttribute ('key'); | ||
23 | + if (parseInt (key, 10) !== NaN) | ||
24 | + key = parseInt (key, 10); | ||
25 | + | ||
26 | + for (_node in node.childNodes) | ||
27 | + { | ||
28 | + if (_node->nodeType == 1) | ||
29 | + { | ||
30 | + switch (_node->nodeName) | ||
31 | + { | ||
32 | + case 'variable': | ||
33 | + ret[key] = xmlToVar (_node); | ||
34 | + type = _node->getAttribute ('type'); | ||
35 | + //settype (ret[key], type); | ||
36 | + break; | ||
37 | + | ||
38 | + case 'array': | ||
39 | + ret[key] = xmlToArray (_node); | ||
40 | + break; | ||
41 | + | ||
42 | + case 'class': | ||
43 | + _class = _node->getAttribute ('class'); | ||
44 | + eval ('ret[key] = new ' + _class + '(_node)'); | ||
45 | + } | ||
46 | + } | ||
47 | + } | ||
48 | + } | ||
49 | + } | ||
50 | + | ||
51 | + return ret; | ||
52 | + } | ||
53 | + | ||
54 | + | ||
55 | + function xmlToVar (xr) | ||
56 | + { | ||
57 | + if (!xr.hasChildNodes ()) | ||
58 | + return null; | ||
59 | + | ||
60 | + var ret = null; | ||
61 | + | ||
62 | + for (node in xr.childNodes) | ||
63 | + if (node.nodeType === 3 && node.nodeValue !== null) | ||
64 | + { | ||
65 | + ret = node.nodeValue; | ||
66 | + break; | ||
67 | + } | ||
68 | + | ||
69 | + return ret; | ||
70 | + } | ||
71 | + | ||
72 | + | ||
10 | var req = null; | 73 | var req = null; |
11 | 74 | ||
12 | - function handleTranslation () | 75 | + function getPersons () |
13 | { | 76 | { |
14 | switch (req.readyState) | 77 | switch (req.readyState) |
15 | { | 78 | { |
@@ -18,16 +81,38 @@ | @@ -18,16 +81,38 @@ | ||
18 | alert("Fehler:"+req.status); | 81 | alert("Fehler:"+req.status); |
19 | else | 82 | else |
20 | { | 83 | { |
21 | - // felder des formulars | ||
22 | - german_field = document.getElementById("german"); | ||
23 | - french_field = document.getElementById("french"); | ||
24 | - | 84 | + //for (x in req.responseXML) |
85 | + //{ | ||
86 | + // console.dir (x); | ||
87 | + // break; | ||
88 | + // } | ||
89 | + data = req.responseXML.firstChild; | ||
90 | + | ||
91 | + //console.dir (data); | ||
92 | + switch (data.nodeName) | ||
93 | + { | ||
94 | + case 'variable': ret = xmlToVar (data); break; | ||
95 | + //case 'array': ret = xmlToArray (data); break; | ||
96 | + //case 'class': ret = xmlToObject (data); | ||
97 | + } | ||
98 | + | ||
99 | + console.log ('%s', ret); | ||
100 | + | ||
101 | + // ---- | ||
102 | + //german_resp = xml.getElementsByTagName("german")[0]; | ||
103 | + //french_resp = xml.getElementsByTagName("french")[0]; | ||
104 | + | ||
105 | + //schreiben des ergebnisses | ||
106 | + //german_field.value = german_resp.firstChild.nodeValue; | ||
107 | + //french_field.value = french_resp.firstChild.nodeValue; | ||
108 | + // ---- | ||
109 | + | ||
25 | // antwort des servers | 110 | // antwort des servers |
26 | - var translation = eval('(' + req.responseText + ')'); | 111 | + //var translation = eval('(' + req.responseText + ')'); |
27 | 112 | ||
28 | // schreiben des ergebnisses | 113 | // schreiben des ergebnisses |
29 | - german_field.value = translation.german; | ||
30 | - french_field.value = translation.french.val1; | 114 | + //german_field.value = translation.german; |
115 | + //french_field.value = translation.french.val1; | ||
31 | } | 116 | } |
32 | return true; | 117 | return true; |
33 | 118 | ||
@@ -36,7 +121,7 @@ | @@ -36,7 +121,7 @@ | ||
36 | } | 121 | } |
37 | } | 122 | } |
38 | 123 | ||
39 | - function translate () | 124 | + function updPersons () |
40 | { | 125 | { |
41 | // erstellen des requests | 126 | // erstellen des requests |
42 | 127 | ||
@@ -68,13 +153,12 @@ | @@ -68,13 +153,12 @@ | ||
68 | 153 | ||
69 | // anfrage erstellen (GET, url ist localhost, | 154 | // anfrage erstellen (GET, url ist localhost, |
70 | // request ist asynchron | 155 | // request ist asynchron |
71 | - var url = 'http://muedv031/~georg/bilder/ajax+json/ajax.php' + | ||
72 | - '?translate=' + document.getElementById ('myword').value; | 156 | + var url = 'http://localhost/~georg/bilder/ajax+json/ajax.php'; |
73 | 157 | ||
74 | req.open("GET", url, true); | 158 | req.open("GET", url, true); |
75 | 159 | ||
76 | // Beim abschliessen des request wird diese Funktion ausgeführt | 160 | // Beim abschliessen des request wird diese Funktion ausgeführt |
77 | - req.onreadystatechange = handleTranslation; | 161 | + req.onreadystatechange = getPersons; |
78 | 162 | ||
79 | req.setRequestHeader("Content-Type", | 163 | req.setRequestHeader("Content-Type", |
80 | "application/x-www-form-urlencoded"); | 164 | "application/x-www-form-urlencoded"); |
@@ -87,11 +171,11 @@ | @@ -87,11 +171,11 @@ | ||
87 | </head> | 171 | </head> |
88 | 172 | ||
89 | <body> | 173 | <body> |
90 | - <div id="eins" style="width: 80%; height: 80%; border: dashed 1px;"> | ||
91 | - englisch: <input type="text" id="myword" onchange="translate();" /> | ||
92 | - <br /> | ||
93 | - deutsch: <input type="text" id="german" /><br /> | ||
94 | - französisch: <input type="text" id="french" /><br /> | 174 | + <div id="eins" style="width: 600px; height: 450px; border: dashed 1px;"> |
175 | + dummy: <input type="text" id="myword" onchange="updPersons ();" /> | ||
176 | + <p id="persons"> | ||
177 | + Hier koennen personen stehen.... | ||
178 | + </p> | ||
95 | </div> | 179 | </div> |
96 | </body> | 180 | </body> |
97 | </html> | 181 | </html> |
Please
register
or
login
to post a comment