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

« back to all changes in this revision

Viewing changes to search.html.ca_ES

  • Committer: Bazaar Package Importer
  • Author(s): Lincoln de Sousa, Lincoln de Sousa, Marcelo Jorge Vieira
  • Date: 2010-09-16 11:42:28 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20100916114228-5s5ne28n1w6wrfbl
Tags: 1.0+dfsg-1
[Lincoln de Sousa]

* Switch to dpkg-source 3.0 (quilt) format
* Migrating package from cdbs to debhelper 7.0.50~
* Changing the rule get-orig-source to generate a dfsg compatible
  package striping swf files from the orig (Closes: #591962)
* Updated Standards-Version to 3.9.1
* Removing po-debconf from the Build-Depends-Indep list.

[Marcelo Jorge Vieira]

* Fixing the default backend
* Fixing Debugger dependency
* Changing information about packaging from old maintainers to
  Debian XMPP Team.
* Removing sound support.
* Setting a port for apache VirtualHost.

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