summaryrefslogtreecommitdiff
path: root/pear/packages/XML_RPC-1.1.0.tar
blob: ec2466d77207c3681363de5c4286478f60e2b6e3 (plain)
ofshex dumpascii
0000 70 61 63 6b 61 67 65 2e 78 6d 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 package.xml.....................
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0060 00 00 00 00 31 30 30 36 36 34 20 00 20 20 20 37 36 34 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100664.....764.....764......
0080 20 20 20 34 34 32 33 20 31 30 30 32 35 33 35 36 35 36 36 20 20 20 36 34 30 32 20 00 00 00 00 00 ...4423.10025356566...6402......
00a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
00e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
01e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0200 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 22 31 2e 30 22 20 65 6e 63 6f 64 69 6e 67 3d 22 49 53 <?xml.version="1.0".encoding="IS
0220 4f 2d 38 38 35 39 2d 31 22 20 3f 3e 0a 3c 21 44 4f 43 54 59 50 45 20 70 61 63 6b 61 67 65 20 53 O-8859-1".?>.<!DOCTYPE.package.S
0240 59 53 54 45 4d 20 22 68 74 74 70 3a 2f 2f 70 65 61 72 2e 70 68 70 2e 6e 65 74 2f 64 74 64 2f 70 YSTEM."http://pear.php.net/dtd/p
0260 61 63 6b 61 67 65 2d 31 2e 30 22 3e 0a 3c 70 61 63 6b 61 67 65 20 76 65 72 73 69 6f 6e 3d 22 31 ackage-1.0">.<package.version="1
0280 2e 30 22 3e 0a 20 20 3c 6e 61 6d 65 3e 58 4d 4c 5f 52 50 43 3c 2f 6e 61 6d 65 3e 0a 20 20 3c 73 .0">...<name>XML_RPC</name>...<s
02a0 75 6d 6d 61 72 79 3e 50 48 50 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 ummary>PHP.implementation.of.the
02c0 20 58 4d 4c 2d 52 50 43 20 70 72 6f 74 6f 63 6f 6c 3c 2f 73 75 6d 6d 61 72 79 3e 0a 20 20 3c 64 .XML-RPC.protocol</summary>...<d
02e0 65 73 63 72 69 70 74 69 6f 6e 3e 54 68 69 73 20 69 73 20 61 20 50 45 41 52 2d 69 66 69 65 64 20 escription>This.is.a.PEAR-ified.
0300 76 65 72 73 69 6f 6e 20 6f 66 20 55 73 65 66 75 6c 20 69 6e 63 27 73 20 58 4d 4c 2d 52 50 43 0a version.of.Useful.inc's.XML-RPC.
0320 66 6f 72 20 50 48 50 2e 20 20 49 74 20 68 61 73 20 73 75 70 70 6f 72 74 20 66 6f 72 20 48 54 54 for.PHP...It.has.support.for.HTT
0340 50 20 74 72 61 6e 73 70 6f 72 74 2c 20 70 72 6f 78 69 65 73 20 61 6e 64 20 61 75 74 68 65 6e 74 P.transport,.proxies.and.authent
0360 69 63 61 74 69 6f 6e 2e 3c 2f 64 65 73 63 72 69 70 74 69 6f 6e 3e 0a 20 20 3c 6d 61 69 6e 74 61 ication.</description>...<mainta
0380 69 6e 65 72 73 3e 0a 20 20 20 20 3c 6d 61 69 6e 74 61 69 6e 65 72 3e 0a 20 20 20 20 20 20 3c 75 iners>.....<maintainer>.......<u
03a0 73 65 72 3e 73 73 62 3c 2f 75 73 65 72 3e 0a 20 20 20 20 20 20 3c 6e 61 6d 65 3e 53 74 69 67 20 ser>ssb</user>.......<name>Stig.
03c0 53 e6 74 68 65 72 20 42 61 6b 6b 65 6e 3c 2f 6e 61 6d 65 3e 0a 20 20 20 20 20 20 3c 65 6d 61 69 S.ther.Bakken</name>.......<emai
03e0 6c 3e 73 74 69 67 40 70 68 70 2e 6e 65 74 3c 2f 65 6d 61 69 6c 3e 0a 20 20 20 20 20 20 3c 72 6f l>stig@php.net</email>.......<ro
0400 6c 65 3e 6c 65 61 64 3c 2f 72 6f 6c 65 3e 0a 20 20 20 20 3c 2f 6d 61 69 6e 74 61 69 6e 65 72 3e le>lead</role>.....</maintainer>
0420 0a 20 20 3c 2f 6d 61 69 6e 74 61 69 6e 65 72 73 3e 0a 20 20 3c 72 65 6c 65 61 73 65 3e 0a 20 20 ...</maintainers>...<release>...
0440 20 20 3c 76 65 72 73 69 6f 6e 3e 31 2e 31 2e 30 3c 2f 76 65 72 73 69 6f 6e 3e 0a 20 20 20 20 3c ..<version>1.1.0</version>.....<
0460 64 61 74 65 3e 32 30 30 33 2d 30 33 2d 31 35 3c 2f 64 61 74 65 3e 0a 20 20 20 20 3c 6c 69 63 65 date>2003-03-15</date>.....<lice
0480 6e 73 65 3e 50 48 50 20 4c 69 63 65 6e 73 65 3c 2f 6c 69 63 65 6e 73 65 3e 0a 20 20 20 20 3c 73 nse>PHP.License</license>.....<s
04a0 74 61 74 65 3e 73 74 61 62 6c 65 3c 2f 73 74 61 74 65 3e 0a 20 20 20 20 3c 6e 6f 74 65 73 3e 2d tate>stable</state>.....<notes>-
04c0 20 41 64 64 65 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 73 65 71 75 65 6e 74 69 61 6c 20 61 72 .Added.support.for.sequential.ar
04e0 72 61 79 73 20 74 6f 20 58 4d 4c 5f 52 50 43 5f 65 6e 63 6f 64 65 28 29 20 28 6d 72 6f 63 68 29 rays.to.XML_RPC_encode().(mroch)
0500 0a 2d 20 43 6c 65 61 6e 65 64 20 75 70 20 6e 65 77 20 58 4d 4c 5f 52 50 43 5f 65 6e 63 6f 64 65 .-.Cleaned.up.new.XML_RPC_encode
0520 28 29 20 63 68 61 6e 67 65 73 20 61 20 62 69 74 20 28 6d 72 6f 63 68 2c 20 70 69 65 72 72 65 29 ().changes.a.bit.(mroch,.pierre)
0540 0a 2d 20 52 65 6d 6f 76 65 20 26 71 75 6f 74 3b 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 27 50 45 .-.Remove.&quot;require_once.'PE
0560 41 52 2e 70 68 70 27 26 71 75 6f 74 3b 2c 20 69 6e 63 6c 75 64 65 20 6f 6e 6c 79 20 77 68 65 6e AR.php'&quot;,.include.only.when
0580 20 6e 65 65 64 65 64 20 74 6f 20 72 61 69 73 65 20 61 6e 20 65 72 72 6f 72 0a 2d 20 52 65 70 6c .needed.to.raise.an.error.-.Repl
05a0 61 63 65 20 65 63 68 6f 20 61 6e 64 20 65 72 72 6f 72 5f 6c 6f 67 28 29 20 77 69 74 68 20 72 61 ace.echo.and.error_log().with.ra
05c0 69 73 65 45 72 72 6f 72 28 29 20 28 6d 72 6f 63 68 29 0a 2d 20 4d 61 6b 65 20 61 6c 6c 20 63 6c iseError().(mroch).-.Make.all.cl
05e0 61 73 73 65 73 20 65 78 74 65 6e 64 20 58 4d 4c 5f 52 50 43 5f 42 61 73 65 2c 20 77 68 69 63 68 asses.extend.XML_RPC_Base,.which
0600 20 77 69 6c 6c 20 68 61 6e 64 6c 65 20 63 6f 6d 6d 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 20 20 28 .will.handle.common.functions..(
0620 6d 72 6f 63 68 29 0a 2d 20 62 65 20 74 6f 6c 65 72 61 6e 74 20 6f 66 20 6a 75 6e 6b 20 61 66 74 mroch).-.be.tolerant.of.junk.aft
0640 65 72 20 6d 65 74 68 6f 64 52 65 73 70 6f 6e 73 65 20 28 4c 75 63 61 20 4d 61 72 69 61 6e 6f 2c er.methodResponse.(Luca.Mariano,
0660 20 6d 72 6f 63 68 29 0a 2d 20 53 69 6c 65 6e 74 20 6e 6f 74 69 63 65 20 65 76 65 6e 20 69 6e 20 .mroch).-.Silent.notice.even.in.
0680 74 68 65 20 65 72 72 6f 72 20 6c 6f 67 20 28 70 69 65 72 72 65 29 0a 2d 20 66 69 78 20 69 6e 63 the.error.log.(pierre).-.fix.inc
06a0 6c 75 64 65 20 6f 66 20 73 68 61 72 65 64 20 78 6d 6c 20 65 78 74 65 6e 73 69 6f 6e 20 6f 6e 20 lude.of.shared.xml.extension.on.
06c0 77 69 6e 33 32 20 28 70 69 65 72 72 65 29 3c 2f 6e 6f 74 65 73 3e 0a 20 20 20 20 3c 66 69 6c 65 win32.(pierre)</notes>.....<file
06e0 6c 69 73 74 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 70 68 70 22 20 62 61 73 list>.......<file.role="php".bas
0700 65 69 6e 73 74 61 6c 6c 64 69 72 3d 22 58 4d 4c 22 20 6e 61 6d 65 3d 22 52 50 43 2e 70 68 70 22 einstalldir="XML".name="RPC.php"
0720 2f 3e 0a 20 20 20 20 20 20 3c 66 69 6c 65 20 72 6f 6c 65 3d 22 70 68 70 22 20 62 61 73 65 69 6e />.......<file.role="php".basein
0740 73 74 61 6c 6c 64 69 72 3d 22 58 4d 4c 2f 52 50 43 22 20 6e 61 6d 65 3d 22 53 65 72 76 65 72 2e stalldir="XML/RPC".name="Server.
0760 70 68 70 22 2f 3e 0a 20 20 20 20 3c 2f 66 69 6c 65 6c 69 73 74 3e 0a 20 20 3c 2f 72 65 6c 65 61 php"/>.....</filelist>...</relea
0780 73 65 3e 0a 20 20 3c 63 68 61 6e 67 65 6c 6f 67 3e 0a 20 20 20 20 3c 72 65 6c 65 61 73 65 3e 0a se>...<changelog>.....<release>.
07a0 20 20 20 20 20 20 3c 76 65 72 73 69 6f 6e 3e 31 2e 30 2e 34 3c 2f 76 65 72 73 69 6f 6e 3e 0a 20 ......<version>1.0.4</version>..
07c0 20 20 20 20 20 3c 64 61 74 65 3e 32 30 30 32 2d 31 30 2d 30 32 3c 2f 64 61 74 65 3e 0a 20 20 20 .....<date>2002-10-02</date>....
07e0 20 20 20 3c 73 74 61 74 65 3e 73 74 61 62 6c 65 3c 2f 73 74 61 74 65 3e 0a 20 20 20 20 20 20 3c ...<state>stable</state>.......<
0800 6e 6f 74 65 73 3e 2a 20 61 64 64 65 64 20 48 54 54 50 20 70 72 6f 78 79 20 61 75 74 68 6f 72 69 notes>*.added.HTTP.proxy.authori
0820 7a 61 74 69 6f 6e 20 73 75 70 70 6f 72 74 20 28 74 68 61 6e 6b 73 20 74 6f 20 41 72 6e 61 75 64 zation.support.(thanks.to.Arnaud
0840 20 4c 69 6d 62 6f 75 72 67 29 0a 3c 2f 6e 6f 74 65 73 3e 0a 20 20 20 20 3c 2f 72 65 6c 65 61 73 .Limbourg).</notes>.....</releas
0860 65 3e 0a 20 20 20 20 3c 72 65 6c 65 61 73 65 3e 0a 20 20 20 20 20 20 3c 76 65 72 73 69 6f 6e 3e e>.....<release>.......<version>
0880 31 2e 30 2e 33 3c 2f 76 65 72 73 69 6f 6e 3e 0a 20 20 20 20 20 20 3c 64 61 74 65 3e 32 30 30 32 1.0.3</version>.......<date>2002
08a0 2d 30 35 2d 31 39 3c 2f 64 61 74 65 3e 0a 20 20 20 20 20 20 3c 73 74 61 74 65 3e 73 74 61 62 6c -05-19</date>.......<state>stabl
08c0 65 3c 2f 73 74 61 74 65 3e 0a 20 20 20 20 20 20 3c 6e 6f 74 65 73 3e 2a 20 66 69 78 20 62 75 67 e</state>.......<notes>*.fix.bug
08e0 20 77 68 65 6e 20 70 61 72 73 69 6e 67 20 72 65 73 70 6f 6e 73 65 73 20 77 69 74 68 20 62 6f 6f .when.parsing.responses.with.boo
0900 6c 65 61 6e 20 74 79 70 65 73 0a 0a 3c 2f 6e 6f 74 65 73 3e 0a 20 20 20 20 3c 2f 72 65 6c 65 61 lean.types..</notes>.....</relea
0920 73 65 3e 0a 20 20 20 20 3c 72 65 6c 65 61 73 65 3e 0a 20 20 20 20 20 20 3c 76 65 72 73 69 6f 6e se>.....<release>.......<version
0940 3e 31 2e 30 2e 32 3c 2f 76 65 72 73 69 6f 6e 3e 0a 20 20 20 20 20 20 3c 64 61 74 65 3e 32 30 30 >1.0.2</version>.......<date>200
0960 32 2d 30 34 2d 31 36 3c 2f 64 61 74 65 3e 0a 20 20 20 20 20 20 3c 73 74 61 74 65 3e 73 74 61 62 2-04-16</date>.......<state>stab
0980 6c 65 3c 2f 73 74 61 74 65 3e 0a 20 20 20 20 20 20 3c 6e 6f 74 65 73 3e 2a 20 45 5f 41 4c 4c 20 le</state>.......<notes>*.E_ALL.
09a0 66 69 78 65 73 0a 2a 20 66 69 78 20 48 54 54 50 20 72 65 73 70 6f 6e 73 65 20 68 65 61 64 65 72 fixes.*.fix.HTTP.response.header
09c0 20 70 61 72 73 69 6e 67 0a 0a 3c 2f 6e 6f 74 65 73 3e 0a 20 20 20 20 3c 2f 72 65 6c 65 61 73 65 .parsing..</notes>.....</release
09e0 3e 0a 20 20 20 20 3c 72 65 6c 65 61 73 65 3e 0a 20 20 20 20 20 20 3c 76 65 72 73 69 6f 6e 3e 31 >.....<release>.......<version>1
0a00 2e 30 2e 31 3c 2f 76 65 72 73 69 6f 6e 3e 0a 20 20 20 20 20 20 3c 64 61 74 65 3e 32 30 30 31 2d .0.1</version>.......<date>2001-
0a20 30 39 2d 32 35 3c 2f 64 61 74 65 3e 0a 20 20 20 20 20 20 3c 73 74 61 74 65 3e 73 74 61 62 6c 65 09-25</date>.......<state>stable
0a40 3c 2f 73 74 61 74 65 3e 0a 20 20 20 20 20 20 3c 6e 6f 74 65 73 3e 54 68 69 73 20 69 73 20 61 20 </state>.......<notes>This.is.a.
0a60 50 45 41 52 2d 69 66 69 65 64 20 76 65 72 73 69 6f 6e 20 6f 66 20 55 73 65 66 75 6c 20 49 6e 63 PEAR-ified.version.of.Useful.Inc
0a80 27 73 20 31 2e 30 2e 31 20 72 65 6c 65 61 73 65 2e 0a 49 6e 63 6c 75 64 65 73 20 61 6e 20 75 72 's.1.0.1.release..Includes.an.ur
0aa0 67 65 6e 74 20 73 65 63 75 72 69 74 79 20 66 69 78 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 gent.security.fix.identified.by.
0ac0 44 61 6e 20 4c 69 62 62 79 20 26 6c 74 3b 64 61 6e 40 6c 69 62 62 79 2e 63 6f 6d 26 67 74 3b 2e Dan.Libby.&lt;dan@libby.com&gt;.
0ae0 0a 3c 2f 6e 6f 74 65 73 3e 0a 20 20 20 20 3c 2f 72 65 6c 65 61 73 65 3e 0a 20 20 3c 2f 63 68 61 .</notes>.....</release>...</cha
0b00 6e 67 65 6c 6f 67 3e 0a 3c 2f 70 61 63 6b 61 67 65 3e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 ngelog>.</package>..............
0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c00 58 4d 4c 5f 52 50 43 2d 31 2e 31 2e 30 2f 52 50 43 2e 70 68 70 00 00 00 00 00 00 00 00 00 00 00 XML_RPC-1.1.0/RPC.php...........
0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c60 00 00 00 00 31 30 30 36 36 34 20 00 20 20 20 37 36 34 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100664.....764.....764......
0c80 20 31 30 34 32 36 30 20 31 30 30 32 35 33 33 32 33 36 30 20 20 20 37 32 34 33 20 00 00 00 00 00 .104260.10025332360...7243......
0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e00 3c 3f 70 68 70 0a 2f 2f 20 2f 2a 20 76 69 6d 3a 20 73 65 74 20 65 78 70 61 6e 64 74 61 62 20 74 <?php.//./*.vim:.set.expandtab.t
0e20 61 62 73 74 6f 70 3d 34 20 73 68 69 66 74 77 69 64 74 68 3d 34 3a 20 2a 2f 0a 2f 2f 20 62 79 20 abstop=4.shiftwidth=4:.*/.//.by.
0e40 45 64 64 20 44 75 6d 62 69 6c 6c 20 28 43 29 20 31 39 39 39 2d 32 30 30 31 0a 2f 2f 20 3c 65 64 Edd.Dumbill.(C).1999-2001.//.<ed
0e60 64 40 75 73 65 66 75 6c 69 6e 63 2e 63 6f 6d 3e 0a 2f 2f 20 24 49 64 3a 20 52 50 43 2e 70 68 70 d@usefulinc.com>.//.$Id:.RPC.php
0e80 2c 76 20 31 2e 32 31 20 32 30 30 34 2f 30 33 2f 31 35 20 31 33 3a 35 31 3a 34 34 20 70 61 6a 6f ,v.1.21.2004/03/15.13:51:44.pajo
0ea0 79 65 20 45 78 70 20 24 0a 0a 2f 2f 20 4c 69 63 65 6e 73 65 20 69 73 20 67 72 61 6e 74 65 64 20 ye.Exp.$..//.License.is.granted.
0ec0 74 6f 20 75 73 65 20 6f 72 20 6d 6f 64 69 66 79 20 74 68 69 73 20 73 6f 66 74 77 61 72 65 20 28 to.use.or.modify.this.software.(
0ee0 22 58 4d 4c 2d 52 50 43 20 66 6f 72 20 50 48 50 22 29 0a 2f 2f 20 66 6f 72 20 63 6f 6d 6d 65 72 "XML-RPC.for.PHP").//.for.commer
0f00 63 69 61 6c 20 6f 72 20 6e 6f 6e 2d 63 6f 6d 6d 65 72 63 69 61 6c 20 75 73 65 20 70 72 6f 76 69 cial.or.non-commercial.use.provi
0f20 64 65 64 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 6f 66 20 74 68 65 20 61 75 74 68 6f 72 0a ded.the.copyright.of.the.author.
0f40 2f 2f 20 69 73 20 70 72 65 73 65 72 76 65 64 20 69 6e 20 61 6e 79 20 64 69 73 74 72 69 62 75 74 //.is.preserved.in.any.distribut
0f60 65 64 20 6f 72 20 64 65 72 69 76 61 74 69 76 65 20 77 6f 72 6b 2e 0a 0a 2f 2f 20 54 48 49 53 20 ed.or.derivative.work...//.THIS.
0f80 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 42 59 20 54 48 45 20 41 55 54 48 SOFTWARE.IS.PROVIDED.BY.THE.AUTH
0fa0 4f 52 20 60 60 41 53 20 49 53 27 27 20 41 4e 44 20 41 4e 59 20 45 58 50 52 45 53 53 45 44 20 4f OR.``AS.IS''.AND.ANY.EXPRESSED.O
0fc0 52 0a 2f 2f 20 49 4d 50 4c 49 45 44 20 57 41 52 52 41 4e 54 49 45 53 2c 20 49 4e 43 4c 55 44 49 R.//.IMPLIED.WARRANTIES,.INCLUDI
0fe0 4e 47 2c 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 2c 20 54 48 45 20 49 4d 50 4c NG,.BUT.NOT.LIMITED.TO,.THE.IMPL
1000 49 45 44 20 57 41 52 52 41 4e 54 49 45 53 0a 2f 2f 20 4f 46 20 4d 45 52 43 48 41 4e 54 41 42 49 IED.WARRANTIES.//.OF.MERCHANTABI
1020 4c 49 54 59 20 41 4e 44 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 LITY.AND.FITNESS.FOR.A.PARTICULA
1040 52 20 50 55 52 50 4f 53 45 20 41 52 45 20 44 49 53 43 4c 41 49 4d 45 44 2e 0a 2f 2f 20 49 4e 20 R.PURPOSE.ARE.DISCLAIMED..//.IN.
1060 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 20 41 55 54 48 4f 52 20 42 45 20 4c 49 41 NO.EVENT.SHALL.THE.AUTHOR.BE.LIA
1080 42 4c 45 20 46 4f 52 20 41 4e 59 20 44 49 52 45 43 54 2c 20 49 4e 44 49 52 45 43 54 2c 0a 2f 2f BLE.FOR.ANY.DIRECT,.INDIRECT,.//
10a0 20 49 4e 43 49 44 45 4e 54 41 4c 2c 20 53 50 45 43 49 41 4c 2c 20 45 58 45 4d 50 4c 41 52 59 2c .INCIDENTAL,.SPECIAL,.EXEMPLARY,
10c0 20 4f 52 20 43 4f 4e 53 45 51 55 45 4e 54 49 41 4c 20 44 41 4d 41 47 45 53 20 28 49 4e 43 4c 55 .OR.CONSEQUENTIAL.DAMAGES.(INCLU
10e0 44 49 4e 47 2c 20 42 55 54 0a 2f 2f 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 2c 20 50 52 4f DING,.BUT.//.NOT.LIMITED.TO,.PRO
1100 43 55 52 45 4d 45 4e 54 20 4f 46 20 53 55 42 53 54 49 54 55 54 45 20 47 4f 4f 44 53 20 4f 52 20 CUREMENT.OF.SUBSTITUTE.GOODS.OR.
1120 53 45 52 56 49 43 45 53 3b 20 4c 4f 53 53 20 4f 46 20 55 53 45 2c 0a 2f 2f 20 44 41 54 41 2c 20 SERVICES;.LOSS.OF.USE,.//.DATA,.
1140 4f 52 20 50 52 4f 46 49 54 53 3b 20 4f 52 20 42 55 53 49 4e 45 53 53 20 49 4e 54 45 52 52 55 50 OR.PROFITS;.OR.BUSINESS.INTERRUP
1160 54 49 4f 4e 29 20 48 4f 57 45 56 45 52 20 43 41 55 53 45 44 20 41 4e 44 20 4f 4e 20 41 4e 59 0a TION).HOWEVER.CAUSED.AND.ON.ANY.
1180 2f 2f 20 54 48 45 4f 52 59 20 4f 46 20 4c 49 41 42 49 4c 49 54 59 2c 20 57 48 45 54 48 45 52 20 //.THEORY.OF.LIABILITY,.WHETHER.
11a0 49 4e 20 43 4f 4e 54 52 41 43 54 2c 20 53 54 52 49 43 54 20 4c 49 41 42 49 4c 49 54 59 2c 20 4f IN.CONTRACT,.STRICT.LIABILITY,.O
11c0 52 20 54 4f 52 54 0a 2f 2f 20 28 49 4e 43 4c 55 44 49 4e 47 20 4e 45 47 4c 49 47 45 4e 43 45 20 R.TORT.//.(INCLUDING.NEGLIGENCE.
11e0 4f 52 20 4f 54 48 45 52 57 49 53 45 29 20 41 52 49 53 49 4e 47 20 49 4e 20 41 4e 59 20 57 41 59 OR.OTHERWISE).ARISING.IN.ANY.WAY
1200 20 4f 55 54 20 4f 46 20 54 48 45 20 55 53 45 20 4f 46 0a 2f 2f 20 54 48 49 53 20 53 4f 46 54 57 .OUT.OF.THE.USE.OF.//.THIS.SOFTW
1220 41 52 45 2c 20 45 56 45 4e 20 49 46 20 41 44 56 49 53 45 44 20 4f 46 20 54 48 45 20 50 4f 53 53 ARE,.EVEN.IF.ADVISED.OF.THE.POSS
1240 49 42 49 4c 49 54 59 20 4f 46 20 53 55 43 48 20 44 41 4d 41 47 45 2e 0a 0a 2f 2f 20 41 64 61 70 IBILITY.OF.SUCH.DAMAGE...//.Adap
1260 74 65 64 20 74 6f 20 50 45 41 52 20 73 74 61 6e 64 61 72 64 73 20 62 79 20 53 74 69 67 20 53 ef ted.to.PEAR.standards.by.Stig.S.
1280 bf bd 68 65 72 20 42 61 6b 6b 65 6e 20 3c 73 74 69 67 40 70 68 70 2e 6e 65 74 3e 20 61 6e 64 0a ..her.Bakken.<stig@php.net>.and.
12a0 2f 2f 20 4d 61 72 74 69 6e 20 4a 61 6e 73 65 6e 20 3c 6d 6a 40 70 68 70 2e 6e 65 74 3e 0a 2f 2f //.Martin.Jansen.<mj@php.net>.//
12c0 20 2f 2a 20 24 69 64 24 20 2a 2f 0a 0a 69 66 20 28 21 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 ./*.$id$.*/..if.(!function_exist
12e0 73 28 27 78 6d 6c 5f 70 61 72 73 65 72 5f 63 72 65 61 74 65 27 29 29 20 7b 0a 2f 2f 20 57 69 6e s('xml_parser_create')).{.//.Win
1300 20 33 32 20 66 69 78 2e 20 46 72 6f 6d 3a 20 22 4c 65 6f 20 57 65 73 74 22 20 3c 6c 77 65 73 74 .32.fix..From:."Leo.West".<lwest
1320 40 69 6d 61 67 69 6e 65 74 2e 66 72 3e 0a 20 20 20 20 69 66 20 28 24 57 49 4e 44 49 52 29 20 7b @imaginet.fr>.....if.($WINDIR).{
1340 0a 20 20 20 20 20 20 20 20 64 6c 28 22 70 68 70 5f 78 6d 6c 2e 64 6c 6c 22 29 3b 0a 20 20 20 20 .........dl("php_xml.dll");.....
1360 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 64 6c 28 22 78 6d 6c 2e 73 6f 22 29 3b 0a 20 }.else.{.........dl("xml.so");..
1380 20 20 20 7d 0a 7d 0a 0a 64 65 66 69 6e 65 28 27 58 4d 4c 5f 52 50 43 5f 45 52 52 4f 52 5f 49 4e ...}.}..define('XML_RPC_ERROR_IN
13a0 56 41 4c 49 44 5f 54 59 50 45 27 2c 20 20 20 20 20 20 20 20 31 30 31 29 3b 0a 64 65 66 69 6e 65 VALID_TYPE',........101);.define
13c0 28 27 58 4d 4c 5f 52 50 43 5f 45 52 52 4f 52 5f 4e 4f 4e 5f 4e 55 4d 45 52 49 43 5f 46 4f 55 4e ('XML_RPC_ERROR_NON_NUMERIC_FOUN
13e0 44 27 2c 20 20 20 31 30 32 29 3b 0a 64 65 66 69 6e 65 28 27 58 4d 4c 5f 52 50 43 5f 45 52 52 4f D',...102);.define('XML_RPC_ERRO
1400 52 5f 43 4f 4e 4e 45 43 54 49 4f 4e 5f 46 41 49 4c 45 44 27 2c 20 20 20 31 30 33 29 3b 0a 64 65 R_CONNECTION_FAILED',...103);.de
1420 66 69 6e 65 28 27 58 4d 4c 5f 52 50 43 5f 45 52 52 4f 52 5f 41 4c 52 45 41 44 59 5f 49 4e 49 54 fine('XML_RPC_ERROR_ALREADY_INIT
1440 49 41 4c 49 5a 45 44 27 2c 20 31 30 34 29 3b 0a 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 IALIZED',.104);..$GLOBALS['XML_R
1460 50 43 5f 49 34 27 5d 20 3d 20 22 69 34 22 3b 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 PC_I4'].=."i4";.$GLOBALS['XML_RP
1480 43 5f 49 6e 74 27 5d 20 3d 20 22 69 6e 74 22 3b 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 C_Int'].=."int";.$GLOBALS['XML_R
14a0 50 43 5f 42 6f 6f 6c 65 61 6e 27 5d 20 3d 20 22 62 6f 6f 6c 65 61 6e 22 3b 0a 24 47 4c 4f 42 41 PC_Boolean'].=."boolean";.$GLOBA
14c0 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f 44 6f 75 62 6c 65 27 5d 20 3d 20 22 64 6f 75 62 6c 65 22 3b LS['XML_RPC_Double'].=."double";
14e0 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f 53 74 72 69 6e 67 27 5d 20 3d 20 22 73 .$GLOBALS['XML_RPC_String'].=."s
1500 74 72 69 6e 67 22 3b 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f 44 61 74 65 54 69 tring";.$GLOBALS['XML_RPC_DateTi
1520 6d 65 27 5d 20 3d 20 22 64 61 74 65 54 69 6d 65 2e 69 73 6f 38 36 30 31 22 3b 0a 24 47 4c 4f 42 me'].=."dateTime.iso8601";.$GLOB
1540 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f 42 61 73 65 36 34 27 5d 20 3d 20 22 62 61 73 65 36 34 22 ALS['XML_RPC_Base64'].=."base64"
1560 3b 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f 41 72 72 61 79 27 5d 20 3d 20 22 61 ;.$GLOBALS['XML_RPC_Array'].=."a
1580 72 72 61 79 22 3b 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f 53 74 72 75 63 74 27 rray";.$GLOBALS['XML_RPC_Struct'
15a0 5d 20 3d 20 22 73 74 72 75 63 74 22 3b 0a 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 ].=."struct";..$GLOBALS['XML_RPC
15c0 5f 54 79 70 65 73 27 5d 20 3d 20 61 72 72 61 79 28 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 _Types'].=.array($GLOBALS['XML_R
15e0 50 43 5f 49 34 27 5d 20 3d 3e 20 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 PC_I4'].=>.1,...................
1600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f ..............$GLOBALS['XML_RPC_
1620 49 6e 74 27 5d 20 3d 3e 20 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Int'].=>.1,.....................
1640 20 20 20 20 20 20 20 20 20 20 20 20 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f 42 6f ............$GLOBALS['XML_RPC_Bo
1660 6f 6c 65 61 6e 27 5d 20 3d 3e 20 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 olean'].=>.1,...................
1680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f ..............$GLOBALS['XML_RPC_
16a0 53 74 72 69 6e 67 27 5d 20 3d 3e 20 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 String'].=>.1,..................
16c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 ...............$GLOBALS['XML_RPC
16e0 5f 44 6f 75 62 6c 65 27 5d 20 3d 3e 20 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 _Double'].=>.1,.................
1700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 ................$GLOBALS['XML_RP
1720 43 5f 44 61 74 65 54 69 6d 65 27 5d 20 3d 3e 20 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 C_DateTime'].=>.1,..............
1740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c ...................$GLOBALS['XML
1760 5f 52 50 43 5f 42 61 73 65 36 34 27 5d 20 3d 3e 20 31 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 _RPC_Base64'].=>.1,.............
1780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 47 4c 4f 42 41 4c 53 5b 27 58 4d ....................$GLOBALS['XM
17a0 4c 5f 52 50 43 5f 41 72 72 61 79 27 5d 20 3d 3e 20 32 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 L_RPC_Array'].=>.2,.............
17c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 47 4c 4f 42 41 4c 53 5b 27 58 4d ....................$GLOBALS['XM
17e0 4c 5f 52 50 43 5f 53 74 72 75 63 74 27 5d 20 3d 3e 20 33 29 3b 0a 0a 24 47 4c 4f 42 41 4c 53 5b L_RPC_Struct'].=>.3);..$GLOBALS[
1800 27 58 4d 4c 5f 52 50 43 5f 65 6e 74 69 74 69 65 73 27 5d 20 3d 20 61 72 72 61 79 28 22 71 75 6f 'XML_RPC_entities'].=.array("quo
1820 74 22 20 3d 3e 20 27 22 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t".=>.'"',......................
1840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 61 6d 70 22 20 3d 3e 20 22 26 22 2c 0a 20 20 ................"amp".=>."&",...
1860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1880 20 20 20 22 6c 74 22 20 3d 3e 20 22 3c 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..."lt".=>."<",.................
18a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 67 74 22 20 3d 3e 20 22 3e 22 ....................."gt".=>.">"
18c0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ,...............................
18e0 20 20 20 20 20 20 20 22 61 70 6f 73 22 20 3d 3e 20 22 27 22 29 3b 0a 0a 24 47 4c 4f 42 41 4c 53 ......."apos".=>."'");..$GLOBALS
1900 5b 27 58 4d 4c 5f 52 50 43 5f 65 72 72 27 5d 5b 22 75 6e 6b 6e 6f 77 6e 5f 6d 65 74 68 6f 64 22 ['XML_RPC_err']["unknown_method"
1920 5d 20 3d 20 31 3b 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f 73 74 72 27 5d 5b 22 ].=.1;.$GLOBALS['XML_RPC_str']["
1940 75 6e 6b 6e 6f 77 6e 5f 6d 65 74 68 6f 64 22 5d 20 3d 20 22 55 6e 6b 6e 6f 77 6e 20 6d 65 74 68 unknown_method"].=."Unknown.meth
1960 6f 64 22 3b 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f 65 72 72 27 5d 5b 22 69 6e od";.$GLOBALS['XML_RPC_err']["in
1980 76 61 6c 69 64 5f 72 65 74 75 72 6e 22 5d 20 3d 20 32 3b 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d valid_return"].=.2;.$GLOBALS['XM
19a0 4c 5f 52 50 43 5f 73 74 72 27 5d 5b 22 69 6e 76 61 6c 69 64 5f 72 65 74 75 72 6e 22 5d 20 3d 20 L_RPC_str']["invalid_return"].=.
19c0 22 49 6e 76 61 6c 69 64 20 72 65 74 75 72 6e 20 70 61 79 6c 6f 61 64 3a 20 65 6e 61 62 6c 69 6e "Invalid.return.payload:.enablin
19e0 67 20 64 65 62 75 67 67 69 6e 67 20 74 6f 20 65 78 61 6d 69 6e 65 20 69 6e 63 6f 6d 69 6e 67 20 g.debugging.to.examine.incoming.
1a00 70 61 79 6c 6f 61 64 22 3b 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f 65 72 72 27 payload";.$GLOBALS['XML_RPC_err'
1a20 5d 5b 22 69 6e 63 6f 72 72 65 63 74 5f 70 61 72 61 6d 73 22 5d 20 3d 20 33 3b 0a 24 47 4c 4f 42 ]["incorrect_params"].=.3;.$GLOB
1a40 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f 73 74 72 27 5d 5b 22 69 6e 63 6f 72 72 65 63 74 5f 70 61 ALS['XML_RPC_str']["incorrect_pa
1a60 72 61 6d 73 22 5d 20 3d 20 22 49 6e 63 6f 72 72 65 63 74 20 70 61 72 61 6d 65 74 65 72 73 20 70 rams"].=."Incorrect.parameters.p
1a80 61 73 73 65 64 20 74 6f 20 6d 65 74 68 6f 64 22 3b 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f assed.to.method";.$GLOBALS['XML_
1aa0 52 50 43 5f 65 72 72 27 5d 5b 22 69 6e 74 72 6f 73 70 65 63 74 5f 75 6e 6b 6e 6f 77 6e 22 5d 20 RPC_err']["introspect_unknown"].
1ac0 3d 20 34 3b 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f 73 74 72 27 5d 5b 22 69 6e =.4;.$GLOBALS['XML_RPC_str']["in
1ae0 74 72 6f 73 70 65 63 74 5f 75 6e 6b 6e 6f 77 6e 22 5d 20 3d 20 22 43 61 6e 27 74 20 69 6e 74 72 trospect_unknown"].=."Can't.intr
1b00 6f 73 70 65 63 74 3a 20 6d 65 74 68 6f 64 20 75 6e 6b 6e 6f 77 6e 22 3b 0a 24 47 4c 4f 42 41 4c ospect:.method.unknown";.$GLOBAL
1b20 53 5b 27 58 4d 4c 5f 52 50 43 5f 65 72 72 27 5d 5b 22 68 74 74 70 5f 65 72 72 6f 72 22 5d 20 3d S['XML_RPC_err']["http_error"].=
1b40 20 35 3b 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f 73 74 72 27 5d 5b 22 68 74 74 .5;.$GLOBALS['XML_RPC_str']["htt
1b60 70 5f 65 72 72 6f 72 22 5d 20 3d 20 22 44 69 64 6e 27 74 20 72 65 63 65 69 76 65 20 32 30 30 20 p_error"].=."Didn't.receive.200.
1b80 4f 4b 20 66 72 6f 6d 20 72 65 6d 6f 74 65 20 73 65 72 76 65 72 2e 22 3b 0a 0a 24 47 4c 4f 42 41 OK.from.remote.server.";..$GLOBA
1ba0 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f 64 65 66 65 6e 63 6f 64 69 6e 67 27 5d 20 3d 20 22 55 54 46 LS['XML_RPC_defencoding'].=."UTF
1bc0 2d 38 22 3b 0a 0a 2f 2f 20 6c 65 74 20 75 73 65 72 20 65 72 72 6f 72 73 20 73 74 61 72 74 20 61 -8";..//.let.user.errors.start.a
1be0 74 20 38 30 30 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f 65 72 72 75 73 65 72 27 t.800.$GLOBALS['XML_RPC_erruser'
1c00 5d 20 3d 20 38 30 30 3b 0a 0a 2f 2f 20 6c 65 74 20 58 4d 4c 20 70 61 72 73 65 20 65 72 72 6f 72 ].=.800;..//.let.XML.parse.error
1c20 73 20 73 74 61 72 74 20 61 74 20 31 30 30 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 s.start.at.100.$GLOBALS['XML_RPC
1c40 5f 65 72 72 78 6d 6c 27 5d 20 3d 20 31 30 30 3b 0a 0a 2f 2f 20 66 6f 72 6d 75 6c 61 74 65 20 62 _errxml'].=.100;..//.formulate.b
1c60 61 63 6b 73 6c 61 73 68 65 73 20 66 6f 72 20 65 73 63 61 70 69 6e 67 20 72 65 67 65 78 70 0a 24 ackslashes.for.escaping.regexp.$
1c80 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f 62 61 63 6b 73 6c 61 73 68 27 5d 20 3d 20 63 GLOBALS['XML_RPC_backslash'].=.c
1ca0 68 72 28 39 32 29 20 2e 20 63 68 72 28 39 32 29 3b 0a 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c hr(92)...chr(92);..$GLOBALS['XML
1cc0 5f 52 50 43 5f 74 77 6f 73 6c 61 73 68 27 5d 20 3d 20 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f _RPC_twoslash'].=.$GLOBALS['XML_
1ce0 52 50 43 5f 62 61 63 6b 73 6c 61 73 68 27 5d 20 2e 20 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f RPC_backslash']...$GLOBALS['XML_
1d00 52 50 43 5f 62 61 63 6b 73 6c 61 73 68 27 5d 3b 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 RPC_backslash'];.$GLOBALS['XML_R
1d20 50 43 5f 74 77 6f 73 6c 61 73 68 27 5d 20 3d 20 22 32 53 4c 53 22 3b 0a 0a 2f 2f 20 75 73 65 64 PC_twoslash'].=."2SLS";..//.used
1d40 20 74 6f 20 73 74 6f 72 65 20 73 74 61 74 65 20 64 75 72 69 6e 67 20 70 61 72 73 69 6e 67 0a 2f .to.store.state.during.parsing./
1d60 2f 20 71 75 69 63 6b 20 65 78 70 6c 61 6e 61 74 69 6f 6e 20 6f 66 20 63 6f 6d 70 6f 6e 65 6e 74 /.quick.explanation.of.component
1d80 73 3a 0a 2f 2f 20 20 20 73 74 20 2d 20 75 73 65 64 20 74 6f 20 62 75 69 6c 64 20 75 70 20 61 20 s:.//...st.-.used.to.build.up.a.
1da0 73 74 72 69 6e 67 20 66 6f 72 20 65 76 61 6c 75 61 74 69 6f 6e 0a 2f 2f 20 20 20 61 63 20 2d 20 string.for.evaluation.//...ac.-.
1dc0 75 73 65 64 20 74 6f 20 61 63 63 75 6d 75 6c 61 74 65 20 76 61 6c 75 65 73 0a 2f 2f 20 20 20 71 used.to.accumulate.values.//...q
1de0 74 20 2d 20 75 73 65 64 20 74 6f 20 64 65 63 69 64 65 20 69 66 20 71 75 6f 74 65 73 20 61 72 65 t.-.used.to.decide.if.quotes.are
1e00 20 6e 65 65 64 65 64 20 66 6f 72 20 65 76 61 6c 75 61 74 69 6f 6e 0a 2f 2f 20 20 20 63 6d 20 2d .needed.for.evaluation.//...cm.-
1e20 20 75 73 65 64 20 74 6f 20 64 65 6e 6f 74 65 20 73 74 72 75 63 74 20 6f 72 20 61 72 72 61 79 20 .used.to.denote.struct.or.array.
1e40 28 63 6f 6d 6d 61 20 6e 65 65 64 65 64 29 0a 2f 2f 20 20 20 69 73 66 20 2d 20 75 73 65 64 20 74 (comma.needed).//...isf.-.used.t
1e60 6f 20 69 6e 64 69 63 61 74 65 20 61 20 66 61 75 6c 74 0a 2f 2f 20 20 20 6c 76 20 2d 20 75 73 65 o.indicate.a.fault.//...lv.-.use
1e80 64 20 74 6f 20 69 6e 64 69 63 61 74 65 20 22 6c 6f 6f 6b 69 6e 67 20 66 6f 72 20 61 20 76 61 6c d.to.indicate."looking.for.a.val
1ea0 75 65 22 3a 20 69 6d 70 6c 65 6d 65 6e 74 73 0a 2f 2f 20 20 20 20 20 20 20 20 74 68 65 20 6c 6f ue":.implements.//........the.lo
1ec0 67 69 63 20 74 6f 20 61 6c 6c 6f 77 20 76 61 6c 75 65 73 20 77 69 74 68 20 6e 6f 20 74 79 70 65 gic.to.allow.values.with.no.type
1ee0 73 20 74 6f 20 62 65 20 73 74 72 69 6e 67 73 0a 2f 2f 20 20 20 70 61 72 61 6d 73 20 2d 20 75 73 s.to.be.strings.//...params.-.us
1f00 65 64 20 74 6f 20 73 74 6f 72 65 20 70 61 72 61 6d 65 74 65 72 73 20 69 6e 20 6d 65 74 68 6f 64 ed.to.store.parameters.in.method
1f20 20 63 61 6c 6c 73 0a 2f 2f 20 20 20 6d 65 74 68 6f 64 20 2d 20 75 73 65 64 20 74 6f 20 73 74 6f .calls.//...method.-.used.to.sto
1f40 72 65 20 6d 65 74 68 6f 64 20 6e 61 6d 65 0a 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 re.method.name..$GLOBALS['XML_RP
1f60 43 5f 78 68 27 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 66 75 6e 63 74 69 6f 6e 20 58 4d 4c 5f C_xh'].=.array();..function.XML_
1f80 52 50 43 5f 65 6e 74 69 74 79 5f 64 65 63 6f 64 65 28 24 73 74 72 69 6e 67 29 0a 7b 0a 20 20 20 RPC_entity_decode($string).{....
1fa0 20 24 74 6f 70 20 3d 20 73 70 6c 69 74 28 22 26 22 2c 20 24 73 74 72 69 6e 67 29 3b 0a 20 20 20 .$top.=.split("&",.$string);....
1fc0 20 24 6f 70 20 3d 20 22 22 3b 0a 20 20 20 20 24 69 20 3d 20 30 3b 0a 20 20 20 20 77 68 69 6c 65 .$op.=."";.....$i.=.0;.....while
1fe0 28 24 69 20 3c 20 73 69 7a 65 6f 66 28 24 74 6f 70 29 29 20 7b 0a 20 20 20 20 20 20 20 20 69 66 ($i.<.sizeof($top)).{.........if
2000 20 28 65 72 65 67 28 22 5e 28 5b 23 61 2d 7a 41 2d 5a 30 2d 39 5d 2b 29 3b 22 2c 20 24 74 6f 70 .(ereg("^([#a-zA-Z0-9]+);",.$top
2020 5b 24 69 5d 2c 20 24 72 65 67 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 70 20 [$i],.$regs)).{.............$op.
2040 2e 3d 20 65 72 65 67 5f 72 65 70 6c 61 63 65 28 22 5e 5b 23 61 2d 7a 41 2d 5a 30 2d 39 5d 2b 3b .=.ereg_replace("^[#a-zA-Z0-9]+;
2060 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ",..............................
2080 20 20 20 58 4d 4c 5f 52 50 43 5f 6c 6f 6f 6b 75 70 5f 65 6e 74 69 74 79 28 24 72 65 67 73 5b 31 ...XML_RPC_lookup_entity($regs[1
20a0 5d 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ]),.............................
20c0 20 20 20 20 24 74 6f 70 5b 24 69 5d 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a ....$top[$i]);.........}.else.{.
20e0 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 69 20 3d 3d 20 30 29 20 7b 0a 20 20 20 20 20 ............if.($i.==.0).{......
2100 20 20 20 20 20 20 20 20 20 20 20 24 6f 70 20 3d 20 24 74 6f 70 5b 24 69 5d 3b 0a 20 20 20 20 20 ...........$op.=.$top[$i];......
2120 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......}.else.{.................
2140 24 6f 70 20 2e 3d 20 22 26 22 20 2e 20 24 74 6f 70 5b 24 69 5d 3b 0a 20 20 20 20 20 20 20 20 20 $op..=."&"...$top[$i];..........
2160 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 69 2b 2b 3b 0a 20 20 ...}.........}..........$i++;...
2180 20 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 24 6f 70 3b 0a 7d 0a 0a 0a 66 75 6e 63 74 69 6f 6e ..}.....return.$op;.}...function
21a0 20 58 4d 4c 5f 52 50 43 5f 6c 6f 6f 6b 75 70 5f 65 6e 74 69 74 79 28 24 65 6e 74 29 0a 7b 0a 20 .XML_RPC_lookup_entity($ent).{..
21c0 20 20 20 67 6c 6f 62 61 6c 20 24 58 4d 4c 5f 52 50 43 5f 65 6e 74 69 74 69 65 73 3b 0a 0a 20 20 ...global.$XML_RPC_entities;....
21e0 20 20 69 66 20 28 24 58 4d 4c 5f 52 50 43 5f 65 6e 74 69 74 69 65 73 5b 73 74 72 74 6f 6c 6f 77 ..if.($XML_RPC_entities[strtolow
2200 65 72 28 24 65 6e 74 29 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 58 4d 4c er($ent)]).{.........return.$XML
2220 5f 52 50 43 5f 65 6e 74 69 74 69 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 65 6e 74 29 5d 3b _RPC_entities[strtolower($ent)];
2240 0a 20 20 20 20 7d 0a 0a 20 20 20 20 69 66 20 28 65 72 65 67 28 22 5e 23 28 5b 30 2d 39 5d 2b 29 .....}......if.(ereg("^#([0-9]+)
2260 24 22 2c 20 24 65 6e 74 2c 20 24 72 65 67 73 29 29 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 $",.$ent,.$regs)).{.........retu
2280 72 6e 20 63 68 72 28 24 72 65 67 73 5b 31 5d 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 72 65 74 rn.chr($regs[1]);.....}......ret
22a0 75 72 6e 20 22 3f 22 3b 0a 7d 0a 0a 0a 66 75 6e 63 74 69 6f 6e 20 58 4d 4c 5f 52 50 43 5f 73 65 urn."?";.}...function.XML_RPC_se
22c0 28 24 70 61 72 73 65 72 2c 20 24 6e 61 6d 65 2c 20 24 61 74 74 72 73 29 0a 7b 0a 20 20 20 20 67 ($parser,.$name,.$attrs).{.....g
22e0 6c 6f 62 61 6c 20 24 58 4d 4c 5f 52 50 43 5f 78 68 2c 20 24 58 4d 4c 5f 52 50 43 5f 44 61 74 65 lobal.$XML_RPC_xh,.$XML_RPC_Date
2300 54 69 6d 65 2c 20 24 58 4d 4c 5f 52 50 43 5f 53 74 72 69 6e 67 3b 0a 0a 20 20 20 20 73 77 69 74 Time,.$XML_RPC_String;......swit
2320 63 68 20 28 24 6e 61 6d 65 29 20 7b 0a 20 20 20 20 63 61 73 65 20 22 53 54 52 55 43 54 22 3a 0a ch.($name).{.....case."STRUCT":.
2340 20 20 20 20 63 61 73 65 20 22 41 52 52 41 59 22 3a 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 ....case."ARRAY":.........$XML_R
2360 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 73 74 27 5d 20 2e 3d 20 22 61 72 72 61 79 28 22 PC_xh[$parser]['st']..=."array("
2380 3b 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 ;.........$XML_RPC_xh[$parser]['
23a0 63 6d 27 5d 2b 2b 3b 0a 20 20 20 20 20 20 20 20 2f 2f 20 74 68 69 73 20 6c 61 73 74 20 6c 69 6e cm']++;.........//.this.last.lin
23c0 65 20 74 75 72 6e 73 20 71 75 6f 74 69 6e 67 20 6f 66 66 0a 20 20 20 20 20 20 20 20 2f 2f 20 74 e.turns.quoting.off.........//.t
23e0 68 69 73 20 6d 65 61 6e 73 20 69 66 20 77 65 20 67 65 74 20 61 6e 20 65 6d 70 74 79 20 61 72 72 his.means.if.we.get.an.empty.arr
2400 61 79 20 77 65 27 6c 6c 0a 20 20 20 20 20 20 20 20 2f 2f 20 73 69 6d 70 6c 79 20 67 65 74 20 61 ay.we'll.........//.simply.get.a
2420 20 62 69 74 20 6f 66 20 77 68 69 74 65 73 70 61 63 65 20 69 6e 20 74 68 65 20 65 76 61 6c 0a 20 .bit.of.whitespace.in.the.eval..
2440 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 71 74 27 .......$XML_RPC_xh[$parser]['qt'
2460 5d 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 0a 20 20 20 20 63 61 73 65 20 ].=.0;.........break;......case.
2480 22 4e 41 4d 45 22 3a 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 "NAME":.........$XML_RPC_xh[$par
24a0 73 65 72 5d 5b 27 73 74 27 5d 20 2e 3d 20 22 27 22 3b 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f ser]['st']..=."'";.........$XML_
24c0 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 61 63 27 5d 20 3d 20 22 22 3b 0a 20 20 20 20 RPC_xh[$parser]['ac'].=."";.....
24e0 20 20 20 20 62 72 65 61 6b 3b 0a 0a 20 20 20 20 63 61 73 65 20 22 46 41 55 4c 54 22 3a 0a 20 20 ....break;......case."FAULT":...
2500 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 69 73 66 27 ......$XML_RPC_xh[$parser]['isf'
2520 5d 20 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 0a 20 20 20 20 63 61 73 65 20 ].=.1;.........break;......case.
2540 22 50 41 52 41 4d 22 3a 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 "PARAM":.........$XML_RPC_xh[$pa
2560 72 73 65 72 5d 5b 27 73 74 27 5d 20 3d 20 22 22 3b 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b rser]['st'].=."";.........break;
2580 0a 0a 20 20 20 20 63 61 73 65 20 22 56 41 4c 55 45 22 3a 0a 20 20 20 20 20 20 20 20 24 58 4d 4c ......case."VALUE":.........$XML
25a0 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 73 74 27 5d 20 2e 3d 20 22 6e 65 77 20 58 _RPC_xh[$parser]['st']..=."new.X
25c0 4d 4c 5f 52 50 43 5f 56 61 6c 75 65 28 22 3b 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 ML_RPC_Value(";.........$XML_RPC
25e0 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 6c 76 27 5d 20 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 _xh[$parser]['lv'].=.1;.........
2600 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 76 74 27 5d 20 3d 20 24 58 4d $XML_RPC_xh[$parser]['vt'].=.$XM
2620 4c 5f 52 50 43 5f 53 74 72 69 6e 67 3b 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 L_RPC_String;.........$XML_RPC_x
2640 68 5b 24 70 61 72 73 65 72 5d 5b 27 61 63 27 5d 20 3d 20 22 22 3b 0a 20 20 20 20 20 20 20 20 24 h[$parser]['ac'].=."";.........$
2660 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 71 74 27 5d 20 3d 20 30 3b 0a 20 XML_RPC_xh[$parser]['qt'].=.0;..
2680 20 20 20 20 20 20 20 2f 2f 20 6c 6f 6f 6b 20 66 6f 72 20 61 20 76 61 6c 75 65 3a 20 69 66 20 74 .......//.look.for.a.value:.if.t
26a0 68 69 73 20 69 73 20 73 74 69 6c 6c 20 31 20 62 79 20 74 68 65 0a 20 20 20 20 20 20 20 20 2f 2f his.is.still.1.by.the.........//
26c0 20 74 69 6d 65 20 77 65 20 72 65 61 63 68 20 74 68 65 20 66 69 72 73 74 20 64 61 74 61 20 73 65 .time.we.reach.the.first.data.se
26e0 67 6d 65 6e 74 20 74 68 65 6e 20 74 68 65 20 74 79 70 65 20 69 73 20 73 74 72 69 6e 67 0a 20 20 gment.then.the.type.is.string...
2700 20 20 20 20 20 20 2f 2f 20 62 79 20 69 6d 70 6c 69 63 61 74 69 6f 6e 20 61 6e 64 20 77 65 20 6e ......//.by.implication.and.we.n
2720 65 65 64 20 74 6f 20 61 64 64 20 69 6e 20 61 20 71 75 6f 74 65 0a 20 20 20 20 20 20 20 20 62 72 eed.to.add.in.a.quote.........br
2740 65 61 6b 3b 0a 0a 20 20 20 20 63 61 73 65 20 22 49 34 22 3a 0a 20 20 20 20 63 61 73 65 20 22 49 eak;......case."I4":.....case."I
2760 4e 54 22 3a 0a 20 20 20 20 63 61 73 65 20 22 53 54 52 49 4e 47 22 3a 0a 20 20 20 20 63 61 73 65 NT":.....case."STRING":.....case
2780 20 22 42 4f 4f 4c 45 41 4e 22 3a 0a 20 20 20 20 63 61 73 65 20 22 44 4f 55 42 4c 45 22 3a 0a 20 ."BOOLEAN":.....case."DOUBLE":..
27a0 20 20 20 63 61 73 65 20 22 44 41 54 45 54 49 4d 45 2e 49 53 4f 38 36 30 31 22 3a 0a 20 20 20 20 ...case."DATETIME.ISO8601":.....
27c0 63 61 73 65 20 22 42 41 53 45 36 34 22 3a 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f case."BASE64":.........$XML_RPC_
27e0 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 61 63 27 5d 20 3d 20 22 22 3b 20 2f 2f 20 72 65 73 65 74 xh[$parser]['ac'].=."";.//.reset
2800 20 74 68 65 20 61 63 63 75 6d 75 6c 61 74 6f 72 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 6e .the.accumulator..........if.($n
2820 61 6d 65 20 3d 3d 20 22 44 41 54 45 54 49 4d 45 2e 49 53 4f 38 36 30 31 22 20 7c 7c 20 24 6e 61 ame.==."DATETIME.ISO8601".||.$na
2840 6d 65 20 3d 3d 20 22 53 54 52 49 4e 47 22 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 58 me.==."STRING").{.............$X
2860 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 71 74 27 5d 20 3d 20 31 3b 0a 0a 20 ML_RPC_xh[$parser]['qt'].=.1;...
2880 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 6e 61 6d 65 20 3d 3d 20 22 44 41 54 45 54 49 4d ...........if.($name.==."DATETIM
28a0 45 2e 49 53 4f 38 36 30 31 22 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 58 E.ISO8601").{.................$X
28c0 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 76 74 27 5d 20 3d 20 24 58 4d 4c 5f ML_RPC_xh[$parser]['vt'].=.$XML_
28e0 52 50 43 5f 44 61 74 65 54 69 6d 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 RPC_DateTime;.............}.....
2900 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 6e 61 6d 65 20 3d 3d 20 22 42 41 53 45 36 34 22 .....}.elseif.($name.==."BASE64"
2920 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 ).{.............$XML_RPC_xh[$par
2940 73 65 72 5d 5b 27 71 74 27 5d 20 3d 20 32 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b ser]['qt'].=.2;.........}.else.{
2960 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4e 6f 20 71 75 6f 74 69 6e 67 20 69 73 20 72 65 .............//.No.quoting.is.re
2980 71 75 69 72 65 64 20 68 65 72 65 20 2d 2d 20 62 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f quired.here.--.but............./
29a0 2f 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 77 65 20 6d /.at.the.end.of.the.element.we.m
29c0 75 73 74 20 63 68 65 63 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 66 6f 72 20 64 61 74 ust.check.............//.for.dat
29e0 61 20 66 6f 72 6d 61 74 20 65 72 72 6f 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 58 4d a.format.errors..............$XM
2a00 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 71 74 27 5d 20 3d 20 30 3b 0a 20 20 20 L_RPC_xh[$parser]['qt'].=.0;....
2a20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 0a 20 20 20 20 63 61 73 65 20 .....}.........break;......case.
2a40 22 4d 45 4d 42 45 52 22 3a 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 "MEMBER":.........$XML_RPC_xh[$p
2a60 61 72 73 65 72 5d 5b 27 61 63 27 5d 20 3d 20 22 22 3b 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b arser]['ac'].=."";.........break
2a80 3b 0a 0a 20 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 ;......default:.........break;..
2aa0 20 20 20 7d 0a 0a 20 20 20 20 69 66 20 28 24 6e 61 6d 65 21 3d 22 56 41 4c 55 45 22 29 20 7b 0a ...}......if.($name!="VALUE").{.
2ac0 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 6c 76 ........$XML_RPC_xh[$parser]['lv
2ae0 27 5d 20 3d 20 30 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 0a 66 75 6e 63 74 69 6f 6e 20 58 4d 4c 5f 52 '].=.0;.....}.}...function.XML_R
2b00 50 43 5f 65 65 28 24 70 61 72 73 65 72 2c 20 24 6e 61 6d 65 29 0a 7b 0a 20 20 20 20 67 6c 6f 62 PC_ee($parser,.$name).{.....glob
2b20 61 6c 20 24 58 4d 4c 5f 52 50 43 5f 78 68 2c 24 58 4d 4c 5f 52 50 43 5f 54 79 70 65 73 2c 24 58 al.$XML_RPC_xh,$XML_RPC_Types,$X
2b40 4d 4c 5f 52 50 43 5f 53 74 72 69 6e 67 3b 0a 0a 20 20 20 20 73 77 69 74 63 68 20 28 24 6e 61 6d ML_RPC_String;......switch.($nam
2b60 65 29 20 7b 0a 20 20 20 20 63 61 73 65 20 22 53 54 52 55 43 54 22 3a 0a 20 20 20 20 63 61 73 65 e).{.....case."STRUCT":.....case
2b80 20 22 41 52 52 41 59 22 3a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 58 4d 4c 5f 52 50 43 5f 78 ."ARRAY":.........if.($XML_RPC_x
2ba0 68 5b 24 70 61 72 73 65 72 5d 5b 27 63 6d 27 5d 20 26 26 20 73 75 62 73 74 72 28 24 58 4d 4c 5f h[$parser]['cm'].&&.substr($XML_
2bc0 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 73 74 27 5d 2c 20 2d 31 29 20 3d 3d 20 27 2c RPC_xh[$parser]['st'],.-1).==.',
2be0 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 ').{.............$XML_RPC_xh[$pa
2c00 72 73 65 72 5d 5b 27 73 74 27 5d 20 3d 20 73 75 62 73 74 72 28 24 58 4d 4c 5f 52 50 43 5f 78 68 rser]['st'].=.substr($XML_RPC_xh
2c20 5b 24 70 61 72 73 65 72 5d 5b 27 73 74 27 5d 2c 30 2c 2d 31 29 3b 0a 20 20 20 20 20 20 20 20 7d [$parser]['st'],0,-1);.........}
2c40 0a 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 ..........$XML_RPC_xh[$parser]['
2c60 73 74 27 5d 20 2e 3d 20 22 29 22 3b 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 st']..=.")";.........$XML_RPC_xh
2c80 5b 24 70 61 72 73 65 72 5d 5b 27 76 74 27 5d 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 [$parser]['vt'].=.strtolower($na
2ca0 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 me);.........$XML_RPC_xh[$parser
2cc0 5d 5b 27 63 6d 27 5d 2d 2d 3b 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 0a 20 20 20 20 63 ]['cm']--;.........break;......c
2ce0 61 73 65 20 22 4e 41 4d 45 22 3a 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b ase."NAME":.........$XML_RPC_xh[
2d00 24 70 61 72 73 65 72 5d 5b 27 73 74 27 5d 20 2e 3d 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 $parser]['st']..=.$XML_RPC_xh[$p
2d20 61 72 73 65 72 5d 5b 27 61 63 27 5d 20 2e 20 22 27 20 3d 3e 20 22 3b 0a 20 20 20 20 20 20 20 20 arser]['ac']..."'.=>.";.........
2d40 62 72 65 61 6b 3b 0a 0a 20 20 20 20 63 61 73 65 20 22 42 4f 4f 4c 45 41 4e 22 3a 0a 20 20 20 20 break;......case."BOOLEAN":.....
2d60 20 20 20 20 2f 2f 20 73 70 65 63 69 61 6c 20 63 61 73 65 20 68 65 72 65 3a 20 77 65 20 74 72 61 ....//.special.case.here:.we.tra
2d80 6e 73 6c 61 74 65 20 62 6f 6f 6c 65 61 6e 20 31 20 6f 72 20 30 20 69 6e 74 6f 20 50 48 50 0a 20 nslate.boolean.1.or.0.into.PHP..
2da0 20 20 20 20 20 20 20 2f 2f 20 63 6f 6e 73 74 61 6e 74 73 20 74 72 75 65 20 6f 72 20 66 61 6c 73 .......//.constants.true.or.fals
2dc0 65 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 e.........if.($XML_RPC_xh[$parse
2de0 72 5d 5b 27 61 63 27 5d 20 3d 3d 20 27 31 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 r]['ac'].==.'1').{.............$
2e00 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 61 63 27 5d 20 3d 20 22 74 72 75 XML_RPC_xh[$parser]['ac'].=."tru
2e20 65 22 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 e";.........}.else.{............
2e40 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 61 63 27 5d 20 3d 20 22 66 .$XML_RPC_xh[$parser]['ac'].=."f
2e60 61 6c 73 65 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 alse";.........}..........$XML_R
2e80 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 76 74 27 5d 20 3d 20 73 74 72 74 6f 6c 6f 77 65 PC_xh[$parser]['vt'].=.strtolowe
2ea0 72 28 24 6e 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 2f 2f 20 44 72 6f 70 20 74 68 72 6f 75 67 r($name);.........//.Drop.throug
2ec0 68 20 69 6e 74 65 6e 74 69 6f 6e 61 6c 6c 79 2e 0a 0a 20 20 20 20 63 61 73 65 20 22 49 34 22 3a h.intentionally.......case."I4":
2ee0 0a 20 20 20 20 63 61 73 65 20 22 49 4e 54 22 3a 0a 20 20 20 20 63 61 73 65 20 22 53 54 52 49 4e .....case."INT":.....case."STRIN
2f00 47 22 3a 0a 20 20 20 20 63 61 73 65 20 22 44 4f 55 42 4c 45 22 3a 0a 20 20 20 20 63 61 73 65 20 G":.....case."DOUBLE":.....case.
2f20 22 44 41 54 45 54 49 4d 45 2e 49 53 4f 38 36 30 31 22 3a 0a 20 20 20 20 63 61 73 65 20 22 42 41 "DATETIME.ISO8601":.....case."BA
2f40 53 45 36 34 22 3a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 SE64":.........if.($XML_RPC_xh[$
2f60 70 61 72 73 65 72 5d 5b 27 71 74 27 5d 20 3d 3d 20 31 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 parser]['qt'].==.1).{...........
2f80 20 20 2f 2f 20 77 65 20 75 73 65 20 64 6f 75 62 6c 65 20 71 75 6f 74 65 73 20 72 61 74 68 65 72 ..//.we.use.double.quotes.rather
2fa0 20 74 68 61 6e 20 73 69 6e 67 6c 65 20 73 6f 20 62 61 63 6b 73 6c 61 73 68 69 66 69 63 61 74 69 .than.single.so.backslashificati
2fc0 6f 6e 20 77 6f 72 6b 73 20 4f 4b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 on.works.OK.............$XML_RPC
2fe0 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 73 74 27 5d 20 2e 3d 20 22 5c 22 22 20 2e 20 24 58 4d _xh[$parser]['st']..=."\""...$XM
3000 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 61 63 27 5d 20 2e 20 22 5c 22 22 3b 0a L_RPC_xh[$parser]['ac']..."\"";.
3020 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 ........}.elseif.($XML_RPC_xh[$p
3040 61 72 73 65 72 5d 5b 27 71 74 27 5d 20 3d 3d 20 32 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 arser]['qt'].==.2).{............
3060 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 73 74 27 5d 20 2e 3d 20 22 .$XML_RPC_xh[$parser]['st']..=."
3080 62 61 73 65 36 34 5f 64 65 63 6f 64 65 28 27 22 20 2e 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 base64_decode('"...$XML_RPC_xh[$
30a0 70 61 72 73 65 72 5d 5b 27 61 63 27 5d 20 2e 20 22 27 29 22 3b 0a 20 20 20 20 20 20 20 20 7d 20 parser]['ac']..."')";.........}.
30c0 65 6c 73 65 69 66 20 28 24 6e 61 6d 65 3d 3d 22 42 4f 4f 4c 45 41 4e 22 29 20 7b 0a 20 20 20 20 elseif.($name=="BOOLEAN").{.....
30e0 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 73 74 ........$XML_RPC_xh[$parser]['st
3100 27 5d 20 2e 3d 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 61 63 27 5d ']..=.$XML_RPC_xh[$parser]['ac']
3120 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f ;.........}.else.{............./
3140 2f 20 77 65 20 68 61 76 65 20 61 6e 20 49 34 2c 20 49 4e 54 20 6f 72 20 61 20 44 4f 55 42 4c 45 /.we.have.an.I4,.INT.or.a.DOUBLE
3160 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 77 65 20 6d 75 73 74 20 63 68 65 63 6b 20 74 68 .............//.we.must.check.th
3180 61 74 20 6f 6e 6c 79 20 30 31 32 33 34 35 36 37 38 39 2d 2e 3c 73 70 61 63 65 3e 20 61 72 65 20 at.only.0123456789-.<space>.are.
31a0 63 68 61 72 61 63 74 65 72 73 20 68 65 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 characters.here.............if.(
31c0 21 65 72 65 67 28 22 5e 5c 2d 3f 5b 30 31 32 33 34 35 36 37 38 39 20 5c 74 5c 2e 5d 2b 24 22 2c !ereg("^\-?[0123456789.\t\.]+$",
31e0 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 61 63 27 5d 29 29 20 7b 0a .$XML_RPC_xh[$parser]['ac'])).{.
3200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f ................$this->raiseErro
3220 72 28 22 4e 6f 6e 2d 6e 75 6d 65 72 69 63 20 76 61 6c 75 65 20 72 65 63 69 65 76 65 64 20 69 6e r("Non-numeric.value.recieved.in
3240 20 49 4e 54 20 6f 72 20 44 4f 55 42 4c 45 22 2c 20 58 4d 4c 5f 52 50 43 5f 45 52 52 4f 52 5f 4e .INT.or.DOUBLE",.XML_RPC_ERROR_N
3260 4f 4e 5f 4e 55 4d 45 52 49 43 5f 46 4f 55 4e 44 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ON_NUMERIC_FOUND);..............
3280 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 73 74 27 5d 20 2e 3d ...$XML_RPC_xh[$parser]['st']..=
32a0 20 22 45 52 52 4f 52 5f 4e 4f 4e 5f 4e 55 4d 45 52 49 43 5f 46 4f 55 4e 44 22 3b 0a 20 20 20 20 ."ERROR_NON_NUMERIC_FOUND";.....
32c0 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........}.else.{................
32e0 20 2f 2f 20 69 74 27 73 20 6f 6b 2c 20 61 64 64 20 69 74 20 6f 6e 0a 20 20 20 20 20 20 20 20 20 .//.it's.ok,.add.it.on..........
3300 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 73 74 27 .......$XML_RPC_xh[$parser]['st'
3320 5d 20 2e 3d 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 61 63 27 5d 3b ]..=.$XML_RPC_xh[$parser]['ac'];
3340 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 .............}.........}........
3360 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 61 63 27 5d 20 3d 20 22 ..$XML_RPC_xh[$parser]['ac'].=."
3380 22 3b 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b ";.........$XML_RPC_xh[$parser][
33a0 27 71 74 27 5d 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 'qt'].=.0;.........$XML_RPC_xh[$
33c0 70 61 72 73 65 72 5d 5b 27 6c 76 27 5d 20 3d 20 33 3b 20 2f 2f 20 69 6e 64 69 63 61 74 65 20 77 parser]['lv'].=.3;.//.indicate.w
33e0 65 27 76 65 20 66 6f 75 6e 64 20 61 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b e've.found.a.value.........break
3400 3b 0a 0a 20 20 20 20 63 61 73 65 20 22 56 41 4c 55 45 22 3a 0a 20 20 20 20 20 20 20 20 2f 2f 20 ;......case."VALUE":.........//.
3420 64 65 61 6c 20 77 69 74 68 20 61 20 73 74 72 69 6e 67 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 deal.with.a.string.value........
3440 20 69 66 20 28 73 74 72 6c 65 6e 28 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d .if.(strlen($XML_RPC_xh[$parser]
3460 5b 27 61 63 27 5d 29 20 3e 20 30 20 26 26 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 58 4d 4c 5f ['ac']).>.0.&&.............$XML_
3480 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 76 74 27 5d 20 3d 3d 20 24 58 4d 4c 5f 52 50 RPC_xh[$parser]['vt'].==.$XML_RP
34a0 43 5f 53 74 72 69 6e 67 29 20 7b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 C_String).{..............$XML_RP
34c0 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 73 74 27 5d 20 2e 3d 20 22 5c 22 22 20 2e 20 24 58 C_xh[$parser]['st']..=."\""...$X
34e0 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 61 63 27 5d 20 2e 20 22 5c 22 22 3b ML_RPC_xh[$parser]['ac']..."\"";
3500 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 54 68 69 73 20 69 66 20 28 .........}..........//.This.if.(
3520 29 20 64 65 74 65 63 74 73 20 69 66 20 6e 6f 20 73 63 61 6c 61 72 20 77 61 73 20 69 6e 73 69 64 ).detects.if.no.scalar.was.insid
3540 65 20 3c 56 41 4c 55 45 3e 3c 2f 56 41 4c 55 45 3e 0a 20 20 20 20 20 20 20 20 2f 2f 20 61 6e 64 e.<VALUE></VALUE>.........//.and
3560 20 70 61 64 73 20 61 6e 20 65 6d 70 74 79 20 22 22 2e 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 .pads.an.empty.""..........if.($
3580 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 73 74 27 5d 5b 73 74 72 6c 65 6e XML_RPC_xh[$parser]['st'][strlen
35a0 28 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 73 74 27 5d 29 2d 31 5d 20 ($XML_RPC_xh[$parser]['st'])-1].
35c0 3d 3d 20 27 28 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 ==.'(').{.............$XML_RPC_x
35e0 68 5b 24 70 61 72 73 65 72 5d 5b 27 73 74 27 5d 20 2e 3d 20 27 22 22 27 3b 0a 20 20 20 20 20 20 h[$parser]['st']..=.'""';.......
3600 20 20 7d 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d ..}.........$XML_RPC_xh[$parser]
3620 5b 27 73 74 27 5d 20 2e 3d 20 22 2c 20 27 22 20 2e 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 ['st']..=.",.'"...$XML_RPC_xh[$p
3640 61 72 73 65 72 5d 5b 27 76 74 27 5d 20 2e 20 22 27 29 22 3b 0a 20 20 20 20 20 20 20 20 69 66 20 arser]['vt']..."')";.........if.
3660 28 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 63 6d 27 5d 29 20 7b 0a 20 ($XML_RPC_xh[$parser]['cm']).{..
3680 20 20 20 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b ...........$XML_RPC_xh[$parser][
36a0 27 73 74 27 5d 20 2e 3d 20 22 2c 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 'st']..=.",";.........}.........
36c0 62 72 65 61 6b 3b 0a 0a 20 20 20 20 63 61 73 65 20 22 4d 45 4d 42 45 52 22 3a 0a 20 20 20 20 20 break;......case."MEMBER":......
36e0 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 61 63 27 5d 20 3d 20 ...$XML_RPC_xh[$parser]['ac'].=.
3700 22 22 3b 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d "";.........$XML_RPC_xh[$parser]
3720 5b 27 71 74 27 5d 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 0a 20 20 20 20 ['qt'].=.0;.........break;......
3740 63 61 73 65 20 22 44 41 54 41 22 3a 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 case."DATA":.........$XML_RPC_xh
3760 5b 24 70 61 72 73 65 72 5d 5b 27 61 63 27 5d 20 3d 20 22 22 3b 0a 20 20 20 20 20 20 20 20 24 58 [$parser]['ac'].=."";.........$X
3780 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 71 74 27 5d 20 3d 20 30 3b 0a 20 20 ML_RPC_xh[$parser]['qt'].=.0;...
37a0 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 0a 20 20 20 20 63 61 73 65 20 22 50 41 52 41 4d 22 3a 0a ......break;......case."PARAM":.
37c0 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 70 61 ........$XML_RPC_xh[$parser]['pa
37e0 72 61 6d 73 27 5d 5b 5d 20 3d 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b rams'][].=.$XML_RPC_xh[$parser][
3800 27 73 74 27 5d 3b 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 0a 20 20 20 20 63 61 73 65 20 'st'];.........break;......case.
3820 22 4d 45 54 48 4f 44 4e 41 4d 45 22 3a 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 "METHODNAME":.........$XML_RPC_x
3840 68 5b 24 70 61 72 73 65 72 5d 5b 27 6d 65 74 68 6f 64 27 5d 20 3d 20 65 72 65 67 5f 72 65 70 6c h[$parser]['method'].=.ereg_repl
3860 61 63 65 28 22 5e 5b 5c 6e 5c 72 5c 74 20 5d 2b 22 2c 20 22 22 2c 20 24 58 4d 4c 5f 52 50 43 5f ace("^[\n\r\t.]+",."",.$XML_RPC_
3880 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 61 63 27 5d 29 3b 0a 20 20 20 20 20 20 20 20 62 72 65 61 xh[$parser]['ac']);.........brea
38a0 6b 3b 0a 0a 20 20 20 20 63 61 73 65 20 22 42 4f 4f 4c 45 41 4e 22 3a 0a 20 20 20 20 20 20 20 20 k;......case."BOOLEAN":.........
38c0 2f 2f 20 73 70 65 63 69 61 6c 20 63 61 73 65 20 68 65 72 65 3a 20 77 65 20 74 72 61 6e 73 6c 61 //.special.case.here:.we.transla
38e0 74 65 20 62 6f 6f 6c 65 61 6e 20 31 20 6f 72 20 30 20 69 6e 74 6f 20 50 48 50 0a 20 20 20 20 20 te.boolean.1.or.0.into.PHP......
3900 20 20 20 2f 2f 20 63 6f 6e 73 74 61 6e 74 73 20 74 72 75 65 20 6f 72 20 66 61 6c 73 65 0a 20 20 ...//.constants.true.or.false...
3920 20 20 20 20 20 20 69 66 20 28 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 ......if.($XML_RPC_xh[$parser]['
3940 61 63 27 5d 20 3d 3d 20 27 31 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 58 4d 4c 5f ac'].==.'1').{.............$XML_
3960 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 61 63 27 5d 20 3d 20 22 74 72 75 65 22 3b 0a RPC_xh[$parser]['ac'].=."true";.
3980 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 58 4d ........}.else.{.............$XM
39a0 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 61 63 27 5d 20 3d 20 22 66 61 6c 73 65 L_RPC_xh[$parser]['ac'].=."false
39c0 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 ";.........}..........$XML_RPC_x
39e0 68 5b 24 70 61 72 73 65 72 5d 5b 27 76 74 27 5d 20 3d 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e h[$parser]['vt'].=.strtolower($n
3a00 61 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 0a 20 20 20 20 64 65 66 61 75 6c ame);.........break;......defaul
3a20 74 3a 0a 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 t:.........break;.....}......//.
3a40 69 66 20 69 74 27 73 20 61 20 76 61 6c 69 64 20 74 79 70 65 20 6e 61 6d 65 2c 20 73 65 74 20 74 if.it's.a.valid.type.name,.set.t
3a60 68 65 20 74 79 70 65 0a 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 58 4d 4c 5f 52 50 43 5f 54 he.type.....if.(isset($XML_RPC_T
3a80 79 70 65 73 5b 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 5d 29 29 20 7b 0a 20 20 20 20 ypes[strtolower($name)])).{.....
3aa0 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 76 74 27 5d 20 3d ....$XML_RPC_xh[$parser]['vt'].=
3ac0 20 73 74 72 74 6f 6c 6f 77 65 72 28 24 6e 61 6d 65 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 0a 66 75 .strtolower($name);.....}.}...fu
3ae0 6e 63 74 69 6f 6e 20 58 4d 4c 5f 52 50 43 5f 63 64 28 24 70 61 72 73 65 72 2c 20 24 64 61 74 61 nction.XML_RPC_cd($parser,.$data
3b00 29 0a 7b 0a 20 20 20 20 67 6c 6f 62 61 6c 20 24 58 4d 4c 5f 52 50 43 5f 78 68 2c 20 24 58 4d 4c ).{.....global.$XML_RPC_xh,.$XML
3b20 5f 52 50 43 5f 62 61 63 6b 73 6c 61 73 68 3b 0a 0a 20 20 20 20 69 66 20 28 24 58 4d 4c 5f 52 50 _RPC_backslash;......if.($XML_RP
3b40 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 6c 76 27 5d 20 21 3d 20 33 29 20 7b 0a 20 20 20 20 C_xh[$parser]['lv'].!=.3).{.....
3b60 20 20 20 20 2f 2f 20 22 6c 6f 6f 6b 66 6f 72 76 61 6c 75 65 3d 3d 33 22 20 6d 65 61 6e 73 20 74 ....//."lookforvalue==3".means.t
3b80 68 61 74 20 77 65 27 76 65 20 66 6f 75 6e 64 20 61 6e 20 65 6e 74 69 72 65 20 76 61 6c 75 65 0a hat.we've.found.an.entire.value.
3ba0 20 20 20 20 20 20 20 20 2f 2f 20 61 6e 64 20 73 68 6f 75 6c 64 20 64 69 73 63 61 72 64 20 61 6e ........//.and.should.discard.an
3bc0 79 20 66 75 72 74 68 65 72 20 63 68 61 72 61 63 74 65 72 20 64 61 74 61 0a 0a 20 20 20 20 20 20 y.further.character.data........
3be0 20 20 69 66 20 28 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 6c 76 27 5d ..if.($XML_RPC_xh[$parser]['lv']
3c00 20 3d 3d 20 31 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 69 66 20 77 65 27 76 65 .==.1).{.............//.if.we've
3c20 20 66 6f 75 6e 64 20 74 65 78 74 20 61 6e 64 20 77 65 27 72 65 20 6a 75 73 74 20 69 6e 20 61 20 .found.text.and.we're.just.in.a.
3c40 3c 76 61 6c 75 65 3e 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 74 75 72 6e <value>.then.............//.turn
3c60 20 71 75 6f 74 69 6e 67 20 6f 6e 2c 20 61 73 20 74 68 69 73 20 77 69 6c 6c 20 62 65 20 61 20 73 .quoting.on,.as.this.will.be.a.s
3c80 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 tring.............$XML_RPC_xh[$p
3ca0 61 72 73 65 72 5d 5b 27 71 74 27 5d 20 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f arser]['qt'].=.1;.............//
3cc0 20 61 6e 64 20 73 61 79 20 77 65 27 76 65 20 66 6f 75 6e 64 20 61 20 76 61 6c 75 65 0a 20 20 20 .and.say.we've.found.a.value....
3ce0 20 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 6c .........$XML_RPC_xh[$parser]['l
3d00 76 27 5d 20 3d 20 32 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 72 v'].=.2;.........}..........//.r
3d20 65 70 6c 61 63 65 20 63 68 61 72 61 63 74 65 72 73 20 74 68 61 74 20 65 76 61 6c 20 77 6f 75 6c eplace.characters.that.eval.woul
3d40 64 0a 20 20 20 20 20 20 20 20 2f 2f 20 64 6f 20 73 70 65 63 69 61 6c 20 74 68 69 6e 67 73 20 77 d.........//.do.special.things.w
3d60 69 74 68 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 58 4d 4c 5f 52 50 43 5f 78 ith.........if.(isset($XML_RPC_x
3d80 68 5b 24 70 61 72 73 65 72 5d 5b 27 61 63 27 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 h[$parser]['ac'])).{............
3da0 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 61 63 27 5d 20 2e 3d 20 73 .$XML_RPC_xh[$parser]['ac']..=.s
3dc0 74 72 5f 72 65 70 6c 61 63 65 28 27 24 27 2c 20 27 5c 24 27 2c 0a 20 20 20 20 20 20 20 20 20 20 tr_replace('$',.'\$',...........
3de0 20 20 20 20 20 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 22 27 2c 20 27 5c 22 27 2c 20 73 74 72 ......str_replace('"',.'\"',.str
3e00 5f 72 65 70 6c 61 63 65 28 63 68 72 28 39 32 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 _replace(chr(92),...............
3e20 20 20 24 58 4d 4c 5f 52 50 43 5f 62 61 63 6b 73 6c 61 73 68 2c 20 24 64 61 74 61 29 29 29 3b 0a ..$XML_RPC_backslash,.$data)));.
3e40 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 58 4d ........}.else.{.............$XM
3e60 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 61 63 27 5d 20 3d 20 27 27 3b 0a 20 20 L_RPC_xh[$parser]['ac'].=.'';...
3e80 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a 0a 0a 66 75 6e 63 74 69 6f 6e 20 58 4d 4c 5f 52 ......}.....}.}...function.XML_R
3ea0 50 43 5f 64 68 28 24 70 61 72 73 65 72 2c 20 24 64 61 74 61 29 0a 7b 0a 20 20 20 20 67 6c 6f 62 PC_dh($parser,.$data).{.....glob
3ec0 61 6c 20 24 58 4d 4c 5f 52 50 43 5f 78 68 3b 0a 0a 20 20 20 20 69 66 20 28 73 75 62 73 74 72 28 al.$XML_RPC_xh;......if.(substr(
3ee0 24 64 61 74 61 2c 20 30 2c 20 31 29 20 3d 3d 20 22 26 22 20 26 26 20 73 75 62 73 74 72 28 24 64 $data,.0,.1).==."&".&&.substr($d
3f00 61 74 61 2c 20 2d 31 2c 20 31 29 20 3d 3d 20 22 3b 22 29 20 7b 0a 20 20 20 20 20 20 20 20 69 66 ata,.-1,.1).==.";").{.........if
3f20 20 28 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 6c 76 27 5d 20 3d 3d 20 .($XML_RPC_xh[$parser]['lv'].==.
3f40 31 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 1).{.............$XML_RPC_xh[$pa
3f60 72 73 65 72 5d 5b 27 71 74 27 5d 20 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 58 4d rser]['qt'].=.1;.............$XM
3f80 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 6c 76 27 5d 20 3d 20 32 3b 0a 20 20 20 L_RPC_xh[$parser]['lv'].=.2;....
3fa0 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 .....}.........$XML_RPC_xh[$pars
3fc0 65 72 5d 5b 27 61 63 27 5d 20 2e 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 24 27 2c 20 27 5c er]['ac']..=.str_replace('$',.'\
3fe0 24 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 5f 72 65 70 6c 61 63 65 28 27 22 27 2c $',.............str_replace('"',
4000 20 27 5c 22 27 2c 20 73 74 72 5f 72 65 70 6c 61 63 65 28 63 68 72 28 39 32 29 2c 0a 20 20 20 20 .'\"',.str_replace(chr(92),.....
4020 20 20 20 20 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 62 61 63 6b 73 6c 61 73 68 2c 20 ............$XML_RPC_backslash,.
4040 24 64 61 74 61 29 29 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 2f 2a 2a 0a 20 2a 20 42 61 73 65 20 63 $data)));.....}.}../**..*.Base.c
4060 6c 61 73 73 0a 20 2a 0a 20 2a 20 54 68 69 73 20 63 6c 61 73 73 20 70 72 6f 76 69 64 65 73 20 63 lass..*..*.This.class.provides.c
4080 6f 6d 6d 6f 6e 20 66 75 6e 63 74 69 6f 6e 73 20 66 6f 72 20 61 6c 6c 20 6f 66 20 74 68 65 20 58 ommon.functions.for.all.of.the.X
40a0 4d 4c 5f 52 50 43 20 63 6c 61 73 73 65 73 2e 0a 20 2a 2f 0a 63 6c 61 73 73 20 58 4d 4c 5f 52 50 ML_RPC.classes...*/.class.XML_RP
40c0 43 5f 42 61 73 65 20 7b 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 72 61 69 73 65 45 72 72 6f 72 C_Base.{.....function.raiseError
40e0 28 24 6d 73 67 2c 20 24 63 6f 64 65 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 6e 63 6c ($msg,.$code).....{.........incl
4100 75 64 65 5f 6f 6e 63 65 20 27 50 45 41 52 2e 70 68 70 27 3b 0a 20 20 20 20 20 20 20 20 50 45 41 ude_once.'PEAR.php';.........PEA
4120 52 3a 3a 72 61 69 73 65 45 72 72 6f 72 28 67 65 74 5f 63 6c 61 73 73 28 24 74 68 69 73 29 20 2e R::raiseError(get_class($this)..
4140 20 22 3a 20 22 20 2e 20 24 6d 73 67 2c 20 24 63 6f 64 65 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 63 .":."...$msg,.$code);.....}.}..c
4160 6c 61 73 73 20 58 4d 4c 5f 52 50 43 5f 43 6c 69 65 6e 74 20 65 78 74 65 6e 64 73 20 58 4d 4c 5f lass.XML_RPC_Client.extends.XML_
4180 52 50 43 5f 42 61 73 65 20 7b 0a 20 20 20 20 76 61 72 20 24 70 61 74 68 3b 0a 20 20 20 20 76 61 RPC_Base.{.....var.$path;.....va
41a0 72 20 24 73 65 72 76 65 72 3b 0a 20 20 20 20 76 61 72 20 24 70 6f 72 74 3b 0a 20 20 20 20 76 61 r.$server;.....var.$port;.....va
41c0 72 20 24 65 72 72 6e 6f 3b 0a 20 20 20 20 76 61 72 20 24 65 72 72 73 74 72 69 6e 67 3b 0a 20 20 r.$errno;.....var.$errstring;...
41e0 20 20 76 61 72 20 24 64 65 62 75 67 20 3d 20 30 3b 0a 20 20 20 20 76 61 72 20 24 75 73 65 72 6e ..var.$debug.=.0;.....var.$usern
4200 61 6d 65 20 3d 20 22 22 3b 0a 20 20 20 20 76 61 72 20 24 70 61 73 73 77 6f 72 64 20 3d 20 22 22 ame.=."";.....var.$password.=.""
4220 3b 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 58 4d 4c 5f 52 50 43 5f 43 6c 69 65 6e 74 28 24 ;......function.XML_RPC_Client($
4240 70 61 74 68 2c 20 24 73 65 72 76 65 72 2c 20 24 70 6f 72 74 20 3d 20 38 30 2c 0a 20 20 20 20 20 path,.$server,.$port.=.80,......
4260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 6f 78 79 20 3d 20 .......................$proxy.=.
4280 27 27 2c 20 24 70 72 6f 78 79 5f 70 6f 72 74 20 3d 20 38 30 38 30 2c 0a 20 20 20 20 20 20 20 20 '',.$proxy_port.=.8080,.........
42a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 72 6f 78 79 5f 75 73 65 72 20 ....................$proxy_user.
42c0 3d 20 27 27 2c 20 24 70 72 6f 78 79 5f 70 61 73 73 20 3d 20 27 27 29 0a 20 20 20 20 7b 0a 20 20 =.'',.$proxy_pass.=.'').....{...
42e0 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 6f 72 74 20 3d 20 24 70 6f 72 74 3b 0a 20 20 20 20 20 ......$this->port.=.$port;......
4300 20 20 20 24 74 68 69 73 2d 3e 73 65 72 76 65 72 20 3d 20 24 73 65 72 76 65 72 3b 0a 20 20 20 20 ...$this->server.=.$server;.....
4320 20 20 20 20 24 74 68 69 73 2d 3e 70 61 74 68 20 3d 20 24 70 61 74 68 3b 0a 20 20 20 20 20 20 20 ....$this->path.=.$path;........
4340 20 24 74 68 69 73 2d 3e 70 72 6f 78 79 20 3d 20 24 70 72 6f 78 79 3b 0a 20 20 20 20 20 20 20 20 .$this->proxy.=.$proxy;.........
4360 24 74 68 69 73 2d 3e 70 72 6f 78 79 5f 70 6f 72 74 20 3d 20 24 70 72 6f 78 79 5f 70 6f 72 74 3b $this->proxy_port.=.$proxy_port;
4380 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 6f 78 79 5f 75 73 65 72 20 3d 20 24 70 72 .........$this->proxy_user.=.$pr
43a0 6f 78 79 5f 75 73 65 72 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 72 6f 78 79 5f 70 oxy_user;.........$this->proxy_p
43c0 61 73 73 20 3d 20 24 70 72 6f 78 79 5f 70 61 73 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 ass.=.$proxy_pass;.....}......fu
43e0 6e 63 74 69 6f 6e 20 73 65 74 44 65 62 75 67 28 24 69 6e 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 nction.setDebug($in).....{......
4400 20 20 20 69 66 20 28 24 69 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d ...if.($in).{.............$this-
4420 3e 64 65 62 75 67 20 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 >debug.=.1;.........}.else.{....
4440 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 64 65 62 75 67 20 3d 20 30 3b 0a 20 20 20 20 20 .........$this->debug.=.0;......
4460 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 43 72 65 64 ...}.....}......function.setCred
4480 65 6e 74 69 61 6c 73 28 24 75 2c 20 24 70 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 entials($u,.$p).....{.........$t
44a0 68 69 73 2d 3e 75 73 65 72 6e 61 6d 65 20 3d 20 24 75 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 his->username.=.$u;.........$thi
44c0 73 2d 3e 70 61 73 73 77 6f 72 64 20 3d 20 24 70 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e s->password.=.$p;.....}......fun
44e0 63 74 69 6f 6e 20 73 65 6e 64 28 24 6d 73 67 2c 20 24 74 69 6d 65 6f 75 74 20 3d 20 30 29 0a 20 ction.send($msg,.$timeout.=.0)..
4500 20 20 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 77 68 65 72 65 20 6d 73 67 20 69 73 20 61 6e 20 ...{.........//.where.msg.is.an.
4520 78 6d 6c 72 70 63 6d 73 67 0a 20 20 20 20 20 20 20 20 24 6d 73 67 2d 3e 64 65 62 75 67 20 3d 20 xmlrpcmsg.........$msg->debug.=.
4540 24 74 68 69 73 2d 3e 64 65 62 75 67 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 $this->debug;.........return.$th
4560 69 73 2d 3e 73 65 6e 64 50 61 79 6c 6f 61 64 48 54 54 50 31 30 28 24 6d 73 67 2c 20 24 74 68 69 is->sendPayloadHTTP10($msg,.$thi
4580 73 2d 3e 73 65 72 76 65 72 2c 20 24 74 68 69 73 2d 3e 70 6f 72 74 2c 0a 20 20 20 20 20 20 20 20 s->server,.$this->port,.........
45a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
45c0 24 74 69 6d 65 6f 75 74 2c 20 24 74 68 69 73 2d 3e 75 73 65 72 6e 61 6d 65 2c 0a 20 20 20 20 20 $timeout,.$this->username,......
45e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4600 20 20 20 24 74 68 69 73 2d 3e 70 61 73 73 77 6f 72 64 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 ...$this->password);.....}......
4620 66 75 6e 63 74 69 6f 6e 20 73 65 6e 64 50 61 79 6c 6f 61 64 48 54 54 50 31 30 28 24 6d 73 67 2c function.sendPayloadHTTP10($msg,
4640 20 24 73 65 72 76 65 72 2c 20 24 70 6f 72 74 2c 20 24 74 69 6d 65 6f 75 74 3d 30 2c 0a 20 20 20 .$server,.$port,.$timeout=0,....
4660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 75 73 65 ............................$use
4680 72 6e 61 6d 65 20 3d 20 22 22 2c 20 24 70 61 73 73 77 6f 72 64 20 3d 20 22 22 29 0a 20 20 20 20 rname.=."",.$password.=."").....
46a0 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 77 65 27 72 65 20 75 73 69 6e 67 20 61 20 70 72 {.........//.If.we're.using.a.pr
46c0 6f 78 79 20 6f 70 65 6e 20 61 20 73 6f 63 6b 65 74 20 74 6f 20 74 68 65 20 70 72 6f 78 79 20 73 oxy.open.a.socket.to.the.proxy.s
46e0 65 72 76 65 72 20 69 6e 73 74 65 61 64 20 74 6f 20 74 68 65 20 78 6d 6c 2d 72 70 63 20 73 65 72 erver.instead.to.the.xml-rpc.ser
4700 76 65 72 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 78 79 29 7b 0a 20 ver.........if.($this->proxy){..
4720 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 74 69 6d 65 6f 75 74 20 3e 20 30 29 20 7b 0a 20 ...........if.($timeout.>.0).{..
4740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 70 20 3d 20 66 73 6f 63 6b 6f 70 65 6e 28 24 ...............$fp.=.fsockopen($
4760 74 68 69 73 2d 3e 70 72 6f 78 79 2c 20 24 74 68 69 73 2d 3e 70 72 6f 78 79 5f 70 6f 72 74 2c 20 this->proxy,.$this->proxy_port,.
4780 24 74 68 69 73 2d 3e 65 72 72 6e 6f 2c 20 24 74 68 69 73 2d 3e 65 72 72 73 74 72 2c 20 24 74 69 $this->errno,.$this->errstr,.$ti
47a0 6d 65 6f 75 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 meout);.............}.else.{....
47c0 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 70 20 3d 20 66 73 6f 63 6b 6f 70 65 6e 28 24 74 68 .............$fp.=.fsockopen($th
47e0 69 73 2d 3e 70 72 6f 78 79 2c 20 24 74 68 69 73 2d 3e 70 72 6f 78 79 5f 70 6f 72 74 2c 20 24 74 is->proxy,.$this->proxy_port,.$t
4800 68 69 73 2d 3e 65 72 72 6e 6f 2c 20 24 74 68 69 73 2d 3e 65 72 72 73 74 72 29 3b 0a 20 20 20 20 his->errno,.$this->errstr);.....
4820 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 ........}.........}.else.{......
4840 20 20 20 20 20 20 20 69 66 20 28 24 74 69 6d 65 6f 75 74 20 3e 20 30 29 20 7b 0a 20 20 20 20 20 .......if.($timeout.>.0).{......
4860 20 20 20 20 20 20 20 20 20 20 20 24 66 70 20 3d 20 66 73 6f 63 6b 6f 70 65 6e 28 24 73 65 72 76 ...........$fp.=.fsockopen($serv
4880 65 72 2c 20 24 70 6f 72 74 2c 20 24 74 68 69 73 2d 3e 65 72 72 6e 6f 2c 20 24 74 68 69 73 2d 3e er,.$port,.$this->errno,.$this->
48a0 65 72 72 73 74 72 2c 20 24 74 69 6d 65 6f 75 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d errstr,.$timeout);.............}
48c0 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 70 20 3d 20 66 73 .else.{.................$fp.=.fs
48e0 6f 63 6b 6f 70 65 6e 28 24 73 65 72 76 65 72 2c 20 24 70 6f 72 74 2c 20 24 74 68 69 73 2d 3e 65 ockopen($server,.$port,.$this->e
4900 72 72 6e 6f 2c 20 24 74 68 69 73 2d 3e 65 72 72 73 74 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 rrno,.$this->errstr);...........
4920 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 24 66 70 20 ..}.........}..........if.(!$fp.
4940 26 26 20 24 74 68 69 73 2d 3e 70 72 6f 78 79 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 &&.$this->proxy).{.............$
4960 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 this->raiseError(...............
4980 20 20 22 43 6f 6e 6e 65 63 74 69 6f 6e 20 74 6f 20 70 72 6f 78 79 20 73 65 72 76 65 72 20 22 20 .."Connection.to.proxy.server.".
49a0 2e 20 24 74 68 69 73 2d 3e 70 72 6f 78 79 20 2e 20 22 3a 22 20 2e 20 24 74 68 69 73 2d 3e 70 72 ..$this->proxy...":"...$this->pr
49c0 6f 78 79 5f 70 6f 72 74 20 2e 20 22 20 66 61 69 6c 65 64 22 2c 0a 20 20 20 20 20 20 20 20 20 20 oxy_port...".failed",...........
49e0 20 20 20 20 20 20 58 4d 4c 5f 52 50 43 5f 45 52 52 4f 52 5f 43 4f 4e 4e 45 43 54 49 4f 4e 5f 46 ......XML_RPC_ERROR_CONNECTION_F
4a00 41 49 4c 45 44 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 21 24 66 70 29 20 AILED);.........}.elseif.(!$fp).
4a20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 {.............$this->raiseError(
4a40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 43 6f 6e 6e 65 63 74 69 6f 6e 20 74 6f 20 ................."Connection.to.
4a60 52 50 43 20 73 65 72 76 65 72 20 22 20 2e 20 24 74 68 69 73 2d 3e 73 65 72 76 65 72 20 2e 20 22 RPC.server."...$this->server..."
4a80 20 66 61 69 6c 65 64 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 58 4d 4c 5f 52 50 .failed",.................XML_RP
4aa0 43 5f 45 52 52 4f 52 5f 43 4f 4e 4e 45 43 54 49 4f 4e 5f 46 41 49 4c 45 44 29 3b 0a 20 20 20 20 C_ERROR_CONNECTION_FAILED);.....
4ac0 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 4f 6e 6c 79 20 63 72 65 61 74 65 20 74 68 ....}..........//.Only.create.th
4ae0 65 20 70 61 79 6c 6f 61 64 20 69 66 20 69 74 20 77 61 73 20 6e 6f 74 20 63 72 65 61 74 65 64 20 e.payload.if.it.was.not.created.
4b00 70 72 65 76 69 6f 75 73 6c 79 0a 20 20 20 20 20 20 20 20 69 66 20 28 65 6d 70 74 79 28 24 6d 73 previously.........if.(empty($ms
4b20 67 2d 3e 70 61 79 6c 6f 61 64 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 73 67 2d g->payload)).{.............$msg-
4b40 3e 63 72 65 61 74 65 50 61 79 6c 6f 61 64 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 >createPayload();.........}.....
4b60 20 20 20 20 20 2f 2f 20 74 68 61 6e 6b 73 20 74 6f 20 47 72 61 6e 74 20 52 61 75 73 63 68 65 72 .....//.thanks.to.Grant.Rauscher
4b80 20 3c 67 72 61 6e 74 37 40 66 69 72 73 74 77 6f 72 6c 64 2e 6e 65 74 3e 20 66 6f 72 20 74 68 69 .<grant7@firstworld.net>.for.thi
4ba0 73 0a 20 20 20 20 20 20 20 20 24 63 72 65 64 65 6e 74 69 61 6c 73 20 3d 20 22 22 3b 0a 20 20 20 s.........$credentials.=."";....
4bc0 20 20 20 20 20 69 66 20 28 24 75 73 65 72 6e 61 6d 65 20 21 3d 20 22 22 29 20 7b 0a 20 20 20 20 .....if.($username.!=."").{.....
4be0 20 20 20 20 20 20 20 20 24 63 72 65 64 65 6e 74 69 61 6c 73 20 3d 20 22 41 75 74 68 6f 72 69 7a ........$credentials.=."Authoriz
4c00 61 74 69 6f 6e 3a 20 42 61 73 69 63 20 22 20 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ation:.Basic."..................
4c20 20 62 61 73 65 36 34 5f 65 6e 63 6f 64 65 28 24 75 73 65 72 6e 61 6d 65 20 2e 20 22 3a 22 20 2e .base64_encode($username...":"..
4c40 20 24 70 61 73 73 77 6f 72 64 29 20 2e 20 22 5c 72 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a .$password)..."\r\n";.........}.
4c60 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 70 72 6f 78 79 29 20 7b 0a 20 20 ..........if.($this->proxy).{...
4c80 20 20 20 20 20 20 20 20 20 20 24 6f 70 20 3d 20 22 50 4f 53 54 20 68 74 74 70 3a 2f 2f 22 20 2e ..........$op.=."POST.http://"..
4ca0 20 24 74 68 69 73 2d 3e 73 65 72 76 65 72 3b 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 .$this->server;..............if.
4cc0 28 24 74 68 69 73 2d 3e 70 72 6f 78 79 5f 70 6f 72 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 ($this->proxy_port).{...........
4ce0 20 20 20 20 20 20 24 6f 70 20 2e 3d 20 22 3a 22 20 2e 20 24 74 68 69 73 2d 3e 70 6f 72 74 3b 0a ......$op..=.":"...$this->port;.
4d00 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 ............}.........}.else.{..
4d20 20 20 20 20 20 20 20 20 20 20 24 6f 70 20 3d 20 22 50 4f 53 54 20 22 3b 0a 20 20 20 20 20 20 20 ..........$op.=."POST.";........
4d40 20 7d 0a 0a 20 20 20 20 20 20 20 20 24 6f 70 20 2e 3d 20 24 74 68 69 73 2d 3e 70 61 74 68 2e 20 .}..........$op..=.$this->path..
4d60 22 20 48 54 54 50 2f 31 2e 30 5c 72 5c 6e 22 20 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ".HTTP/1.0\r\n".................
4d80 20 22 55 73 65 72 2d 41 67 65 6e 74 3a 20 50 45 41 52 20 58 4d 4c 5f 52 50 43 5c 72 5c 6e 22 20 ."User-Agent:.PEAR.XML_RPC\r\n".
4da0 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 48 6f 73 74 3a 20 22 20 2e 20 24 74 68 69 ................."Host:."...$thi
4dc0 73 2d 3e 73 65 72 76 65 72 20 2e 20 22 5c 72 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 s->server..."\r\n";.........if.(
4de0 24 74 68 69 73 2d 3e 70 72 6f 78 79 20 26 26 20 24 74 68 69 73 2d 3e 70 72 6f 78 79 5f 75 73 65 $this->proxy.&&.$this->proxy_use
4e00 72 20 21 3d 20 27 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6f 70 20 2e 3d 20 27 50 r.!=.'').{.............$op..=.'P
4e20 72 6f 78 79 2d 41 75 74 68 6f 72 69 7a 61 74 69 6f 6e 3a 20 42 61 73 69 63 20 27 20 2e 0a 20 20 roxy-Authorization:.Basic.'.....
4e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 61 73 65 36 34 5f 65 6e 63 6f 64 65 28 24 74 68 69 ..............base64_encode($thi
4e60 73 2d 3e 70 72 6f 78 79 5f 75 73 65 72 20 2e 20 27 3a 27 20 2e 20 24 74 68 69 73 2d 3e 70 72 6f s->proxy_user...':'...$this->pro
4e80 78 79 5f 70 61 73 73 29 20 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 72 5c 6e xy_pass)..................."\r\n
4ea0 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 6f 70 20 2e 3d 20 24 63 72 65 ";.........}.........$op..=.$cre
4ec0 64 65 6e 74 69 61 6c 73 20 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 43 6f 6e 74 65 dentials.................."Conte
4ee0 6e 74 2d 54 79 70 65 3a 20 74 65 78 74 2f 78 6d 6c 5c 72 5c 6e 22 20 2e 0a 20 20 20 20 20 20 20 nt-Type:.text/xml\r\n"..........
4f00 20 20 20 20 20 20 20 20 22 43 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 68 3a 20 22 20 2e 20 73 74 72 ........"Content-Length:."...str
4f20 6c 65 6e 28 24 6d 73 67 2d 3e 70 61 79 6c 6f 61 64 29 20 2e 20 22 5c 72 5c 6e 5c 72 5c 6e 22 20 len($msg->payload)..."\r\n\r\n".
4f40 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 73 67 2d 3e 70 61 79 6c 6f 61 64 3b 0a .................$msg->payload;.
4f60 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 66 70 75 74 73 28 24 66 70 2c 20 24 6f 70 2c 20 73 74 .........if.(!fputs($fp,.$op,.st
4f80 72 6c 65 6e 28 24 6f 70 29 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d rlen($op))).{.............$this-
4fa0 3e 65 72 72 73 74 72 20 3d 20 22 57 72 69 74 65 20 65 72 72 6f 72 22 3b 0a 20 20 20 20 20 20 20 >errstr.=."Write.error";........
4fc0 20 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 .....return.0;.........}........
4fe0 20 24 72 65 73 70 20 3d 20 24 6d 73 67 2d 3e 70 61 72 73 65 52 65 73 70 6f 6e 73 65 46 69 6c 65 .$resp.=.$msg->parseResponseFile
5000 28 24 66 70 29 3b 0a 20 20 20 20 20 20 20 20 66 63 6c 6f 73 65 28 24 66 70 29 3b 0a 20 20 20 20 ($fp);.........fclose($fp);.....
5020 20 20 20 20 72 65 74 75 72 6e 20 24 72 65 73 70 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 0a 63 6c 61 73 ....return.$resp;.....}.}...clas
5040 73 20 58 4d 4c 5f 52 50 43 5f 52 65 73 70 6f 6e 73 65 20 65 78 74 65 6e 64 73 20 58 4d 4c 5f 52 s.XML_RPC_Response.extends.XML_R
5060 50 43 5f 42 61 73 65 0a 7b 0a 20 20 20 20 76 61 72 20 24 78 76 3b 0a 20 20 20 20 76 61 72 20 24 PC_Base.{.....var.$xv;.....var.$
5080 66 6e 3b 0a 20 20 20 20 76 61 72 20 24 66 73 3b 0a 20 20 20 20 76 61 72 20 24 68 64 72 73 3b 0a fn;.....var.$fs;.....var.$hdrs;.
50a0 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 58 4d 4c 5f 52 50 43 5f 52 65 73 70 6f 6e 73 65 28 24 .....function.XML_RPC_Response($
50c0 76 61 6c 2c 20 24 66 63 6f 64 65 20 3d 20 30 2c 20 24 66 73 74 72 20 3d 20 22 22 29 0a 20 20 20 val,.$fcode.=.0,.$fstr.=."")....
50e0 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 66 63 6f 64 65 20 21 3d 20 30 29 20 7b 0a 20 20 .{.........if.($fcode.!=.0).{...
5100 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 6e 20 3d 20 24 66 63 6f 64 65 3b 0a 20 20 ..........$this->fn.=.$fcode;...
5120 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 66 73 20 3d 20 68 74 6d 6c 73 70 65 63 69 61 ..........$this->fs.=.htmlspecia
5140 6c 63 68 61 72 73 28 24 66 73 74 72 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a lchars($fstr);.........}.else.{.
5160 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 78 76 20 3d 20 24 76 61 6c 3b 0a 20 20 ............$this->xv.=.$val;...
5180 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 61 75 6c ......}.....}......function.faul
51a0 74 43 6f 64 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 tCode().....{.........if.(isset(
51c0 24 74 68 69 73 2d 3e 66 6e 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e $this->fn)).{.............return
51e0 20 24 74 68 69 73 2d 3e 66 6e 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 .$this->fn;.........}.else.{....
5200 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 .........return.0;.........}....
5220 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 61 75 6c 74 53 74 72 69 6e 67 28 29 0a 20 .}......function.faultString()..
5240 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 66 73 3b 0a 20 ...{.........return.$this->fs;..
5260 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 76 61 6c 75 65 28 29 0a 20 20 20 20 7b ...}......function.value().....{
5280 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 78 76 3b 0a 20 20 20 20 7d .........return.$this->xv;.....}
52a0 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 65 72 69 61 6c 69 7a 65 28 29 0a 20 20 20 20 7b ......function.serialize().....{
52c0 0a 20 20 20 20 20 20 20 20 24 72 73 20 3d 20 22 3c 6d 65 74 68 6f 64 52 65 73 70 6f 6e 73 65 3e .........$rs.=."<methodResponse>
52e0 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 66 6e 29 20 7b 0a 20 20 \n";.........if.($this->fn).{...
5300 20 20 20 20 20 20 20 20 20 20 24 72 73 20 2e 3d 20 22 3c 66 61 75 6c 74 3e 0a 20 20 3c 76 61 6c ..........$rs..=."<fault>...<val
5320 75 65 3e 0a 20 20 20 20 3c 73 74 72 75 63 74 3e 0a 20 20 20 20 20 20 3c 6d 65 6d 62 65 72 3e 0a ue>.....<struct>.......<member>.
5340 20 20 20 20 20 20 20 20 3c 6e 61 6d 65 3e 66 61 75 6c 74 43 6f 64 65 3c 2f 6e 61 6d 65 3e 0a 20 ........<name>faultCode</name>..
5360 20 20 20 20 20 20 20 3c 76 61 6c 75 65 3e 3c 69 6e 74 3e 22 20 2e 20 24 74 68 69 73 2d 3e 66 6e .......<value><int>"...$this->fn
5380 20 2e 20 22 3c 2f 69 6e 74 3e 3c 2f 76 61 6c 75 65 3e 0a 20 20 20 20 20 20 3c 2f 6d 65 6d 62 65 ..."</int></value>.......</membe
53a0 72 3e 0a 20 20 20 20 20 20 3c 6d 65 6d 62 65 72 3e 0a 20 20 20 20 20 20 20 20 3c 6e 61 6d 65 3e r>.......<member>.........<name>
53c0 66 61 75 6c 74 53 74 72 69 6e 67 3c 2f 6e 61 6d 65 3e 0a 20 20 20 20 20 20 20 20 3c 76 61 6c 75 faultString</name>.........<valu
53e0 65 3e 3c 73 74 72 69 6e 67 3e 22 20 2e 20 24 74 68 69 73 2d 3e 66 73 20 2e 20 22 3c 2f 73 74 72 e><string>"...$this->fs..."</str
5400 69 6e 67 3e 3c 2f 76 61 6c 75 65 3e 0a 20 20 20 20 20 20 3c 2f 6d 65 6d 62 65 72 3e 0a 20 20 20 ing></value>.......</member>....
5420 20 3c 2f 73 74 72 75 63 74 3e 0a 20 20 3c 2f 76 61 6c 75 65 3e 0a 3c 2f 66 61 75 6c 74 3e 22 3b .</struct>...</value>.</fault>";
5440 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 .........}.else.{.............$r
5460 73 20 2e 3d 20 22 3c 70 61 72 61 6d 73 3e 5c 6e 3c 70 61 72 61 6d 3e 5c 6e 22 20 2e 20 24 74 68 s..=."<params>\n<param>\n"...$th
5480 69 73 2d 3e 78 76 2d 3e 73 65 72 69 61 6c 69 7a 65 28 29 20 2e 0a 20 20 20 20 20 20 20 20 22 3c is->xv->serialize()..........."<
54a0 2f 70 61 72 61 6d 3e 5c 6e 3c 2f 70 61 72 61 6d 73 3e 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 /param>\n</params>";.........}..
54c0 20 20 20 20 20 20 20 24 72 73 20 2e 3d 20 22 5c 6e 3c 2f 6d 65 74 68 6f 64 52 65 73 70 6f 6e 73 .......$rs..=."\n</methodRespons
54e0 65 3e 22 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 73 3b 0a 20 20 20 20 7d 0a 7d e>";.........return.$rs;.....}.}
5500 0a 0a 0a 63 6c 61 73 73 20 58 4d 4c 5f 52 50 43 5f 4d 65 73 73 61 67 65 20 65 78 74 65 6e 64 73 ...class.XML_RPC_Message.extends
5520 20 58 4d 4c 5f 52 50 43 5f 42 61 73 65 0a 7b 0a 20 20 20 20 76 61 72 20 24 70 61 79 6c 6f 61 64 .XML_RPC_Base.{.....var.$payload
5540 3b 0a 20 20 20 20 76 61 72 20 24 6d 65 74 68 6f 64 6e 61 6d 65 3b 0a 20 20 20 20 76 61 72 20 24 ;.....var.$methodname;.....var.$
5560 70 61 72 61 6d 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 76 61 72 20 24 64 65 62 75 67 params.=.array();.....var.$debug
5580 20 3d 20 30 3b 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 58 4d 4c 5f 52 50 43 5f 4d 65 73 73 .=.0;......function.XML_RPC_Mess
55a0 61 67 65 28 24 6d 65 74 68 2c 20 24 70 61 72 73 20 3d 20 30 29 0a 20 20 20 20 7b 0a 20 20 20 20 age($meth,.$pars.=.0).....{.....
55c0 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 74 68 6f 64 6e 61 6d 65 20 3d 20 24 6d 65 74 68 3b 0a 20 ....$this->methodname.=.$meth;..
55e0 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 61 72 72 61 79 28 24 70 61 72 73 29 20 26 26 20 73 69 .......if.(is_array($pars).&&.si
5600 7a 65 6f 66 28 24 70 61 72 73 29 3e 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 zeof($pars)>0).{.............for
5620 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 73 69 7a 65 6f 66 28 24 70 61 72 73 29 3b 20 24 69 2b ($i.=.0;.$i.<.sizeof($pars);.$i+
5640 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 64 64 50 +).{.................$this->addP
5660 61 72 61 6d 28 24 70 61 72 73 5b 24 69 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 aram($pars[$i]);.............}..
5680 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 78 6d 6c .......}.....}......function.xml
56a0 5f 68 65 61 64 65 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 _header().....{.........return."
56c0 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 5c 22 31 2e 30 5c 22 3f 3e 5c 6e 3c 6d 65 74 68 6f 64 <?xml.version=\"1.0\"?>\n<method
56e0 43 61 6c 6c 3e 5c 6e 22 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 78 6d Call>\n";.....}......function.xm
5700 6c 5f 66 6f 6f 74 65 72 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 l_footer().....{.........return.
5720 22 3c 2f 6d 65 74 68 6f 64 43 61 6c 6c 3e 5c 6e 22 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 "</methodCall>\n";.....}......fu
5740 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 50 61 79 6c 6f 61 64 28 29 0a 20 20 20 20 7b 0a 20 20 20 nction.createPayload().....{....
5760 20 20 20 20 20 24 74 68 69 73 2d 3e 70 61 79 6c 6f 61 64 20 3d 20 24 74 68 69 73 2d 3e 78 6d 6c .....$this->payload.=.$this->xml
5780 5f 68 65 61 64 65 72 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 61 79 6c 6f 61 _header();.........$this->payloa
57a0 64 20 2e 3d 20 22 3c 6d 65 74 68 6f 64 4e 61 6d 65 3e 22 20 2e 20 24 74 68 69 73 2d 3e 6d 65 74 d..=."<methodName>"...$this->met
57c0 68 6f 64 6e 61 6d 65 20 2e 20 22 3c 2f 6d 65 74 68 6f 64 4e 61 6d 65 3e 5c 6e 22 3b 0a 20 20 20 hodname..."</methodName>\n";....
57e0 20 20 20 20 20 24 74 68 69 73 2d 3e 70 61 79 6c 6f 61 64 20 2e 3d 20 22 3c 70 61 72 61 6d 73 3e .....$this->payload..=."<params>
5800 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 66 6f 72 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 73 69 \n";.........for($i.=.0;.$i.<.si
5820 7a 65 6f 66 28 24 74 68 69 73 2d 3e 70 61 72 61 6d 73 29 3b 20 24 69 2b 2b 29 20 7b 0a 20 20 20 zeof($this->params);.$i++).{....
5840 20 20 20 20 20 20 20 20 20 24 70 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 61 6d 73 5b 24 69 5d 3b .........$p.=.$this->params[$i];
5860 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 61 79 6c 6f 61 64 20 2e 3d 20 22 .............$this->payload..=."
5880 3c 70 61 72 61 6d 3e 5c 6e 22 20 2e 20 24 70 2d 3e 73 65 72 69 61 6c 69 7a 65 28 29 20 2e 20 22 <param>\n"...$p->serialize()..."
58a0 3c 2f 70 61 72 61 6d 3e 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 </param>\n";.........}.........$
58c0 74 68 69 73 2d 3e 70 61 79 6c 6f 61 64 20 2e 3d 20 22 3c 2f 70 61 72 61 6d 73 3e 5c 6e 22 3b 0a this->payload..=."</params>\n";.
58e0 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 61 79 6c 6f 61 64 20 2e 3d 20 24 74 68 69 73 2d ........$this->payload..=.$this-
5900 3e 78 6d 6c 5f 66 6f 6f 74 65 72 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 70 61 >xml_footer();.........$this->pa
5920 79 6c 6f 61 64 20 3d 20 73 74 72 5f 72 65 70 6c 61 63 65 28 22 5c 6e 22 2c 20 22 5c 72 5c 6e 22 yload.=.str_replace("\n",."\r\n"
5940 2c 20 24 74 68 69 73 2d 3e 70 61 79 6c 6f 61 64 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 ,.$this->payload);.....}......fu
5960 6e 63 74 69 6f 6e 20 6d 65 74 68 6f 64 28 24 6d 65 74 68 20 3d 20 22 22 29 0a 20 20 20 20 7b 0a nction.method($meth.=."").....{.
5980 20 20 20 20 20 20 20 20 69 66 20 28 24 6d 65 74 68 20 21 3d 20 22 22 29 20 7b 0a 20 20 20 20 20 ........if.($meth.!=."").{......
59a0 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 74 68 6f 64 6e 61 6d 65 20 3d 20 24 6d 65 74 68 .......$this->methodname.=.$meth
59c0 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 ;.........}.........return.$this
59e0 2d 3e 6d 65 74 68 6f 64 6e 61 6d 65 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f ->methodname;.....}......functio
5a00 6e 20 73 65 72 69 61 6c 69 7a 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 74 68 69 n.serialize().....{.........$thi
5a20 73 2d 3e 63 72 65 61 74 65 50 61 79 6c 6f 61 64 28 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 s->createPayload();.........retu
5a40 72 6e 20 24 74 68 69 73 2d 3e 70 61 79 6c 6f 61 64 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 rn.$this->payload;.....}......fu
5a60 6e 63 74 69 6f 6e 20 61 64 64 50 61 72 61 6d 28 24 70 61 72 29 0a 20 20 20 20 7b 0a 20 20 20 20 nction.addParam($par).....{.....
5a80 20 20 20 20 24 74 68 69 73 2d 3e 70 61 72 61 6d 73 5b 5d 20 3d 20 24 70 61 72 3b 0a 20 20 20 20 ....$this->params[].=.$par;.....
5aa0 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 50 61 72 61 6d 28 24 69 29 0a 20 20 20 }......function.getParam($i)....
5ac0 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 61 72 61 6d 73 5b .{.........return.$this->params[
5ae0 24 69 5d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 4e 75 6d 50 $i];.....}......function.getNumP
5b00 61 72 61 6d 73 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 69 7a arams().....{.........return.siz
5b20 65 6f 66 28 24 74 68 69 73 2d 3e 70 61 72 61 6d 73 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 eof($this->params);.....}......f
5b40 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 52 65 73 70 6f 6e 73 65 46 69 6c 65 28 24 66 70 29 0a 20 unction.parseResponseFile($fp)..
5b60 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 69 70 64 20 3d 20 22 22 3b 0a 0a 20 20 20 20 20 20 20 ...{.........$ipd.=."";.........
5b80 20 77 68 69 6c 65 28 24 64 61 74 61 20 3d 20 66 72 65 61 64 28 24 66 70 2c 20 33 32 37 36 38 29 .while($data.=.fread($fp,.32768)
5ba0 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 69 70 64 20 2e 3d 20 24 64 61 74 61 3b 0a 20 ).{.............$ipd..=.$data;..
5bc0 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 74 68 69 73 2d 3e 70 .......}.........return.$this->p
5be0 61 72 73 65 52 65 73 70 6f 6e 73 65 28 24 69 70 64 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 arseResponse($ipd);.....}......f
5c00 75 6e 63 74 69 6f 6e 20 70 61 72 73 65 52 65 73 70 6f 6e 73 65 28 24 64 61 74 61 20 3d 20 22 22 unction.parseResponse($data.=.""
5c20 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 67 6c 6f 62 61 6c 20 24 58 4d 4c 5f 52 50 43 5f ).....{.........global.$XML_RPC_
5c40 78 68 2c 24 58 4d 4c 5f 52 50 43 5f 65 72 72 2c 24 58 4d 4c 5f 52 50 43 5f 73 74 72 3b 0a 20 20 xh,$XML_RPC_err,$XML_RPC_str;...
5c60 20 20 20 20 20 20 67 6c 6f 62 61 6c 20 24 58 4d 4c 5f 52 50 43 5f 64 65 66 65 6e 63 6f 64 69 6e ......global.$XML_RPC_defencodin
5c80 67 3b 0a 0a 20 20 20 20 20 20 20 20 24 70 61 72 73 65 72 20 3d 20 78 6d 6c 5f 70 61 72 73 65 72 g;..........$parser.=.xml_parser
5ca0 5f 63 72 65 61 74 65 28 24 58 4d 4c 5f 52 50 43 5f 64 65 66 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a _create($XML_RPC_defencoding);..
5cc0 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 20 3d 20 61 ........$XML_RPC_xh[$parser].=.a
5ce0 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 rray();..........$XML_RPC_xh[$pa
5d00 72 73 65 72 5d 5b 27 73 74 27 5d 20 3d 20 22 22 3b 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 rser]['st'].=."";.........$XML_R
5d20 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 63 6d 27 5d 20 3d 20 30 3b 0a 20 20 20 20 20 20 PC_xh[$parser]['cm'].=.0;.......
5d40 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 69 73 66 27 5d 20 3d 20 ..$XML_RPC_xh[$parser]['isf'].=.
5d60 30 3b 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 0;.........$XML_RPC_xh[$parser][
5d80 27 61 63 27 5d 20 3d 20 22 22 3b 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 'ac'].=."";.........$XML_RPC_xh[
5da0 24 70 61 72 73 65 72 5d 5b 27 71 74 27 5d 20 3d 20 22 22 3b 0a 0a 20 20 20 20 20 20 20 20 78 6d $parser]['qt'].=."";..........xm
5dc0 6c 5f 70 61 72 73 65 72 5f 73 65 74 5f 6f 70 74 69 6f 6e 28 24 70 61 72 73 65 72 2c 20 58 4d 4c l_parser_set_option($parser,.XML
5de0 5f 4f 50 54 49 4f 4e 5f 43 41 53 45 5f 46 4f 4c 44 49 4e 47 2c 20 74 72 75 65 29 3b 0a 20 20 20 _OPTION_CASE_FOLDING,.true);....
5e00 20 20 20 20 20 78 6d 6c 5f 73 65 74 5f 65 6c 65 6d 65 6e 74 5f 68 61 6e 64 6c 65 72 28 24 70 61 .....xml_set_element_handler($pa
5e20 72 73 65 72 2c 20 22 58 4d 4c 5f 52 50 43 5f 73 65 22 2c 20 22 58 4d 4c 5f 52 50 43 5f 65 65 22 rser,."XML_RPC_se",."XML_RPC_ee"
5e40 29 3b 0a 20 20 20 20 20 20 20 20 78 6d 6c 5f 73 65 74 5f 63 68 61 72 61 63 74 65 72 5f 64 61 74 );.........xml_set_character_dat
5e60 61 5f 68 61 6e 64 6c 65 72 28 24 70 61 72 73 65 72 2c 20 22 58 4d 4c 5f 52 50 43 5f 63 64 22 29 a_handler($parser,."XML_RPC_cd")
5e80 3b 0a 20 20 20 20 20 20 20 20 78 6d 6c 5f 73 65 74 5f 64 65 66 61 75 6c 74 5f 68 61 6e 64 6c 65 ;.........xml_set_default_handle
5ea0 72 28 24 70 61 72 73 65 72 2c 20 22 58 4d 4c 5f 52 50 43 5f 64 68 22 29 3b 0a 20 20 20 20 20 20 r($parser,."XML_RPC_dh");.......
5ec0 20 20 24 78 6d 6c 72 70 63 5f 76 61 6c 75 65 20 3d 20 6e 65 77 20 58 4d 4c 5f 52 50 43 5f 56 61 ..$xmlrpc_value.=.new.XML_RPC_Va
5ee0 6c 75 65 3b 0a 0a 20 20 20 20 20 20 20 20 24 68 64 72 66 6e 64 20 3d 20 30 3b 0a 20 20 20 20 20 lue;..........$hdrfnd.=.0;......
5f00 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 64 65 62 75 67 29 20 7b 0a 20 20 20 20 20 20 20 20 20 ...if.($this->debug).{..........
5f20 20 20 20 70 72 69 6e 74 20 22 3c 50 52 45 3e 2d 2d 2d 47 4f 54 2d 2d 2d 5c 6e 22 3b 0a 20 20 20 ...print."<PRE>---GOT---\n";....
5f40 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 20 69 73 73 65 74 28 24 5f 53 45 52 56 45 52 5b 27 53 .........print.isset($_SERVER['S
5f60 45 52 56 45 52 5f 50 52 4f 54 4f 43 4f 4c 27 5d 29 20 3f 20 68 74 6d 6c 73 70 65 63 69 61 6c 63 ERVER_PROTOCOL']).?.htmlspecialc
5f80 68 61 72 73 28 24 64 61 74 61 29 20 3a 20 24 64 61 74 61 3b 0a 20 20 20 20 20 20 20 20 20 20 20 hars($data).:.$data;............
5fa0 20 70 72 69 6e 74 20 22 5c 6e 2d 2d 2d 45 4e 44 2d 2d 2d 5c 6e 3c 2f 50 52 45 3e 22 3b 0a 20 20 .print."\n---END---\n</PRE>";...
5fc0 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 73 65 65 20 69 66 20 77 65 20 67 6f ......}..........//.see.if.we.go
5fe0 74 20 61 6e 20 48 54 54 50 20 32 30 30 20 4f 4b 2c 20 65 6c 73 65 20 62 6f 6d 62 0a 20 20 20 20 t.an.HTTP.200.OK,.else.bomb.....
6000 20 20 20 20 2f 2f 20 62 75 74 20 6f 6e 6c 79 20 64 6f 20 74 68 69 73 20 69 66 20 77 65 27 72 65 ....//.but.only.do.this.if.we're
6020 20 75 73 69 6e 67 20 74 68 65 20 48 54 54 50 20 70 72 6f 74 6f 63 6f 6c 2e 0a 20 20 20 20 20 20 .using.the.HTTP.protocol........
6040 20 20 69 66 20 28 65 72 65 67 28 22 5e 48 54 54 50 22 2c 24 64 61 74 61 29 20 26 26 0a 20 20 20 ..if.(ereg("^HTTP",$data).&&....
6060 20 20 20 20 20 20 20 20 20 21 65 72 65 67 28 22 5e 48 54 54 50 2f 5b 30 2d 39 5c 2e 5d 2b 20 32 .........!ereg("^HTTP/[0-9\.]+.2
6080 30 30 20 22 2c 20 24 64 61 74 61 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00.",.$data)).{.................
60a0 24 65 72 72 73 74 72 20 3d 20 73 75 62 73 74 72 28 24 64 61 74 61 2c 20 30 2c 20 73 74 72 70 6f $errstr.=.substr($data,.0,.strpo
60c0 73 28 24 64 61 74 61 2c 20 22 5c 6e 22 29 2d 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 s($data,."\n")-1);..............
60e0 20 20 20 65 72 72 6f 72 5f 6c 6f 67 28 22 48 54 54 50 20 65 72 72 6f 72 2c 20 67 6f 74 20 72 65 ...error_log("HTTP.error,.got.re
6100 73 70 6f 6e 73 65 3a 20 22 20 2e 20 24 65 72 72 73 74 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 sponse:."...$errstr);...........
6120 20 20 20 20 20 20 24 72 20 3d 20 6e 65 77 20 58 4d 4c 5f 52 50 43 5f 52 65 73 70 6f 6e 73 65 28 ......$r.=.new.XML_RPC_Response(
6140 30 2c 20 24 58 4d 4c 5f 52 50 43 5f 65 72 72 5b 22 68 74 74 70 5f 65 72 72 6f 72 22 5d 2c 0a 20 0,.$XML_RPC_err["http_error"],..
6160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6180 20 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 73 74 72 5b 22 68 74 74 70 5f 65 72 72 6f .........$XML_RPC_str["http_erro
61a0 72 22 5d 20 2e 20 22 20 28 22 20 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r"]...".("......................
61c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 65 72 72 73 74 72 20 2e .......................$errstr..
61e0 20 22 29 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 6d 6c 5f 70 61 72 73 65 .")");.................xml_parse
6200 72 5f 66 72 65 65 28 24 70 61 72 73 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r_free($parser);................
6220 20 72 65 74 75 72 6e 20 24 72 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2f 2f .return.$r;.........}.........//
6240 20 67 6f 74 74 61 20 67 65 74 20 72 69 64 20 6f 66 20 68 65 61 64 65 72 73 20 68 65 72 65 0a 0a .gotta.get.rid.of.headers.here..
6260 0a 20 20 20 20 20 20 20 20 69 66 20 28 28 21 24 68 64 72 66 6e 64 29 20 26 26 20 28 24 62 72 70 .........if.((!$hdrfnd).&&.($brp
6280 6f 73 20 3d 20 73 74 72 70 6f 73 28 24 64 61 74 61 2c 22 5c 72 5c 6e 5c 72 5c 6e 22 29 29 29 20 os.=.strpos($data,"\r\n\r\n"))).
62a0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 {.............$XML_RPC_xh[$parse
62c0 72 5d 5b 27 68 61 27 5d 20 3d 20 73 75 62 73 74 72 28 24 64 61 74 61 2c 20 30 2c 20 24 62 72 70 r]['ha'].=.substr($data,.0,.$brp
62e0 6f 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 61 74 61 20 3d 20 73 75 62 73 74 72 28 os);.............$data.=.substr(
6300 24 64 61 74 61 2c 20 24 62 72 70 6f 73 20 2b 20 34 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 $data,.$brpos.+.4);.............
6320 24 68 64 72 66 6e 64 20 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 $hdrfnd.=.1;.........}..........
6340 2f 2f 20 62 65 20 74 6f 6c 65 72 61 6e 74 20 6f 66 20 6a 75 6e 6b 20 61 66 74 65 72 20 6d 65 74 //.be.tolerant.of.junk.after.met
6360 68 6f 64 52 65 73 70 6f 6e 73 65 20 28 65 2e 67 2e 20 6a 61 76 61 73 63 72 69 70 74 20 61 75 74 hodResponse.(e.g..javascript.aut
6380 6f 6d 61 74 69 63 61 6c 6c 79 20 69 6e 73 65 72 74 65 64 20 62 79 20 66 72 65 65 20 68 6f 73 74 omatically.inserted.by.free.host
63a0 73 29 0a 20 20 20 20 20 20 20 20 2f 2f 20 74 68 61 6e 6b 73 20 74 6f 20 4c 75 63 61 20 4d 61 72 s).........//.thanks.to.Luca.Mar
63c0 69 61 6e 6f 20 3c 6c 75 63 61 2e 6d 61 72 69 61 6e 6f 40 65 6d 61 69 6c 2e 69 74 3e 0a 20 20 20 iano.<luca.mariano@email.it>....
63e0 20 20 20 20 20 24 64 61 74 61 20 3d 20 73 75 62 73 74 72 28 24 64 61 74 61 2c 20 30 2c 20 73 74 .....$data.=.substr($data,.0,.st
6400 72 70 6f 73 28 24 64 61 74 61 2c 20 22 3c 2f 6d 65 74 68 6f 64 52 65 73 70 6f 6e 73 65 3e 22 29 rpos($data,."</methodResponse>")
6420 20 2b 20 31 37 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 78 6d 6c 5f 70 61 72 73 65 28 .+.17);..........if.(!xml_parse(
6440 24 70 61 72 73 65 72 2c 20 24 64 61 74 61 2c 20 73 69 7a 65 6f 66 28 24 64 61 74 61 29 29 29 20 $parser,.$data,.sizeof($data))).
6460 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 74 68 61 6e 6b 73 20 74 6f 20 50 65 74 65 72 {.............//.thanks.to.Peter
6480 20 4b 6f 63 6b 73 20 3c 70 65 74 65 72 2e 6b 6f 63 6b 73 40 62 61 79 67 61 74 65 2e 63 6f 6d 3e .Kocks.<peter.kocks@baygate.com>
64a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 28 78 6d 6c 5f 67 65 74 5f 63 75 72 72 65 6e .............if.((xml_get_curren
64c0 74 5f 6c 69 6e 65 5f 6e 75 6d 62 65 72 28 24 70 61 72 73 65 72 29 29 20 3d 3d 20 31 29 20 7b 0a t_line_number($parser)).==.1).{.
64e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 65 72 72 73 74 72 20 3d 20 22 58 4d 4c 20 65 ................$errstr.=."XML.e
6500 72 72 6f 72 20 61 74 20 6c 69 6e 65 20 31 2c 20 63 68 65 63 6b 20 55 52 4c 22 3b 0a 20 20 20 20 rror.at.line.1,.check.URL";.....
6520 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........}.else.{................
6540 20 24 65 72 72 73 74 72 20 3d 20 73 70 72 69 6e 74 66 28 22 58 4d 4c 20 65 72 72 6f 72 3a 20 25 .$errstr.=.sprintf("XML.error:.%
6560 73 20 61 74 20 6c 69 6e 65 20 25 64 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s.at.line.%d",..................
6580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 6d 6c 5f 65 72 72 6f 72 5f 73 74 72 69 6e .................xml_error_strin
65a0 67 28 78 6d 6c 5f 67 65 74 5f 65 72 72 6f 72 5f 63 6f 64 65 28 24 70 61 72 73 65 72 29 29 2c 0a g(xml_get_error_code($parser)),.
65c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
65e0 20 20 78 6d 6c 5f 67 65 74 5f 63 75 72 72 65 6e 74 5f 6c 69 6e 65 5f 6e 75 6d 62 65 72 28 24 70 ..xml_get_current_line_number($p
6600 61 72 73 65 72 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 arser));.............}..........
6620 20 20 20 65 72 72 6f 72 5f 6c 6f 67 28 24 65 72 72 73 74 72 29 3b 0a 20 20 20 20 20 20 20 20 20 ...error_log($errstr);..........
6640 20 20 20 24 72 20 3d 20 6e 65 77 20 58 4d 4c 5f 52 50 43 5f 52 65 73 70 6f 6e 73 65 28 30 2c 20 ...$r.=.new.XML_RPC_Response(0,.
6660 24 58 4d 4c 5f 52 50 43 5f 65 72 72 5b 22 69 6e 76 61 6c 69 64 5f 72 65 74 75 72 6e 22 5d 2c 0a $XML_RPC_err["invalid_return"],.
6680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
66a0 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 73 74 72 5b 22 69 6e 76 61 6c 69 64 5f 72 65 74 75 ......$XML_RPC_str["invalid_retu
66c0 72 6e 22 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 78 6d 6c 5f 70 61 72 73 65 72 5f 66 72 rn"]);.............xml_parser_fr
66e0 65 65 28 24 70 61 72 73 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 ee($parser);.............return.
6700 24 72 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 78 6d 6c 5f 70 61 72 73 65 72 $r;.........}.........xml_parser
6720 5f 66 72 65 65 28 24 70 61 72 73 65 72 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 _free($parser);.........if.($thi
6740 73 2d 3e 64 65 62 75 67 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 20 22 3c s->debug).{.............print."<
6760 50 52 45 3e 2d 2d 2d 45 56 41 4c 49 4e 47 2d 2d 2d 5b 22 20 2e 0a 20 20 20 20 20 20 20 20 20 20 PRE>---EVALING---[".............
6780 20 20 73 74 72 6c 65 6e 28 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 73 ..strlen($XML_RPC_xh[$parser]['s
67a0 74 27 5d 29 20 2e 20 22 20 63 68 61 72 73 5d 2d 2d 2d 5c 6e 22 20 2e 0a 20 20 20 20 20 20 20 20 t'])...".chars]---\n"...........
67c0 20 20 20 20 68 74 6d 6c 73 70 65 63 69 61 6c 63 68 61 72 73 28 24 58 4d 4c 5f 52 50 43 5f 78 68 ....htmlspecialchars($XML_RPC_xh
67e0 5b 24 70 61 72 73 65 72 5d 5b 27 73 74 27 5d 29 20 2e 20 22 3b 5c 6e 2d 2d 2d 45 4e 44 2d 2d 2d [$parser]['st'])...";\n---END---
6800 3c 2f 50 52 45 3e 22 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 69 66 20 28 73 </PRE>";.........}.........if.(s
6820 74 72 6c 65 6e 28 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 73 74 27 5d trlen($XML_RPC_xh[$parser]['st']
6840 29 20 3d 3d 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 74 68 65 6e 20 73 6f ).==.0).{.............//.then.so
6860 6d 65 74 68 69 6e 67 20 6f 64 64 20 68 61 73 20 68 61 70 70 65 6e 65 64 0a 20 20 20 20 20 20 20 mething.odd.has.happened........
6880 20 20 20 20 20 2f 2f 20 61 6e 64 20 69 74 27 73 20 74 69 6d 65 20 74 6f 20 67 65 6e 65 72 61 74 .....//.and.it's.time.to.generat
68a0 65 20 61 20 63 6c 69 65 6e 74 20 73 69 64 65 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 20 e.a.client.side.error...........
68c0 20 20 2f 2f 20 69 6e 64 69 63 61 74 69 6e 67 20 73 6f 6d 65 74 68 69 6e 67 20 6f 64 64 20 77 65 ..//.indicating.something.odd.we
68e0 6e 74 20 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 20 3d 20 6e 65 77 20 58 4d 4c 5f 52 nt.on.............$r.=.new.XML_R
6900 50 43 5f 52 65 73 70 6f 6e 73 65 28 30 2c 20 24 58 4d 4c 5f 52 50 43 5f 65 72 72 5b 22 69 6e 76 PC_Response(0,.$XML_RPC_err["inv
6920 61 6c 69 64 5f 72 65 74 75 72 6e 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 alid_return"],..................
6940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 ........................$XML_RPC
6960 5f 73 74 72 5b 22 69 6e 76 61 6c 69 64 5f 72 65 74 75 72 6e 22 5d 29 3b 0a 20 20 20 20 20 20 20 _str["invalid_return"]);........
6980 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 76 61 6c 28 27 24 76 3d 27 .}.else.{.............eval('$v='
69a0 20 2e 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 73 74 27 5d 20 2e 20 ...$XML_RPC_xh[$parser]['st']...
69c0 27 3b 20 24 61 6c 6c 4f 4b 3d 31 3b 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 ';.$allOK=1;');.............if.(
69e0 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 69 73 66 27 5d 29 20 7b 0a 20 $XML_RPC_xh[$parser]['isf']).{..
6a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 20 3d 20 24 76 2d 3e 73 74 72 75 63 74 6d 65 ...............$f.=.$v->structme
6a20 6d 28 22 66 61 75 6c 74 43 6f 64 65 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 m("faultCode");.................
6a40 24 66 73 20 3d 20 24 76 2d 3e 73 74 72 75 63 74 6d 65 6d 28 22 66 61 75 6c 74 53 74 72 69 6e 67 $fs.=.$v->structmem("faultString
6a60 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 20 3d 20 6e 65 77 20 58 4d 4c ");.................$r.=.new.XML
6a80 5f 52 50 43 5f 52 65 73 70 6f 6e 73 65 28 24 76 2c 20 24 66 2d 3e 73 63 61 6c 61 72 76 61 6c 28 _RPC_Response($v,.$f->scalarval(
6aa0 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ),..............................
6ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 66 73 2d 3e 73 63 61 6c 61 72 76 61 6c 28 .................$fs->scalarval(
6ae0 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 ));.............}.else.{........
6b00 20 20 20 20 20 20 20 20 20 24 72 20 3d 20 6e 65 77 20 58 4d 4c 5f 52 50 43 5f 52 65 73 70 6f 6e .........$r.=.new.XML_RPC_Respon
6b20 73 65 28 24 76 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a se($v);.............}.........}.
6b40 20 20 20 20 20 20 20 20 24 72 2d 3e 68 64 72 73 20 3d 20 73 70 6c 69 74 28 22 5c 72 3f 5c 6e 22 ........$r->hdrs.=.split("\r?\n"
6b60 2c 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 68 61 27 5d 5b 31 5d 29 ,.$XML_RPC_xh[$parser]['ha'][1])
6b80 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 3b 0a 20 20 20 20 7d 0a 0a 7d 0a 0a 0a ;.........return.$r;.....}..}...
6ba0 63 6c 61 73 73 20 58 4d 4c 5f 52 50 43 5f 56 61 6c 75 65 20 65 78 74 65 6e 64 73 20 58 4d 4c 5f class.XML_RPC_Value.extends.XML_
6bc0 52 50 43 5f 42 61 73 65 0a 7b 0a 20 20 20 20 76 61 72 20 24 6d 65 20 3d 20 61 72 72 61 79 28 29 RPC_Base.{.....var.$me.=.array()
6be0 3b 0a 20 20 20 20 76 61 72 20 24 6d 79 74 79 70 65 20 3d 20 30 3b 0a 0a 20 20 20 20 66 75 6e 63 ;.....var.$mytype.=.0;......func
6c00 74 69 6f 6e 20 58 4d 4c 5f 52 50 43 5f 56 61 6c 75 65 28 24 76 61 6c 20 3d 20 2d 31 2c 20 24 74 tion.XML_RPC_Value($val.=.-1,.$t
6c20 79 70 65 20 3d 20 22 22 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 67 6c 6f 62 61 6c 20 24 ype.=."").....{.........global.$
6c40 58 4d 4c 5f 52 50 43 5f 54 79 70 65 73 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 XML_RPC_Types;.........$this->me
6c60 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 79 74 79 70 .=.array();.........$this->mytyp
6c80 65 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 76 61 6c 20 21 3d 20 2d 31 20 7c 7c e.=.0;.........if.($val.!=.-1.||
6ca0 20 24 74 79 70 65 20 21 3d 20 22 22 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 .$type.!=."").{.............if.(
6cc0 24 74 79 70 65 20 3d 3d 20 22 22 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 $type.==."").{.................$
6ce0 74 79 70 65 3d 22 73 74 72 69 6e 67 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 type="string";.............}....
6d00 20 20 20 20 20 20 20 20 20 69 66 20 28 24 58 4d 4c 5f 52 50 43 5f 54 79 70 65 73 5b 24 74 79 70 .........if.($XML_RPC_Types[$typ
6d20 65 5d 20 3d 3d 20 31 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 e].==.1).{.................$this
6d40 2d 3e 61 64 64 53 63 61 6c 61 72 28 24 76 61 6c 2c 24 74 79 70 65 29 3b 0a 20 20 20 20 20 20 20 ->addScalar($val,$type);........
6d60 20 20 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 58 4d 4c 5f 52 50 43 5f 54 79 70 65 73 5b 24 74 .....}.elseif.($XML_RPC_Types[$t
6d80 79 70 65 5d 20 3d 3d 20 32 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 ype].==.2).{.................$th
6da0 69 73 2d 3e 61 64 64 41 72 72 61 79 28 24 76 61 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 is->addArray($val);.............
6dc0 7d 20 65 6c 73 65 69 66 20 28 24 58 4d 4c 5f 52 50 43 5f 54 79 70 65 73 5b 24 74 79 70 65 5d 20 }.elseif.($XML_RPC_Types[$type].
6de0 3d 3d 20 33 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 61 ==.3).{.................$this->a
6e00 64 64 53 74 72 75 63 74 28 24 76 61 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 ddStruct($val);.............}...
6e20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 53 ......}.....}......function.addS
6e40 63 61 6c 61 72 28 24 76 61 6c 2c 20 24 74 79 70 65 20 3d 20 22 73 74 72 69 6e 67 22 29 0a 20 20 calar($val,.$type.=."string")...
6e60 20 20 7b 0a 20 20 20 20 20 20 20 20 67 6c 6f 62 61 6c 20 24 58 4d 4c 5f 52 50 43 5f 54 79 70 65 ..{.........global.$XML_RPC_Type
6e80 73 2c 20 24 58 4d 4c 5f 52 50 43 5f 42 6f 6f 6c 65 61 6e 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 s,.$XML_RPC_Boolean;..........if
6ea0 20 28 24 74 68 69 73 2d 3e 6d 79 74 79 70 65 20 3d 3d 20 31 29 20 7b 0a 20 20 20 20 20 20 20 20 .($this->mytype.==.1).{.........
6ec0 20 20 20 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 22 53 63 61 6c 61 72 20 63 61 ....$this->raiseError("Scalar.ca
6ee0 6e 20 68 61 76 65 20 6f 6e 6c 79 20 6f 6e 65 20 76 61 6c 75 65 22 2c 20 58 4d 4c 5f 52 50 43 5f n.have.only.one.value",.XML_RPC_
6f00 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44 5f 54 59 50 45 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ERROR_INVALID_TYPE);............
6f20 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 74 79 .return.0;.........}.........$ty
6f40 70 65 6f 66 20 3d 20 24 58 4d 4c 5f 52 50 43 5f 54 79 70 65 73 5b 24 74 79 70 65 5d 3b 0a 20 20 peof.=.$XML_RPC_Types[$type];...
6f60 20 20 20 20 20 20 69 66 20 28 24 74 79 70 65 6f 66 20 21 3d 20 31 29 20 7b 0a 20 20 20 20 20 20 ......if.($typeof.!=.1).{.......
6f80 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 22 4e 6f 74 20 61 20 73 ......$this->raiseError("Not.a.s
6fa0 63 61 6c 61 72 20 74 79 70 65 20 28 24 7b 74 79 70 65 6f 66 7d 29 22 2c 20 58 4d 4c 5f 52 50 43 calar.type.(${typeof})",.XML_RPC
6fc0 5f 45 52 52 4f 52 5f 49 4e 56 41 4c 49 44 5f 54 59 50 45 29 3b 0a 20 20 20 20 20 20 20 20 20 20 _ERROR_INVALID_TYPE);...........
6fe0 20 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 69 ..return.0;.........}..........i
7000 66 20 28 24 74 79 70 65 20 3d 3d 20 24 58 4d 4c 5f 52 50 43 5f 42 6f 6f 6c 65 61 6e 29 20 7b 0a f.($type.==.$XML_RPC_Boolean).{.
7020 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 74 72 63 61 73 65 63 6d 70 28 24 76 61 6c 2c ............if.(strcasecmp($val,
7040 22 74 72 75 65 22 29 20 3d 3d 20 30 20 7c 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "true").==.0.||.................
7060 24 76 61 6c 20 3d 3d 20 31 20 7c 7c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 24 76 $val.==.1.||.................($v
7080 61 6c 20 3d 3d 20 74 72 75 65 20 26 26 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 al.==.true.&&...................
70a0 20 20 73 74 72 63 61 73 65 63 6d 70 28 24 76 61 6c 2c 22 66 61 6c 73 65 22 29 29 29 20 7b 0a 0a ..strcasecmp($val,"false"))).{..
70c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 76 61 6c 20 3d 20 31 3b 0a 20 20 20 20 20 20 ................$val.=.1;.......
70e0 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 ......}.else.{.................$
7100 76 61 6c 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d val.=.0;.............}.........}
7120 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 6d 79 74 79 70 65 20 3d 3d 20 32 ..........if.($this->mytype.==.2
7140 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 77 65 27 72 65 20 61 64 64 69 6e 67 20 ).{.............//.we're.adding.
7160 74 6f 20 61 6e 20 61 72 72 61 79 20 68 65 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 61 72 to.an.array.here.............$ar
7180 20 3d 20 24 74 68 69 73 2d 3e 6d 65 5b 22 61 72 72 61 79 22 5d 3b 0a 20 20 20 20 20 20 20 20 20 .=.$this->me["array"];..........
71a0 20 20 20 24 61 72 5b 5d 20 3d 20 6e 65 77 20 58 4d 4c 5f 52 50 43 5f 56 61 6c 75 65 28 24 76 61 ...$ar[].=.new.XML_RPC_Value($va
71c0 6c 2c 20 24 74 79 70 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 l,.$type);.............$this->me
71e0 5b 22 61 72 72 61 79 22 5d 20 3d 20 24 61 72 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 ["array"].=.$ar;.........}.else.
7200 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 61 20 73 63 61 6c 61 72 2c 20 73 6f 20 73 65 {.............//.a.scalar,.so.se
7220 74 20 74 68 65 20 76 61 6c 75 65 20 61 6e 64 20 72 65 6d 65 6d 62 65 72 20 77 65 27 72 65 20 73 t.the.value.and.remember.we're.s
7240 63 61 6c 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 5b 24 74 79 70 calar.............$this->me[$typ
7260 65 5d 20 3d 20 24 76 61 6c 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 79 e].=.$val;.............$this->my
7280 74 79 70 65 20 3d 20 24 74 79 70 65 6f 66 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 type.=.$typeof;.........}.......
72a0 20 20 72 65 74 75 72 6e 20 31 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 ..return.1;.....}......function.
72c0 61 64 64 41 72 72 61 79 28 24 76 61 6c 73 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 67 6c addArray($vals).....{.........gl
72e0 6f 62 61 6c 20 24 58 4d 4c 5f 52 50 43 5f 54 79 70 65 73 3b 0a 20 20 20 20 20 20 20 20 69 66 20 obal.$XML_RPC_Types;.........if.
7300 28 24 74 68 69 73 2d 3e 6d 79 74 79 70 65 20 21 3d 20 30 29 20 7b 0a 20 20 20 20 20 20 20 20 20 ($this->mytype.!=.0).{..........
7320 20 20 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 28 0a 20 20 20 20 20 20 20 20 20 20 ...$this->raiseError(...........
7340 20 20 20 20 20 20 22 41 6c 72 65 61 64 79 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 61 73 20 61 20 ......"Already.initialized.as.a.
7360 5b 22 20 2e 20 24 74 68 69 73 2d 3e 6b 69 6e 64 4f 66 28 29 20 2e 20 22 5d 22 2c 0a 20 20 20 20 ["...$this->kindOf()..."]",.....
7380 20 20 20 20 20 20 20 20 20 20 20 20 58 4d 4c 5f 52 50 43 5f 45 52 52 4f 52 5f 41 4c 52 45 41 44 ............XML_RPC_ERROR_ALREAD
73a0 59 5f 49 4e 49 54 49 41 4c 49 5a 45 44 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 Y_INITIALIZED);.............retu
73c0 72 6e 20 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d rn.0;.........}.........$this->m
73e0 79 74 79 70 65 20 3d 20 24 58 4d 4c 5f 52 50 43 5f 54 79 70 65 73 5b 22 61 72 72 61 79 22 5d 3b ytype.=.$XML_RPC_Types["array"];
7400 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 5b 22 61 72 72 61 79 22 5d 20 3d 20 24 76 .........$this->me["array"].=.$v
7420 61 6c 73 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 31 3b 0a 20 20 20 20 7d 0a 0a 20 20 als;.........return.1;.....}....
7440 20 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 53 74 72 75 63 74 28 24 76 61 6c 73 29 0a 20 20 20 20 ..function.addStruct($vals).....
7460 7b 0a 20 20 20 20 20 20 20 20 67 6c 6f 62 61 6c 20 24 58 4d 4c 5f 52 50 43 5f 54 79 70 65 73 3b {.........global.$XML_RPC_Types;
7480 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 74 68 69 73 2d 3e 6d 79 74 79 70 65 20 21 3d 20 30 29 .........if.($this->mytype.!=.0)
74a0 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 72 61 69 73 65 45 72 72 6f 72 .{.............$this->raiseError
74c0 28 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 41 6c 72 65 61 64 79 20 69 6e 69 74 69 (................."Already.initi
74e0 61 6c 69 7a 65 64 20 61 73 20 61 20 5b 22 20 2e 20 24 74 68 69 73 2d 3e 6b 69 6e 64 4f 66 28 29 alized.as.a.["...$this->kindOf()
7500 20 2e 20 22 5d 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 58 4d 4c 5f 52 50 43 5f ..."]",.................XML_RPC_
7520 45 52 52 4f 52 5f 41 4c 52 45 41 44 59 5f 49 4e 49 54 49 41 4c 49 5a 45 44 29 3b 0a 20 20 20 20 ERROR_ALREADY_INITIALIZED);.....
7540 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 ........return.0;.........}.....
7560 20 20 20 20 24 74 68 69 73 2d 3e 6d 79 74 79 70 65 20 3d 20 24 58 4d 4c 5f 52 50 43 5f 54 79 70 ....$this->mytype.=.$XML_RPC_Typ
7580 65 73 5b 22 73 74 72 75 63 74 22 5d 3b 0a 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 6d 65 5b es["struct"];.........$this->me[
75a0 22 73 74 72 75 63 74 22 5d 20 3d 20 24 76 61 6c 73 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 "struct"].=.$vals;.........retur
75c0 6e 20 31 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 64 75 6d 70 28 24 61 n.1;.....}......function.dump($a
75e0 72 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 73 65 74 28 24 61 72 29 3b 0a 20 20 20 r).....{.........reset($ar);....
7600 20 20 20 20 20 77 68 69 6c 65 20 28 6c 69 73 74 28 20 24 6b 65 79 2c 20 24 76 61 6c 20 29 20 3d .....while.(list(.$key,.$val.).=
7620 20 65 61 63 68 28 24 61 72 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 22 .each($ar)).{.............echo."
7640 24 6b 65 79 20 3d 3e 20 24 76 61 6c 3c 62 72 3e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 $key.=>.$val<br>";.............i
7660 66 20 28 24 6b 65 79 20 3d 3d 20 27 61 72 72 61 79 27 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 f.($key.==.'array').{...........
7680 20 20 20 20 20 20 77 68 69 6c 65 20 28 20 6c 69 73 74 28 20 24 6b 65 79 32 2c 20 24 76 61 6c 32 ......while.(.list(.$key2,.$val2
76a0 20 29 20 3d 20 65 61 63 68 28 20 24 76 61 6c 20 29 20 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 .).=.each(.$val.).).{...........
76c0 20 20 20 20 20 20 20 20 20 20 65 63 68 6f 20 22 2d 2d 20 24 6b 65 79 32 20 3d 3e 20 24 76 61 6c ..........echo."--.$key2.=>.$val
76e0 32 3c 62 72 3e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2<br>";.................}.......
7700 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e ......}.........}.....}......fun
7720 63 74 69 6f 6e 20 6b 69 6e 64 4f 66 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 73 77 69 ction.kindOf().....{.........swi
7740 74 63 68 20 28 24 74 68 69 73 2d 3e 6d 79 74 79 70 65 29 20 7b 0a 20 20 20 20 20 20 20 20 63 61 tch.($this->mytype).{.........ca
7760 73 65 20 33 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 73 74 72 75 63 74 se.3:.............return."struct
7780 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 63 61 ";.............break;.........ca
77a0 73 65 20 32 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 61 72 72 61 79 22 se.2:.............return."array"
77c0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 63 61 73 ;.............break;.........cas
77e0 65 20 31 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 73 63 61 6c 61 72 22 e.1:.............return."scalar"
7800 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 64 65 66 ;.............break;.........def
7820 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 75 6e 64 65 66 22 ault:.............return."undef"
7840 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 ;.........}.....}......function.
7860 73 65 72 69 61 6c 69 7a 65 64 61 74 61 28 24 74 79 70 2c 20 24 76 61 6c 29 0a 20 20 20 20 7b 0a serializedata($typ,.$val).....{.
7880 20 20 20 20 20 20 20 20 24 72 73 20 3d 20 22 22 3b 0a 20 20 20 20 20 20 20 20 67 6c 6f 62 61 6c ........$rs.=."";.........global
78a0 20 24 58 4d 4c 5f 52 50 43 5f 54 79 70 65 73 2c 20 24 58 4d 4c 5f 52 50 43 5f 42 61 73 65 36 34 .$XML_RPC_Types,.$XML_RPC_Base64
78c0 2c 20 24 58 4d 4c 5f 52 50 43 5f 53 74 72 69 6e 67 2c 20 24 58 4d 4c 5f 52 50 43 5f 42 6f 6f 6c ,.$XML_RPC_String,.$XML_RPC_Bool
78e0 65 61 6e 3b 0a 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 24 58 4d 4c 5f 52 50 43 5f 54 79 ean;.........switch.($XML_RPC_Ty
7900 70 65 73 5b 24 74 79 70 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 63 61 73 65 20 33 3a 0a 20 20 20 pes[$typ]).{.........case.3:....
7920 20 20 20 20 20 20 20 20 20 2f 2f 20 73 74 72 75 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 .........//.struct.............$
7940 72 73 20 2e 3d 20 22 3c 73 74 72 75 63 74 3e 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 rs..=."<struct>\n";.............
7960 72 65 73 65 74 28 24 76 61 6c 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 28 6c reset($val);.............while(l
7980 69 73 74 28 24 6b 65 79 32 2c 20 24 76 61 6c 32 29 20 3d 20 65 61 63 68 28 24 76 61 6c 29 29 20 ist($key2,.$val2).=.each($val)).
79a0 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 73 20 2e 3d 20 22 3c 6d 65 6d 62 65 {.................$rs..=."<membe
79c0 72 3e 3c 6e 61 6d 65 3e 24 7b 6b 65 79 32 7d 3c 2f 6e 61 6d 65 3e 5c 6e 22 3b 0a 20 20 20 20 20 r><name>${key2}</name>\n";......
79e0 20 20 20 20 20 20 20 20 20 20 20 24 72 73 20 2e 3d 20 24 74 68 69 73 2d 3e 73 65 72 69 61 6c 69 ...........$rs..=.$this->seriali
7a00 7a 65 76 61 6c 28 24 76 61 6c 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 zeval($val2);.................$r
7a20 73 20 2e 3d 20 22 3c 2f 6d 65 6d 62 65 72 3e 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 s..=."</member>\n";.............
7a40 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 73 20 2e 3d 20 22 3c 2f 73 74 72 75 63 74 3e 22 }.............$rs..=."</struct>"
7a60 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 63 61 73 ;.............break;.........cas
7a80 65 20 32 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 61 72 72 61 79 0a 20 20 20 20 20 20 e.2:.............//.array.......
7aa0 20 20 20 20 20 20 24 72 73 20 2e 3d 20 22 3c 61 72 72 61 79 3e 5c 6e 3c 64 61 74 61 3e 5c 6e 22 ......$rs..=."<array>\n<data>\n"
7ac0 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 73 ;.............for($i.=.0;.$i.<.s
7ae0 69 7a 65 6f 66 28 24 76 61 6c 29 3b 20 24 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 izeof($val);.$i++).{............
7b00 20 20 20 20 20 24 72 73 20 2e 3d 20 24 74 68 69 73 2d 3e 73 65 72 69 61 6c 69 7a 65 76 61 6c 28 .....$rs..=.$this->serializeval(
7b20 24 76 61 6c 5b 24 69 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 $val[$i]);.............}........
7b40 20 20 20 20 20 24 72 73 20 2e 3d 20 22 3c 2f 64 61 74 61 3e 5c 6e 3c 2f 61 72 72 61 79 3e 22 3b .....$rs..=."</data>\n</array>";
7b60 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 63 61 73 65 .............break;.........case
7b80 20 31 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 24 74 79 70 29 20 7b 0a .1:.............switch.($typ).{.
7ba0 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 24 58 4d 4c 5f 52 50 43 5f 42 61 73 65 36 34 ............case.$XML_RPC_Base64
7bc0 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 73 20 2e 3d 20 22 3c 24 7b 74 79 70 :.................$rs..=."<${typ
7be0 7d 3e 22 20 2e 20 62 61 73 65 36 34 5f 65 6e 63 6f 64 65 28 24 76 61 6c 29 20 2e 20 22 3c 2f 24 }>"...base64_encode($val)..."</$
7c00 7b 74 79 70 7d 3e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a {typ}>";.................break;.
7c20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 24 58 4d 4c 5f 52 50 43 5f 42 6f 6f 6c 65 61 ............case.$XML_RPC_Boolea
7c40 6e 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 73 20 2e 3d 20 22 3c 24 7b 74 79 n:.................$rs..=."<${ty
7c60 70 7d 3e 22 20 2e 20 28 24 76 61 6c 20 3f 20 22 31 22 20 3a 20 22 30 22 29 20 2e 20 22 3c 2f 24 p}>"...($val.?."1".:."0")..."</$
7c80 7b 74 79 70 7d 3e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a {typ}>";.................break;.
7ca0 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 24 58 4d 4c 5f 52 50 43 5f 53 74 72 69 6e 67 ............case.$XML_RPC_String
7cc0 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 73 20 2e 3d 20 22 3c 24 7b 74 79 70 :.................$rs..=."<${typ
7ce0 7d 3e 22 20 2e 20 68 74 6d 6c 73 70 65 63 69 61 6c 63 68 61 72 73 28 24 76 61 6c 29 2e 20 22 3c }>"...htmlspecialchars($val).."<
7d00 2f 24 7b 74 79 70 7d 3e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b /${typ}>";.................break
7d20 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 20 20 20 20 ;.............default:..........
7d40 20 20 20 20 20 20 20 24 72 73 20 2e 3d 20 22 3c 24 7b 74 79 70 7d 3e 24 7b 76 61 6c 7d 3c 2f 24 .......$rs..=."<${typ}>${val}</$
7d60 7b 74 79 70 7d 3e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 {typ}>";.............}..........
7d80 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 3a 0a 20 20 20 20 20 ...break;.........default:......
7da0 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 .......break;.........}.........
7dc0 72 65 74 75 72 6e 20 24 72 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 return.$rs;.....}......function.
7de0 73 65 72 69 61 6c 69 7a 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e serialize().....{.........return
7e00 20 24 74 68 69 73 2d 3e 73 65 72 69 61 6c 69 7a 65 76 61 6c 28 24 74 68 69 73 29 3b 0a 20 20 20 .$this->serializeval($this);....
7e20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 65 72 69 61 6c 69 7a 65 76 61 6c 28 24 6f .}......function.serializeval($o
7e40 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 72 73 20 3d 20 22 22 3b 0a 20 20 20 20 20 20 ).....{.........$rs.=."";.......
7e60 20 20 24 61 72 20 3d 20 24 6f 2d 3e 6d 65 3b 0a 20 20 20 20 20 20 20 20 72 65 73 65 74 28 24 61 ..$ar.=.$o->me;.........reset($a
7e80 72 29 3b 0a 20 20 20 20 20 20 20 20 6c 69 73 74 28 24 74 79 70 2c 20 24 76 61 6c 29 20 3d 20 65 r);.........list($typ,.$val).=.e
7ea0 61 63 68 28 24 61 72 29 3b 0a 20 20 20 20 20 20 20 20 24 72 73 20 2e 3d 20 22 3c 76 61 6c 75 65 ach($ar);.........$rs..=."<value
7ec0 3e 22 3b 0a 20 20 20 20 20 20 20 20 24 72 73 20 2e 3d 20 24 74 68 69 73 2d 3e 73 65 72 69 61 6c >";.........$rs..=.$this->serial
7ee0 69 7a 65 64 61 74 61 28 24 74 79 70 2c 20 24 76 61 6c 29 3b 0a 20 20 20 20 20 20 20 20 24 72 73 izedata($typ,.$val);.........$rs
7f00 20 2e 3d 20 22 3c 2f 76 61 6c 75 65 3e 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e ..=."</value>\n";.........return
7f20 20 24 72 73 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 74 72 75 63 74 .$rs;.....}......function.struct
7f40 6d 65 6d 28 24 6d 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 6e 76 20 3d 20 24 74 68 69 mem($m).....{.........$nv.=.$thi
7f60 73 2d 3e 6d 65 5b 22 73 74 72 75 63 74 22 5d 5b 24 6d 5d 3b 0a 20 20 20 20 20 20 20 20 72 65 74 s->me["struct"][$m];.........ret
7f80 75 72 6e 20 24 6e 76 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 74 72 urn.$nv;.....}......function.str
7fa0 75 63 74 72 65 73 65 74 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 73 65 74 28 24 uctreset().....{.........reset($
7fc0 74 68 69 73 2d 3e 6d 65 5b 22 73 74 72 75 63 74 22 5d 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 this->me["struct"]);.....}......
7fe0 66 75 6e 63 74 69 6f 6e 20 73 74 72 75 63 74 65 61 63 68 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 function.structeach().....{.....
8000 20 20 20 20 72 65 74 75 72 6e 20 65 61 63 68 28 24 74 68 69 73 2d 3e 6d 65 5b 22 73 74 72 75 63 ....return.each($this->me["struc
8020 74 22 5d 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 76 61 6c t"]);.....}......function.getval
8040 28 29 20 7b 0a 20 20 20 20 20 20 20 20 2f 2f 20 55 4e 53 54 41 42 4c 45 0a 20 20 20 20 20 20 20 ().{.........//.UNSTABLE........
8060 20 67 6c 6f 62 61 6c 20 24 58 4d 4c 5f 52 50 43 5f 42 4f 4f 4c 45 41 4e 2c 20 24 58 4d 4c 5f 52 .global.$XML_RPC_BOOLEAN,.$XML_R
8080 50 43 5f 42 61 73 65 36 34 3b 0a 0a 20 20 20 20 20 20 20 20 72 65 73 65 74 28 24 74 68 69 73 2d PC_Base64;..........reset($this-
80a0 3e 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 6c 69 73 74 28 24 61 2c 24 62 29 20 3d 20 65 61 63 68 >me);.........list($a,$b).=.each
80c0 28 24 74 68 69 73 2d 3e 6d 65 29 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 63 6f 6e 74 72 69 62 ($this->me);..........//.contrib
80e0 75 74 65 64 20 62 79 20 49 20 53 6f 66 65 72 2c 20 32 30 30 31 2d 30 33 2d 32 34 0a 20 20 20 20 uted.by.I.Sofer,.2001-03-24.....
8100 20 20 20 20 2f 2f 20 61 64 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 6e 65 73 74 65 64 20 61 72 ....//.add.support.for.nested.ar
8120 72 61 79 73 20 74 6f 20 73 63 61 6c 61 72 76 61 6c 0a 20 20 20 20 20 20 20 20 2f 2f 20 69 27 76 rays.to.scalarval.........//.i'v
8140 65 20 63 72 65 61 74 65 64 20 61 20 6e 65 77 20 6d 65 74 68 6f 64 20 68 65 72 65 2c 20 73 6f 20 e.created.a.new.method.here,.so.
8160 61 73 20 74 6f 0a 20 20 20 20 20 20 20 20 2f 2f 20 70 72 65 73 65 72 76 65 20 62 61 63 6b 20 63 as.to.........//.preserve.back.c
8180 6f 6d 70 61 74 69 62 69 6c 69 74 79 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 61 72 72 ompatibility..........if.(is_arr
81a0 61 79 28 24 62 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 ay($b)).{.............foreach.($
81c0 62 20 61 73 20 24 69 64 20 3d 3e 20 24 63 6f 6e 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 b.as.$id.=>.$cont).{............
81e0 20 20 20 20 20 24 62 5b 24 69 64 5d 20 3d 20 24 63 6f 6e 74 2d 3e 73 63 61 6c 61 72 76 61 6c 28 .....$b[$id].=.$cont->scalarval(
8200 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 );.............}.........}......
8220 20 20 20 20 2f 2f 20 61 64 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 73 74 72 75 63 74 75 72 65 ....//.add.support.for.structure
8240 73 20 64 69 72 65 63 74 6c 79 20 65 6e 63 6f 64 69 6e 67 20 70 68 70 20 6f 62 6a 65 63 74 73 0a s.directly.encoding.php.objects.
8260 20 20 20 20 20 20 20 20 69 66 20 28 69 73 5f 6f 62 6a 65 63 74 28 24 62 29 29 20 7b 0a 20 20 20 ........if.(is_object($b)).{....
8280 20 20 20 20 20 20 20 20 20 24 74 20 3d 20 67 65 74 5f 6f 62 6a 65 63 74 5f 76 61 72 73 28 24 62 .........$t.=.get_object_vars($b
82a0 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 74 20 61 73 20 24 69 );.............foreach.($t.as.$i
82c0 64 20 3d 3e 20 24 63 6f 6e 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 74 d.=>.$cont).{.................$t
82e0 5b 24 69 64 5d 20 3d 20 24 63 6f 6e 74 2d 3e 73 63 61 6c 61 72 76 61 6c 28 29 3b 0a 20 20 20 20 [$id].=.$cont->scalarval();.....
8300 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 ........}.............foreach.($
8320 74 20 61 73 20 24 69 64 20 3d 3e 20 24 63 6f 6e 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 t.as.$id.=>.$cont).{............
8340 20 20 20 20 20 65 76 61 6c 28 27 24 62 2d 3e 27 2e 24 69 64 2e 27 20 3d 20 24 63 6f 6e 74 3b 27 .....eval('$b->'.$id.'.=.$cont;'
8360 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 );.............}.........}......
8380 20 20 20 20 2f 2f 20 65 6e 64 20 63 6f 6e 74 72 69 62 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 ....//.end.contrib.........retur
83a0 6e 20 24 62 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 63 61 6c 61 72 n.$b;.....}......function.scalar
83c0 76 61 6c 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 67 6c 6f 62 61 6c 20 24 58 4d 4c 5f val().....{.........global.$XML_
83e0 52 50 43 5f 42 6f 6f 6c 65 61 6e 2c 20 24 58 4d 4c 5f 52 50 43 5f 42 61 73 65 36 34 3b 0a 20 20 RPC_Boolean,.$XML_RPC_Base64;...
8400 20 20 20 20 20 20 72 65 73 65 74 28 24 74 68 69 73 2d 3e 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 ......reset($this->me);.........
8420 6c 69 73 74 28 24 61 2c 24 62 29 20 3d 20 65 61 63 68 28 24 74 68 69 73 2d 3e 6d 65 29 3b 0a 20 list($a,$b).=.each($this->me);..
8440 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 62 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e .......return.$b;.....}......fun
8460 63 74 69 6f 6e 20 73 63 61 6c 61 72 74 79 70 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 ction.scalartyp().....{.........
8480 67 6c 6f 62 61 6c 20 24 58 4d 4c 5f 52 50 43 5f 49 34 2c 20 24 58 4d 4c 5f 52 50 43 5f 49 6e 74 global.$XML_RPC_I4,.$XML_RPC_Int
84a0 3b 0a 20 20 20 20 20 20 20 20 72 65 73 65 74 28 24 74 68 69 73 2d 3e 6d 65 29 3b 0a 20 20 20 20 ;.........reset($this->me);.....
84c0 20 20 20 20 6c 69 73 74 28 24 61 2c 24 62 29 20 3d 20 65 61 63 68 28 24 74 68 69 73 2d 3e 6d 65 ....list($a,$b).=.each($this->me
84e0 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 61 20 3d 3d 20 24 58 4d 4c 5f 52 50 43 5f 49 34 );.........if.($a.==.$XML_RPC_I4
8500 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 61 20 3d 20 24 58 4d 4c 5f 52 50 43 5f 49 6e ).{.............$a.=.$XML_RPC_In
8520 74 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 3b 0a t;.........}.........return.$a;.
8540 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 61 72 72 61 79 6d 65 6d 28 24 6d 29 ....}......function.arraymem($m)
8560 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 6e 76 20 3d 20 24 74 68 69 73 2d 3e 6d 65 5b 22 .....{.........$nv.=.$this->me["
8580 61 72 72 61 79 22 5d 5b 24 6d 5d 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 6e 76 3b array"][$m];.........return.$nv;
85a0 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 61 72 72 61 79 73 69 7a 65 28 29 .....}......function.arraysize()
85c0 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 72 65 73 65 74 28 24 74 68 69 73 2d 3e 6d 65 29 3b .....{.........reset($this->me);
85e0 0a 20 20 20 20 20 20 20 20 6c 69 73 74 28 24 61 2c 24 62 29 20 3d 20 65 61 63 68 28 24 74 68 69 .........list($a,$b).=.each($thi
8600 73 2d 3e 6d 65 29 3b 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 69 7a 65 6f 66 28 24 62 s->me);.........return.sizeof($b
8620 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 0a 2f 2a 2a 0a 20 2a 20 64 61 74 65 20 68 65 6c 70 65 72 73 );.....}.}.../**..*.date.helpers
8640 0a 20 2a 2f 0a 66 75 6e 63 74 69 6f 6e 20 58 4d 4c 5f 52 50 43 5f 69 73 6f 38 36 30 31 5f 65 6e ..*/.function.XML_RPC_iso8601_en
8660 63 6f 64 65 28 24 74 69 6d 65 74 2c 20 24 75 74 63 20 3d 20 30 29 20 7b 0a 20 20 20 20 2f 2f 20 code($timet,.$utc.=.0).{.....//.
8680 72 65 74 75 72 6e 20 61 6e 20 49 53 4f 38 36 30 31 20 65 6e 63 6f 64 65 64 20 73 74 72 69 6e 67 return.an.ISO8601.encoded.string
86a0 0a 20 20 20 20 2f 2f 20 72 65 61 6c 6c 79 2c 20 74 69 6d 65 7a 6f 6e 65 73 20 6f 75 67 68 74 20 .....//.really,.timezones.ought.
86c0 74 6f 20 62 65 20 73 75 70 70 6f 72 74 65 64 0a 20 20 20 20 2f 2f 20 62 75 74 20 74 68 65 20 58 to.be.supported.....//.but.the.X
86e0 4d 4c 2d 52 50 43 20 73 70 65 63 20 73 61 79 73 3a 0a 20 20 20 20 2f 2f 0a 20 20 20 20 2f 2f 20 ML-RPC.spec.says:.....//.....//.
8700 22 44 6f 6e 27 74 20 61 73 73 75 6d 65 20 61 20 74 69 6d 65 7a 6f 6e 65 2e 20 49 74 20 73 68 6f "Don't.assume.a.timezone..It.sho
8720 75 6c 64 20 62 65 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 73 65 72 76 65 72 20 69 uld.be.specified.by.the.server.i
8740 6e 20 69 74 73 0a 20 20 20 20 2f 2f 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 77 68 61 74 20 n.its.....//.documentation.what.
8760 61 73 73 75 6d 70 74 69 6f 6e 73 20 69 74 20 6d 61 6b 65 73 20 61 62 6f 75 74 20 74 69 6d 65 7a assumptions.it.makes.about.timez
8780 6f 6e 65 73 2e 22 0a 20 20 20 20 2f 2f 0a 20 20 20 20 2f 2f 20 74 68 65 73 65 20 72 6f 75 74 69 ones.".....//.....//.these.routi
87a0 6e 65 73 20 61 6c 77 61 79 73 20 61 73 73 75 6d 65 20 6c 6f 63 61 6c 74 69 6d 65 20 75 6e 6c 65 nes.always.assume.localtime.unle
87c0 73 73 0a 20 20 20 20 2f 2f 20 24 75 74 63 20 69 73 20 73 65 74 20 74 6f 20 31 2c 20 69 6e 20 77 ss.....//.$utc.is.set.to.1,.in.w
87e0 68 69 63 68 20 63 61 73 65 20 55 54 43 20 69 73 20 61 73 73 75 6d 65 64 0a 20 20 20 20 2f 2f 20 hich.case.UTC.is.assumed.....//.
8800 61 6e 64 20 61 6e 20 61 64 6a 75 73 74 6d 65 6e 74 20 66 6f 72 20 6c 6f 63 61 6c 65 20 69 73 20 and.an.adjustment.for.locale.is.
8820 6d 61 64 65 20 77 68 65 6e 20 65 6e 63 6f 64 69 6e 67 0a 20 20 20 20 69 66 20 28 21 24 75 74 63 made.when.encoding.....if.(!$utc
8840 29 20 7b 0a 20 20 20 20 20 20 20 20 24 74 20 3d 20 73 74 72 66 74 69 6d 65 28 22 25 59 25 6d 25 ).{.........$t.=.strftime("%Y%m%
8860 64 54 25 48 3a 25 4d 3a 25 53 22 2c 20 24 74 69 6d 65 74 29 3b 0a 20 20 20 20 7d 20 65 6c 73 65 dT%H:%M:%S",.$timet);.....}.else
8880 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 66 75 6e 63 74 69 6f 6e 5f 65 78 69 73 74 73 28 22 .{.........if.(function_exists("
88a0 67 6d 73 74 72 66 74 69 6d 65 22 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 67 gmstrftime")).{.............//.g
88c0 6d 73 74 72 66 74 69 6d 65 20 64 6f 65 73 6e 27 74 20 65 78 69 73 74 20 69 6e 20 73 6f 6d 65 20 mstrftime.doesn't.exist.in.some.
88e0 76 65 72 73 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 6f 66 20 50 48 50 0a 20 versions.............//.of.PHP..
8900 20 20 20 20 20 20 20 20 20 20 20 24 74 20 3d 20 67 6d 73 74 72 66 74 69 6d 65 28 22 25 59 25 6d ...........$t.=.gmstrftime("%Y%m
8920 25 64 54 25 48 3a 25 4d 3a 25 53 22 2c 20 24 74 69 6d 65 74 29 3b 0a 20 20 20 20 20 20 20 20 7d %dT%H:%M:%S",.$timet);.........}
8940 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 20 3d 20 73 74 72 66 74 69 6d .else.{.............$t.=.strftim
8960 65 28 22 25 59 25 6d 25 64 54 25 48 3a 25 4d 3a 25 53 22 2c 20 24 74 69 6d 65 74 20 2d 20 64 61 e("%Y%m%dT%H:%M:%S",.$timet.-.da
8980 74 65 28 22 5a 22 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 72 te("Z"));.........}.....}......r
89a0 65 74 75 72 6e 20 24 74 3b 0a 7d 0a 0a 66 75 6e 63 74 69 6f 6e 20 58 4d 4c 5f 52 50 43 5f 69 73 eturn.$t;.}..function.XML_RPC_is
89c0 6f 38 36 30 31 5f 64 65 63 6f 64 65 28 24 69 64 61 74 65 2c 20 24 75 74 63 20 3d 20 30 29 20 7b o8601_decode($idate,.$utc.=.0).{
89e0 0a 20 20 20 20 2f 2f 20 72 65 74 75 72 6e 20 61 20 74 69 6d 65 74 20 69 6e 20 74 68 65 20 6c 6f .....//.return.a.timet.in.the.lo
8a00 63 61 6c 74 69 6d 65 2c 20 6f 72 20 55 54 43 0a 20 20 20 20 24 74 20 3d 20 30 3b 0a 20 20 20 20 caltime,.or.UTC.....$t.=.0;.....
8a20 69 66 20 28 65 72 65 67 28 22 28 5b 30 2d 39 5d 7b 34 7d 29 28 5b 30 2d 39 5d 7b 32 7d 29 28 5b if.(ereg("([0-9]{4})([0-9]{2})([
8a40 30 2d 39 5d 7b 32 7d 29 54 28 5b 30 2d 39 5d 7b 32 7d 29 3a 28 5b 30 2d 39 5d 7b 32 7d 29 3a 28 0-9]{2})T([0-9]{2}):([0-9]{2}):(
8a60 5b 30 2d 39 5d 7b 32 7d 29 22 2c 20 24 69 64 61 74 65 2c 20 24 72 65 67 73 29 29 20 7b 0a 0a 20 [0-9]{2})",.$idate,.$regs)).{...
8a80 20 20 20 20 20 20 20 69 66 20 28 24 75 74 63 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 .......if.($utc).{.............$
8aa0 74 20 3d 20 67 6d 6d 6b 74 69 6d 65 28 24 72 65 67 73 5b 34 5d 2c 20 24 72 65 67 73 5b 35 5d 2c t.=.gmmktime($regs[4],.$regs[5],
8ac0 20 24 72 65 67 73 5b 36 5d 2c 20 24 72 65 67 73 5b 32 5d 2c 20 24 72 65 67 73 5b 33 5d 2c 20 24 .$regs[6],.$regs[2],.$regs[3],.$
8ae0 72 65 67 73 5b 31 5d 29 3b 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 regs[1]);.........}.else.{......
8b00 20 20 20 20 20 20 20 24 74 20 3d 20 6d 6b 74 69 6d 65 28 24 72 65 67 73 5b 34 5d 2c 20 24 72 65 .......$t.=.mktime($regs[4],.$re
8b20 67 73 5b 35 5d 2c 20 24 72 65 67 73 5b 36 5d 2c 20 24 72 65 67 73 5b 32 5d 2c 20 24 72 65 67 73 gs[5],.$regs[6],.$regs[2],.$regs
8b40 5b 33 5d 2c 20 24 72 65 67 73 5b 31 5d 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a [3],.$regs[1]);.........}.....}.
8b60 0a 20 20 20 20 72 65 74 75 72 6e 20 24 74 3b 0a 7d 0a 0a 2f 2a 2a 0a 20 2a 20 54 61 6b 65 73 20 .....return.$t;.}../**..*.Takes.
8b80 61 20 6d 65 73 73 61 67 65 20 69 6e 20 50 48 50 20 58 4d 4c 5f 52 50 43 20 6f 62 6a 65 63 74 20 a.message.in.PHP.XML_RPC.object.
8ba0 66 6f 72 6d 61 74 20 61 6e 64 20 74 72 61 6e 73 6c 61 74 65 73 20 69 74 20 69 6e 74 6f 20 6e 61 format.and.translates.it.into.na
8bc0 74 69 76 65 20 50 48 50 20 74 79 70 65 73 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 68 6f 72 20 44 61 tive.PHP.types...*..*.@author.Da
8be0 6e 20 4c 69 62 62 79 20 3c 64 61 6e 40 6c 69 62 62 79 2e 63 6f 6d 3e 0a 20 2a 2a 2f 0a 66 75 6e n.Libby.<dan@libby.com>..**/.fun
8c00 63 74 69 6f 6e 20 58 4d 4c 5f 52 50 43 5f 64 65 63 6f 64 65 28 24 58 4d 4c 5f 52 50 43 5f 76 61 ction.XML_RPC_decode($XML_RPC_va
8c20 6c 29 20 7b 0a 20 20 20 20 24 6b 69 6e 64 20 3d 20 24 58 4d 4c 5f 52 50 43 5f 76 61 6c 2d 3e 6b l).{.....$kind.=.$XML_RPC_val->k
8c40 69 6e 64 4f 66 28 29 3b 0a 0a 20 20 20 69 66 20 28 24 6b 69 6e 64 20 3d 3d 20 22 73 63 61 6c 61 indOf();.....if.($kind.==."scala
8c60 72 22 29 20 7b 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 58 4d 4c 5f 52 50 43 5f 76 61 6c 2d r").{.......return.$XML_RPC_val-
8c80 3e 73 63 61 6c 61 72 76 61 6c 28 29 3b 0a 0a 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 6b 69 6e >scalarval();.....}.elseif.($kin
8ca0 64 20 3d 3d 20 22 61 72 72 61 79 22 29 20 7b 0a 20 20 20 20 20 20 24 73 69 7a 65 20 3d 20 24 58 d.==."array").{.......$size.=.$X
8cc0 4d 4c 5f 52 50 43 5f 76 61 6c 2d 3e 61 72 72 61 79 73 69 7a 65 28 29 3b 0a 20 20 20 20 20 20 24 ML_RPC_val->arraysize();.......$
8ce0 61 72 72 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 20 20 66 6f 72 28 24 69 20 3d 20 30 arr.=.array();........for($i.=.0
8d00 3b 20 24 69 20 3c 20 24 73 69 7a 65 3b 20 24 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 24 ;.$i.<.$size;.$i++).{..........$
8d20 61 72 72 5b 5d 20 3d 20 58 4d 4c 5f 52 50 43 5f 64 65 63 6f 64 65 28 24 58 4d 4c 5f 52 50 43 5f arr[].=.XML_RPC_decode($XML_RPC_
8d40 76 61 6c 2d 3e 61 72 72 61 79 6d 65 6d 28 24 69 29 29 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 val->arraymem($i));.......}.....
8d60 20 20 72 65 74 75 72 6e 20 24 61 72 72 3b 0a 0a 20 20 20 7d 20 65 6c 73 65 69 66 20 28 24 6b 69 ..return.$arr;.....}.elseif.($ki
8d80 6e 64 20 3d 3d 20 22 73 74 72 75 63 74 22 29 20 7b 0a 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 nd.==."struct").{.......$XML_RPC
8da0 5f 76 61 6c 2d 3e 73 74 72 75 63 74 72 65 73 65 74 28 29 3b 0a 20 20 20 20 20 20 24 61 72 72 20 _val->structreset();.......$arr.
8dc0 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 20 20 20 20 20 77 68 69 6c 65 28 6c 69 73 74 28 24 6b 65 =.array();........while(list($ke
8de0 79 2c 24 76 61 6c 75 65 29 20 3d 20 24 58 4d 4c 5f 52 50 43 5f 76 61 6c 2d 3e 73 74 72 75 63 74 y,$value).=.$XML_RPC_val->struct
8e00 65 61 63 68 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 24 61 72 72 5b 24 6b 65 79 5d 20 3d 20 each()).{..........$arr[$key].=.
8e20 58 4d 4c 5f 52 50 43 5f 64 65 63 6f 64 65 28 24 76 61 6c 75 65 29 3b 0a 20 20 20 20 20 20 7d 0a XML_RPC_decode($value);.......}.
8e40 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 61 72 72 3b 0a 20 20 20 7d 0a 7d 0a 0a 2f 2a 2a 0a 20 ......return.$arr;....}.}../**..
8e60 2a 20 54 61 6b 65 73 20 6e 61 74 69 76 65 20 70 68 70 20 74 79 70 65 73 20 61 6e 64 20 65 6e 63 *.Takes.native.php.types.and.enc
8e80 6f 64 65 73 20 74 68 65 6d 20 69 6e 74 6f 20 58 4d 4c 5f 52 50 43 20 50 48 50 20 6f 62 6a 65 63 odes.them.into.XML_RPC.PHP.objec
8ea0 74 20 66 6f 72 6d 61 74 2e 0a 20 2a 0a 20 2a 20 46 65 61 74 75 72 65 20 63 72 65 65 70 20 2d 2d t.format...*..*.Feature.creep.--
8ec0 20 63 6f 75 6c 64 20 73 75 70 70 6f 72 74 20 6d 6f 72 65 20 74 79 70 65 73 20 76 69 61 20 6f 70 .could.support.more.types.via.op
8ee0 74 69 6f 6e 61 6c 20 74 79 70 65 20 61 72 67 75 6d 65 6e 74 2e 0a 20 2a 0a 20 2a 20 40 61 75 74 tional.type.argument...*..*.@aut
8f00 68 6f 72 20 44 61 6e 20 4c 69 62 62 79 20 3c 64 61 6e 40 6c 69 62 62 79 2e 63 6f 6d 3e 0a 20 2a hor.Dan.Libby.<dan@libby.com>..*
8f20 2a 2f 0a 66 75 6e 63 74 69 6f 6e 20 58 4d 4c 5f 52 50 43 5f 65 6e 63 6f 64 65 28 24 70 68 70 5f */.function.XML_RPC_encode($php_
8f40 76 61 6c 29 20 7b 0a 20 20 20 67 6c 6f 62 61 6c 20 24 58 4d 4c 5f 52 50 43 5f 42 6f 6f 6c 65 61 val).{....global.$XML_RPC_Boolea
8f60 6e 3b 0a 20 20 20 67 6c 6f 62 61 6c 20 24 58 4d 4c 5f 52 50 43 5f 49 6e 74 3b 0a 20 20 20 67 6c n;....global.$XML_RPC_Int;....gl
8f80 6f 62 61 6c 20 24 58 4d 4c 5f 52 50 43 5f 44 6f 75 62 6c 65 3b 0a 20 20 20 67 6c 6f 62 61 6c 20 obal.$XML_RPC_Double;....global.
8fa0 24 58 4d 4c 5f 52 50 43 5f 53 74 72 69 6e 67 3b 0a 20 20 20 67 6c 6f 62 61 6c 20 24 58 4d 4c 5f $XML_RPC_String;....global.$XML_
8fc0 52 50 43 5f 41 72 72 61 79 3b 0a 20 20 20 67 6c 6f 62 61 6c 20 24 58 4d 4c 5f 52 50 43 5f 53 74 RPC_Array;....global.$XML_RPC_St
8fe0 72 75 63 74 3b 0a 0a 20 20 20 24 74 79 70 65 20 3d 20 67 65 74 74 79 70 65 28 24 70 68 70 5f 76 ruct;.....$type.=.gettype($php_v
9000 61 6c 29 3b 0a 20 20 20 24 58 4d 4c 5f 52 50 43 5f 76 61 6c 20 3d 20 6e 65 77 20 58 4d 4c 5f 52 al);....$XML_RPC_val.=.new.XML_R
9020 50 43 5f 56 61 6c 75 65 3b 0a 0a 20 20 20 73 77 69 74 63 68 20 28 24 74 79 70 65 29 20 7b 0a 20 PC_Value;.....switch.($type).{..
9040 20 20 63 61 73 65 20 22 61 72 72 61 79 22 3a 0a 20 20 20 20 20 20 20 24 6b 65 79 73 20 3d 20 61 ..case."array":........$keys.=.a
9060 72 72 61 79 5f 6b 65 79 73 28 24 70 68 70 5f 76 61 6c 29 3b 0a 20 20 20 20 20 20 20 24 63 6f 75 rray_keys($php_val);........$cou
9080 6e 74 20 3d 20 63 6f 75 6e 74 28 24 70 68 70 5f 76 61 6c 29 3b 0a 20 20 20 20 20 20 20 24 66 69 nt.=.count($php_val);........$fi
90a0 72 73 74 6b 65 79 20 3d 20 24 6b 65 79 73 5b 30 5d 3b 0a 20 20 20 20 20 20 20 24 6c 61 73 74 6b rstkey.=.$keys[0];........$lastk
90c0 65 79 20 3d 20 24 6b 65 79 73 5b 24 63 6f 75 6e 74 20 2d 20 31 5d 3b 0a 20 20 20 20 20 20 20 69 ey.=.$keys[$count.-.1];........i
90e0 66 20 28 24 66 69 72 73 74 6b 65 79 20 3d 3d 3d 20 30 20 26 26 20 69 73 5f 69 6e 74 28 24 6c 61 f.($firstkey.===.0.&&.is_int($la
9100 73 74 6b 65 79 29 20 26 26 20 28 24 6c 61 73 74 6b 65 79 20 2b 20 31 29 20 3d 3d 20 24 63 6f 75 stkey).&&.($lastkey.+.1).==.$cou
9120 6e 74 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 24 69 73 5f 63 6f 6e 74 69 6e 75 6f 75 73 20 nt).{............$is_continuous.
9140 3d 20 74 72 75 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 24 65 78 70 65 63 74 65 64 20 3d 20 30 =.true;............$expected.=.0
9160 3b 0a 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 6b 65 79 73 20 61 73 20 24 ;............foreach.($keys.as.$
9180 61 63 74 75 61 6c 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 61 63 actual).{................if.($ac
91a0 74 75 61 6c 20 21 3d 20 24 65 78 70 65 63 74 65 64 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 tual.!=.$expected).{............
91c0 20 20 20 20 20 20 20 20 24 69 73 5f 63 6f 6e 74 69 6e 75 6f 75 73 20 3d 20 66 61 6c 73 65 3b 0a ........$is_continuous.=.false;.
91e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 ...................break;.......
9200 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 65 78 70 65 63 .........}................$expec
9220 74 65 64 2b 2b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 20 20 ted++;............}.............
9240 69 66 20 28 24 69 73 5f 63 6f 6e 74 69 6e 75 6f 75 73 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 if.($is_continuous).{...........
9260 20 20 20 20 20 24 61 72 72 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 .....$arr.=.array();............
9280 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 70 68 70 5f 76 61 6c 20 61 73 20 24 6b 20 3d 3e 20 24 ....foreach.($php_val.as.$k.=>.$
92a0 76 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 61 72 72 5b 24 6b 5d v).{....................$arr[$k]
92c0 20 3d 20 58 4d 4c 5f 52 50 43 5f 65 6e 63 6f 64 65 28 24 76 29 3b 0a 20 20 20 20 20 20 20 20 20 .=.XML_RPC_encode($v);..........
92e0 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f ......}................$XML_RPC_
9300 76 61 6c 2d 3e 61 64 64 41 72 72 61 79 28 24 61 72 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 val->addArray($arr);............
9320 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 7d ....break;............}........}
9340 0a 20 20 20 20 20 20 20 2f 2f 20 66 61 6c 6c 20 74 68 6f 75 67 68 20 69 66 20 6e 6f 74 20 6e 75 ........//.fall.though.if.not.nu
9360 6d 65 72 69 63 61 6c 20 61 6e 64 20 63 6f 6e 74 69 6e 75 6f 75 73 0a 20 20 20 63 61 73 65 20 22 merical.and.continuous....case."
9380 6f 62 6a 65 63 74 22 3a 0a 20 20 20 20 20 20 20 24 61 72 72 20 3d 20 61 72 72 61 79 28 29 3b 0a object":........$arr.=.array();.
93a0 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 24 70 68 70 5f 76 61 6c 20 61 73 20 24 6b 20 3d .......foreach.($php_val.as.$k.=
93c0 3e 20 24 76 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 24 61 72 72 5b 24 6b 5d 20 3d 20 58 4d >.$v).{............$arr[$k].=.XM
93e0 4c 5f 52 50 43 5f 65 6e 63 6f 64 65 28 24 76 29 3b 0a 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 L_RPC_encode($v);........}......
9400 20 20 24 58 4d 4c 5f 52 50 43 5f 76 61 6c 2d 3e 61 64 64 53 74 72 75 63 74 28 24 61 72 72 29 3b ..$XML_RPC_val->addStruct($arr);
9420 0a 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 0a 20 20 20 63 61 73 65 20 22 69 6e 74 65 67 65 72 ........break;.....case."integer
9440 22 3a 0a 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 76 61 6c 2d 3e 61 64 64 53 63 61 6c 61 ":........$XML_RPC_val->addScala
9460 72 28 24 70 68 70 5f 76 61 6c 2c 20 24 58 4d 4c 5f 52 50 43 5f 49 6e 74 29 3b 0a 20 20 20 20 20 r($php_val,.$XML_RPC_Int);......
9480 20 20 62 72 65 61 6b 3b 0a 0a 20 20 20 63 61 73 65 20 22 64 6f 75 62 6c 65 22 3a 0a 20 20 20 20 ..break;.....case."double":.....
94a0 20 20 20 24 58 4d 4c 5f 52 50 43 5f 76 61 6c 2d 3e 61 64 64 53 63 61 6c 61 72 28 24 70 68 70 5f ...$XML_RPC_val->addScalar($php_
94c0 76 61 6c 2c 20 24 58 4d 4c 5f 52 50 43 5f 44 6f 75 62 6c 65 29 3b 0a 20 20 20 20 20 20 20 62 72 val,.$XML_RPC_Double);........br
94e0 65 61 6b 3b 0a 0a 20 20 20 63 61 73 65 20 22 73 74 72 69 6e 67 22 3a 0a 20 20 20 63 61 73 65 20 eak;.....case."string":....case.
9500 22 4e 55 4c 4c 22 3a 0a 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 76 61 6c 2d 3e 61 64 64 "NULL":........$XML_RPC_val->add
9520 53 63 61 6c 61 72 28 24 70 68 70 5f 76 61 6c 2c 20 24 58 4d 4c 5f 52 50 43 5f 53 74 72 69 6e 67 Scalar($php_val,.$XML_RPC_String
9540 29 3b 0a 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 0a 20 20 20 2f 2f 20 3c 47 5f 47 69 75 6e 74 );........break;.....//.<G_Giunt
9560 61 5f 32 30 30 31 2d 30 32 2d 32 39 3e 0a 20 20 20 2f 2f 20 41 64 64 20 73 75 70 70 6f 72 74 20 a_2001-02-29>....//.Add.support.
9580 66 6f 72 20 65 6e 63 6f 64 69 6e 67 2f 64 65 63 6f 64 69 6e 67 20 6f 66 20 62 6f 6f 6c 65 61 6e for.encoding/decoding.of.boolean
95a0 73 2c 20 73 69 6e 63 65 20 74 68 65 79 20 61 72 65 20 73 75 70 70 6f 72 74 65 64 20 69 6e 20 50 s,.since.they.are.supported.in.P
95c0 48 50 0a 20 20 20 63 61 73 65 20 22 62 6f 6f 6c 65 61 6e 22 3a 0a 20 20 20 20 20 20 20 24 58 4d HP....case."boolean":........$XM
95e0 4c 5f 52 50 43 5f 76 61 6c 2d 3e 61 64 64 53 63 61 6c 61 72 28 24 70 68 70 5f 76 61 6c 2c 20 24 L_RPC_val->addScalar($php_val,.$
9600 58 4d 4c 5f 52 50 43 5f 42 6f 6f 6c 65 61 6e 29 3b 0a 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0a XML_RPC_Boolean);........break;.
9620 20 20 20 2f 2f 20 3c 2f 47 5f 47 69 75 6e 74 61 5f 32 30 30 31 2d 30 32 2d 32 39 3e 0a 0a 20 20 ...//.</G_Giunta_2001-02-29>....
9640 20 63 61 73 65 20 22 75 6e 6b 6e 6f 77 6e 20 74 79 70 65 22 3a 0a 20 20 20 64 65 66 61 75 6c 74 .case."unknown.type":....default
9660 3a 0a 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 76 61 6c 20 3d 20 66 61 6c 73 65 3b 0a 20 :........$XML_RPC_val.=.false;..
9680 20 20 20 20 20 20 62 72 65 61 6b 3b 0a 20 20 20 7d 0a 20 20 20 72 65 74 75 72 6e 20 24 58 4d 4c ......break;....}....return.$XML
96a0 5f 52 50 43 5f 76 61 6c 3b 0a 7d 0a 0a 3f 3e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 _RPC_val;.}..?>.................
96c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
96e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
97e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9800 58 4d 4c 5f 52 50 43 2d 31 2e 31 2e 30 2f 53 65 72 76 65 72 2e 70 68 70 00 00 00 00 00 00 00 00 XML_RPC-1.1.0/Server.php........
9820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9860 00 00 00 00 31 30 30 36 36 34 20 00 20 20 20 37 36 34 20 00 20 20 20 37 36 34 20 00 20 20 20 20 ....100664.....764.....764......
9880 20 20 32 37 30 37 31 20 31 30 30 32 35 33 33 33 32 31 37 20 20 31 30 30 35 33 20 00 00 00 00 00 ..27071.10025333217..10053......
98a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
98c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
98e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
99a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
99c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
99e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9a00 3c 3f 70 68 70 0a 2f 2f 20 2f 2a 20 76 69 6d 3a 20 73 65 74 20 65 78 70 61 6e 64 74 61 62 20 74 <?php.//./*.vim:.set.expandtab.t
9a20 61 62 73 74 6f 70 3d 34 20 73 68 69 66 74 77 69 64 74 68 3d 34 3a 20 2a 2f 0a 2f 2f 20 62 79 20 abstop=4.shiftwidth=4:.*/.//.by.
9a40 45 64 64 20 44 75 6d 62 69 6c 6c 20 28 43 29 20 31 39 39 39 2c 32 30 30 30 0a 2f 2f 20 3c 65 64 Edd.Dumbill.(C).1999,2000.//.<ed
9a60 64 40 75 73 65 66 75 6c 69 6e 63 2e 63 6f 6d 3e 0a 0a 2f 2f 20 4c 69 63 65 6e 73 65 20 69 73 20 d@usefulinc.com>..//.License.is.
9a80 67 72 61 6e 74 65 64 20 74 6f 20 75 73 65 20 6f 72 20 6d 6f 64 69 66 79 20 74 68 69 73 20 73 6f granted.to.use.or.modify.this.so
9aa0 66 74 77 61 72 65 20 28 22 58 4d 4c 2d 52 50 43 20 66 6f 72 20 50 48 50 22 29 0a 2f 2f 20 66 6f ftware.("XML-RPC.for.PHP").//.fo
9ac0 72 20 63 6f 6d 6d 65 72 63 69 61 6c 20 6f 72 20 6e 6f 6e 2d 63 6f 6d 6d 65 72 63 69 61 6c 20 75 r.commercial.or.non-commercial.u
9ae0 73 65 20 70 72 6f 76 69 64 65 64 20 74 68 65 20 63 6f 70 79 72 69 67 68 74 20 6f 66 20 74 68 65 se.provided.the.copyright.of.the
9b00 20 61 75 74 68 6f 72 0a 2f 2f 20 69 73 20 70 72 65 73 65 72 76 65 64 20 69 6e 20 61 6e 79 20 64 .author.//.is.preserved.in.any.d
9b20 69 73 74 72 69 62 75 74 65 64 20 6f 72 20 64 65 72 69 76 61 74 69 76 65 20 77 6f 72 6b 2e 0a 0a istributed.or.derivative.work...
9b40 2f 2f 20 54 48 49 53 20 53 4f 46 54 57 41 52 45 20 49 53 20 50 52 4f 56 49 44 45 44 20 42 59 20 //.THIS.SOFTWARE.IS.PROVIDED.BY.
9b60 54 48 45 20 41 55 54 48 4f 52 20 60 60 41 53 20 49 53 27 27 20 41 4e 44 20 41 4e 59 20 45 58 50 THE.AUTHOR.``AS.IS''.AND.ANY.EXP
9b80 52 45 53 53 45 44 20 4f 52 0a 2f 2f 20 49 4d 50 4c 49 45 44 20 57 41 52 52 41 4e 54 49 45 53 2c RESSED.OR.//.IMPLIED.WARRANTIES,
9ba0 20 49 4e 43 4c 55 44 49 4e 47 2c 20 42 55 54 20 4e 4f 54 20 4c 49 4d 49 54 45 44 20 54 4f 2c 20 .INCLUDING,.BUT.NOT.LIMITED.TO,.
9bc0 54 48 45 20 49 4d 50 4c 49 45 44 20 57 41 52 52 41 4e 54 49 45 53 0a 2f 2f 20 4f 46 20 4d 45 52 THE.IMPLIED.WARRANTIES.//.OF.MER
9be0 43 48 41 4e 54 41 42 49 4c 49 54 59 20 41 4e 44 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 CHANTABILITY.AND.FITNESS.FOR.A.P
9c00 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 20 41 52 45 20 44 49 53 43 4c 41 49 4d 45 44 ARTICULAR.PURPOSE.ARE.DISCLAIMED
9c20 2e 0a 2f 2f 20 49 4e 20 4e 4f 20 45 56 45 4e 54 20 53 48 41 4c 4c 20 54 48 45 20 41 55 54 48 4f ..//.IN.NO.EVENT.SHALL.THE.AUTHO
9c40 52 20 42 45 20 4c 49 41 42 4c 45 20 46 4f 52 20 41 4e 59 20 44 49 52 45 43 54 2c 20 49 4e 44 49 R.BE.LIABLE.FOR.ANY.DIRECT,.INDI
9c60 52 45 43 54 2c 0a 2f 2f 20 49 4e 43 49 44 45 4e 54 41 4c 2c 20 53 50 45 43 49 41 4c 2c 20 45 58 RECT,.//.INCIDENTAL,.SPECIAL,.EX
9c80 45 4d 50 4c 41 52 59 2c 20 4f 52 20 43 4f 4e 53 45 51 55 45 4e 54 49 41 4c 20 44 41 4d 41 47 45 EMPLARY,.OR.CONSEQUENTIAL.DAMAGE
9ca0 53 20 28 49 4e 43 4c 55 44 49 4e 47 2c 20 42 55 54 0a 2f 2f 20 4e 4f 54 20 4c 49 4d 49 54 45 44 S.(INCLUDING,.BUT.//.NOT.LIMITED
9cc0 20 54 4f 2c 20 50 52 4f 43 55 52 45 4d 45 4e 54 20 4f 46 20 53 55 42 53 54 49 54 55 54 45 20 47 .TO,.PROCUREMENT.OF.SUBSTITUTE.G
9ce0 4f 4f 44 53 20 4f 52 20 53 45 52 56 49 43 45 53 3b 20 4c 4f 53 53 20 4f 46 20 55 53 45 2c 0a 2f OODS.OR.SERVICES;.LOSS.OF.USE,./
9d00 2f 20 44 41 54 41 2c 20 4f 52 20 50 52 4f 46 49 54 53 3b 20 4f 52 20 42 55 53 49 4e 45 53 53 20 /.DATA,.OR.PROFITS;.OR.BUSINESS.
9d20 49 4e 54 45 52 52 55 50 54 49 4f 4e 29 20 48 4f 57 45 56 45 52 20 43 41 55 53 45 44 20 41 4e 44 INTERRUPTION).HOWEVER.CAUSED.AND
9d40 20 4f 4e 20 41 4e 59 0a 2f 2f 20 54 48 45 4f 52 59 20 4f 46 20 4c 49 41 42 49 4c 49 54 59 2c 20 .ON.ANY.//.THEORY.OF.LIABILITY,.
9d60 57 48 45 54 48 45 52 20 49 4e 20 43 4f 4e 54 52 41 43 54 2c 20 53 54 52 49 43 54 20 4c 49 41 42 WHETHER.IN.CONTRACT,.STRICT.LIAB
9d80 49 4c 49 54 59 2c 20 4f 52 20 54 4f 52 54 0a 2f 2f 20 28 49 4e 43 4c 55 44 49 4e 47 20 4e 45 47 ILITY,.OR.TORT.//.(INCLUDING.NEG
9da0 4c 49 47 45 4e 43 45 20 4f 52 20 4f 54 48 45 52 57 49 53 45 29 20 41 52 49 53 49 4e 47 20 49 4e LIGENCE.OR.OTHERWISE).ARISING.IN
9dc0 20 41 4e 59 20 57 41 59 20 4f 55 54 20 4f 46 20 54 48 45 20 55 53 45 20 4f 46 0a 2f 2f 20 54 48 .ANY.WAY.OUT.OF.THE.USE.OF.//.TH
9de0 49 53 20 53 4f 46 54 57 41 52 45 2c 20 45 56 45 4e 20 49 46 20 41 44 56 49 53 45 44 20 4f 46 20 IS.SOFTWARE,.EVEN.IF.ADVISED.OF.
9e00 54 48 45 20 50 4f 53 53 49 42 49 4c 49 54 59 20 4f 46 20 53 55 43 48 20 44 41 4d 41 47 45 2e 0a THE.POSSIBILITY.OF.SUCH.DAMAGE..
9e20 0a 2f 2f 20 41 64 61 70 74 65 64 20 74 6f 20 50 45 41 52 20 73 74 61 6e 64 61 72 64 73 20 62 79 .//.Adapted.to.PEAR.standards.by
9e40 20 53 74 69 67 20 53 ef bf bd 68 65 72 20 42 61 6b 6b 65 6e 20 3c 73 74 69 67 40 70 68 70 2e 6e .Stig.S...her.Bakken.<stig@php.n
9e60 65 74 3e 0a 2f 2f 20 2f 2a 20 24 49 64 3a 20 53 65 72 76 65 72 2e 70 68 70 2c 76 20 31 2e 36 20 et>.//./*.$Id:.Server.php,v.1.6.
9e80 32 30 30 34 2f 30 33 2f 31 35 20 31 33 3a 35 38 3a 33 39 20 70 61 6a 6f 79 65 20 45 78 70 20 24 2004/03/15.13:58:39.pajoye.Exp.$
9ea0 20 2a 2f 0a 0a 72 65 71 75 69 72 65 5f 6f 6e 63 65 20 22 58 4d 4c 2f 52 50 43 2e 70 68 70 22 3b .*/..require_once."XML/RPC.php";
9ec0 0a 0a 2f 2f 20 6c 69 73 74 4d 65 74 68 6f 64 73 3a 20 65 69 74 68 65 72 20 61 20 73 74 72 69 6e ..//.listMethods:.either.a.strin
9ee0 67 2c 20 6f 72 20 6e 6f 74 68 69 6e 67 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f g,.or.nothing.$GLOBALS['XML_RPC_
9f00 53 65 72 76 65 72 5f 6c 69 73 74 4d 65 74 68 6f 64 73 5f 73 69 67 27 5d 20 3d 0a 20 20 20 20 61 Server_listMethods_sig'].=.....a
9f20 72 72 61 79 28 61 72 72 61 79 28 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f 41 72 72 rray(array($GLOBALS['XML_RPC_Arr
9f40 61 79 27 5d 2c 20 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f 53 74 72 69 6e 67 27 5d ay'],.$GLOBALS['XML_RPC_String']
9f60 29 2c 0a 20 20 20 20 20 20 20 20 20 20 61 72 72 61 79 28 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c ),...........array($GLOBALS['XML
9f80 5f 52 50 43 5f 41 72 72 61 79 27 5d 29 29 3b 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 _RPC_Array']));.$GLOBALS['XML_RP
9fa0 43 5f 53 65 72 76 65 72 5f 6c 69 73 74 4d 65 74 68 6f 64 73 5f 64 6f 63 27 5d 20 3d 0a 20 20 20 C_Server_listMethods_doc'].=....
9fc0 20 27 54 68 69 73 20 6d 65 74 68 6f 64 20 6c 69 73 74 73 20 61 6c 6c 20 74 68 65 20 6d 65 74 68 .'This.method.lists.all.the.meth
9fe0 6f 64 73 20 74 68 61 74 20 74 68 65 20 58 4d 4c 2d 52 50 43 20 73 65 72 76 65 72 20 6b 6e 6f 77 ods.that.the.XML-RPC.server.know
a000 73 20 68 6f 77 20 74 6f 20 64 69 73 70 61 74 63 68 27 3b 0a 0a 66 75 6e 63 74 69 6f 6e 20 58 4d s.how.to.dispatch';..function.XM
a020 4c 5f 52 50 43 5f 53 65 72 76 65 72 5f 6c 69 73 74 4d 65 74 68 6f 64 73 28 24 73 65 72 76 65 72 L_RPC_Server_listMethods($server
a040 2c 20 24 6d 29 0a 7b 0a 20 20 20 20 67 6c 6f 62 61 6c 20 24 58 4d 4c 5f 52 50 43 5f 65 72 72 2c ,.$m).{.....global.$XML_RPC_err,
a060 20 24 58 4d 4c 5f 52 50 43 5f 73 74 72 2c 20 24 58 4d 4c 5f 52 50 43 5f 53 65 72 76 65 72 5f 64 .$XML_RPC_str,.$XML_RPC_Server_d
a080 6d 61 70 3b 0a 20 20 20 20 24 76 20 3d 20 6e 65 77 20 58 4d 4c 5f 52 50 43 5f 56 61 6c 75 65 28 map;.....$v.=.new.XML_RPC_Value(
a0a0 29 3b 0a 20 20 20 20 24 64 6d 61 70 20 3d 20 24 73 65 72 76 65 72 2d 3e 64 6d 61 70 3b 0a 20 20 );.....$dmap.=.$server->dmap;...
a0c0 20 20 24 6f 75 74 41 72 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 66 6f 72 20 28 72 65 73 ..$outAr.=.array();.....for.(res
a0e0 65 74 28 24 64 6d 61 70 29 3b 20 6c 69 73 74 28 24 6b 65 79 2c 20 24 76 61 6c 29 20 3d 20 65 61 et($dmap);.list($key,.$val).=.ea
a100 63 68 28 24 64 6d 61 70 29 3b 20 29 20 7b 0a 20 20 20 20 20 20 20 20 24 6f 75 74 41 72 5b 5d 20 ch($dmap);.).{.........$outAr[].
a120 3d 20 6e 65 77 20 58 4d 4c 5f 52 50 43 5f 56 61 6c 75 65 28 24 6b 65 79 2c 20 22 73 74 72 69 6e =.new.XML_RPC_Value($key,."strin
a140 67 22 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 24 64 6d 61 70 20 3d 20 24 58 4d 4c 5f 52 50 43 5f g");.....}.....$dmap.=.$XML_RPC_
a160 53 65 72 76 65 72 5f 64 6d 61 70 3b 0a 20 20 20 20 66 6f 72 20 28 72 65 73 65 74 28 24 64 6d 61 Server_dmap;.....for.(reset($dma
a180 70 29 3b 20 6c 69 73 74 28 24 6b 65 79 2c 20 24 76 61 6c 29 20 3d 20 65 61 63 68 28 24 64 6d 61 p);.list($key,.$val).=.each($dma
a1a0 70 29 3b 20 29 20 7b 0a 20 20 20 20 20 20 20 20 24 6f 75 74 41 72 5b 5d 20 3d 20 6e 65 77 20 58 p);.).{.........$outAr[].=.new.X
a1c0 4d 4c 5f 52 50 43 5f 56 61 6c 75 65 28 24 6b 65 79 2c 20 22 73 74 72 69 6e 67 22 29 3b 0a 20 20 ML_RPC_Value($key,."string");...
a1e0 20 20 7d 0a 20 20 20 20 24 76 2d 3e 61 64 64 41 72 72 61 79 28 24 6f 75 74 41 72 29 3b 0a 20 20 ..}.....$v->addArray($outAr);...
a200 20 20 72 65 74 75 72 6e 20 6e 65 77 20 58 4d 4c 5f 52 50 43 5f 52 65 73 70 6f 6e 73 65 28 24 76 ..return.new.XML_RPC_Response($v
a220 29 3b 0a 7d 0a 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f 53 65 72 76 65 72 5f 6d );.}..$GLOBALS['XML_RPC_Server_m
a240 65 74 68 6f 64 53 69 67 6e 61 74 75 72 65 5f 73 69 67 27 5d 20 3d 0a 20 20 20 20 61 72 72 61 79 ethodSignature_sig'].=.....array
a260 28 61 72 72 61 79 28 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f 41 72 72 61 79 27 5d (array($GLOBALS['XML_RPC_Array']
a280 2c 20 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f 53 74 72 69 6e 67 27 5d 29 29 3b 0a ,.$GLOBALS['XML_RPC_String']));.
a2a0 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f 53 65 72 76 65 72 5f 6d 65 74 68 6f 64 53 $GLOBALS['XML_RPC_Server_methodS
a2c0 69 67 6e 61 74 75 72 65 5f 64 6f 63 27 5d 20 3d 0a 20 20 20 20 27 52 65 74 75 72 6e 73 20 61 6e ignature_doc'].=.....'Returns.an
a2e0 20 61 72 72 61 79 20 6f 66 20 6b 6e 6f 77 6e 20 73 69 67 6e 61 74 75 72 65 73 20 28 61 6e 20 61 .array.of.known.signatures.(an.a
a300 72 72 61 79 20 6f 66 20 61 72 72 61 79 73 29 20 66 6f 72 20 74 68 65 20 6d 65 74 68 6f 64 20 6e rray.of.arrays).for.the.method.n
a320 61 6d 65 20 70 61 73 73 65 64 2e 20 49 66 20 6e 6f 20 73 69 67 6e 61 74 75 72 65 73 20 61 72 65 ame.passed..If.no.signatures.are
a340 20 6b 6e 6f 77 6e 2c 20 72 65 74 75 72 6e 73 20 61 20 6e 6f 6e 65 2d 61 72 72 61 79 20 28 74 65 .known,.returns.a.none-array.(te
a360 73 74 20 66 6f 72 20 74 79 70 65 20 21 3d 20 61 72 72 61 79 20 74 6f 20 64 65 74 65 63 74 20 6d st.for.type.!=.array.to.detect.m
a380 69 73 73 69 6e 67 20 73 69 67 6e 61 74 75 72 65 29 27 3b 0a 0a 66 75 6e 63 74 69 6f 6e 20 58 4d issing.signature)';..function.XM
a3a0 4c 5f 52 50 43 5f 53 65 72 76 65 72 5f 6d 65 74 68 6f 64 53 69 67 6e 61 74 75 72 65 28 24 73 65 L_RPC_Server_methodSignature($se
a3c0 72 76 65 72 2c 20 24 6d 29 0a 7b 0a 20 20 20 20 67 6c 6f 62 61 6c 20 24 58 4d 4c 5f 52 50 43 5f rver,.$m).{.....global.$XML_RPC_
a3e0 65 72 72 2c 20 24 58 4d 4c 5f 52 50 43 5f 73 74 72 2c 20 24 58 4d 4c 5f 52 50 43 5f 53 65 72 76 err,.$XML_RPC_str,.$XML_RPC_Serv
a400 65 72 5f 64 6d 61 70 3b 0a 0a 20 20 20 20 24 6d 65 74 68 4e 61 6d 65 20 3d 20 24 6d 2d 3e 67 65 er_dmap;......$methName.=.$m->ge
a420 74 50 61 72 61 6d 28 30 29 3b 0a 20 20 20 20 24 6d 65 74 68 4e 61 6d 65 20 3d 20 24 6d 65 74 68 tParam(0);.....$methName.=.$meth
a440 4e 61 6d 65 2d 3e 73 63 61 6c 61 72 76 61 6c 28 29 3b 0a 20 20 20 20 69 66 20 28 65 72 65 67 28 Name->scalarval();.....if.(ereg(
a460 22 5e 73 79 73 74 65 6d 5c 2e 22 2c 20 24 6d 65 74 68 4e 61 6d 65 29 29 20 7b 0a 20 20 20 20 20 "^system\.",.$methName)).{......
a480 20 20 20 24 64 6d 61 70 20 3d 20 24 58 4d 4c 5f 52 50 43 5f 53 65 72 76 65 72 5f 64 6d 61 70 3b ...$dmap.=.$XML_RPC_Server_dmap;
a4a0 0a 20 20 20 20 20 20 20 20 24 73 79 73 43 61 6c 6c 20 3d 20 31 3b 0a 20 20 20 20 7d 20 65 6c 73 .........$sysCall.=.1;.....}.els
a4c0 65 20 7b 0a 20 20 20 20 20 20 20 20 24 64 6d 61 70 20 3d 20 24 73 65 72 76 65 72 2d 3e 64 6d 61 e.{.........$dmap.=.$server->dma
a4e0 70 3b 0a 20 20 20 20 20 20 20 20 24 73 79 73 43 61 6c 6c 20 3d 20 30 3b 0a 20 20 20 20 7d 0a 20 p;.........$sysCall.=.0;.....}..
a500 20 20 20 2f 2f 20 20 70 72 69 6e 74 20 22 3c 21 2d 2d 20 24 7b 6d 65 74 68 4e 61 6d 65 7d 20 2d ...//..print."<!--.${methName}.-
a520 2d 3e 5c 6e 22 3b 0a 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 64 6d 61 70 5b 24 6d 65 74 68 ->\n";.....if.(isset($dmap[$meth
a540 4e 61 6d 65 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 64 6d 61 70 5b 24 6d 65 74 Name])).{.........if.($dmap[$met
a560 68 4e 61 6d 65 5d 5b 22 73 69 67 6e 61 74 75 72 65 22 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 hName]["signature"]).{..........
a580 20 20 20 24 73 69 67 73 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...$sigs.=.array();.............
a5a0 24 74 68 65 73 69 67 73 20 3d 20 24 64 6d 61 70 5b 24 6d 65 74 68 4e 61 6d 65 5d 5b 22 73 69 67 $thesigs.=.$dmap[$methName]["sig
a5c0 6e 61 74 75 72 65 22 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 69 20 3d 20 nature"];.............for.($i.=.
a5e0 30 3b 20 24 69 20 3c 20 73 69 7a 65 6f 66 28 24 74 68 65 73 69 67 73 29 3b 20 24 69 2b 2b 29 20 0;.$i.<.sizeof($thesigs);.$i++).
a600 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 75 72 73 69 67 20 3d 20 61 72 72 61 {.................$cursig.=.arra
a620 79 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 69 6e 53 69 67 20 3d 20 24 74 y();.................$inSig.=.$t
a640 68 65 73 69 67 73 5b 24 69 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 hesigs[$i];.................for.
a660 28 24 6a 20 3d 20 30 3b 20 24 6a 20 3c 20 73 69 7a 65 6f 66 28 24 69 6e 53 69 67 29 3b 20 24 6a ($j.=.0;.$j.<.sizeof($inSig);.$j
a680 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 63 75 72 73 69 ++).{.....................$cursi
a6a0 67 5b 5d 20 3d 20 6e 65 77 20 58 4d 4c 5f 52 50 43 5f 56 61 6c 75 65 28 24 69 6e 53 69 67 5b 24 g[].=.new.XML_RPC_Value($inSig[$
a6c0 6a 5d 2c 20 22 73 74 72 69 6e 67 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d j],."string");.................}
a6e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 69 67 73 5b 5d 20 3d 20 6e 65 77 20 58 .................$sigs[].=.new.X
a700 4d 4c 5f 52 50 43 5f 56 61 6c 75 65 28 24 63 75 72 73 69 67 2c 20 22 61 72 72 61 79 22 29 3b 0a ML_RPC_Value($cursig,."array");.
a720 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 20 3d 20 6e ............}.............$r.=.n
a740 65 77 20 58 4d 4c 5f 52 50 43 5f 52 65 73 70 6f 6e 73 65 28 6e 65 77 20 58 4d 4c 5f 52 50 43 5f ew.XML_RPC_Response(new.XML_RPC_
a760 56 61 6c 75 65 28 24 73 69 67 73 2c 20 22 61 72 72 61 79 22 29 29 3b 0a 20 20 20 20 20 20 20 20 Value($sigs,."array"));.........
a780 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 20 3d 20 6e 65 77 20 58 4d }.else.{.............$r.=.new.XM
a7a0 4c 5f 52 50 43 5f 52 65 73 70 6f 6e 73 65 28 6e 65 77 20 58 4d 4c 5f 52 50 43 5f 56 61 6c 75 65 L_RPC_Response(new.XML_RPC_Value
a7c0 28 22 75 6e 64 65 66 22 2c 20 22 73 74 72 69 6e 67 22 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a ("undef",."string"));.........}.
a7e0 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 24 72 20 3d 20 6e 65 77 20 58 4d ....}.else.{.........$r.=.new.XM
a800 4c 5f 52 50 43 5f 52 65 73 70 6f 6e 73 65 28 30 2c 20 24 58 4d 4c 5f 52 50 43 5f 65 72 72 5b 22 L_RPC_Response(0,.$XML_RPC_err["
a820 69 6e 74 72 6f 73 70 65 63 74 5f 75 6e 6b 6e 6f 77 6e 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 introspect_unknown"],...........
a840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 58 4d 4c 5f ...........................$XML_
a860 52 50 43 5f 73 74 72 5b 22 69 6e 74 72 6f 73 70 65 63 74 5f 75 6e 6b 6e 6f 77 6e 22 5d 29 3b 0a RPC_str["introspect_unknown"]);.
a880 20 20 20 20 7d 0a 20 20 20 20 72 65 74 75 72 6e 20 24 72 3b 0a 7d 0a 0a 24 47 4c 4f 42 41 4c 53 ....}.....return.$r;.}..$GLOBALS
a8a0 5b 27 58 4d 4c 5f 52 50 43 5f 53 65 72 76 65 72 5f 6d 65 74 68 6f 64 48 65 6c 70 5f 73 69 67 27 ['XML_RPC_Server_methodHelp_sig'
a8c0 5d 20 3d 0a 20 20 20 20 61 72 72 61 79 28 61 72 72 61 79 28 24 47 4c 4f 42 41 4c 53 5b 27 58 4d ].=.....array(array($GLOBALS['XM
a8e0 4c 5f 52 50 43 5f 53 74 72 69 6e 67 27 5d 2c 20 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 L_RPC_String'],.$GLOBALS['XML_RP
a900 43 5f 53 74 72 69 6e 67 27 5d 29 29 3b 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f C_String']));.$GLOBALS['XML_RPC_
a920 53 65 72 76 65 72 5f 6d 65 74 68 6f 64 48 65 6c 70 5f 64 6f 63 27 5d 20 3d 0a 20 20 20 20 27 52 Server_methodHelp_doc'].=.....'R
a940 65 74 75 72 6e 73 20 68 65 6c 70 20 74 65 78 74 20 69 66 20 64 65 66 69 6e 65 64 20 66 6f 72 20 eturns.help.text.if.defined.for.
a960 74 68 65 20 6d 65 74 68 6f 64 20 70 61 73 73 65 64 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 the.method.passed,.otherwise.ret
a980 75 72 6e 73 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 27 3b 0a 0a 66 75 6e 63 74 69 6f 6e urns.an.empty.string';..function
a9a0 20 58 4d 4c 5f 52 50 43 5f 53 65 72 76 65 72 5f 6d 65 74 68 6f 64 48 65 6c 70 28 24 73 65 72 76 .XML_RPC_Server_methodHelp($serv
a9c0 65 72 2c 20 24 6d 29 0a 7b 0a 20 20 20 20 67 6c 6f 62 61 6c 20 24 58 4d 4c 5f 52 50 43 5f 65 72 er,.$m).{.....global.$XML_RPC_er
a9e0 72 2c 20 24 58 4d 4c 5f 52 50 43 5f 73 74 72 2c 20 24 58 4d 4c 5f 52 50 43 5f 53 65 72 76 65 72 r,.$XML_RPC_str,.$XML_RPC_Server
aa00 5f 64 6d 61 70 3b 0a 0a 20 20 20 20 24 6d 65 74 68 4e 61 6d 65 20 3d 20 24 6d 2d 3e 67 65 74 50 _dmap;......$methName.=.$m->getP
aa20 61 72 61 6d 28 30 29 3b 0a 20 20 20 20 24 6d 65 74 68 4e 61 6d 65 20 3d 20 24 6d 65 74 68 4e 61 aram(0);.....$methName.=.$methNa
aa40 6d 65 2d 3e 73 63 61 6c 61 72 76 61 6c 28 29 3b 0a 20 20 20 20 69 66 20 28 65 72 65 67 28 22 5e me->scalarval();.....if.(ereg("^
aa60 73 79 73 74 65 6d 5c 2e 22 2c 20 24 6d 65 74 68 4e 61 6d 65 29 29 20 7b 0a 20 20 20 20 20 20 20 system\.",.$methName)).{........
aa80 20 24 64 6d 61 70 20 3d 20 24 58 4d 4c 5f 52 50 43 5f 53 65 72 76 65 72 5f 64 6d 61 70 3b 0a 20 .$dmap.=.$XML_RPC_Server_dmap;..
aaa0 20 20 20 20 20 20 20 24 73 79 73 43 61 6c 6c 20 3d 20 31 3b 0a 20 20 20 20 7d 20 65 6c 73 65 20 .......$sysCall.=.1;.....}.else.
aac0 7b 0a 20 20 20 20 20 20 20 20 24 64 6d 61 70 20 3d 20 24 73 65 72 76 65 72 2d 3e 64 6d 61 70 3b {.........$dmap.=.$server->dmap;
aae0 0a 20 20 20 20 20 20 20 20 24 73 79 73 43 61 6c 6c 20 3d 20 30 3b 0a 20 20 20 20 7d 0a 20 20 20 .........$sysCall.=.0;.....}....
ab00 20 2f 2f 20 20 70 72 69 6e 74 20 22 3c 21 2d 2d 20 24 7b 6d 65 74 68 4e 61 6d 65 7d 20 2d 2d 3e .//..print."<!--.${methName}.-->
ab20 5c 6e 22 3b 0a 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 64 6d 61 70 5b 24 6d 65 74 68 4e 61 \n";.....if.(isset($dmap[$methNa
ab40 6d 65 5d 29 29 20 7b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 64 6d 61 70 5b 24 6d 65 74 68 4e me])).{.........if.($dmap[$methN
ab60 61 6d 65 5d 5b 22 64 6f 63 73 74 72 69 6e 67 22 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ame]["docstring"]).{............
ab80 20 24 72 20 3d 20 6e 65 77 20 58 4d 4c 5f 52 50 43 5f 52 65 73 70 6f 6e 73 65 28 6e 65 77 20 58 .$r.=.new.XML_RPC_Response(new.X
aba0 4d 4c 5f 52 50 43 5f 56 61 6c 75 65 28 24 64 6d 61 70 5b 24 6d 65 74 68 4e 61 6d 65 5d 5b 22 64 ML_RPC_Value($dmap[$methName]["d
abc0 6f 63 73 74 72 69 6e 67 22 5d 29 2c 20 22 73 74 72 69 6e 67 22 29 3b 0a 20 20 20 20 20 20 20 20 ocstring"]),."string");.........
abe0 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 20 3d 20 6e 65 77 20 58 4d }.else.{.............$r.=.new.XM
ac00 4c 5f 52 50 43 5f 52 65 73 70 6f 6e 73 65 28 6e 65 77 20 58 4d 4c 5f 52 50 43 5f 56 61 6c 75 65 L_RPC_Response(new.XML_RPC_Value
ac20 28 22 22 2c 20 22 73 74 72 69 6e 67 22 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d ("",."string"));.........}.....}
ac40 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 24 72 20 3d 20 6e 65 77 20 58 4d 4c 5f 52 50 43 .else.{.........$r.=.new.XML_RPC
ac60 5f 52 65 73 70 6f 6e 73 65 28 30 2c 20 24 58 4d 4c 5f 52 50 43 5f 65 72 72 5b 22 69 6e 74 72 6f _Response(0,.$XML_RPC_err["intro
ac80 73 70 65 63 74 5f 75 6e 6b 6e 6f 77 6e 22 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 spect_unknown"],................
aca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 73 ......................$XML_RPC_s
acc0 74 72 5b 22 69 6e 74 72 6f 73 70 65 63 74 5f 75 6e 6b 6e 6f 77 6e 22 5d 29 3b 0a 20 20 20 20 7d tr["introspect_unknown"]);.....}
ace0 0a 20 20 20 20 72 65 74 75 72 6e 20 24 72 3b 0a 7d 0a 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c .....return.$r;.}..$GLOBALS['XML
ad00 5f 52 50 43 5f 53 65 72 76 65 72 5f 64 6d 61 70 27 5d 20 3d 20 61 72 72 61 79 28 0a 20 20 20 20 _RPC_Server_dmap'].=.array(.....
ad20 22 73 79 73 74 65 6d 2e 6c 69 73 74 4d 65 74 68 6f 64 73 22 20 3d 3e 0a 20 20 20 20 20 20 20 20 "system.listMethods".=>.........
ad40 61 72 72 61 79 28 22 66 75 6e 63 74 69 6f 6e 22 20 20 3d 3e 20 22 58 4d 4c 5f 52 50 43 5f 53 65 array("function"..=>."XML_RPC_Se
ad60 72 76 65 72 5f 6c 69 73 74 4d 65 74 68 6f 64 73 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 rver_listMethods",..............
ad80 20 22 73 69 67 6e 61 74 75 72 65 22 20 3d 3e 20 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 ."signature".=>.$GLOBALS['XML_RP
ada0 43 5f 53 65 72 76 65 72 5f 6c 69 73 74 4d 65 74 68 6f 64 73 5f 73 69 67 27 5d 2c 0a 20 20 20 20 C_Server_listMethods_sig'],.....
adc0 20 20 20 20 20 20 20 20 20 20 22 64 6f 63 73 74 72 69 6e 67 22 20 3d 3e 20 24 47 4c 4f 42 41 4c .........."docstring".=>.$GLOBAL
ade0 53 5b 27 58 4d 4c 5f 52 50 43 5f 53 65 72 76 65 72 5f 6c 69 73 74 4d 65 74 68 6f 64 73 5f 64 6f S['XML_RPC_Server_listMethods_do
ae00 63 27 5d 29 2c 0a 0a 20 20 20 20 22 73 79 73 74 65 6d 2e 6d 65 74 68 6f 64 48 65 6c 70 22 20 3d c']),......"system.methodHelp".=
ae20 3e 0a 20 20 20 20 20 20 20 20 61 72 72 61 79 28 22 66 75 6e 63 74 69 6f 6e 22 20 20 3d 3e 20 22 >.........array("function"..=>."
ae40 58 4d 4c 5f 52 50 43 5f 53 65 72 76 65 72 5f 6d 65 74 68 6f 64 48 65 6c 70 22 2c 0a 20 20 20 20 XML_RPC_Server_methodHelp",.....
ae60 20 20 20 20 20 20 20 20 20 20 22 73 69 67 6e 61 74 75 72 65 22 20 3d 3e 20 24 47 4c 4f 42 41 4c .........."signature".=>.$GLOBAL
ae80 53 5b 27 58 4d 4c 5f 52 50 43 5f 53 65 72 76 65 72 5f 6d 65 74 68 6f 64 48 65 6c 70 5f 73 69 67 S['XML_RPC_Server_methodHelp_sig
aea0 27 5d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 6f 63 73 74 72 69 6e 67 22 20 3d 3e '],..............."docstring".=>
aec0 20 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f 53 65 72 76 65 72 5f 6d 65 74 68 6f 64 .$GLOBALS['XML_RPC_Server_method
aee0 48 65 6c 70 5f 64 6f 63 27 5d 29 2c 0a 0a 20 20 20 20 22 73 79 73 74 65 6d 2e 6d 65 74 68 6f 64 Help_doc']),......"system.method
af00 53 69 67 6e 61 74 75 72 65 22 20 3d 3e 0a 20 20 20 20 20 20 20 20 61 72 72 61 79 28 22 66 75 6e Signature".=>.........array("fun
af20 63 74 69 6f 6e 22 20 20 3d 3e 20 22 58 4d 4c 5f 52 50 43 5f 53 65 72 76 65 72 5f 6d 65 74 68 6f ction"..=>."XML_RPC_Server_metho
af40 64 53 69 67 6e 61 74 75 72 65 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 73 69 67 6e dSignature",..............."sign
af60 61 74 75 72 65 22 20 3d 3e 20 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f 53 65 72 76 ature".=>.$GLOBALS['XML_RPC_Serv
af80 65 72 5f 6d 65 74 68 6f 64 53 69 67 6e 61 74 75 72 65 5f 73 69 67 27 5d 2c 0a 20 20 20 20 20 20 er_methodSignature_sig'],.......
afa0 20 20 20 20 20 20 20 20 22 64 6f 63 73 74 72 69 6e 67 22 20 3d 3e 20 24 47 4c 4f 42 41 4c 53 5b ........"docstring".=>.$GLOBALS[
afc0 27 58 4d 4c 5f 52 50 43 5f 53 65 72 76 65 72 5f 6d 65 74 68 6f 64 53 69 67 6e 61 74 75 72 65 5f 'XML_RPC_Server_methodSignature_
afe0 64 6f 63 27 5d 29 0a 29 3b 0a 0a 24 47 4c 4f 42 41 4c 53 5b 27 58 4d 4c 5f 52 50 43 5f 53 65 72 doc']).);..$GLOBALS['XML_RPC_Ser
b000 76 65 72 5f 64 65 62 75 67 69 6e 66 6f 27 5d 20 3d 20 22 22 3b 0a 0a 66 75 6e 63 74 69 6f 6e 20 ver_debuginfo'].=."";..function.
b020 58 4d 4c 5f 52 50 43 5f 53 65 72 76 65 72 5f 64 65 62 75 67 6d 73 67 28 24 6d 29 0a 7b 0a 20 20 XML_RPC_Server_debugmsg($m).{...
b040 20 20 67 6c 6f 62 61 6c 20 24 58 4d 4c 5f 52 50 43 5f 53 65 72 76 65 72 5f 64 65 62 75 67 69 6e ..global.$XML_RPC_Server_debugin
b060 66 6f 3b 0a 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 53 65 72 76 65 72 5f 64 65 62 75 67 69 6e 66 fo;.....$XML_RPC_Server_debuginf
b080 6f 20 3d 20 24 58 4d 4c 5f 52 50 43 5f 53 65 72 76 65 72 5f 64 65 62 75 67 69 6e 66 6f 20 2e 20 o.=.$XML_RPC_Server_debuginfo...
b0a0 24 6d 20 2e 20 22 5c 6e 22 3b 0a 7d 0a 0a 63 6c 61 73 73 20 58 4d 4c 5f 52 50 43 5f 53 65 72 76 $m..."\n";.}..class.XML_RPC_Serv
b0c0 65 72 0a 7b 0a 20 20 20 20 76 61 72 20 24 64 6d 61 70 20 3d 20 61 72 72 61 79 28 29 3b 0a 0a 20 er.{.....var.$dmap.=.array();...
b0e0 20 20 20 66 75 6e 63 74 69 6f 6e 20 58 4d 4c 5f 52 50 43 5f 53 65 72 76 65 72 28 24 64 69 73 70 ...function.XML_RPC_Server($disp
b100 4d 61 70 2c 20 24 73 65 72 76 69 63 65 4e 6f 77 20 3d 20 31 29 0a 20 20 20 20 7b 0a 20 20 20 20 Map,.$serviceNow.=.1).....{.....
b120 20 20 20 20 67 6c 6f 62 61 6c 20 24 48 54 54 50 5f 52 41 57 5f 50 4f 53 54 5f 44 41 54 41 3b 0a ....global.$HTTP_RAW_POST_DATA;.
b140 20 20 20 20 20 20 20 20 2f 2f 20 64 69 73 70 4d 61 70 20 69 73 20 61 20 64 65 73 70 61 74 63 68 ........//.dispMap.is.a.despatch
b160 20 61 72 72 61 79 20 6f 66 20 6d 65 74 68 6f 64 73 0a 20 20 20 20 20 20 20 20 2f 2f 20 6d 61 70 .array.of.methods.........//.map
b180 70 65 64 20 74 6f 20 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 73 20 61 6e 64 20 73 69 67 6e 61 74 ped.to.function.names.and.signat
b1a0 75 72 65 73 0a 20 20 20 20 20 20 20 20 2f 2f 20 69 66 20 61 20 6d 65 74 68 6f 64 0a 20 20 20 20 ures.........//.if.a.method.....
b1c0 20 20 20 20 2f 2f 20 64 6f 65 73 6e 27 74 20 61 70 70 65 61 72 20 69 6e 20 74 68 65 20 6d 61 70 ....//.doesn't.appear.in.the.map
b1e0 20 74 68 65 6e 20 61 6e 20 75 6e 6b 6e 6f 77 6e 0a 20 20 20 20 20 20 20 20 2f 2f 20 6d 65 74 68 .then.an.unknown.........//.meth
b200 6f 64 20 65 72 72 6f 72 20 69 73 20 67 65 6e 65 72 61 74 65 64 0a 20 20 20 20 20 20 20 20 24 74 od.error.is.generated.........$t
b220 68 69 73 2d 3e 64 6d 61 70 20 3d 20 24 64 69 73 70 4d 61 70 3b 0a 20 20 20 20 20 20 20 20 69 66 his->dmap.=.$dispMap;.........if
b240 20 28 24 73 65 72 76 69 63 65 4e 6f 77 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 .($serviceNow).{.............$th
b260 69 73 2d 3e 73 65 72 76 69 63 65 28 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a is->service();.........}.....}..
b280 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 65 72 69 61 6c 69 7a 65 44 65 62 75 67 28 29 0a 20 20 ....function.serializeDebug()...
b2a0 20 20 7b 0a 20 20 20 20 20 20 20 20 67 6c 6f 62 61 6c 20 24 58 4d 4c 5f 52 50 43 5f 53 65 72 76 ..{.........global.$XML_RPC_Serv
b2c0 65 72 5f 64 65 62 75 67 69 6e 66 6f 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 58 4d 4c 5f 52 er_debuginfo;.........if.($XML_R
b2e0 50 43 5f 53 65 72 76 65 72 5f 64 65 62 75 67 69 6e 66 6f 20 21 3d 20 22 22 29 0a 20 20 20 20 20 PC_Server_debuginfo.!=."")......
b300 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 3c 21 2d 2d 20 44 45 42 55 47 20 49 4e 46 4f 3a 5c .......return."<!--.DEBUG.INFO:\
b320 6e 5c 6e 22 20 2e 20 24 58 4d 4c 5f 52 50 43 5f 53 65 72 76 65 72 5f 64 65 62 75 67 69 6e 66 6f n\n"...$XML_RPC_Server_debuginfo
b340 20 2e 20 22 5c 6e 2d 2d 3e 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 ..."\n-->\n";.........else......
b360 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 22 22 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e .......return."";.....}......fun
b380 63 74 69 6f 6e 20 73 65 72 76 69 63 65 28 29 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 24 72 ction.service().....{.........$r
b3a0 20 3d 20 24 74 68 69 73 2d 3e 70 61 72 73 65 52 65 71 75 65 73 74 28 29 3b 0a 20 20 20 20 20 20 .=.$this->parseRequest();.......
b3c0 20 20 24 70 61 79 6c 6f 61 64 20 3d 20 22 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 5c 22 31 2e ..$payload.=."<?xml.version=\"1.
b3e0 30 5c 22 3f 3e 5c 6e 22 20 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 74 68 69 73 2d 3e 73 65 0\"?>\n"...............$this->se
b400 72 69 61 6c 69 7a 65 44 65 62 75 67 28 29 20 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 2d rializeDebug()...............$r-
b420 3e 73 65 72 69 61 6c 69 7a 65 28 29 3b 0a 20 20 20 20 20 20 20 20 68 65 61 64 65 72 28 27 43 6f >serialize();.........header('Co
b440 6e 74 65 6e 74 2d 4c 65 6e 67 74 68 3a 20 27 20 2e 20 73 74 72 6c 65 6e 28 24 70 61 79 6c 6f 61 ntent-Length:.'...strlen($payloa
b460 64 29 29 3b 0a 20 20 20 20 20 20 20 20 68 65 61 64 65 72 28 27 43 6f 6e 74 65 6e 74 2d 54 79 70 d));.........header('Content-Typ
b480 65 3a 20 74 65 78 74 2f 78 6d 6c 27 29 3b 0a 20 20 20 20 20 20 20 20 70 72 69 6e 74 20 24 70 61 e:.text/xml');.........print.$pa
b4a0 79 6c 6f 61 64 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 76 65 72 69 66 yload;.....}......function.verif
b4c0 79 53 69 67 6e 61 74 75 72 65 28 24 69 6e 2c 20 24 73 69 67 29 0a 20 20 20 20 7b 0a 20 20 20 20 ySignature($in,.$sig).....{.....
b4e0 20 20 20 20 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c 20 73 69 7a 65 6f 66 28 24 73 69 ....for.($i.=.0;.$i.<.sizeof($si
b500 67 29 3b 20 24 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 63 68 65 63 6b g);.$i++).{.............//.check
b520 20 65 61 63 68 20 70 6f 73 73 69 62 6c 65 20 73 69 67 6e 61 74 75 72 65 20 69 6e 20 74 75 72 6e .each.possible.signature.in.turn
b540 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 63 75 72 73 69 67 20 3d 20 24 73 69 67 5b 24 69 5d 3b .............$cursig.=.$sig[$i];
b560 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 73 69 7a 65 6f 66 28 24 63 75 72 73 69 67 29 .............if.(sizeof($cursig)
b580 20 3d 3d 20 24 69 6e 2d 3e 67 65 74 4e 75 6d 50 61 72 61 6d 73 28 29 20 2b 20 31 29 20 7b 0a 20 .==.$in->getNumParams().+.1).{..
b5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 69 74 73 4f 4b 20 3d 20 31 3b 0a 20 20 20 20 20 ...............$itsOK.=.1;......
b5c0 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 6e 20 3d 20 30 3b 20 24 6e 20 3c 20 24 69 6e ...........for.($n.=.0;.$n.<.$in
b5e0 2d 3e 67 65 74 4e 75 6d 50 61 72 61 6d 73 28 29 3b 20 24 6e 2b 2b 29 20 7b 0a 20 20 20 20 20 20 ->getNumParams();.$n++).{.......
b600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 20 3d 20 24 69 6e 2d 3e 67 65 74 50 61 72 61 6d ..............$p.=.$in->getParam
b620 28 24 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 70 72 69 ($n);.....................//.pri
b640 6e 74 20 22 3c 21 2d 2d 20 24 70 20 2d 2d 3e 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 nt."<!--.$p.-->\n";.............
b660 20 20 20 20 20 20 20 20 69 66 20 28 24 70 2d 3e 6b 69 6e 64 4f 66 28 29 20 3d 3d 20 22 73 63 61 ........if.($p->kindOf().==."sca
b680 6c 61 72 22 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lar").{.........................
b6a0 24 70 74 20 3d 20 24 70 2d 3e 73 63 61 6c 61 72 74 79 70 28 29 3b 0a 20 20 20 20 20 20 20 20 20 $pt.=.$p->scalartyp();..........
b6c0 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...........}.else.{.............
b6e0 20 20 20 20 20 20 20 20 20 20 20 20 24 70 74 20 3d 20 24 70 2d 3e 6b 69 6e 64 4f 66 28 29 3b 0a ............$pt.=.$p->kindOf();.
b700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 ....................}...........
b720 20 20 20 20 20 20 20 20 20 20 2f 2f 20 24 6e 2b 31 20 61 73 20 66 69 72 73 74 20 74 79 70 65 20 ..........//.$n+1.as.first.type.
b740 6f 66 20 73 69 67 20 69 73 20 72 65 74 75 72 6e 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 20 20 of.sig.is.return.type...........
b760 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 70 74 20 21 3d 20 24 63 75 72 73 69 67 5b 24 6e 2b ..........if.($pt.!=.$cursig[$n+
b780 31 5d 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 69 1]).{.........................$i
b7a0 74 73 4f 4b 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tsOK.=.0;.......................
b7c0 20 20 24 70 6e 6f 20 3d 20 24 6e 2b 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..$pno.=.$n+1;..................
b7e0 20 20 20 20 20 20 20 24 77 61 6e 74 65 64 20 3d 20 24 63 75 72 73 69 67 5b 24 6e 2b 31 5d 3b 0a .......$wanted.=.$cursig[$n+1];.
b800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 67 6f 74 20 3d 20 24 ........................$got.=.$
b820 70 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 pt;.........................brea
b840 6b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 k;.....................}........
b860 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 .........}.................if.($
b880 69 74 73 4f 4b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 itsOK).....................retur
b8a0 6e 20 61 72 72 61 79 28 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 n.array(1);.............}.......
b8c0 20 20 7d 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 61 72 72 61 79 28 30 2c 20 22 57 61 6e ..}.........return.array(0,."Wan
b8e0 74 65 64 20 24 7b 77 61 6e 74 65 64 7d 2c 20 67 6f 74 20 24 7b 67 6f 74 7d 20 61 74 20 70 61 72 ted.${wanted},.got.${got}.at.par
b900 61 6d 20 24 7b 70 6e 6f 7d 29 22 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 75 6e 63 74 69 6f am.${pno})");.....}......functio
b920 6e 20 70 61 72 73 65 52 65 71 75 65 73 74 28 24 64 61 74 61 20 3d 20 22 22 29 0a 20 20 20 20 7b n.parseRequest($data.=."").....{
b940 0a 20 20 20 20 20 20 20 20 67 6c 6f 62 61 6c 20 24 58 4d 4c 5f 52 50 43 5f 78 68 2c 24 48 54 54 .........global.$XML_RPC_xh,$HTT
b960 50 5f 52 41 57 5f 50 4f 53 54 5f 44 41 54 41 3b 0a 20 20 20 20 20 20 20 20 67 6c 6f 62 61 6c 20 P_RAW_POST_DATA;.........global.
b980 24 58 4d 4c 5f 52 50 43 5f 65 72 72 2c 20 24 58 4d 4c 5f 52 50 43 5f 73 74 72 2c 20 24 58 4d 4c $XML_RPC_err,.$XML_RPC_str,.$XML
b9a0 5f 52 50 43 5f 65 72 72 78 6d 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 _RPC_errxml,.............$XML_RP
b9c0 43 5f 64 65 66 65 6e 63 6f 64 69 6e 67 2c 20 24 58 4d 4c 5f 52 50 43 5f 53 65 72 76 65 72 5f 64 C_defencoding,.$XML_RPC_Server_d
b9e0 6d 61 70 3b 0a 0a 20 20 20 20 20 20 20 20 69 66 20 28 24 64 61 74 61 20 3d 3d 20 22 22 29 20 7b map;..........if.($data.==."").{
ba00 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 64 61 74 61 20 3d 20 24 48 54 54 50 5f 52 41 57 5f 50 .............$data.=.$HTTP_RAW_P
ba20 4f 53 54 5f 44 41 54 41 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 24 70 61 72 OST_DATA;.........}.........$par
ba40 73 65 72 20 3d 20 78 6d 6c 5f 70 61 72 73 65 72 5f 63 72 65 61 74 65 28 24 58 4d 4c 5f 52 50 43 ser.=.xml_parser_create($XML_RPC
ba60 5f 64 65 66 65 6e 63 6f 64 69 6e 67 29 3b 0a 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 _defencoding);..........$XML_RPC
ba80 5f 78 68 5b 24 70 61 72 73 65 72 5d 20 3d 20 61 72 72 61 79 28 29 3b 0a 20 20 20 20 20 20 20 20 _xh[$parser].=.array();.........
baa0 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 73 74 27 5d 20 3d 20 22 22 3b $XML_RPC_xh[$parser]['st'].=."";
bac0 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 63 .........$XML_RPC_xh[$parser]['c
bae0 6d 27 5d 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 m'].=.0;.........$XML_RPC_xh[$pa
bb00 72 73 65 72 5d 5b 27 69 73 66 27 5d 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 rser]['isf'].=.0;.........$XML_R
bb20 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 70 61 72 61 6d 73 27 5d 20 3d 20 61 72 72 61 79 PC_xh[$parser]['params'].=.array
bb40 28 29 3b 0a 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d ();.........$XML_RPC_xh[$parser]
bb60 5b 27 6d 65 74 68 6f 64 27 5d 20 3d 20 22 22 3b 0a 0a 20 20 20 20 20 20 20 20 24 70 6c 69 73 74 ['method'].=."";..........$plist
bb80 20 3d 20 27 27 3b 0a 0a 20 20 20 20 20 20 20 20 2f 2f 20 64 65 63 6f 6d 70 6f 73 65 20 69 6e 63 .=.'';..........//.decompose.inc
bba0 6f 6d 69 6e 67 20 58 4d 4c 20 69 6e 74 6f 20 72 65 71 75 65 73 74 20 73 74 72 75 63 74 75 72 65 oming.XML.into.request.structure
bbc0 0a 0a 20 20 20 20 20 20 20 20 78 6d 6c 5f 70 61 72 73 65 72 5f 73 65 74 5f 6f 70 74 69 6f 6e 28 ..........xml_parser_set_option(
bbe0 24 70 61 72 73 65 72 2c 20 58 4d 4c 5f 4f 50 54 49 4f 4e 5f 43 41 53 45 5f 46 4f 4c 44 49 4e 47 $parser,.XML_OPTION_CASE_FOLDING
bc00 2c 20 74 72 75 65 29 3b 0a 20 20 20 20 20 20 20 20 78 6d 6c 5f 73 65 74 5f 65 6c 65 6d 65 6e 74 ,.true);.........xml_set_element
bc20 5f 68 61 6e 64 6c 65 72 28 24 70 61 72 73 65 72 2c 20 22 58 4d 4c 5f 52 50 43 5f 73 65 22 2c 20 _handler($parser,."XML_RPC_se",.
bc40 22 58 4d 4c 5f 52 50 43 5f 65 65 22 29 3b 0a 20 20 20 20 20 20 20 20 78 6d 6c 5f 73 65 74 5f 63 "XML_RPC_ee");.........xml_set_c
bc60 68 61 72 61 63 74 65 72 5f 64 61 74 61 5f 68 61 6e 64 6c 65 72 28 24 70 61 72 73 65 72 2c 20 22 haracter_data_handler($parser,."
bc80 58 4d 4c 5f 52 50 43 5f 63 64 22 29 3b 0a 20 20 20 20 20 20 20 20 78 6d 6c 5f 73 65 74 5f 64 65 XML_RPC_cd");.........xml_set_de
bca0 66 61 75 6c 74 5f 68 61 6e 64 6c 65 72 28 24 70 61 72 73 65 72 2c 20 22 58 4d 4c 5f 52 50 43 5f fault_handler($parser,."XML_RPC_
bcc0 64 68 22 29 3b 0a 20 20 20 20 20 20 20 20 69 66 20 28 21 78 6d 6c 5f 70 61 72 73 65 28 24 70 61 dh");.........if.(!xml_parse($pa
bce0 72 73 65 72 2c 20 24 64 61 74 61 2c 20 31 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f rser,.$data,.1)).{............./
bd00 2f 20 72 65 74 75 72 6e 20 58 4d 4c 20 65 72 72 6f 72 20 61 73 20 61 20 66 61 75 6c 74 43 6f 64 /.return.XML.error.as.a.faultCod
bd20 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 72 20 3d 20 6e 65 77 20 58 4d 4c 5f 52 50 43 5f 52 e.............$r.=.new.XML_RPC_R
bd40 65 73 70 6f 6e 73 65 28 30 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 esponse(0,......................
bd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 65 72 72 78 6d 6c .................$XML_RPC_errxml
bd80 2b 78 6d 6c 5f 67 65 74 5f 65 72 72 6f 72 5f 63 6f 64 65 28 24 70 61 72 73 65 72 29 2c 0a 20 20 +xml_get_error_code($parser),...
bda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
bdc0 20 20 20 20 73 70 72 69 6e 74 66 28 22 58 4d 4c 20 65 72 72 6f 72 3a 20 25 73 20 61 74 20 6c 69 ....sprintf("XML.error:.%s.at.li
bde0 6e 65 20 25 64 22 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ne.%d",.........................
be00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 6d 6c 5f 65 72 72 6f 72 5f ......................xml_error_
be20 73 74 72 69 6e 67 28 78 6d 6c 5f 67 65 74 5f 65 72 72 6f 72 5f 63 6f 64 65 28 24 70 61 72 73 65 string(xml_get_error_code($parse
be40 72 29 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r)),............................
be60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 6d 6c 5f 67 65 74 5f 63 75 72 72 65 ...................xml_get_curre
be80 6e 74 5f 6c 69 6e 65 5f 6e 75 6d 62 65 72 28 24 70 61 72 73 65 72 29 29 29 3b 0a 20 20 20 20 20 nt_line_number($parser)));......
bea0 20 20 20 20 20 20 20 78 6d 6c 5f 70 61 72 73 65 72 5f 66 72 65 65 28 24 70 61 72 73 65 72 29 3b .......xml_parser_free($parser);
bec0 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 78 6d .........}.else.{.............xm
bee0 6c 5f 70 61 72 73 65 72 5f 66 72 65 65 28 24 70 61 72 73 65 72 29 3b 0a 20 20 20 20 20 20 20 20 l_parser_free($parser);.........
bf00 20 20 20 20 24 6d 20 3d 20 6e 65 77 20 58 4d 4c 5f 52 50 43 5f 4d 65 73 73 61 67 65 28 24 58 4d ....$m.=.new.XML_RPC_Message($XM
bf20 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 6d 65 74 68 6f 64 27 5d 29 3b 0a 20 20 L_RPC_xh[$parser]['method']);...
bf40 20 20 20 20 20 20 20 20 20 20 2f 2f 20 6e 6f 77 20 61 64 64 20 70 61 72 61 6d 65 74 65 72 73 20 ..........//.now.add.parameters.
bf60 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 24 69 20 3d 20 30 3b 20 24 69 20 3c in.............for.($i.=.0;.$i.<
bf80 20 73 69 7a 65 6f 66 28 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 70 61 .sizeof($XML_RPC_xh[$parser]['pa
bfa0 72 61 6d 73 27 5d 29 3b 20 24 69 2b 2b 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rams']);.$i++).{................
bfc0 20 2f 2f 20 70 72 69 6e 74 20 22 3c 21 2d 2d 20 22 20 2e 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b .//.print."<!--."...$XML_RPC_xh[
bfe0 24 70 61 72 73 65 72 5d 5b 27 70 61 72 61 6d 73 27 5d 5b 24 69 5d 2e 20 22 2d 2d 3e 5c 6e 22 3b $parser]['params'][$i].."-->\n";
c000 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 70 6c 69 73 74 20 2e 3d 20 22 24 69 20 2d .................$plist..=."$i.-
c020 20 22 20 2e 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 70 61 72 61 6d ."...$XML_RPC_xh[$parser]['param
c040 73 27 5d 5b 24 69 5d 20 2e 20 22 20 5c 6e 22 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s'][$i]...".\n";................
c060 20 65 76 61 6c 28 27 24 6d 2d 3e 61 64 64 50 61 72 61 6d 28 27 20 2e 20 24 58 4d 4c 5f 52 50 43 .eval('$m->addParam('...$XML_RPC
c080 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 70 61 72 61 6d 73 27 5d 5b 24 69 5d 20 2e 20 22 29 3b _xh[$parser]['params'][$i]...");
c0a0 22 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 58 4d ");.............}.............XM
c0c0 4c 5f 52 50 43 5f 53 65 72 76 65 72 5f 64 65 62 75 67 6d 73 67 28 24 70 6c 69 73 74 29 3b 0a 20 L_RPC_Server_debugmsg($plist);..
c0e0 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 6e 6f 77 20 74 6f 20 64 65 61 6c 20 77 69 74 68 20 74 ...........//.now.to.deal.with.t
c100 68 65 20 6d 65 74 68 6f 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 24 6d 65 74 68 4e 61 6d 65 20 he.method.............$methName.
c120 3d 20 24 58 4d 4c 5f 52 50 43 5f 78 68 5b 24 70 61 72 73 65 72 5d 5b 27 6d 65 74 68 6f 64 27 5d =.$XML_RPC_xh[$parser]['method']
c140 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 65 72 65 67 28 22 5e 73 79 73 74 65 6d 5c ;.............if.(ereg("^system\
c160 2e 22 2c 20 24 6d 65 74 68 4e 61 6d 65 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .",.$methName)).{...............
c180 20 20 24 64 6d 61 70 20 3d 20 24 58 4d 4c 5f 52 50 43 5f 53 65 72 76 65 72 5f 64 6d 61 70 3b 0a ..$dmap.=.$XML_RPC_Server_dmap;.
c1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 79 73 43 61 6c 6c 20 3d 20 31 3b 0a 20 20 ................$sysCall.=.1;...
c1c0 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........}.else.{..............
c1e0 20 20 20 24 64 6d 61 70 20 3d 20 24 74 68 69 73 2d 3e 64 6d 61 70 3b 0a 20 20 20 20 20 20 20 20 ...$dmap.=.$this->dmap;.........
c200 20 20 20 20 20 20 20 20 24 73 79 73 43 61 6c 6c 20 3d 20 30 3b 0a 20 20 20 20 20 20 20 20 20 20 ........$sysCall.=.0;...........
c220 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 64 6d 61 70 5b ..}.............if.(isset($dmap[
c240 24 6d 65 74 68 4e 61 6d 65 5d 5b 27 66 75 6e 63 74 69 6f 6e 27 5d 29 29 20 7b 0a 20 20 20 20 20 $methName]['function'])).{......
c260 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 64 69 73 70 61 74 63 68 20 69 66 20 65 78 69 73 74 73 ...........//.dispatch.if.exists
c280 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 73 73 65 74 28 24 64 6d 61 70 .................if.(isset($dmap
c2a0 5b 24 6d 65 74 68 4e 61 6d 65 5d 5b 27 73 69 67 6e 61 74 75 72 65 27 5d 29 29 20 7b 0a 20 20 20 [$methName]['signature'])).{....
c2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 73 72 20 3d 20 24 74 68 69 73 2d 3e 76 65 .................$sr.=.$this->ve
c2e0 72 69 66 79 53 69 67 6e 61 74 75 72 65 28 24 6d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rifySignature($m,...............
c300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c320 20 20 20 24 64 6d 61 70 5b 24 6d 65 74 68 4e 61 6d 65 5d 5b 27 73 69 67 6e 61 74 75 72 65 27 5d ...$dmap[$methName]['signature']
c340 20 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 .);.................}...........
c360 20 20 20 20 20 20 69 66 20 28 20 28 21 69 73 73 65 74 28 24 64 6d 61 70 5b 24 6d 65 74 68 4e 61 ......if.(.(!isset($dmap[$methNa
c380 6d 65 5d 5b 27 73 69 67 6e 61 74 75 72 65 27 5d 29 29 20 7c 7c 20 24 73 72 5b 30 5d 29 20 7b 0a me]['signature'])).||.$sr[0]).{.
c3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 69 66 20 6e 6f 20 73 69 67 ....................//.if.no.sig
c3c0 6e 61 74 75 72 65 20 6f 72 20 63 6f 72 72 65 63 74 20 73 69 67 6e 61 74 75 72 65 0a 20 20 20 20 nature.or.correct.signature.....
c3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 24 73 79 73 43 61 6c 6c 29 20 7b 0a ................if.($sysCall).{.
c400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 76 61 6c 28 27 24 72 ........................eval('$r
c420 3d 27 20 2e 20 24 64 6d 61 70 5b 24 6d 65 74 68 4e 61 6d 65 5d 5b 27 66 75 6e 63 74 69 6f 6e 27 ='...$dmap[$methName]['function'
c440 5d 20 2e 20 27 28 24 74 68 69 73 2c 20 24 6d 29 3b 27 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 ]...'($this,.$m);');............
c460 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........}.else.{...............
c480 20 20 20 20 20 20 20 20 20 20 65 76 61 6c 28 27 24 72 3d 27 20 2e 20 24 64 6d 61 70 5b 24 6d 65 ..........eval('$r='...$dmap[$me
c4a0 74 68 4e 61 6d 65 5d 5b 27 66 75 6e 63 74 69 6f 6e 27 5d 20 2e 20 27 28 24 6d 29 3b 27 29 3b 0a thName]['function']...'($m);');.
c4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 ....................}...........
c4e0 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......}.else.{..................
c500 20 20 20 24 72 20 3d 20 6e 65 77 20 58 4d 4c 5f 52 50 43 5f 52 65 73 70 6f 6e 73 65 28 30 2c 20 ...$r.=.new.XML_RPC_Response(0,.
c520 24 58 4d 4c 5f 52 50 43 5f 65 72 72 5b 22 69 6e 63 6f 72 72 65 63 74 5f 70 61 72 61 6d 73 22 5d $XML_RPC_err["incorrect_params"]
c540 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ,...............................
c560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 73 74 72 5b ...................$XML_RPC_str[
c580 22 69 6e 63 6f 72 72 65 63 74 5f 70 61 72 61 6d 73 22 5d 20 2e 0a 20 20 20 20 20 20 20 20 20 20 "incorrect_params"].............
c5a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c5c0 20 20 20 20 20 20 20 22 3a 20 22 20 2e 20 24 73 72 5b 31 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 .......":."...$sr[1]);..........
c5e0 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 7b 0a 20 20 .......}.............}.else.{...
c600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 65 6c 73 65 20 70 72 65 70 61 72 65 20 65 72 ..............//.else.prepare.er
c620 72 6f 72 20 72 65 73 70 6f 6e 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 24 72 20 ror.response.................$r.
c640 3d 20 6e 65 77 20 58 4d 4c 5f 52 50 43 5f 52 65 73 70 6f 6e 73 65 28 30 2c 20 24 58 4d 4c 5f 52 =.new.XML_RPC_Response(0,.$XML_R
c660 50 43 5f 65 72 72 5b 22 75 6e 6b 6e 6f 77 6e 5f 6d 65 74 68 6f 64 22 5d 2c 0a 20 20 20 20 20 20 PC_err["unknown_method"],.......
c680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c6a0 20 20 20 20 20 20 20 24 58 4d 4c 5f 52 50 43 5f 73 74 72 5b 22 75 6e 6b 6e 6f 77 6e 5f 6d 65 74 .......$XML_RPC_str["unknown_met
c6c0 68 6f 64 22 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a hod"]);.............}.........}.
c6e0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 24 72 3b 0a 20 20 20 20 7d 0a 0a 20 20 66 75 6e 63 ........return.$r;.....}....func
c700 74 69 6f 6e 20 65 63 68 6f 49 6e 70 75 74 28 29 20 7b 0a 20 20 20 20 20 20 20 20 67 6c 6f 62 61 tion.echoInput().{.........globa
c720 6c 20 24 48 54 54 50 5f 52 41 57 5f 50 4f 53 54 5f 44 41 54 41 3b 0a 0a 20 20 20 20 20 20 20 20 l.$HTTP_RAW_POST_DATA;..........
c740 2f 2f 20 61 20 64 65 62 75 67 67 69 6e 67 20 72 6f 75 74 69 6e 65 3a 20 6a 75 73 74 20 65 63 68 //.a.debugging.routine:.just.ech
c760 6f 73 20 62 61 63 6b 20 74 68 65 20 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 2f 2f 20 70 61 63 os.back.the.input.........//.pac
c780 6b 65 74 20 61 73 20 61 20 73 74 72 69 6e 67 20 76 61 6c 75 65 0a 0a 20 20 20 20 20 20 20 20 24 ket.as.a.string.value..........$
c7a0 72 20 3d 20 6e 65 77 20 58 4d 4c 5f 52 50 43 5f 52 65 73 70 6f 6e 73 65 3b 0a 20 20 20 20 20 20 r.=.new.XML_RPC_Response;.......
c7c0 20 20 24 72 2d 3e 78 76 20 3d 20 6e 65 77 20 58 4d 4c 5f 52 50 43 5f 56 61 6c 75 65 28 22 27 41 ..$r->xv.=.new.XML_RPC_Value("'A
c7e0 68 61 20 73 61 69 64 20 49 3a 20 27 22 20 2e 20 24 48 54 54 50 5f 52 41 57 5f 50 4f 53 54 5f 44 ha.said.I:.'"...$HTTP_RAW_POST_D
c800 41 54 41 2c 20 22 73 74 72 69 6e 67 22 29 3b 0a 20 20 20 20 20 20 20 20 70 72 69 6e 74 20 24 72 ATA,."string");.........print.$r
c820 2d 3e 73 65 72 69 61 6c 69 7a 65 28 29 3b 0a 20 20 7d 0a 7d 0a 0a 3f 3e 0a 00 00 00 00 00 00 00 ->serialize();...}.}..?>........
c840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ca00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ca20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ca40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ca60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ca80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
caa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
cbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................