root / trunk / web / dojo / dojox / xmpp / util.js @ 13
History | View | Annotate | Download (2.49 KB)
1 |
/*
|
---|---|
2 |
Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved.
|
3 |
Available via Academic Free License >= 2.1 OR the modified BSD license.
|
4 |
see: http://dojotoolkit.org/license for details
|
5 |
*/
|
6 |
|
7 |
|
8 |
if(!dojo._hasResource["dojox.xmpp.util"]){ |
9 |
dojo._hasResource["dojox.xmpp.util"]=true; |
10 |
dojo.provide("dojox.xmpp.util");
|
11 |
dojo.require("dojox.string.Builder");
|
12 |
dojo.require("dojox.encoding.base64");
|
13 |
dojox.xmpp.util.xmlEncode=function(_1){ |
14 |
if(_1){
|
15 |
_1=_1.replace("&","&").replace(">",">").replace("<","<").replace("'","'").replace("\"","""); |
16 |
} |
17 |
return _1;
|
18 |
}; |
19 |
dojox.xmpp.util.encodeJid=function(_2){ |
20 |
var _3=new dojox.string.Builder(); |
21 |
for(var i=0;i<_2.length;i++){ |
22 |
var ch=_2.charAt(i);
|
23 |
var _4=ch;
|
24 |
switch(ch){
|
25 |
case " ": |
26 |
_4="\\20";
|
27 |
break;
|
28 |
case "\"": |
29 |
_4="\\22";
|
30 |
break;
|
31 |
case "#": |
32 |
_4="\\23";
|
33 |
break;
|
34 |
case "&": |
35 |
_4="\\26";
|
36 |
break;
|
37 |
case "'": |
38 |
_4="\\27";
|
39 |
break;
|
40 |
case "/": |
41 |
_4="\\2f";
|
42 |
break;
|
43 |
case ":": |
44 |
_4="\\3a";
|
45 |
break;
|
46 |
case "<": |
47 |
_4="\\3c";
|
48 |
break;
|
49 |
case ">": |
50 |
_4="\\3e";
|
51 |
break;
|
52 |
} |
53 |
_3.append(_4); |
54 |
} |
55 |
return _3.toString();
|
56 |
}; |
57 |
dojox.xmpp.util.decodeJid=function(_5){ |
58 |
_5=_5.replace(/\\([23][02367acef])/g,function(_6){ |
59 |
switch(_6){
|
60 |
case "\\20": |
61 |
return " "; |
62 |
case "\\22": |
63 |
return "\""; |
64 |
case "\\23": |
65 |
return "#"; |
66 |
case "\\26": |
67 |
return "&"; |
68 |
case "\\27": |
69 |
return "'"; |
70 |
case "\\2f": |
71 |
return "/"; |
72 |
case "\\3a": |
73 |
return ":"; |
74 |
case "\\3c": |
75 |
return "<"; |
76 |
case "\\3e": |
77 |
return ">"; |
78 |
} |
79 |
return "ARG"; |
80 |
}); |
81 |
return _5;
|
82 |
}; |
83 |
dojox.xmpp.util.createElement=function(_7,_8,_9){ |
84 |
var _a=new dojox.string.Builder("<"); |
85 |
_a.append(_7+" ");
|
86 |
for(var _b in _8){ |
87 |
_a.append(_b+"=\"");
|
88 |
_a.append(_8[_b]); |
89 |
_a.append("\" ");
|
90 |
} |
91 |
if(_9){
|
92 |
_a.append("/>");
|
93 |
}else{
|
94 |
_a.append(">");
|
95 |
} |
96 |
return _a.toString();
|
97 |
}; |
98 |
dojox.xmpp.util.stripHtml=function(_c){ |
99 |
var re=/<[^>]*?>/gi; |
100 |
for(var i=0;i<arguments.length;i++){ |
101 |
} |
102 |
return _c.replace(re,""); |
103 |
}; |
104 |
dojox.xmpp.util.decodeHtmlEntities=function(_d){ |
105 |
var ta=dojo.doc.createElement("textarea"); |
106 |
ta.innerHTML=_d.replace(/</g,"<").replace(/>/g,">"); |
107 |
return ta.value;
|
108 |
}; |
109 |
dojox.xmpp.util.htmlToPlain=function(_e){ |
110 |
_e=dojox.xmpp.util.decodeHtmlEntities(_e); |
111 |
_e=_e.replace(/<br\s*[i\/]{0,1}>/gi,"\n"); |
112 |
_e=dojox.xmpp.util.stripHtml(_e); |
113 |
return _e;
|
114 |
}; |
115 |
dojox.xmpp.util.Base64={}; |
116 |
dojox.xmpp.util.Base64.encode=function(_f){ |
117 |
var s2b=function(s){ |
118 |
var b=[];
|
119 |
for(var i=0;i<s.length;++i){ |
120 |
b.push(s.charCodeAt(i)); |
121 |
} |
122 |
return b;
|
123 |
}; |
124 |
return dojox.encoding.base64.encode(s2b(_f));
|
125 |
}; |
126 |
dojox.xmpp.util.Base64.decode=function(_10){ |
127 |
var b2s=function(b){ |
128 |
var s=[];
|
129 |
dojo.forEach(b,function(c){
|
130 |
s.push(String.fromCharCode(c)); |
131 |
}); |
132 |
return s.join(""); |
133 |
}; |
134 |
return b2s(dojox.encoding.base64.decode(_10));
|
135 |
}; |
136 |
} |