xmppify 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (120) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +29 -0
  6. data/Rakefile +1 -0
  7. data/app/assets/javascripts/xmpp/index.js +0 -0
  8. data/app/assets/javascripts/xmpp/scripts/checkplayer.js +12 -0
  9. data/app/assets/javascripts/xmpp/scripts/crossdomain.xml +7 -0
  10. data/app/assets/javascripts/xmpp/scripts/flXHR.js +2 -0
  11. data/app/assets/javascripts/xmpp/scripts/flXHR.swf +0 -0
  12. data/app/assets/javascripts/xmpp/scripts/flXHR.vbs +44 -0
  13. data/app/assets/javascripts/xmpp/scripts/flensed.js +12 -0
  14. data/app/assets/javascripts/xmpp/scripts/strophe.flxhr.js +31 -0
  15. data/app/assets/javascripts/xmpp/scripts/strophe.js +3538 -0
  16. data/app/assets/javascripts/xmpp/scripts/swfobject.js +5 -0
  17. data/app/assets/javascripts/xmpp/scripts/updateplayer.swf +0 -0
  18. data/app/assets/javascripts/xmpp/scripts/xmpp.js.coffee +386 -0
  19. data/app/assets/javascripts/xmpp/strophejs-plugins/LICENSE.txt +19 -0
  20. data/app/assets/javascripts/xmpp/strophejs-plugins/README.markdown +95 -0
  21. data/app/assets/javascripts/xmpp/strophejs-plugins/archive/README.markdown +14 -0
  22. data/app/assets/javascripts/xmpp/strophejs-plugins/archive/iso8601_support.js +32 -0
  23. data/app/assets/javascripts/xmpp/strophejs-plugins/archive/strophe.archive.js +88 -0
  24. data/app/assets/javascripts/xmpp/strophejs-plugins/caps/README.markdown +53 -0
  25. data/app/assets/javascripts/xmpp/strophejs-plugins/caps/sha1.js +202 -0
  26. data/app/assets/javascripts/xmpp/strophejs-plugins/caps/strophe.CAPS.coffee +153 -0
  27. data/app/assets/javascripts/xmpp/strophejs-plugins/caps/strophe.CAPS.js +88 -0
  28. data/app/assets/javascripts/xmpp/strophejs-plugins/caps/strophe.caps.jsonly.js +240 -0
  29. data/app/assets/javascripts/xmpp/strophejs-plugins/chatstates/strophe.chatstates.js +80 -0
  30. data/app/assets/javascripts/xmpp/strophejs-plugins/cmds/README.markdown +47 -0
  31. data/app/assets/javascripts/xmpp/strophejs-plugins/cmds/spec/GetUrlComamndSpec.js +66 -0
  32. data/app/assets/javascripts/xmpp/strophejs-plugins/cmds/spec/strophe.cmds.spec.coffee +145 -0
  33. data/app/assets/javascripts/xmpp/strophejs-plugins/cmds/spec/support/jasmine.json +16 -0
  34. data/app/assets/javascripts/xmpp/strophejs-plugins/cmds/src/strophe.cmds.coffee +265 -0
  35. data/app/assets/javascripts/xmpp/strophejs-plugins/cmds/src/strophe.cmds.js +403 -0
  36. data/app/assets/javascripts/xmpp/strophejs-plugins/dataforms/README.markdown +82 -0
  37. data/app/assets/javascripts/xmpp/strophejs-plugins/dataforms/spec/strophe.x.coffee +715 -0
  38. data/app/assets/javascripts/xmpp/strophejs-plugins/dataforms/src/strophe.x.coffee +443 -0
  39. data/app/assets/javascripts/xmpp/strophejs-plugins/dataforms/src/strophe.x.js +854 -0
  40. data/app/assets/javascripts/xmpp/strophejs-plugins/disco/.gitignore +1 -0
  41. data/app/assets/javascripts/xmpp/strophejs-plugins/disco/README.markdown +0 -0
  42. data/app/assets/javascripts/xmpp/strophejs-plugins/disco/convert.js +13 -0
  43. data/app/assets/javascripts/xmpp/strophejs-plugins/disco/jasmine.json +11 -0
  44. data/app/assets/javascripts/xmpp/strophejs-plugins/disco/lib/strophe.disco.js +137 -0
  45. data/app/assets/javascripts/xmpp/strophejs-plugins/disco/public/javascript/strophe.disco.js +137 -0
  46. data/app/assets/javascripts/xmpp/strophejs-plugins/disco/spec/01_querying_information.xml +6 -0
  47. data/app/assets/javascripts/xmpp/strophejs-plugins/disco/spec/02_result_set_for_information_request.xml +22 -0
  48. data/app/assets/javascripts/xmpp/strophejs-plugins/disco/spec/03_target_entity_does_not_exist.xml +10 -0
  49. data/app/assets/javascripts/xmpp/strophejs-plugins/disco/spec/04_service_unavailable.xml +11 -0
  50. data/app/assets/javascripts/xmpp/strophejs-plugins/disco/spec/09_querying_specific_jid_and_node_combination.xml +7 -0
  51. data/app/assets/javascripts/xmpp/strophejs-plugins/disco/spec/10_jid_and_node_result.xml +12 -0
  52. data/app/assets/javascripts/xmpp/strophejs-plugins/disco/spec/11_requesting_all_items.xml +6 -0
  53. data/app/assets/javascripts/xmpp/strophejs-plugins/disco/spec/12_result_set_for_all_items.xml +23 -0
  54. data/app/assets/javascripts/xmpp/strophejs-plugins/disco/spec/13_empty_result_set.xml +7 -0
  55. data/app/assets/javascripts/xmpp/strophejs-plugins/disco/spec/17_service_returns_nodes.xml +16 -0
  56. data/app/assets/javascripts/xmpp/strophejs-plugins/disco/spec/18_requesting_further_nodes.xml +7 -0
  57. data/app/assets/javascripts/xmpp/strophejs-plugins/disco/spec/24_jid_and_node_error.xml +11 -0
  58. data/app/assets/javascripts/xmpp/strophejs-plugins/disco/spec/DiscoNodeSpec.js +50 -0
  59. data/app/assets/javascripts/xmpp/strophejs-plugins/disco/spec/SpecHelper.js +51 -0
  60. data/app/assets/javascripts/xmpp/strophejs-plugins/disco/spec/Stanzas.js +0 -0
  61. data/app/assets/javascripts/xmpp/strophejs-plugins/disco/spec/strophe.disco.spec.helper.js +54 -0
  62. data/app/assets/javascripts/xmpp/strophejs-plugins/disco/spec/strophe.disco.spec.js +0 -0
  63. data/app/assets/javascripts/xmpp/strophejs-plugins/disco/spec/support/jasmine.json +13 -0
  64. data/app/assets/javascripts/xmpp/strophejs-plugins/disco/strophe.disco.js +232 -0
  65. data/app/assets/javascripts/xmpp/strophejs-plugins/epic/public/javascript/jquery.epic.js +61 -0
  66. data/app/assets/javascripts/xmpp/strophejs-plugins/epic/spec/SpecHelper.js +9 -0
  67. data/app/assets/javascripts/xmpp/strophejs-plugins/epic/spec/jquery.epic.js +39 -0
  68. data/app/assets/javascripts/xmpp/strophejs-plugins/epic/spec/support/jasmine.json +22 -0
  69. data/app/assets/javascripts/xmpp/strophejs-plugins/iexdomain/iexdomain.js +36 -0
  70. data/app/assets/javascripts/xmpp/strophejs-plugins/joap/README.markdown +117 -0
  71. data/app/assets/javascripts/xmpp/strophejs-plugins/joap/buster.js +23 -0
  72. data/app/assets/javascripts/xmpp/strophejs-plugins/joap/jid.coffee +64 -0
  73. data/app/assets/javascripts/xmpp/strophejs-plugins/joap/jid.js +92 -0
  74. data/app/assets/javascripts/xmpp/strophejs-plugins/joap/spec/browserSetup.coffee +1 -0
  75. data/app/assets/javascripts/xmpp/strophejs-plugins/joap/spec/jid.spec.coffee +96 -0
  76. data/app/assets/javascripts/xmpp/strophejs-plugins/joap/spec/strophe.joap.spec.coffee +461 -0
  77. data/app/assets/javascripts/xmpp/strophejs-plugins/joap/strophe.joap.coffee +304 -0
  78. data/app/assets/javascripts/xmpp/strophejs-plugins/joap/strophe.joap.js +522 -0
  79. data/app/assets/javascripts/xmpp/strophejs-plugins/mam/LICENSE.txt +19 -0
  80. data/app/assets/javascripts/xmpp/strophejs-plugins/mam/README.markdown +52 -0
  81. data/app/assets/javascripts/xmpp/strophejs-plugins/mam/strophe.mam.js +62 -0
  82. data/app/assets/javascripts/xmpp/strophejs-plugins/muc/LICENSE.txt +20 -0
  83. data/app/assets/javascripts/xmpp/strophejs-plugins/muc/strophe.muc.js +1003 -0
  84. data/app/assets/javascripts/xmpp/strophejs-plugins/ping/README.markdown +28 -0
  85. data/app/assets/javascripts/xmpp/strophejs-plugins/ping/strophe.ping.js +68 -0
  86. data/app/assets/javascripts/xmpp/strophejs-plugins/private/README.markdown +16 -0
  87. data/app/assets/javascripts/xmpp/strophejs-plugins/private/strophe.private.js +192 -0
  88. data/app/assets/javascripts/xmpp/strophejs-plugins/pubsub/strophe.pubsub.js +555 -0
  89. data/app/assets/javascripts/xmpp/strophejs-plugins/receipts/strophe.receipts.js +155 -0
  90. data/app/assets/javascripts/xmpp/strophejs-plugins/register/README.markdown +44 -0
  91. data/app/assets/javascripts/xmpp/strophejs-plugins/register/strophe.register.js +431 -0
  92. data/app/assets/javascripts/xmpp/strophejs-plugins/roster/public/javascript/strophe.roster.js +40 -0
  93. data/app/assets/javascripts/xmpp/strophejs-plugins/roster/spec/strophe.roster.spec.js +65 -0
  94. data/app/assets/javascripts/xmpp/strophejs-plugins/roster/spec/support/jasmine.json +15 -0
  95. data/app/assets/javascripts/xmpp/strophejs-plugins/roster/strophe.roster.js +438 -0
  96. data/app/assets/javascripts/xmpp/strophejs-plugins/rpc/.gitignore +6 -0
  97. data/app/assets/javascripts/xmpp/strophejs-plugins/rpc/README.md +113 -0
  98. data/app/assets/javascripts/xmpp/strophejs-plugins/rpc/buster.js +11 -0
  99. data/app/assets/javascripts/xmpp/strophejs-plugins/rpc/lib/strophe.js +4198 -0
  100. data/app/assets/javascripts/xmpp/strophejs-plugins/rpc/spec/strophe.rpc.spec.helper.js +38 -0
  101. data/app/assets/javascripts/xmpp/strophejs-plugins/rpc/spec/strophe.rpc.spec.js +262 -0
  102. data/app/assets/javascripts/xmpp/strophejs-plugins/rpc/strophe.rpc.js +464 -0
  103. data/app/assets/javascripts/xmpp/strophejs-plugins/rsm/strophe.rsm.js +52 -0
  104. data/app/assets/javascripts/xmpp/strophejs-plugins/serverdate/strophe.serverdate.js +58 -0
  105. data/app/assets/javascripts/xmpp/strophejs-plugins/vcard/examples/index.html +17 -0
  106. data/app/assets/javascripts/xmpp/strophejs-plugins/vcard/examples/strophevcard.js +0 -0
  107. data/app/assets/javascripts/xmpp/strophejs-plugins/vcard/strophe.vcard.coffee +44 -0
  108. data/app/assets/javascripts/xmpp/strophejs-plugins/vcard/strophe.vcard.js +66 -0
  109. data/app/assets/stylesheets/xmpp/index.css +0 -0
  110. data/app/controllers/omniauth_callbacks_controller.rb +15 -0
  111. data/app/controllers/ruby_bosh.rb +221 -0
  112. data/app/models/identity.rb +3 -0
  113. data/app/models/user.rb +40 -0
  114. data/bin/rails +8 -0
  115. data/db/migrate/20140329065635_create_users.rb +10 -0
  116. data/db/migrate/20140329070238_create_identities.rb +11 -0
  117. data/lib/xmppify/version.rb +3 -0
  118. data/lib/xmppify.rb +6 -0
  119. data/xmppify.gemspec +23 -0
  120. metadata +197 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: f56cec8e851a8b6caf67db52a459bfad5f5f442b
4
+ data.tar.gz: 74d172a4059de199e11e6862284a6071c3a1d612
5
+ SHA512:
6
+ metadata.gz: 406536d7ce71b6abe236f74adc8ea6f7454e454ba5db590c5fc1616485f5cb4eef2b523de01a5366610c9e2718a44a43c3fdf890718ec76fadb7e373d3d07779
7
+ data.tar.gz: 395b0e6b434da064f810ac0c4ac43ee5f2602d6c23abdce2a7ed226b88b4a3b730dcc99ec00178755d4866c055adbf954193f105986c65c21dcf80e0f6e5f8d6
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in xmppify.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2014 Charlie
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,29 @@
1
+ # Xmppify
2
+
3
+ TODO: Write a gem description
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'xmppify'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install xmppify
18
+
19
+ ## Usage
20
+
21
+ TODO: Write usage instructions here
22
+
23
+ ## Contributing
24
+
25
+ 1. Fork it ( http://github.com/<my-github-username>/xmppify/fork )
26
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
27
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
28
+ 4. Push to the branch (`git push origin my-new-feature`)
29
+ 5. Create new Pull Request
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
File without changes
@@ -0,0 +1,12 @@
1
+ /* CheckPlayer 1.0.2 <http://checkplayer.flensed.com/>
2
+ Copyright (c) 2008 Kyle Simpson, Getify Solutions, Inc.
3
+ This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
4
+
5
+ ====================================================================================================
6
+ Portions of this code were extracted and/or derived from:
7
+
8
+ SWFObject v2.1 & 2.2a8 <http://code.google.com/p/swfobject/>
9
+ Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
10
+ This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
11
+ */
12
+ (function(R){var E=R,V=R.document,N="undefined",G=true,X=false,W="",H="object",O="function",T="string",M="div",D="onunload",J="none",U=null,P=null,I=null,L=null,K="flensed.js",F="checkplayer.js",B="swfobject.js",C=R.setTimeout,A=R.clearTimeout,S=R.setInterval,Q=R.clearInterval;if(typeof R.flensed===N){R.flensed={}}if(typeof R.flensed.checkplayer!==N){return }P=R.flensed;C(function(){var Y=X,i=V.getElementsByTagName("script"),d=i.length;try{P.base_path.toLowerCase();Y=G}catch(b){P.base_path=""}function g(o,n,p){for(var m=0;m<d;m++){if(typeof i[m].src!==N){if(i[m].src.indexOf(o)>=0){break}}}var l=V.createElement("script");l.setAttribute("src",P.base_path+o);if(typeof n!==N){l.setAttribute("type",n)}if(typeof p!==N){l.setAttribute("language",p)}V.getElementsByTagName("head")[0].appendChild(l)}if((typeof i!==N)&&(i!==null)){if(!Y){var j=0;for(var c=0;c<d;c++){if(typeof i[c].src!==N){if(((j=i[c].src.indexOf(K))>=0)||((j=i[c].src.indexOf(F))>=0)){P.base_path=i[c].src.substr(0,j);break}}}}}try{R.swfobject.getObjectById("a")}catch(h){g(B,"text/javascript")}try{P.ua.pv.join(".")}catch(f){g(K,"text/javascript")}function Z(){A(a);try{E.detachEvent(D,arguments.callee)}catch(k){}}try{E.attachEvent(D,Z)}catch(e){}var a=C(function(){Z();try{R.swfobject.getObjectById("a");P.ua.pv.join(".")}catch(k){throw new R.Error("CheckPlayer dependencies failed to load.")}},20000)},0);P.checkplayer=function(x,AI,o,AB){if(typeof I._ins!==N){if(I._ins.ready()){setTimeout(function(){AI(I._ins)},0)}return I._ins}var a="6.0.65",z=[],i=null,f=X,g=null,AK=null,s=W,d=X,l=null,b=[],r={},AA=[],e=null,AG=null,AF=null,m=null,h=X,AH=null,k=X,t=X,p=X,AE=null;var Z=function(){if((typeof x!==N)&&(x!==null)&&(x!==X)){AG=x+W}else{AG="0.0.0"}if(typeof AI===O){AF=AI}if(typeof o!==N){h=!(!o)}if(typeof AB===O){m=AB}function AM(){A(g);try{E.detachEvent(D,AM)}catch(AP){}}try{E.attachEvent(D,AM)}catch(AN){}(function AO(){try{P.bindEvent(E,D,y)}catch(AP){g=C(arguments.callee,25);return }AM();AH=P.ua.pv.join(".");g=C(AD,1)})()}();function AD(){try{e=V.getElementsByTagName("body")[0]}catch(AN){}if((typeof e===N)||(e===null)){g=C(AD,25);return }try{R.swfobject.getObjectById("a");L=R.swfobject}catch(AM){g=C(AD,25);return }t=L.hasFlashPlayerVersion(a);k=L.hasFlashPlayerVersion(AG);AJ();if(typeof AF===O){AF(j)}d=G;if(k){u()}else{if(h&&!f){v()}}}function y(){if(typeof E.detachEvent!==N){E.detachEvent(D,y)}I._ins=null;if((typeof l!==N)&&(l!==null)){try{l.updateSWFCallback=null;AC=null}catch(AP){}l=null}try{for(var AO in j){if(j[AO]!==Object.prototype[AO]){try{j[AO]=null}catch(AN){}}}}catch(AM){}j=null;e=null;Y();AA=null;AF=null;m=null;try{for(var AS in I){if(I[AS]!==Object.prototype[AS]){try{I[AS]=null}catch(AR){}}}}catch(AQ){}I=null;P.checkplayer=null;P=null;R=null}function AL(AN,AO,AM){AA[AA.length]={func:AN,funcName:AO,args:AM}}function u(){if(!d){i=C(u,25);return }var AO=0;try{AO=AA.length}catch(AP){}for(var AN=0;AN<AO;AN++){try{AA[AN].func.apply(j,AA[AN].args);AA[AN]=X}catch(AM){k=X;AJ();if(typeof AF===O){AF(j)}else{throw new R.Error("checkplayer::"+AA[AN].funcName+"() call failed.")}}}AA=null}function Y(){A(g);g=null;A(i);i=null;for(var AN in r){if(r[AN]!==Object.prototype[AN]){Q(r[AN]);r[AN]=X}}for(var AM in z){if(z[AM]!==Object.prototype[AM]){A(z[AM]);z[AM]=X}}}function AJ(){try{j.playerVersionDetected=AH;j.checkPassed=k;j.updateable=t;j.updateStatus=p;j.updateControlsContainer=AE}catch(AM){}}function n(AS,AN){var AP=AN?"visible":"hidden";var AR=P.getObjectById(AS);try{if(AR!==null&&(typeof AR.style!==N)&&(AR.style!==null)){AR.style.visibility=AP}else{try{P.createCSS("#"+AS,"visibility:"+AP)}catch(AQ){}}}catch(AO){try{P.createCSS("#"+AS,"visibility:"+AP)}catch(AM){}}}function v(){var AR=e;if((typeof AR===N)||(AR===null)){z[z.length]=C(v,25);return }try{L.getObjectById("a")}catch(AQ){z[z.length]=C(v,25);return }if(!f){f=G;Y();if(t){s="CheckPlayerUpdate";AK=s+"SWF";P.createCSS("#"+s,"width:221px;height:145px;position:absolute;left:5px;top:5px;border:none;background-color:#000000;display:block;");P.createCSS("#"+AK,"display:inline;position:absolute;left:1px;top:1px;");AE=V.createElement(M);AE.id=s;AR.appendChild(AE);n(AE.id,X);AJ();var AT=null;try{AT=E.top.location.toString()}catch(AM){AT=E.location.toString()}var AO={swfId:AK,MMredirectURL:AT.replace(/&/g,"%26"),MMplayerType:(P.ua.ie&&P.ua.win?"ActiveX":"PlugIn"),MMdoctitle:V.title.slice(0,47)+" - Flash Player Installation"};var AS={allowScriptAccess:"always"};var AP={id:AK,name:AK};try{q(P.base_path+"updateplayer.swf",{appendToId:s},"219","143",AO,AS,AP,{swfTimeout:8000,swfCB:c},G)}catch(AN){w();return }}else{w()}}}function w(AM){if(typeof AM===N){AM="Flash Player not detected or not updateable."}p=I.UPDATE_FAILED;AJ();if(typeof m===O){m(j)}else{throw new R.Error("checkplayer::UpdatePlayer(): "+AM)}}function c(AM){if(AM.status===I.SWF_LOADED){A(r["continueUpdate_"+AK]);r["continueUpdate_"+AK]=X;l=AM.srcElem;l.updateSWFCallback=AC;p=I.UPDATE_INIT;AJ();if(typeof m===O){m(j)}n(AE.id,G)}else{if(AM.status===I.SWF_FAILED||AM.status===I.SWF_TIMEOUT){w()}}}function AC(AN){try{if(AN===0){p=I.UPDATE_SUCCESSFUL;AE.style.display=J;try{E.open(W,"_self",W);E.close();R.self.opener=E;R.self.close()}catch(AO){}}else{if(AN===1){p=I.UPDATE_CANCELED;AE.style.display=J}else{if(AN===2){AE.style.display=J;w("The Flash Player update failed.");return }else{if(AN===3){AE.style.display=J;w("The Flash Player update timed out.");return }}}}}catch(AM){}AJ();if(typeof m===O){m(j)}}function q(Af,AS,AU,AN,AP,AR,AW,Ad,Ab){if(AS!==null&&(typeof AS===T||typeof AS.replaceId===T)){n(((typeof AS===T)?AS:AS.replaceId),X)}if(!d&&!Ab){AL(q,"DoSWF",arguments);return }if(k||Ab){AU+=W;AN+=W;var AZ=(typeof AW===H)?AW:{};AZ.data=Af;AZ.width=AU;AZ.height=AN;var AY=(typeof AR===H)?AR:{};if(typeof AP===H){for(var Ac in AP){if(AP[Ac]!==Object.prototype[Ac]){if(typeof AY.flashvars!==N){AY.flashvars+="&"+Ac+"="+AP[Ac]}else{AY.flashvars=Ac+"="+AP[Ac]}}}}var Ae=null;if(typeof AW.id!==N){Ae=AW.id}else{if(AS!==null&&(typeof AS===T||typeof AS.replaceId===T)){Ae=((typeof AS===T)?AS:AS.replaceId)}else{Ae="swf_"+b.length}}var Ag=null;if(AS===null||AS===X||typeof AS.appendToId===T){var AO=null;if(AS!==null&&AS!==X&&typeof AS.appendToId===T){AO=P.getObjectById(AS.appendToId)}else{AO=e}var AT=V.createElement(M);Ag=(AT.id=Ae);AO.appendChild(AT)}else{Ag=((typeof AS.replaceId===T)?AS.replaceId:AS)}var AX=function(){},Aa=0,AM=W,AV=null;if(typeof Ad!==N&&Ad!==null){if(typeof Ad===H){if(typeof Ad.swfCB!==N&&Ad.swfCB!==null){AX=Ad.swfCB}if(typeof Ad.swfTimeout!==N&&(R.parseInt(Ad.swfTimeout,10)>0)){Aa=Ad.swfTimeout}if(typeof Ad.swfEICheck!==N&&Ad.swfEICheck!==null&&Ad.swfEICheck!==W){AM=Ad.swfEICheck}}else{if(typeof Ad===O){AX=Ad}}}try{AV=L.createSWF(AZ,AY,Ag)}catch(AQ){}if(AV!==null){b[b.length]=Ae;if(typeof AX===O){AX({status:I.SWF_INIT,srcId:Ae,srcElem:AV});r[Ae]=S(function(){var Ai=P.getObjectById(Ae);if((typeof Ai!==N)&&(Ai!==null)&&(Ai.nodeName==="OBJECT"||Ai.nodeName==="EMBED")){var Ah=0;try{Ah=Ai.PercentLoaded()}catch(Aj){}if(Ah>0){if(Aa>0){A(r["DoSWFtimeout_"+Ae]);r["DoSWFtimeout_"+Ae]=X}if(Ah<100){C(function(){AX({status:I.SWF_LOADING,srcId:Ae,srcElem:Ai})},1)}else{Q(r[Ae]);r[Ae]=X;C(function(){AX({status:I.SWF_LOADED,srcId:Ae,srcElem:Ai})},1);if(AM!==W){var Ak=X;r[Ae]=S(function(){if(!Ak&&typeof Ai[AM]===O){Ak=G;try{Ai[AM]();Q(r[Ae]);r[Ae]=X;AX({status:I.SWF_EI_READY,srcId:Ae,srcElem:Ai})}catch(Al){}Ak=X}},25)}}}}},50);if(Aa>0){r["DoSWFtimeout_"+Ae]=C(function(){var Ai=P.getObjectById(Ae);if((typeof Ai!==N)&&(Ai!==null)&&(Ai.nodeName==="OBJECT"||Ai.nodeName==="EMBED")){var Ah=0;try{Ah=Ai.PercentLoaded()}catch(Aj){}if(Ah<=0){Q(r[Ae]);r[Ae]=X;if(P.ua.ie&&P.ua.win&&Ai.readyState!==4){Ai.id="removeSWF_"+Ai.id;Ai.style.display=J;r[Ai.id]=S(function(){if(Ai.readyState===4){Q(r[Ai.id]);r[Ai.id]=X;L.removeSWF(Ai.id)}},500)}else{L.removeSWF(Ai.id)}r[Ae]=X;r["DoSWFtimeout_"+Ae]=X;AX({status:I.SWF_TIMEOUT,srcId:Ae,srcElem:Ai})}}},Aa)}}}else{if(typeof AX===O){AX({status:I.SWF_FAILED,srcId:Ae,srcElem:null})}else{throw new R.Error("checkplayer::DoSWF(): SWF could not be loaded.")}}}else{if(typeof AX===O){AX({status:I.SWF_FAILED,srcId:Ae,srcElem:null})}else{throw new R.Error("checkplayer::DoSWF(): Minimum Flash Version not detected.")}}}var j={playerVersionDetected:AH,versionChecked:AG,checkPassed:k,UpdatePlayer:v,DoSWF:function(AR,AS,AP,AQ,AN,AM,AO,AT){q(AR,AS,AP,AQ,AN,AM,AO,AT,X)},ready:function(){return d},updateable:t,updateStatus:p,updateControlsContainer:AE};I._ins=j;return j};I=P.checkplayer;I.UPDATE_INIT=1;I.UPDATE_SUCCESSFUL=2;I.UPDATE_CANCELED=3;I.UPDATE_FAILED=4;I.SWF_INIT=5;I.SWF_LOADING=6;I.SWF_LOADED=7;I.SWF_FAILED=8;I.SWF_TIMEOUT=9;I.SWF_EI_READY=10;I.module_ready=function(){}})(window);
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0"?>
2
+ <!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
3
+ <cross-domain-policy>
4
+ <site-control permitted-cross-domain-policies="all"/>
5
+ <allow-access-from domain="*" />
6
+ <allow-http-request-headers-from domain="*" headers="*" />
7
+ </cross-domain-policy>
@@ -0,0 +1,2 @@
1
+ /* flXHR 1.0.4 <http://flxhr.flensed.com/> | Copyright (c) 2008 Kyle Simpson, Getify Solutions, Inc. | This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php> */
2
+ (function(c){var E=c,h=c.document,z="undefined",a=true,L=false,g="",o="object",k="function",N="string",l="div",e="onunload",H=null,y=null,K=null,q=null,x=0,i=[],m=null,r=null,G="flXHR.js",n="flensed.js",P="flXHR.vbs",j="checkplayer.js",A="flXHR.swf",u=c.parseInt,w=c.setTimeout,f=c.clearTimeout,s=c.setInterval,v=c.clearInterval,O="instanceId",J="readyState",D="onreadystatechange",M="ontimeout",C="onerror",d="binaryResponseBody",F="xmlResponseText",I="loadPolicyURL",b="noCacheHeader",p="sendTimeout",B="appendToId",t="swfIdPrefix";if(typeof c.flensed===z){c.flensed={}}if(typeof c.flensed.flXHR!==z){return}y=c.flensed;w(function(){var Q=L,ab=h.getElementsByTagName("script"),V=ab.length;try{y.base_path.toLowerCase();Q=a}catch(T){y.base_path=g}function Z(ai,ah,aj){for(var ag=0;ag<V;ag++){if(typeof ab[ag].src!==z){if(ab[ag].src.indexOf(ai)>=0){break}}}var af=h.createElement("script");af.setAttribute("src",y.base_path+ai);if(typeof ah!==z){af.setAttribute("type",ah)}if(typeof aj!==z){af.setAttribute("language",aj)}h.getElementsByTagName("head")[0].appendChild(af)}if((typeof ab!==z)&&(ab!==null)){if(!Q){var ac=0;for(var U=0;U<V;U++){if(typeof ab[U].src!==z){if(((ac=ab[U].src.indexOf(n))>=0)||((ac=ab[U].src.indexOf(G))>=0)){y.base_path=ab[U].src.substr(0,ac);break}}}}}try{y.checkplayer.module_ready()}catch(aa){Z(j,"text/javascript")}var ad=null;(function ae(){try{y.ua.pv.join(".")}catch(af){ad=w(arguments.callee,25);return}if(y.ua.win&&y.ua.ie){Z(P,"text/vbscript","vbscript")}y.binaryToString=function(aj,ai){ai=(((y.ua.win&&y.ua.ie)&&typeof ai!==z)?(!(!ai)):!(y.ua.win&&y.ua.ie));if(!ai){try{return flXHR_vb_BinaryToString(aj)}catch(al){}}var am=g,ah=[];try{for(var ak=0;ak<aj.length;ak++){ah[ah.length]=String.fromCharCode(aj[ak])}am=ah.join(g)}catch(ag){}return am};y.bindEvent(E,e,function(){try{c.flensed.unbindEvent(E,e,arguments.callee);for(var ai in r){if(r[ai]!==Object.prototype[ai]){try{r[ai]=null}catch(ah){}}}y.flXHR=null;r=null;y=null;q=null;K=null}catch(ag){}})})();function Y(){f(ad);try{E.detachEvent(e,Y)}catch(af){}}if(ad!==null){try{E.attachEvent(e,Y)}catch(X){}}var S=null;function R(){f(S);try{E.detachEvent(e,R)}catch(af){}}try{E.attachEvent(e,R)}catch(W){}S=w(function(){R();try{y.checkplayer.module_ready()}catch(af){throw new c.Error("flXHR dependencies failed to load.")}},20000)},0);y.flXHR=function(aQ){var ab=L;if(aQ!==null&&typeof aQ===o){if(typeof aQ.instancePooling!==z){ab=!(!aQ.instancePooling);if(ab){var aF=function(){for(var aZ=0;aZ<i.length;aZ++){var a0=i[aZ];if(a0[J]===4){a0.Reset();a0.Configure(aQ);return a0}}return null}();if(aF!==null){return aF}}}}var aV=++x,ai=[],af=null,ah=null,X=null,Y=null,aL=-1,aa=null,ac=null,ao=null,aE=null,aw=null,aU=null,ak=null,Q=null,aK=null,Z=a,aB=L,aX="flXHR_"+aV,au=a,aC=L,aA=a,aI=L,S="flXHR_swf",ae="flXHRhideSwf",V=null,aG=-1,T=g,aJ=null,aD=null,aN=null;var U=function(){if(typeof aQ===o&&aQ!==null){if((typeof aQ[O]!==z)&&(aQ[O]!==null)&&(aQ[O]!==g)){aX=aQ[O]}if((typeof aQ[t]!==z)&&(aQ[t]!==null)&&(aQ[t]!==g)){S=aQ[t]}if((typeof aQ[B]!==z)&&(aQ[B]!==null)&&(aQ[B]!==g)){V=aQ[B]}if((typeof aQ[I]!==z)&&(aQ[I]!==null)&&(aQ[I]!==g)){T=aQ[I]}if(typeof aQ[b]!==z){au=!(!aQ[b])}if(typeof aQ[d]!==z){aC=!(!aQ[d])}if(typeof aQ[F]!==z){aA=!(!aQ[F])}if(typeof aQ.autoUpdatePlayer!==z){aI=!(!aQ.autoUpdatePlayer)}if((typeof aQ[p]!==z)&&((H=u(aQ[p],10))>0)){aG=H}if((typeof aQ[D]!==z)&&(aQ[D]!==null)){aJ=aQ[D]}if((typeof aQ[C]!==z)&&(aQ[C]!==null)){aD=aQ[C]}if((typeof aQ[M]!==z)&&(aQ[M]!==null)){aN=aQ[M]}}Y=S+"_"+aV;function aZ(){f(af);try{E.detachEvent(e,aZ)}catch(a2){}}try{E.attachEvent(e,aZ)}catch(a0){}(function a1(){try{y.bindEvent(E,e,aH)}catch(a2){af=w(arguments.callee,25);return}aZ();af=w(aS,1)})()}();function aS(){if(V===null){Q=h.getElementsByTagName("body")[0]}else{Q=y.getObjectById(V)}try{Q.nodeName.toLowerCase();y.checkplayer.module_ready();K=y.checkplayer}catch(a0){af=w(aS,25);return}if((q===null)&&(typeof K._ins===z)){try{q=new K(r.MIN_PLAYER_VERSION,aT,L,aq)}catch(aZ){aO(r.DEPENDENCY_ERROR,"flXHR: checkplayer Init Failed","The initialization of the 'checkplayer' library failed to complete.");return}}else{q=K._ins;ag()}}function ag(){if(q===null||!q.checkPassed){af=w(ag,25);return}if(m===null&&V===null){y.createCSS("."+ae,"left:-1px;top:0px;width:1px;height:1px;position:absolute;");m=a}var a3=h.createElement(l);a3.id=Y;a3.className=ae;Q.appendChild(a3);Q=null;var a0={},a4={allowScriptAccess:"always"},a1={id:Y,name:Y,styleclass:ae},a2={swfCB:aR,swfEICheck:"reset"};try{q.DoSWF(y.base_path+A,Y,"1","1",a0,a4,a1,a2)}catch(aZ){aO(r.DEPENDENCY_ERROR,"flXHR: checkplayer Call Failed","A call to the 'checkplayer' library failed to complete.");return}}function aR(aZ){if(aZ.status!==K.SWF_EI_READY){return}R();aU=y.getObjectById(Y);aU.setId(Y);if(T!==g){aU.loadPolicy(T)}aU.autoNoCacheHeader(au);aU.returnBinaryResponseBody(aC);aU.doOnReadyStateChange=al;aU.doOnError=aO;aU.sendProcessed=ap;aU.chunkResponse=ay;aL=0;ax();aW();if(typeof aJ===k){try{aJ(ak)}catch(a0){aO(r.HANDLER_ERROR,"flXHR::onreadystatechange(): Error","An error occurred in the handler function. ("+a0.message+")");return}}at()}function aH(){try{c.flensed.unbindEvent(E,e,aH)}catch(a2){}try{for(var a3=0;a3<i.length;a3++){if(i[a3]===ak){i[a3]=L}}}catch(ba){}try{for(var a5 in ak){if(ak[a5]!==Object.prototype[a5]){try{ak[a5]=null}catch(a9){}}}}catch(a8){}ak=null;R();if((typeof aU!==z)&&(aU!==null)){try{aU.abort()}catch(a7){}try{aU.doOnReadyStateChange=null;al=null}catch(a6){}try{aU.doOnError=null;doOnError=null}catch(a4){}try{aU.sendProcessed=null;ap=null}catch(a1){}try{aU.chunkResponse=null;ay=null}catch(a0){}aU=null;try{c.swfobject.removeSWF(Y)}catch(aZ){}}aP();aJ=null;aD=null;aN=null;ao=null;aa=null;aK=null;Q=null}function ay(){if(aC&&typeof arguments[0]!==z){aK=((aK!==null)?aK:[]);aK=aK.concat(arguments[0])}else{if(typeof arguments[0]===N){aK=((aK!==null)?aK:g);aK+=arguments[0]}}}function al(){if(typeof arguments[0]!==z){aL=arguments[0]}if(aL===4){R();if(aC&&aK!==null){try{ac=y.binaryToString(aK,a);try{aa=flXHR_vb_StringToBinary(ac)}catch(a1){aa=aK}}catch(a0){}}else{ac=aK}aK=null;if(ac!==g){if(aA){try{ao=y.parseXMLString(ac)}catch(aZ){ao={}}}}}if(typeof arguments[1]!==z){aE=arguments[1]}if(typeof arguments[2]!==z){aw=arguments[2]}ad(aL)}function ad(aZ){ax();aW();ak[J]=Math.max(0,aZ);if(typeof aJ===k){try{aJ(ak)}catch(a0){aO(r.HANDLER_ERROR,"flXHR::onreadystatechange(): Error","An error occurred in the handler function. ("+a0.message+")");return}}}function aO(){R();aP();aB=a;var a2;try{a2=new y.error(arguments[0],arguments[1],arguments[2],ak)}catch(a3){function a0(){this.number=0;this.name="flXHR Error: Unknown";this.description="Unknown error from 'flXHR' library.";this.message=this.description;this.srcElement=ak;var a7=this.number,a6=this.name,a9=this.description;function a8(){return a7+", "+a6+", "+a9}this.toString=a8}a2=new a0()}var a4=L;try{if(typeof aD===k){aD(a2);a4=a}}catch(aZ){var a1=a2.toString();function a5(){this.number=r.HANDLER_ERROR;this.name="flXHR::onerror(): Error";this.description="An error occured in the handler function. ("+aZ.message+")\nPrevious:["+a1+"]";this.message=this.description;this.srcElement=ak;var a7=this.number,a6=this.name,a9=this.description;function a8(){return a7+", "+a6+", "+a9}this.toString=a8}a2=new a5()}if(!a4){w(function(){y.throwUnhandledError(a2.toString())},1)}}function W(){am();aB=a;if(typeof aN===k){try{aN(ak)}catch(aZ){aO(r.HANDLER_ERROR,"flXHR::ontimeout(): Error","An error occurred in the handler function. ("+aZ.message+")");return}}else{aO(r.TIMEOUT_ERROR,"flXHR: Operation Timed out","The requested operation timed out.")}}function R(){f(af);af=null;f(X);X=null;f(ah);ah=null}function aY(a0,a1,aZ){ai[ai.length]={func:a0,funcName:a1,args:aZ};Z=L}function aP(){if(!Z){Z=a;var a0=ai.length;for(var aZ=0;aZ<a0;aZ++){try{ai[aZ]=L}catch(a1){}}ai=[]}}function at(){if(aL<0){ah=w(at,25);return}if(!Z){for(var aZ=0;aZ<ai.length;aZ++){try{if(ai[aZ]!==L){ai[aZ].func.apply(ak,ai[aZ].args);ai[aZ]=L}}catch(a0){aO(r.HANDLER_ERROR,"flXHR::"+ai[aZ].funcName+"(): Error","An error occurred in the "+ai[aZ].funcName+"() function.");return}}Z=a}}function aW(){try{ak[O]=aX;ak[J]=Math.max(0,aL);ak.status=aE;ak.statusText=aw;ak.responseText=ac;ak.responseXML=ao;ak.responseBody=aa;ak[D]=aJ;ak[C]=aD;ak[M]=aN;ak[I]=T;ak[b]=au;ak[d]=aC;ak[F]=aA}catch(aZ){}}function ax(){try{aX=ak[O];if(ak.timeout!==null&&(H=u(ak.timeout,10))>0){aG=H}aJ=ak[D];aD=ak[C];aN=ak[M];if(ak[I]!==null){if((ak[I]!==T)&&(aL>=0)){aU.loadPolicy(ak[I])}T=ak[I]}if(ak[b]!==null){if((ak[b]!==au)&&(aL>=0)){aU.autoNoCacheHeader(ak[b])}au=ak[b]}if(ak[d]!==null){if((ak[d]!==aC)&&(aL>=0)){aU.returnBinaryResponseBody(ak[d])}aC=ak[d]}if(aA!==null){aA=!(!ak[F])}}catch(aZ){}}function aM(){am();try{aU.reset()}catch(aZ){}aE=null;aw=null;ac=null;ao=null;aa=null;aK=null;aB=L;aW();T=g;ax()}function aT(aZ){if(aZ.checkPassed){ag()}else{if(!aI){aO(r.PLAYER_VERSION_ERROR,"flXHR: Insufficient Flash Player Version","The Flash Player was either not detected, or the detected version ("+aZ.playerVersionDetected+") was not at least the minimum version ("+r.MIN_PLAYER_VERSION+") needed by the 'flXHR' library.")}else{q.UpdatePlayer()}}}function aq(aZ){if(aZ.updateStatus===K.UPDATE_CANCELED){aO(r.PLAYER_VERSION_ERROR,"flXHR: Flash Player Update Canceled","The Flash Player was not updated.")}else{if(aZ.updateStatus===K.UPDATE_FAILED){aO(r.PLAYER_VERSION_ERROR,"flXHR: Flash Player Update Failed","The Flash Player was either not detected or could not be updated.")}}}function ap(){if(aG!==null&&aG>0){X=w(W,aG)}}function am(){R();aP();ax();aL=0;try{aU.abort()}catch(aZ){aO(r.CALL_ERROR,"flXHR::abort(): Failed","The abort() call failed to complete.")}aW()}function av(){ax();if(typeof arguments[0]===z||typeof arguments[1]===z){aO(r.CALL_ERROR,"flXHR::open(): Failed","The open() call requires 'method' and 'url' parameters.")}else{if(aL>0||aB){aM()}if(ak[J]===0){al(1)}else{aL=1}var a6=arguments[0],a5=arguments[1],aZ=(typeof arguments[2]!==z)?arguments[2]:a,a9=(typeof arguments[3]!==z)?arguments[3]:g,a8=(typeof arguments[4]!==z)?arguments[4]:g;try{aU.autoNoCacheHeader(au);aU.open(a6,a5,aZ,a9,a8)}catch(a7){aO(r.CALL_ERROR,"flXHR::open(): Failed","The open() call failed to complete.")}}}function az(){ax();if(aL<=1&&!aB){var aZ=(typeof arguments[0]!==z)?arguments[0]:g;if(ak[J]===1){al(2)}else{aL=2}try{aU.autoNoCacheHeader(au);aU.send(aZ)}catch(a1){aO(r.CALL_ERROR,"flXHR::send(): Failed","The send() call failed to complete.")}}else{aO(r.CALL_ERROR,"flXHR::send(): Failed","The send() call cannot be made at this time.")}}function aj(){ax();if(typeof arguments[0]===z||typeof arguments[1]===z){aO(r.CALL_ERROR,"flXHR::setRequestHeader(): Failed","The setRequestHeader() call requires 'name' and 'value' parameters.")}else{if(!aB){var a2=(typeof arguments[0]!==z)?arguments[0]:g,aZ=(typeof arguments[1]!==z)?arguments[1]:g;try{aU.setRequestHeader(a2,aZ)}catch(a3){aO(r.CALL_ERROR,"flXHR::setRequestHeader(): Failed","The setRequestHeader() call failed to complete.")}}}}function an(){ax();return g}function ar(){ax();return[]}ak={readyState:0,responseBody:aa,responseText:ac,responseXML:ao,status:aE,statusText:aw,timeout:aG,open:function(){ax();if(ak[J]===0){ad(1)}if(!Z||aL<0){aY(av,"open",arguments);return}av.apply({},arguments)},send:function(){ax();if(ak[J]===1){ad(2)}if(!Z||aL<0){aY(az,"send",arguments);return}az.apply({},arguments)},abort:am,setRequestHeader:function(){ax();if(!Z||aL<0){aY(aj,"setRequestHeader",arguments);return}aj.apply({},arguments)},getResponseHeader:an,getAllResponseHeaders:ar,onreadystatechange:aJ,ontimeout:aN,instanceId:aX,loadPolicyURL:T,noCacheHeader:au,binaryResponseBody:aC,xmlResponseText:aA,onerror:aD,Configure:function(aZ){if(typeof aZ===o&&aZ!==null){if((typeof aZ[O]!==z)&&(aZ[O]!==null)&&(aZ[O]!==g)){aX=aZ[O]}if(typeof aZ[b]!==z){au=!(!aZ[b]);if(aL>=0){aU.autoNoCacheHeader(au)}}if(typeof aZ[d]!==z){aC=!(!aZ[d]);if(aL>=0){aU.returnBinaryResponseBody(aC)}}if(typeof aZ[F]!==z){aA=!(!aZ[F])}if((typeof aZ[D]!==z)&&(aZ[D]!==null)){aJ=aZ[D]}if((typeof aZ[C]!==z)&&(aZ[C]!==null)){aD=aZ[C]}if((typeof aZ[M]!==z)&&(aZ[M]!==null)){aN=aZ[M]}if((typeof aZ[p]!==z)&&((H=u(aZ[p],10))>0)){aG=H}if((typeof aZ[I]!==z)&&(aZ[I]!==null)&&(aZ[I]!==g)&&(aZ[I]!==T)){T=aZ[I];if(aL>=0){aU.loadPolicy(T)}}aW()}},Reset:aM,Destroy:aH};if(ab){i[i.length]=ak}return ak};r=y.flXHR;r.HANDLER_ERROR=10;r.CALL_ERROR=11;r.TIMEOUT_ERROR=12;r.DEPENDENCY_ERROR=13;r.PLAYER_VERSION_ERROR=14;r.SECURITY_ERROR=15;r.COMMUNICATION_ERROR=16;r.MIN_PLAYER_VERSION="9.0.124";r.module_ready=function(){}})(window);
@@ -0,0 +1,44 @@
1
+ ' flXHR 1.0.4 (VB Binary Helpers) <http://flxhr.flensed.com/>
2
+ ' Copyright (c) 2008 Kyle Simpson, Getify Solutions, Inc.
3
+ ' This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
4
+ '
5
+ ' ====================================================================================================
6
+
7
+ Function flXHR_vb_BinaryToString(obj)
8
+ Dim I,S
9
+ Dim J
10
+ For I = 1 to LenB(obj)
11
+ J = AscB(MidB(obj,I,1))
12
+ If J = 0 Then
13
+ S = S & ""
14
+ Else
15
+ S = S & Chr(J)
16
+ End If
17
+ Next
18
+ flXHR_vb_BinaryToString = S
19
+ End Function
20
+
21
+ Function flXHR_vb_SizeOfBytes(obj)
22
+ Dim I
23
+ I = LenB(obj)
24
+ flXHR_vb_SizeOfBytes = I
25
+ End Function
26
+
27
+ Function flXHR_vb_StringToBinary(str)
28
+ dim binobj
29
+ dim ahex(),oparser,oelem
30
+ redim ahex(len(str)-1)
31
+ for i=0 to len(str)-1
32
+ ahex(i)=right("00" & hex(asc(mid(str,i+1,1))),2)
33
+ next
34
+ set oparser=createobject("msxml2.domdocument")
35
+ with oparser
36
+ set oelem=.createElement("x")
37
+ oelem.datatype="bin.hex"
38
+ oelem.text=join(ahex,"")
39
+ binobj=oelem.nodetypedvalue
40
+ end with
41
+ set oelem=nothing
42
+ set oparser=nothing
43
+ flXHR_vb_StringToBinary=binobj
44
+ End Function
@@ -0,0 +1,12 @@
1
+ /* flensedCore 1.0 <http://www.flensed.com/>
2
+ Copyright (c) 2008 Kyle Simpson, Getify Solutions, Inc.
3
+ This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
4
+
5
+ ====================================================================================================
6
+ Portions of this code were extracted and/or derived from:
7
+
8
+ SWFObject v2.1 & 2.2a8 <http://code.google.com/p/swfobject/>
9
+ Copyright (c) 2007-2008 Geoff Stearns, Michael Williams, and Bobby van der Sluis
10
+ This software is released under the MIT License <http://www.opensource.org/licenses/mit-license.php>
11
+ */
12
+ (function(B){var H=B,L=B.document,N="undefined",M=true,C=false,E="",F="object",D="string",G=null,J=null,I=null,K=B.parseInt,A=B.setTimeout;if(typeof B.flensed===N){B.flensed={}}else{if(typeof B.flensed.ua!==N){return}}G=B.flensed;A(function(){var P="flensed.js",U=C,R=L.getElementsByTagName("script"),T=R.length;try{G.base_path.toLowerCase();U=M}catch(S){G.base_path=E}if((typeof R!==N)&&(R!==null)){if(!U){var O=0;for(var Q=0;Q<T;Q++){if(typeof R[Q].src!==N){if((O=R[Q].src.indexOf(P))>=0){G.base_path=R[Q].src.substr(0,O);break}}}}}},0);G.parseXMLString=function(P){var O=null;if(H.ActiveXObject){O=new B.ActiveXObject("Microsoft.XMLDOM");O.async=C;O.loadXML(P)}else{var Q=new B.DOMParser();O=Q.parseFromString(P,"text/xml")}return O};G.getObjectById=function(O){try{if(L.layers){return L.layers[O]}else{if(L.all){return L.all[O]}else{if(L.getElementById){return L.getElementById(O)}}}}catch(P){}return null};G.createCSS=function(T,P,U,S){if(G.ua.ie&&G.ua.mac){return}var R=L.getElementsByTagName("head")[0];if(!R){return}var O=(U&&typeof U===D)?U:"screen";if(S){J=null;I=null}if(!J||I!==O){var Q=L.createElement("style");Q.setAttribute("type","text/css");Q.setAttribute("media",O);J=R.appendChild(Q);if(G.ua.ie&&G.ua.win&&typeof L.styleSheets!==N&&L.styleSheets.length>0){J=L.styleSheets[L.styleSheets.length-1]}I=O}if(G.ua.ie&&G.ua.win){if(J&&typeof J.addRule===F){J.addRule(T,P)}}else{if(J&&typeof L.createTextNode!==N){J.appendChild(L.createTextNode(T+" {"+P+"}"))}}};G.bindEvent=function(R,O,Q){O=O.toLowerCase();try{if(typeof R.addEventListener!==N){R.addEventListener(O.replace(/^on/,E),Q,C)}else{if(typeof R.attachEvent!==N){R.attachEvent(O,Q)}}}catch(P){}};G.unbindEvent=function(R,O,Q){O=O.toLowerCase();try{if(typeof R.removeEventListener!==N){R.removeEventListener(O.replace(/^on/,E),Q,C)}else{if(typeof R.detachEvent!==N){R.detachEvent(O,Q)}}}catch(P){}};G.throwUnhandledError=function(O){throw new B.Error(O)};G.error=function(R,P,Q,O){return{number:R,name:P,description:Q,message:Q,srcElement:O,toString:function(){return R+", "+P+", "+Q}}};G.ua=function(){var U="Shockwave Flash",O="ShockwaveFlash.ShockwaveFlash",Y="application/x-shockwave-flash",P=B.navigator,V=typeof L.getElementById!==N&&typeof L.getElementsByTagName!==N&&typeof L.createElement!==N,f=[0,0,0],X=null;if(typeof P.plugins!==N&&typeof P.plugins[U]===F){X=P.plugins[U].description;if(X&&!(typeof P.mimeTypes!==N&&P.mimeTypes[Y]&&!P.mimeTypes[Y].enabledPlugin)){X=X.replace(/^.*\s+(\S+\s+\S+$)/,"$1");f[0]=K(X.replace(/^(.*)\..*$/,"$1"),10);f[1]=K(X.replace(/^.*\.(.*)\s.*$/,"$1"),10);f[2]=/r/.test(X)?K(X.replace(/^.*r(.*)$/,"$1"),10):0}}else{if(typeof H.ActiveXObject!==N){try{var Z=new B.ActiveXObject(O);if(Z){X=Z.GetVariable("$version");if(X){X=X.split(" ")[1].split(",");f=[K(X[0],10),K(X[1],10),K(X[2],10)]}}}catch(T){}}}var e=P.userAgent.toLowerCase(),S=P.platform.toLowerCase(),c=/webkit/.test(e)?parseFloat(e.replace(/^.*webkit\/(\d+(\.\d+)?).*$/,"$1")):C,Q=C,R=0,b=S?/win/.test(S):/win/.test(e),W=S?/mac/.test(S):/mac/.test(e);/*@cc_on Q=M;try{R=K(e.match(/msie (\d+)/)[1],10);}catch(e2){}@if(@_win32)b=M;@elif(@_mac)W=M;@end @*/return{w3cdom:V,pv:f,webkit:c,ie:Q,ieVer:R,win:b,mac:W}}()})(window);
@@ -0,0 +1,31 @@
1
+ /* flXHR plugin
2
+ **
3
+ ** This plugin implements cross-domain XmlHttpRequests via an invisible
4
+ ** Flash plugin.
5
+ **
6
+ ** In order for this to work, the BOSH service *must* serve a
7
+ ** crossdomain.xml file that allows the client access.
8
+ **
9
+ ** flXHR.js should be loaded before this plugin.
10
+ */
11
+
12
+ Strophe.addConnectionPlugin('flxhr', {
13
+ init: function () {
14
+ // replace Strophe.Request._newXHR with new flXHR version
15
+ // if flXHR is detected
16
+ if (flensed && flensed.flXHR) {
17
+ Strophe.Request.prototype._newXHR = function () {
18
+ var xhr = new flensed.flXHR({
19
+ autoUpdatePlayer: true,
20
+ instancePooling: true,
21
+ noCacheHeader: false});
22
+ xhr.onreadystatechange = this.func.prependArg(this);
23
+
24
+ return xhr;
25
+ };
26
+ } else {
27
+ Strophe.error("flXHR plugin loaded, but flXHR not found." +
28
+ " Falling back to native XHR implementation.");
29
+ }
30
+ }
31
+ });