Trust the database (i.e. don't encode special characters twice)
[infodrom.org/www.zeitungsliste.de] / www / zlist.js
1 function zlist_encode(param)
2 {
3     var ret= '';
4
5     for (var i=0; i < param.length; i+=2) {
6         if (ret.length)
7             ret += '&';
8         ret += encodeURIComponent(param[i]) +'='+ encodeURIComponent(param[i+1])
9     }
10
11     return ret;
12 }
13
14 function zlist_fetch(func, param)
15 {
16   var request = false;
17   var formdata = null;
18
19   if (window.XMLHttpRequest)
20     request = new XMLHttpRequest();
21   else if (window.ActiveXObject)
22     request = new ActiveXObject('Microsoft.XMLHTTP');
23
24   if (!request)
25     return false;
26
27   request.open ('POST', zlist_urlbase + 'ajax.php', false);
28
29   formdata = 'function='+ encodeURIComponent(func);
30
31   if (param)
32       formdata += '&' + zlist_encode(param);
33
34   request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
35
36   request.send(formdata);
37
38   return eval(request.responseText);
39 }
40
41 function zlist_valid_email(email)
42 {
43     return zlist_fetch('check_email', ['email', email]);
44 }
45
46 function zlist_valid_url(url)
47 {
48     return zlist_fetch('check_url', ['url', url]);
49 }