~ubuntu-branches/ubuntu/trusty/jwchat/trusty

« back to all changes in this revision

Viewing changes to search.html.sk

  • Committer: Bazaar Package Importer
  • Author(s): Torsten Werner
  • Date: 2008-08-24 15:02:53 UTC
  • mfrom: (3.1.4 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080824150253-h0z39rzjmo4lc1k5
Tags: 1.0beta3-3
* Clean up README.Debian. (Closes: #481320)
* Add brazilian debconf messages translation. (Closes: #481522)
* Add swedish debconf messages translation. (Closes: #494887)
* Add italian debconf messages translation. (Closes: #495780)
* Add russian debconf messages translation. (Closes: #495573)
* Add finnish debconf messages translation. (Closes: #496227)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
2
<html>
 
3
  <head>
 
4
    <title>JWChat - Hľadať</title>
 
5
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
 
6
    <script src="shared.js"></script>
 
7
    <script src="jabber_x_data.js"></script>
 
8
    <script src="switchStyle.js"></script>
 
9
    <script src="xmlextras.js"></script>
 
10
    <script src="jsjac.js"></script>
 
11
    <script>
 
12
      <!--
 
13
 
 
14
function back() {
 
15
        document.getElementById('search_form').style.display = '';
 
16
        document.getElementById('search_results').style.display = 'none';
 
17
 
 
18
        //      reset form
 
19
        document.getElementById('add_button').disabled = true;
 
20
        document.getElementById('info_button').disabled = true;
 
21
        resultF.selectedRow = null;
 
22
 
 
23
        resultF.document.getElementById('results').innerHTML = '';
 
24
 
 
25
        return false;
 
26
}
 
27
 
 
28
function searchUser() {
 
29
        document.getElementById('search_results').style.display = '';
 
30
        document.getElementById('search_form').style.display = 'none';
 
31
 
 
32
        document.getElementById('results_header').innerHTML = "Zasielanie požiadavky...";
 
33
        // send query
 
34
        var searchstring = '';
 
35
        var jabberXData = (document.forms['searchfields'].elements['jwchat_form_type'] && document.forms['searchfields'].elements['jwchat_form_type'].value == 'jabber:x:data');
 
36
 
 
37
        if (jabberXData)
 
38
                searchstring = genJabberXDataReply(document.forms['searchfields']);
 
39
        else {
 
40
                for (var i=0; i<document.forms['searchfields'].elements.length; i++) 
 
41
                        if (document.forms['searchfields'].elements[i].name != '' && document.forms['searchfields'].elements[i].value != '') 
 
42
                                searchstring += "<"+document.forms['searchfields'].elements[i].name+">"+document.forms['searchfields'].elements[i].value+"</"+document.forms['searchfields'].elements[i].name+">";
 
43
        }
 
44
 
 
45
        var to = document.forms['service_select'].elements['service'].options[document.forms['service_select'].elements['service'].selectedIndex].value;
 
46
 
 
47
        srcW.Debug.log("searchstring: "+ searchstring, 3);
 
48
 
 
49
        var iq = new JSJaCIQ();
 
50
 
 
51
        if (searchstring == '') {
 
52
                iq.setTo(to+"/users");
 
53
                iq.setType('get');
 
54
                iq.setQuery('jabber:iq:browse');
 
55
        } else {
 
56
                iq.setTo(to);
 
57
                iq.setType('set');
 
58
                var query = iq.setQuery('jabber:iq:search');
 
59
 
 
60
                var xmldoc = XmlDocument.create('body','foo');
 
61
                xmldoc.loadXML('<body>'+searchstring+'</body>');
 
62
 
 
63
                for (var i=0; i<xmldoc.documentElement.childNodes.length; i++)
 
64
                        query.appendChild(xmldoc.firstChild.childNodes.item(i).cloneNode(true));
 
65
 
 
66
                query.appendChild(xmldoc.firstChild.cloneNode(true));
 
67
 
 
68
        }
 
69
 
 
70
        srcW.Debug.log("created query:" + iq.getDoc().xml,2);
 
71
 
 
72
        me = this;
 
73
        srcW.con.send(iq,me.getQueryResult);
 
74
        return false;
 
75
}
 
76
 
 
77
function getQueryResult(iq) {
 
78
        if (!iq || iq.getType() != 'result') {
 
79
                document.getElementById('results_header').innerHTML = "Vyskytla sa chyba";
 
80
                return false;
 
81
        }
 
82
 
 
83
        srcW.Debug.log("got result: " + iq.getDoc().xml,2);
 
84
 
 
85
        var html = "<table width='100%' border=0 cellspacing=0 cellpadding=0>";
 
86
 
 
87
        // check if it's jabber:x:data
 
88
        if (iq.getNode().getElementsByTagName('x').length && iq.getNode().getElementsByTagName('x').item(0).getAttribute('xmlns') == 'jabber:x:data') {
 
89
 
 
90
                var x = iq.getNode().getElementsByTagName('x').item(0);
 
91
 
 
92
                // get title
 
93
                if (x.getElementsByTagName('title').item(0))
 
94
                        document.getElementById('results_header').innerHTML = x.getElementsByTagName('title').item(0).firstChild.nodeValue;
 
95
                else
 
96
                        document.getElementById('results_header').innerHTML = "Výsledky vyhľadávania pre "+iq.getFrom();
 
97
 
 
98
                if (x.getElementsByTagName('reported').item(0) && x.getElementsByTagName('reported').item(0).getElementsByTagName('field').length) { // well - this should be there always
 
99
 
 
100
                        // get header
 
101
                        html += "<tr>";
 
102
                        for (var i=0 ; i<x.getElementsByTagName('reported').item(0).getElementsByTagName('field').length; i++) {
 
103
                                var aField = x.getElementsByTagName('reported').item(0).getElementsByTagName('field').item(i);
 
104
                                html += "<th var='"+aField.getAttribute('var')+"' nowrap>"+aField.getAttribute('label')+"</th>";
 
105
                        }
 
106
                        html += "</tr>";
 
107
 
 
108
                        // get items
 
109
                        for (var i=0; i<x.getElementsByTagName('item').length; i++) {
 
110
                                var item = x.getElementsByTagName('item').item(i);
 
111
                                
 
112
                                html += "<tr>";
 
113
                                for (var j=0 ; j<x.getElementsByTagName('reported').item(0).getElementsByTagName('field').length; j++) {
 
114
                                        var rField = x.getElementsByTagName('reported').item(0).getElementsByTagName('field').item(j);
 
115
                                        for (var k=0; k<item.getElementsByTagName('field').length; k++) {
 
116
                                                var iField = item.getElementsByTagName('field').item(k);
 
117
                                                if (rField.getAttribute('var') == iField.getAttribute('var')) { // matched
 
118
                                                        if (!iField.firstChild.firstChild)
 
119
                                                                html += "<td>&nbsp;</td>";
 
120
                                                        else
 
121
                                                                html += "<td nowrap>"+iField.firstChild.firstChild.nodeValue+"</td>";
 
122
                                                }
 
123
                                        }
 
124
                                }
 
125
                                
 
126
                                html += "</tr>";
 
127
                        }
 
128
                }
 
129
        } else if (iq.getNode().firstChild.getAttribute('xmlns') == 'jabber:iq:browse') {
 
130
                document.getElementById('results_header').innerHTML = "Výsledky vyhľadávania pre "+iq.getFrom();
 
131
 
 
132
                // set header
 
133
                html += "<tr><th>JID</th><th>Name</th></tr>";
 
134
 
 
135
                // fill in items
 
136
                for (var i=0; i<iq.getNode().firstChild.childNodes.length; i++) {
 
137
                        var item = iq.getNode().firstChild.childNodes.item(i);
 
138
                        html += "<tr>";
 
139
                        html += "<td>"+item.getAttribute('jid')+"</td>";
 
140
                        var val = item.getAttribute('name');
 
141
                        if (!val || val == '')
 
142
                                val = '&nbsp;';
 
143
                        html += "<td nowrap>"+val+"</td>";
 
144
                        html += "</tr>";
 
145
                }
 
146
        } else if (iq.getQueryXMLNS() == 'jabber:iq:search') {
 
147
                document.getElementById('results_header').innerHTML = "Výsledky vyhľadávania pre "+iq.getFrom();
 
148
 
 
149
                // set header
 
150
                html += "<tr><th>JID</th>";
 
151
                for (var j=0; j<document.forms['searchfields'].elements.length; j++)
 
152
                        html += "<th>"+document.forms['searchfields'].elements[j].name+"</th>";
 
153
                html += '<tr>';
 
154
 
 
155
                // fill in items
 
156
                for (var i=0; i<iq.getQuery().childNodes.length; i++) {
 
157
                        var item = iq.getQuery().childNodes.item(i);
 
158
                        html += "<tr>";
 
159
                        html += "<td>"+item.getAttribute('jid')+"</td>";
 
160
      for (var j=0; j<document.forms['searchfields'].elements.length; j++) {
 
161
        if (document.forms['searchfields'].elements[j].name != '' && item.getElementsByTagName(document.forms['searchfields'].elements[j].name).length > 0 && item.getElementsByTagName(document.forms['searchfields'].elements[j].name).item(0).firstChild)
 
162
          html += "<td nowrap>"+item.getElementsByTagName(document.forms['searchfields'].elements[j].name).item(0).firstChild.nodeValue+"</td>";
 
163
        else
 
164
          html += "<td nowrap>&nbsp;</td>";
 
165
      }
 
166
                }
 
167
        }
 
168
        
 
169
        html += "</table>";
 
170
        resultF.document.getElementById('results').innerHTML = html;
 
171
        resultF.init();
 
172
        
 
173
        return false;
 
174
}
 
175
 
 
176
function serviceSelected(selbox) {
 
177
        var el = selbox.options[selbox.selectedIndex];
 
178
 
 
179
        // clear box
 
180
        document.getElementById('searchfields').innerHTML = '';
 
181
 
 
182
        if (el.value == '')
 
183
                return;
 
184
 
 
185
        // query service
 
186
 
 
187
        var iq = new JSJaCIQ();
 
188
        iq.setType('get');
 
189
        iq.setTo(el.value);
 
190
        iq.setQuery('jabber:iq:search');
 
191
 
 
192
        me = this;
 
193
        srcW.con.send(iq,me.getSearchForm);
 
194
        return false;
 
195
}
 
196
 
 
197
function getSearchForm(iq) {
 
198
        if (!iq || iq.getType() != 'result') {
 
199
                document.getElementById('searchfields').innerHTML = "Vyskytla sa chyba\nUkončenie...";
 
200
                srcW.Debug.log("empty result",1);
 
201
                return false;
 
202
        }
 
203
        srcW.Debug.log(iq.getDoc().xml,2);
 
204
 
 
205
        // check if it's jabber:x:data
 
206
        var html = '';
 
207
        if (iq.getNode().getElementsByTagName('x').length && iq.getNode().getElementsByTagName('x').item(0).getAttribute('xmlns') == 'jabber:x:data') {
 
208
                html += genJabberXDataTable(iq.getNode().getElementsByTagName('x').item(0));
 
209
        } else {
 
210
 
 
211
                html = "<table>";
 
212
                if (iq.getNode().getElementsByTagName('instructions').item(0))
 
213
                        html += "<tr><th colspan=2>"+iq.getNode().getElementsByTagName('instructions').item(0).firstChild.nodeValue+"</th></tr>";
 
214
                
 
215
                for (var i=0; i<iq.getQuery().childNodes.length; i++) {
 
216
                        var aNode = iq.getQuery().childNodes.item(i);
 
217
                        if (aNode.nodeName == 'instructions')
 
218
                                continue;
 
219
                        if (aNode.nodeName == 'key')
 
220
                                html += "<tr><td colspan=2><input type=hidden value=\""+aNode.firstChild.nodeValue+"\"></td></tr>";
 
221
                        else {
 
222
                                if (aNode.firstChild)
 
223
                                        html += "<tr><td>"+aNode.nodeName+"&nbsp;</td><td><input type=\"text\" name=\""+aNode.nodeName+"\" value=\""+aNode.firstChild.nodeValue+"\"></td></tr>";
 
224
                                else
 
225
                                        html += "<tr><td>"+aNode.nodeName+"&nbsp;</td><td><input type=\"text\" name=\""+aNode.nodeName+"\"></td></tr>";
 
226
                        }
 
227
 
 
228
                }
 
229
                html += "</table>";
 
230
        }
 
231
        html += "<hr noshade size=1><div align=right><button onClick='return searchUser();'>"+"Hľadať"+"</button></div>";
 
232
 
 
233
        var searchfields = document.getElementById('searchfields');
 
234
        searchfields.innerHTML = html;
 
235
 
 
236
        return false;
 
237
}
 
238
 
 
239
var searchW = window;
 
240
var srcW;
 
241
function init() {
 
242
  // determine source window
 
243
  if (opener.srcW)
 
244
    srcW = opener.srcW;
 
245
  else
 
246
    srcW = opener;
 
247
 
 
248
  // init elements ...
 
249
  document.getElementById('search_results').style.display = 'none';
 
250
  document.getElementById('add_button').disabled = true;
 
251
  document.getElementById('info_button').disabled = true;
 
252
  // detect services
 
253
  var service = document.forms['service_select'].elements['service'];
 
254
  var optidx = 1;
 
255
  for (var i in srcW.disco) {
 
256
    if (!srcW.disco[i].getNode) continue;
 
257
    for (var j=0; j<srcW.disco[i].getNode().getElementsByTagName('feature').length; j++) {
 
258
      if (srcW.disco[i].getNode().getElementsByTagName('feature').item(j).getAttribute('var') == 'jabber:iq:search') {
 
259
        service.options[optidx++] = new Option(srcW.disco[i].getNode().getElementsByTagName('identity').item(0).getAttribute('name'),srcW.disco[i].getFrom());
 
260
        break;
 
261
      }
 
262
    }
 
263
  }
 
264
}
 
265
 
 
266
function keyPressed(e) {
 
267
  if (e.ctrlKey && e.keyCode == 13)
 
268
    submitClicked();
 
269
  else if (e.keyCode == 27)
 
270
    window.close();
 
271
}
 
272
onkeydown = keyPressed;
 
273
onload = init;
 
274
      //-->
 
275
    </script>
 
276
    <script for="document" event="onkeydown()" language="JScript">
 
277
      <!--
 
278
      if (window.event.ctrlKey && window.event.keyCode == 13)
 
279
      submitClicked();
 
280
      if (window.event.keyCode == 27)
 
281
      window.close();
 
282
      //-->
 
283
    </script>
 
284
                <style type="text/css">
 
285
                th { 
 
286
                        font-size: 12px; 
 
287
                        text-align: left;
 
288
                }
 
289
                .searchfield { padding: 4px; }
 
290
                </style>
 
291
  </head>
 
292
 
 
293
  <body style="margin: 8px;">
 
294
                <div id="search_form">
 
295
                <form name="service_select">
 
296
                Vyhľadaj na <select name="service" onChange="return serviceSelected(this);"><option value=''>- Vyberte adresár -</option></select>
 
297
                </form>
 
298
                <form name="searchfields" id="searchfields">
 
299
                </form>
 
300
                </div>
 
301
 
 
302
                <div id="search_results">
 
303
                <table height="100%" width="100%">
 
304
                <tr><td id="results_header">Zasielanie požiadavky...</td></tr>
 
305
                <tr><td height="100%" width="100%">
 
306
                <iframe src="search_iframe.html" id="resultF" name="resultF" scrolling="auto" style="width: 100%; height: 100%"></iframe>
 
307
                </td></tr>
 
308
                <tr><td align=right>
 
309
                <hr noshade size="1">
 
310
                <button id="info_button" onClick='return srcW.openUserInfo(resultF.selectedRow.childNodes[0].innerHTML);'><l>User Info<l></button>&nbsp;<button id="add_button" onClick='return srcW.openSubscription(resultF.selectedRow.childNodes[0].innerHTML);'><l>Add Contact<l></button>&nbsp;<button onClick='return back();'><l>Back<l></button>
 
311
                </td>
 
312
                </tr>
 
313
                <table>
 
314
                </div>
 
315
  </body>
 
316
</html>