⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 phpgw_server.ps

📁 eGroupWare is a multi-user, web-based groupware suite developed on a custom set of PHP-based APIs. C
💻 PS
📖 第 1 页 / 共 2 页
字号:
/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.900 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 00 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 00.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{10.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.110 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 00.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 00.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 01 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor}DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end%%EndProcSetTeXDict begin 40258431 52099146 1000 600 600 (phpgw_server.dvi)@start /Fa 134[37 3[42 23 1[32 1[42 42 2[23 3[42 42 1[3742 2[42 8[51 69 3[42 51 1[51 60 1[69 46 4[60 3[55 1[5110[42 42 42 42 42 42 1[23 1[28 45[{TeXBase1Encoding ReEncodeFont}3183.022 /Times-Italic rf /Fb 133[45 45 45 45 45 45 4545 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 4545 1[45 4[45 45 45 45 45 45 45 45 45 45 45 45 45 45 452[45 45 45 1[45 45 45 45 45 1[45 45 45 45 1[45 45 4545 45 45 45 45 45 45 45 45 45 45 10[45 34[{TeXBase1Encoding ReEncodeFont}69 74.7198 /Courier rf/Fc 134[46 3[51 28 46 3[51 51 74 23 2[23 1[51 1[46 50[4646 2[23 46[{TeXBase1Encoding ReEncodeFont}14 83.022 /Helvetica-Boldrf /Fd 130[40 1[40 37 42 42 60 42 42 23 32 28 42 42 4242 65 23 42 1[23 42 42 28 37 42 37 42 37 1[42 6[60 781[60 51 46 55 1[46 60 60 74 51 2[28 60 60 46 51 60 5555 60 6[23 3[42 1[42 42 3[23 21 28 21 2[28 28 28 2[4232[46 46 2[{TeXBase1Encoding ReEncodeFont}62 83.022 /Times-Romanrf /Fe 138[61 33 4[61 61 4[28 61 61 1[55 61 55 1[55 20[6126[55 2[28 46[{TeXBase1Encoding ReEncodeFont}14 99.6264/Helvetica-Bold rf /Ff 134[66 2[66 73 40 66 47 73 1[7373 106 33 2[33 3[66 1[66 1[66 13[80 5[100 10[86 14[6666 66 2[33 46[{TeXBase1Encoding ReEncodeFont}22 119.552/Helvetica-Bold rf /Fg 134[115 3[126 69 1[80 1[126 1262[57 3[126 126 1[115 126 2[115 8[138 195 3[138 149 1[138161 1[172 126 4[161 3[149 1[149 17[57 1[69 45[{TeXBase1Encoding ReEncodeFont}25 206.584 /Helvetica-Boldrf end%%EndProlog%%BeginSetup%%Feature: *Resolution 600dpiTeXDict begin%%BeginPaperSize: Letterletter%%EndPaperSize%%EndSetup%%Page: 1 11 0 bop Black 0 TeXcolorgray Black Black 711 140 a Fg(eGr)l(oupW)-8b(are)57 b(XML-RPC/SO)-10 b(AP)1497 409 y(Methodology)-2826 y Ff(1.)34 b(System)g(le)n(vel)h(requests)396 1114y Fe(1.1.)28 b(Login)f(and)h(authentication)396 1271y Fd(Authentication)18 b(for)i(user)g(logins)g(is)h(handled)e(internally)g(no)g(dif)n(ferently)f(than)i(for)g(the)g(typical)g(eGroupW)-7 b(are)19 b(login)396 1379 y(via)h(web)h(bro)n(wser)-5b(.)19 b(Serv)o(er)g(logins,)h(added)f(for)g(XML-RPC)i(and)f(SO)m(AP)-9b(,)20 b(are)g(only)g(slightly)f(dif)n(ferent.)g(F)o(or)h(either)3961487 y(protocol,)e(user)j(and)e(serv)o(er)h(login)f(and)h(authentication)e(and)h(subsequent)g(requests)h(are)g(handled)f(by)g(their)396 1595 y(respecti)n(v)o(e)g(serv)o(er)h(apps,)f(xmlrpc.php)f(and)h(soap.php.)f(A)j(serv)o(er)e(is)i(identi\002ed)f(by)f(a)i(custom)f(HTTP)g(header)m(,)396 1703 y(without)g(which)f(a)i(normal)e(user)h(login)f(will)i(be)g(undertak)o(en.)396 1853 y(A)g(client)f(or)g(serv)o(er)f(sends)i(the)f(appropriate)e(XML-RPC)i(or)g(SO)m(AP)h(pack)o(et)f(containing)e(host,)i(user)m(,)g(and)f(passw)o(ord)3961961 y(information)f(to)i(the)h(phpgw)d(serv)o(er)-5b(.)20 b(The)g(serv)o(er)f(then)h(assigns)g(a)h(sessionid)f(and)g(k)o(e)o(y)-5 b(,)19 b(which)g(is)j(returned)c(to)i(the)3962068 y(client)g(in)h(the)f(appropriate)e(format.)3962218 y(Our)i(current)f(method)g(for)g(authenticating)g(requests)g(after)h(successful)g(login)g(is)h(via)f(the)g(Authorization:)e(Basic)396 2326 y(HTTP)i(header)f(to)i(be)f(sent)g(by)g(the)g(client)g(or)f(requesting)g(serv)o(er)-5 b(.)19 b(The)h(format)f(of)h(this)g(header)f(is)i(a)g(base64)e(encoding)396 2434 y(of)h(the)g(assigned)g(sessionid)g(and)g(kp3)f(v)n(ariables,)g(seperated)h(by)f(a)i(':'.)3962583 y(Further)e(security)h(may)g(be)g(obtained)f(by)g(using)h(SSL)h(on)f(the)g(client)g(and)g(serv)o(er)-5 b(.)19 b(In)h(the)g(future,)f(we)i(may)396 2691 y(encrypt/descrypt)c(the)k(data)f(on)f(either)h(end,)g(or)g(at)g(least)h(pro)o(vide)d(this)j(as)g(an)f(option.)f(The)h(sessionid)g(and)f(k)o(e)o(y)396 2799 y(v)n(ariables)h(will)h(mak)o(e)e(this)i(possible,)f(and)f(relati)n(v)o(ely)g(secure.)3963052 y Fc(1.1.1.)24 b(system.login)396 3202 y Fd(The)c(\002rst)h(request)f(a)g(client)g(will)h(mak)o(e)f(is)h(the)f(system.login)f(method.)g(Here)h(is)h(a)g(sample)f(of)g(a)g(serv)o(er)f(login)h(pack)o(et)396 3310 y(in)h(XML-RPC:)396 3490 y Fb(<?xml)44 b(version="1.0"?>)396 3587 y(<methodCall>)396 3684 y(<methodName>system.login</methodName>)396 3781 y(<params>)3963878 y(<param>)396 3976 y(<value><struct>)396 4073 y(<member><name>server_name</name>)396 4170 y(<value><string>my.host.name</string></val)o(ue>)3964267 y(</member>)396 4364 y(<member><name>username</name>)3964461 y(<value><string>bubba</string></value>)396 4558y(</member>)396 4655 y(<member><name>password</name>)3964753 y(<value><string>gump</string></value>)396 4850y(</member>)g(</struct></value>)396 4947 y(</param>)3965044 y(</params>)396 5141 y(</methodCall>)p Black 38425638 a Fa(1)p Black eop%%Page: 2 22 1 bop Black 0 TeXcolorgray Black 2413 -132 a Fa(eGr)l(oupW)-8b(ar)m(e)20 b(XML-RPC/SO)-5 b(AP)20 b(Methodolo)o(gy)pBlack 396 263 a Fd(And)g(the)g(same)h(in)f(SO)m(AP:)396444 y Fb(<?xml)44 b(version="1.0"?>)396 541 y(<SOAP-ENV:Envelope)396638 y(xmlns:SOAP-ENV="http://schemas.xmlsoap.or)o(g/soap)o(/envel)o(ope/")38 b(xmlns:xsi="http://www.w3.org/1999/XMLSche)o(ma-ins)o(tance")g(xmlns:xsd="http://www.w3.org/1999/XMLSche)o(ma")h(xmlns:SOAP-ENC="http://schemas.xmlsoa)o(p.org/)o(soap/e)o(ncodin)o(g/")g(xmlns:si="http://soapinterop.org/xsd")396 735y(xmlns:ns6="http://soapinterop.org")g(SOAP-ENV:encodingStyle="http://schemas.xm)o(lsoap.)o(org/so)o(ap/enc)o(oding/)o(">)396 832 y(<SOAP-ENV:Body>)k(<ns6:system_login>)396929 y(<server_name)g(xsi:type=":string">my.host.name</server_)o(name>)396 1026 y(<username)h(xsi:type=":string">bubba</username>)3961124 y(<password)g(xsi:type=":string">gump</password>)3961221 y(</ns6:system_login>)396 1318 y(</SOAP-ENV:Body>)3961415 y(</SOAP-ENV:Envelope>)396 1703 y Fd(The)20 b(same)g(style)h(of)f(pack)o(et)g(w)o(ould)f(be)h(required)f(for)g(a)i(user/client)e(login.)h(A)g(successful)g(login)g(should)f(yield)h(the)396 1811y(follo)n(wing)f(reply:)396 1991 y Fb(<methodResponse>)3962088 y(<params>)396 2185 y(<param>)396 2283 y(<value><struct>)3962380 y(<member><name>sessionid</name>)396 2477 y(<value><string>cf5c5534307562fc5791560837)o(7db007)o(</stri)o(ng></v)o(alue>)396 2574 y(</member>)396 2671 y(<member><name>kp3</name>)3962768 y(<value><string>2fe54daa11c8d52116788aa3f9)o(3cb70e)o(</stri)o(ng></v)o(alue>)396 2865 y(</member>)396 2962 y(</struct></value>)3963060 y(</param>)396 3157 y(</params>)396 3254 y(</methodResponse>)3963542 y Fd(And)h(a)h(f)o(ailed)f(login:)396 3722 y Fb(<methodResponse>)396 3819 y(<params>)396 3916 y(<param>)396 4014 y(<value><struct>)3964111 y(<member><name>GOAWAY</name>)396 4208 y(<value><string>XOXO</string></value>)396 4305 y(</member>)3964402 y(</struct></value>)396 4499 y(</param>)396 4596y(</params>)396 4693 y(</methodResponse>)396 4982 y Fd(eqweqw)pBlack 3842 5569 a Fa(2)p Black eop%%Page: 3 33 2 bop Black 0 TeXcolorgray Black 2413 -132 a Fa(eGr)l(oupW)-8b(ar)m(e)20 b(XML-RPC/SO)-5 b(AP)20 b(Methodolo)o(gy)pBlack 396 72 a Fc(1.1.2.)k(system.logout)396 222 y Fd(Logout:)396402 y Fb(<?xml)44 b(version="1.0"?>)396 499 y(<methodCall>)396596 y(<methodName>system.logout</methodName>)396 693y(<params>)g(<param>)396 791 y(<value><struct>)396 888y(<member><name>sessionid</name>)396 985 y(<value><string>ea35cac53d2c12bd05caecd973)o(04478a)o(</stri)o(ng></v)o(alue>)396 1082 y(</member>)396 1179 y(<member><name>kp3</name>)3961276 y(<value><string>4f2b256e0da4e7cbbebaac9f1f)o(c8ca4a)o(</stri)o(ng></v)o(alue>)396 1373 y(</member>)396 1471 y(</struct></value>)3961568 y(</param>)396 1665 y(</params>)396 1762 y(</methodCall>)3962050 y Fd(Logout)19 b(w)o(ork)o(ed:)396 2230 y Fb(<methodResponse>)3962327 y(<params>)396 2424 y(<param>)396 2522 y(<value><struct>)3962619 y(<member><name>GOODBYE</name>)396 2716 y(<value><string>XOXO</string></value>)396 2813 y(</member>)3962910 y(</struct></value>)396 3007 y(</param>)396 3104y(</params>)396 3202 y(</methodResponse>)-2 3876 y Ff(2.)34b(Business)h(la)n(y)o(er)f(requests)396 4044 y Fd(Once)20b(a)h(successful)f(login)f(return)g(pack)o(et)h(has)g(been)g(recei)n(v)o(ed)e(and)i(sessionid/kp3)f(ha)n(v)o(e)g(been)h(e)o(xtracted,)e(e)n(v)o(ery)396 4152 y(subsequent)h(pack)o(et)g(sent)h(to)g(the)g(egroupw)o(are)c(serv)o(er)j(must)h(be)g(preceded)e(by)h(an)h(Authorization)d(header)-5 b(.)19 b(Here)h(is)396 4259 y(a)h(sample)f(header:)3964440 y Fb(POST)44 b(/egroupware/xmlrpc.php)d(HTTP/1.0)3964537 y(User-Agent:)i(PHP)i(XMLRPC)e(1.0)396 4634 y(Host:)h(my.local.host)396 4731 y(Authorization:)f(Basic)h(ZDgxNDIyZDRkYjg5NDEyNGNiMzZlMDhhZTdlYz)o(AxZmY6)o(NTU3Y)o(zkyYjB)o(mNGE4Z)o(DVlOTU)o(zMzI2Y)o(mU2OTQ)o(yNjM3Y)o(jQ=)3964828 y(Content-Type:)f(text/xml)396 4925 y(Content-Length:)g(875)pBlack 3842 5569 a Fa(3)p Black eop%%Page: 4 44 3 bop Black 0 TeXcolorgray Black 2413 -132 a Fa(eGr)l(oupW)-8b(ar)m(e)20 b(XML-RPC/SO)-5 b(AP)20 b(Methodolo)o(gy)pBlack 396 72 a Fd(The)g(longish)f(string)h(is)h(a)g(base64)e(encoding)f(of)i(the)h($sessionid)e(.)i(':')f(.)g($kp3.)f(F)o(or)h(no)n(w)f(this)i(is)g(our)f(only)f(supported)396 180 y(authentication)f(method.)h(Additional)g(methods)g(w)o(ould)h(probably)d(also)k(af)n(fect)f(the)g(methodCalls.)f(This)h(is)i(certainly)396 288 y(open)d(to)i(discussion.)e(F)o(ollo)n(wing)g(is)i(a)g(typical)f(request)f(for)h(some)g(contact)f(data:)396 468 y Fb(<?xml)44 b(version="1.0"?>)396566 y(<methodCall>)396 663 y(<methodName>addressbook.boaddressbook.rea)o(d_entr)o(ies</m)o(ethodN)o(ame>)396 760 y(<params>)396857 y(<param>)396 954 y(<value><struct>)396 1051 y(<member><name>start</name>)396 1148 y(<value><string>1</string></value>)396 1246 y(</member>)3961343 y(<member><name>limit</name>)396 1440 y(<value><string>5</string></value>)396 1537 y(</member>)3961634 y(<member><name>fields</name>)396 1731 y(<value><struct>)3961828 y(<member><name>n_given</name>)396 1926 y(<value><string>n_given</string></value>)396 2023 y(</member>)3962120 y(<member><name>n_family</name>)396 2217 y(<value><string>n_family</string></value>)396 2314 y(</member>)3962411 y(</struct></value>)396 2508 y(</member>)396 2605y(<member><name>query</name>)396 2703 y(<value><string></string></value>)396 2800 y(</member>)3962897 y(<member><name>filter</name>)396 2994 y(<value><string></string></value>)396 3091 y(</member>)3963188 y(<member><name>sort</name>)396 3285 y(<value><string></string></value>)396 3383 y(</member>)3963480 y(<member><name>order</name>)396 3577 y(<value><string></string></value>)396 3674 y(</member>)3963771 y(</struct></value>)396 3868 y(</param>)396 3965y(</params>)396 4063 y(</methodCall>)396 4351 y Fd(Successful)20b(response:)396 4531 y Fb(<?xml)44 b(version="1.0"?>)3964628 y(<methodResponse>)396 4725 y(<params>)396 4822y(<param>)396 4919 y(<value><struct>)396 5016 y(<member><name>0</name>)396 5114 y(<value><struct>)p Black 3842 5569 a Fa(4)pBlack eop%%Page: 5 55 4 bop Black 0 TeXcolorgray Black 2413 -132 a Fa(eGr)l(oupW)-8b(ar)m(e)20 b(XML-RPC/SO)-5 b(AP)20 b(Methodolo)o(gy)pBlack 396 72 a Fb(<member><name>id</name>)396 170 y(<value><string>1</string></value>)396 267 y(</member>)396364 y(<member><name>lid</name>)396 461 y(<value><string></string></value>)396 558 y(</member>)396655 y(<member><name>tid</name>)396 752 y(<value><string>n</string></value>)396 850 y(</member>)396947 y(<member><name>owner</name>)396 1044 y(<value><string>500</string></value>)396 1141 y(</member>)3961238 y(<member><name>access</name>)396 1335 y(<value><string>private</string></value>)396 1432 y(</member>)3961530 y(<member><name>cat_id</name>)396 1627 y(<value><string>1</string></value>)396 1724 y(</member>)3961821 y(<member><name>n_given</name>)396 1918 y(<value><string>Alan</string></value>)396 2015 y(</member>)3962112 y(</struct></value>)396 2209 y(</member>)396 2307y(<member><name>1</name>)396 2404 y(<value><struct>)3962501 y(<member><name>id</name>)396 2598 y(<value><string>2</string></value>)396 2695 y(</member>)3962792 y(<member><name>lid</name>)396 2889 y(<value><string></string></value>)396 2987 y(</member>)3963084 y(<member><name>tid</name>)396 3181 y(<value><string>n</string></value>)396 3278 y(</member>)3963375 y(<member><name>owner</name>)396 3472 y(<value><string>500</string></value>)396 3569 y(</member>)3963666 y(<member><name>access</name>)396 3764 y(<value><string>private</string></value>)396 3861 y(</member>)3963958 y(<member><name>cat_id</name>)396 4055 y(<value><string>1</string></value>)396 4152 y(</member>)3964249 y(<member><name>n_given</name>)396 4346 y(<value><string>Andy</string></value>)396 4444 y(</member>)3964541 y(</struct></value>)396 4638 y(</member>)396 4735y(...)396 5023 y Fd(Unauthorized)e(access)j(attempt)f(returns:)pBlack 3842 5569 a Fa(5)p Black eop%%Page: 6 66 5 bop Black 0 TeXcolorgray Black 2413 -132 a Fa(eGr)l(oupW)-8b(ar)m(e)20 b(XML-RPC/SO)-5 b(AP)20 b(Methodolo)o(gy)pBlack 396 72 a Fb(<methodResponse>)396 170 y(<params>)396267 y(<param>)396 364 y(<value><string>UNAUTHORIZED</string></val)o(ue>)396 461 y(</param>)396 558 y(</params>)396 655 y(</methodResponse>)-2 1164 y Ff(3.)34 b(More)f(to)g(come)r(...)3961331 y Fd(Documenting)18 b(e)n(v)o(ery)h(single)h(call)h(will)f(be)h(dif)n(\002cult,)e(b)n(ut)h(should)f(be)h(done.)f(In)h(leiu)h(of)e(this,)i(please)f(see)h(the)396 1439 y(class.bo{APPN)m(AME}.inc.php)c(\002les)k(in)g(each)f(application/inc)e(directory)g(in)j(the)f(e)o(groupw)o(are)d(cvs.)j(In)g(this)h(\002le)396 1547 y(will)g(be)f(a)h(list_methods\(\))d(function,)g(which)i(returns)f(the)h(information)e(to)i(the)h(serv)o(er)e(about)g(input/output)f(structure)3961655 y(for)i(each)g(call.)g(If)g(the)g(\002le)h(does)f(not)g(ha)n(v)o(e)g(this)g(function,)f(then)g(it)i(is)g(not)f(yet)g(w)o(orkable)f(via)h(this)h(interf)o(ace.)e(As)i(for)396 1763 y(the)f(actual)g(functions,)f(the)o(y)g(are)i(also)f(in)g(this)h(\002le.)g(Generally)-5b(,)18 b(the)o(y)i(will)h(all)f(accept)g(associati)n(v)o(e)g(array)f(input)h(and)396 1871 y(return)f(same,)h(b)n(ut)h(not)e(al)o(w)o(ays.)i(This)f(code)g(is)h(in)f(\003ux,)g(ha)n(v)o(e)f(fun.)pBlack 3840 5569 a Fa(6)p Black eop%%Trailerenduserdict /end-hook known{end-hook}if%%EOF

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -