root / trunk / web / dojo / dojox / xmpp / util.js @ 12
History | View | Annotate | Download (2.49 KB)
| 1 | 9 | andrej.cim | /*
|
|---|---|---|---|
| 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 | } |