Project

General

Profile

Statistics
| Revision:

root / trunk / web / dojo / dojox / xmpp / util.js @ 12

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("&","&amp;").replace(">","&gt;").replace("<","&lt;").replace("'","&apos;").replace("\"","&quot;");
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,"&lt;").replace(/>/g,"&gt;");
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
}