No regular expressions were active.
1 |
|
/**
|
|
1 |
|
/**
|
2 |
|
*
O
rca Intera
ctive Foru
m Script
|
|
2 |
|
*
O
rca Intera
ctive Foru
m Script
|
3 |
|
*
---------
------
|
|
3 |
|
*
---------
------
|
4 |
|
* Star
ted
: Mo
n Mar 23 2
006
|
|
4 |
|
* Star
ted
: Mo
n Mar 23 2
006
|
5 |
|
* Copy
right
: (C
) 2007 Boo
nEx Group
|
|
5 |
|
* Copy
right
: (C
) 2007 Boo
nEx Group
|
6 |
|
* Webs
ite
: ht
tp://www.b
oonex.com
|
|
6 |
|
* Webs
ite
: ht
tp://www.b
oonex.com
|
7 |
|
* This fil
e is part
of Orca -
Interactiv
e Forum Sc
ript
|
|
7 |
|
* This fil
e is part
of Orca -
Interactiv
e Forum Sc
ript
|
8 |
|
* GPL
|
|
8 |
|
* Creative
Commons A
ttribution
3.0 Licen
se
|
9 |
|
**/
|
|
9 |
|
**/
|
10 |
|
|
|
10 |
|
|
11 |
|
|
|
11 |
|
|
12 |
|
/**
|
|
12 |
|
/**
|
13 |
|
* xml/xsl
transform
ation
|
|
13 |
|
* xml/xsl
transform
ation
|
14 |
|
*/
|
|
14 |
|
*/
|
15 |
|
|
|
15 |
|
|
16 |
|
/**
|
|
16 |
|
/**
|
17 |
|
* constru
ctor
|
|
17 |
|
* constru
ctor
|
18 |
|
* ur
l_xml - ur
l with xml
data to o
pen
|
|
18 |
|
* ur
l_xml - ur
l with xml
data to o
pen
|
19 |
|
* ur
l_xsl - ur
l with xsl
data to m
erge with
xml
|
|
19 |
|
* ur
l_xsl - ur
l with xsl
data to m
erge with
xml
|
20 |
|
* h
- us
er handler
function
|
|
20 |
|
* h
- us
er handler
function
|
21 |
|
*/
|
|
21 |
|
*/
|
22 |
|
function B
xXslTransf
orm(url_xm
l, url_xsl
, h)
|
|
22 |
|
function B
xXslTransf
orm(url_xm
l, url_xsl
, h)
|
23 |
|
{
|
|
23 |
|
{
|
24 |
|
var r_
xsl;
|
|
24 |
|
var r_
xsl;
|
25 |
|
var r_
xml;
|
|
25 |
|
var r_
xml;
|
26 |
|
var no
_xsl = 0;
|
|
26 |
|
var no
_xsl = 0;
|
27 |
|
|
|
27 |
|
|
28 |
|
var sa
fari = nav
igator.ven
dor && nav
igator.ven
dor.search
('Apple')
> -1 ? tru
e : false;
|
|
28 |
|
var sa
fari = nav
igator.ven
dor && nav
igator.ven
dor.search
('Apple')
> -1 ? tru
e : false;
|
29 |
|
var ko
nq = navig
ator.vendo
r && navig
ator.vendo
r.search('
KDE') > -1
? true :
false;
|
|
29 |
|
var ko
nq = navig
ator.vendo
r && navig
ator.vendo
r.search('
KDE') > -1
? true :
false;
|
30 |
|
|
|
30 |
|
|
31 |
|
if (xs
l_mode !=
'client')
|
|
31 |
|
if (xs
l_mode !=
'client')
|
32 |
|
{
|
|
32 |
|
{
|
33 |
|
if
(xsl_mode
== 'serve
r' || (!wi
ndow.Activ
eXObject &
& !window.
XSLTProces
sor) || wi
ndow.opera
|| safari
|| konq)
|
|
33 |
|
if
(xsl_mode
== 'serve
r' || (!wi
ndow.Activ
eXObject &
& !window.
XSLTProces
sor) || wi
ndow.opera
|| safari
|| konq)
|
34 |
|
{
|
|
34 |
|
{
|
35 |
|
if
(url_xml.
indexOf ("
?") == -1)
|
|
35 |
|
if (url_
xml.indexO
f ("?") ==
-1)
|
36 |
|
url_xml
+= "?trans
=1";
|
|
36 |
|
url_xml
+= "?trans
=1";
|
37 |
|
el
se
|
|
37 |
|
else
|
38 |
|
url_xml
+= "&trans
=1";
|
|
38 |
|
url_xml
+= "&trans
=1";
|
39 |
|
|
|
39 |
|
|
40 |
|
no
_xsl = 1;
|
|
40 |
|
no_xsl =
1;
|
41 |
|
}
|
|
41 |
|
}
|
42 |
|
}
|
|
42 |
|
}
|
43 |
|
|
|
43 |
|
|
44 |
|
|
|
44 |
|
|
45 |
|
// xml
load hand
ler
|
|
45 |
|
// xml
load hand
ler
|
46 |
|
var h_
xml = func
tion (r)
|
|
46 |
|
var h_
xml = func
tion (r)
|
47 |
|
{
|
|
47 |
|
{
|
48 |
|
if
(r) // M
ozilla
|
|
48 |
|
if
(r) // M
ozilla
|
49 |
|
{
|
|
49 |
|
{
|
50 |
|
r_xml =
r;
|
|
50 |
|
r_xml =
r;
|
51 |
|
}
|
|
51 |
|
}
|
52 |
|
|
|
52 |
|
|
53 |
|
if
(r_xml.re
adyState =
= 4) // IE
|
|
53 |
|
if
(r_xml.re
adyState =
= 4) // IE
|
54 |
|
{
|
|
54 |
|
{
|
55 |
|
if (200
== r_xml.s
tatus || (
r_xml.pars
eError &&
!r_xml.par
seError.er
rorCode))
|
|
55 |
|
if (200
== r_xml.s
tatus || (
r_xml.pars
eError &&
!r_xml.par
seError.er
rorCode))
|
56 |
|
{
|
|
56 |
|
{
|
57 |
|
//
new
BxError("x
ml load fa
iled", r_x
ml.parseEr
ror.reason
);
|
|
57 |
|
//
new
BxError("x
ml load fa
iled", r_x
ml.parseEr
ror.reason
);
|
58 |
|
if (
(r_xsl &&
r_xsl.read
yState ==
4) || no_x
sl)
|
|
58 |
|
if (
(r_xsl &&
r_xsl.read
yState ==
4) || no_x
sl)
|
59 |
|
h_res (r_x
ml, r_xsl)
;
|
|
59 |
|
h_res (r_x
ml, r_xsl)
;
|
60 |
|
}
|
|
60 |
|
}
|
61 |
|
}
|
|
61 |
|
}
|
62 |
|
}
|
|
62 |
|
}
|
63 |
|
|
|
63 |
|
|
64 |
|
// xsl
load hand
ler
|
|
64 |
|
// xsl
load hand
ler
|
65 |
|
var h_
xsl = func
tion (r)
|
|
65 |
|
var h_
xsl = func
tion (r)
|
66 |
|
{
|
|
66 |
|
{
|
67 |
|
if
(r) // Mo
zilla
|
|
67 |
|
if
(r) // Mo
zilla
|
68 |
|
{
|
|
68 |
|
{
|
69 |
|
r_xsl =
r;
|
|
69 |
|
r_xsl =
r;
|
70 |
|
}
|
|
70 |
|
}
|
71 |
|
|
|
71 |
|
|
72 |
|
if
(r_xsl.re
adyState =
= 4) // IE
|
|
72 |
|
if
(r_xsl.re
adyState =
= 4) // IE
|
73 |
|
{
|
|
73 |
|
{
|
74 |
|
if (200
== r_xsl.s
tatus || (
r_xsl.pars
eError &&
!r_xsl.par
seError.er
rorCode))
|
|
74 |
|
if (200
== r_xsl.s
tatus || (
r_xsl.pars
eError &&
!r_xsl.par
seError.er
rorCode))
|
75 |
|
{
|
|
75 |
|
{
|
76 |
|
//
new
BxError("x
sl load fa
iled", r_x
sl.parseEr
ror.reason
);
|
|
76 |
|
//
new
BxError("x
sl load fa
iled", r_x
sl.parseEr
ror.reason
);
|
77 |
|
if (
r_xml && r
_xml.ready
State == 4
)
|
|
77 |
|
if (
r_xml && r
_xml.ready
State == 4
)
|
78 |
|
h_res (r_x
ml, r_xsl)
;
|
|
78 |
|
h_res (r_x
ml, r_xsl)
;
|
79 |
|
}
|
|
79 |
|
}
|
80 |
|
}
|
|
80 |
|
}
|
81 |
|
}
|
|
81 |
|
}
|
82 |
|
|
|
82 |
|
|
83 |
|
|
|
83 |
|
|
84 |
|
// it
fires afte
r both (xm
l and xsl
handlers)
functions
called
|
|
84 |
|
// it
fires afte
r both (xm
l and xsl
handlers)
functions
called
|
85 |
|
var h_
res = func
tion (r_xm
l, r_xsl)
|
|
85 |
|
var h_
res = func
tion (r_xm
l, r_xsl)
|
86 |
|
{
|
|
86 |
|
{
|
87 |
|
va
r f;
|
|
87 |
|
va
r f;
|
88 |
|
|
|
88 |
|
|
89 |
|
|
|
89 |
|
|
90 |
|
if
(no_xsl)
|
|
90 |
|
if
(no_xsl)
|
91 |
|
{
|
|
91 |
|
{
|
92 |
|
if (wind
ow.XMLSeri
alizer &&
r_xml.resp
onseXML &&
r_xml.res
ponseXML.f
irstChild)
|
|
92 |
|
if (wind
ow.XMLSeri
alizer &&
r_xml.resp
onseXML &&
r_xml.res
ponseXML.f
irstChild)
|
93 |
|
{
|
|
93 |
|
{
|
94 |
|
f =
((new XMLS
erializer(
)).seriali
zeToString
(r_xml.res
ponseXML))
;
|
|
94 |
|
f =
((new XMLS
erializer(
)).seriali
zeToString
(r_xml.res
ponseXML))
;
|
95 |
|
}
|
|
95 |
|
}
|
96 |
|
else
|
|
96 |
|
else
|
97 |
|
{
|
|
97 |
|
{
|
98 |
|
f =
r_xml.resp
onseText;
|
|
98 |
|
f =
r_xml.resp
onseText;
|
99 |
|
}
|
|
99 |
|
}
|
100 |
|
}
|
|
100 |
|
}
|
101 |
|
el
se
|
|
101 |
|
el
se
|
102 |
|
//
IE
|
|
102 |
|
//
IE
|
103 |
|
if
(window.Ac
tiveXObjec
t)
|
|
103 |
|
if
(window.Ac
tiveXObjec
t)
|
104 |
|
{
|
|
104 |
|
{
|
105 |
|
try
|
|
105 |
|
try
|
106 |
|
{
|
|
106 |
|
{
|
107 |
|
f =
r_xml.tran
sformNode
(r_xsl);
|
|
107 |
|
f =
r_xml.tran
sformNode
(r_xsl);
|
108 |
|
}
|
|
108 |
|
}
|
109 |
|
catch (e
)
|
|
109 |
|
catch (e
)
|
110 |
|
{
|
|
110 |
|
{
|
111 |
|
var
ee = new B
xError(e.m
essage, e.
descriptio
n);
|
|
111 |
|
var
ee = new B
xError(e.m
essage, e.
descriptio
n);
|
112 |
|
}
|
|
112 |
|
}
|
113 |
|
}
|
|
113 |
|
}
|
114 |
|
//
Mozilla
|
|
114 |
|
//
Mozilla
|
115 |
|
el
se if (win
dow.XSLTPr
ocessor)
|
|
115 |
|
el
se if (win
dow.XSLTPr
ocessor)
|
116 |
|
{
|
|
116 |
|
{
|
117 |
|
var x =
new XSLTPr
ocessor();
|
|
117 |
|
var x =
new XSLTPr
ocessor();
|
118 |
|
x.import
Stylesheet
(r_xsl.res
ponseXML);
|
|
118 |
|
x.import
Stylesheet
(r_xsl.res
ponseXML);
|
119 |
|
|
|
119 |
|
|
120 |
|
|
|
120 |
|
|
121 |
|
var ff =
x.transfo
rmToFragme
nt(r_xml.r
esponseXML
, window.d
ocument);
|
|
121 |
|
var ff =
x.transfo
rmToFragme
nt(r_xml.r
esponseXML
, window.d
ocument);
|
122 |
|
if (XMLS
erializer)
|
|
122 |
|
if (XMLS
erializer)
|
123 |
|
{
|
|
123 |
|
{
|
124 |
|
f =
((new XMLS
erializer(
)).seriali
zeToString
(ff));
|
|
124 |
|
f =
((new XMLS
erializer(
)).seriali
zeToString
(ff));
|
125 |
|
}
|
|
125 |
|
}
|
126 |
|
else
|
|
126 |
|
else
|
127 |
|
new
BxError("
xml
serializat
ion
failed
",
"
please
upgrade
your
browser
");
|
|
127 |
|
new
BxError("
[L[
xml
serializat
ion
failed
]]
",
"
[L[
please
upgrade
your
browser
]]
");
|
128 |
|
}
|
|
128 |
|
}
|
129 |
|
|
|
129 |
|
|
130 |
|
//
call user
defined h
andler fun
ction
|
|
130 |
|
//
call user
defined h
andler fun
ction
|
131 |
|
h
(f);
|
|
131 |
|
h
(f);
|
132 |
|
}
|
|
132 |
|
}
|
133 |
|
|
|
133 |
|
|
134 |
|
|
|
134 |
|
|
135 |
|
// oth
er browser
s
|
|
135 |
|
// oth
er browser
s
|
136 |
|
if (no
_xsl)
|
|
136 |
|
if (no
_xsl)
|
137 |
|
{
|
|
137 |
|
{
|
138 |
|
ne
w BxXmlReq
uest (url_
xml, h_xml
, true);
|
|
138 |
|
ne
w BxXmlReq
uest (url_
xml, h_xml
, true);
|
139 |
|
}
|
|
139 |
|
}
|
140 |
|
else
|
|
140 |
|
else
|
141 |
|
// IE
|
|
141 |
|
// IE
|
142 |
|
if (wi
ndow.Activ
eXObject)
|
|
142 |
|
if (wi
ndow.Activ
eXObject)
|
143 |
|
{
|
|
143 |
|
{
|
144 |
|
va
r b = new
ActiveXObj
ect("MSXML
2.DOMDocum
ent");
|
|
144 |
|
va
r b = new
ActiveXObj
ect("MSXML
2.DOMDocum
ent");
|
145 |
|
r_
xml = b;
|
|
145 |
|
r_
xml = b;
|
146 |
|
b.
async = tr
ue;
|
|
146 |
|
b.
async = tr
ue;
|
147 |
|
b.
load (url_
xml);
|
|
147 |
|
b.
load (url_
xml);
|
148 |
|
b.
onreadysta
techange =
h_xml;
|
|
148 |
|
b.
onreadysta
techange =
h_xml;
|
149 |
|
|
|
149 |
|
|
150 |
|
b
= new Acti
veXObject(
"MSXML2.DO
MDocument"
);
|
|
150 |
|
b
= new Acti
veXObject(
"MSXML2.DO
MDocument"
);
|
151 |
|
r_
xsl = b;
|
|
151 |
|
r_
xsl = b;
|
152 |
|
b.
async = tr
ue;
|
|
152 |
|
b.
async = tr
ue;
|
153 |
|
b.
load (url_
xsl);
|
|
153 |
|
b.
load (url_
xsl);
|
154 |
|
b.
onreadysta
techange =
h_xsl;
|
|
154 |
|
b.
onreadysta
techange =
h_xsl;
|
155 |
|
}
|
|
155 |
|
}
|
156 |
|
// Moz
illa
|
|
156 |
|
// Moz
illa
|
157 |
|
else i
f (window.
XSLTProces
sor)
|
|
157 |
|
else i
f (window.
XSLTProces
sor)
|
158 |
|
{
|
|
158 |
|
{
|
159 |
|
ne
w BxXmlReq
uest (url_
xml, h_xml
, true);
|
|
159 |
|
ne
w BxXmlReq
uest (url_
xml, h_xml
, true);
|
160 |
|
ne
w BxXmlReq
uest (url_
xsl, h_xsl
, true);
|
|
160 |
|
ne
w BxXmlReq
uest (url_
xsl, h_xsl
, true);
|
161 |
|
}
|
|
161 |
|
}
|
162 |
|
|
|
162 |
|
|
163 |
|
|
|
163 |
|
|
164 |
|
}
|
|
164 |
|
}
|