├── LICENSE
├── README.md
├── openfire-websockets
├── build
│ ├── build.cmd
│ ├── build.txt
│ ├── build.xml
│ └── classes
│ │ └── com
│ │ └── ifsoft
│ │ └── websockets
│ │ ├── BasicStreamID.class
│ │ ├── WSConnection.class
│ │ ├── plugin
│ │ └── WebSocketsPlugin.class
│ │ └── servlet
│ │ ├── WebSocketsAdmin.class
│ │ ├── XMPPServlet$WSocketCreator.class
│ │ ├── XMPPServlet$XMPPWebSocket.class
│ │ └── XMPPServlet.class
├── plugin
│ ├── WEB-INF
│ │ ├── lib
│ │ │ ├── WebSockets.jar
│ │ │ └── websockets.jar
│ │ └── web.xml
│ ├── changelog.html
│ ├── index.html
│ ├── lib
│ │ ├── WebSockets.jar
│ │ └── websockets.jar
│ ├── ofchat-010.crx
│ ├── peek
│ │ ├── index.html
│ │ ├── openfire-websockets.js
│ │ ├── peek.css
│ │ └── peek.js
│ ├── plugin.xml
│ ├── readme.html
│ ├── sparkweb
│ │ ├── chat
│ │ │ ├── images
│ │ │ │ ├── addcontact_16x16.png
│ │ │ │ ├── basic-dialog
│ │ │ │ │ ├── Thumbs.db
│ │ │ │ │ ├── btn-sprite.gif
│ │ │ │ │ ├── close.gif
│ │ │ │ │ ├── e-handle.gif
│ │ │ │ │ ├── gray
│ │ │ │ │ │ ├── Thumbs.db
│ │ │ │ │ │ ├── close.gif
│ │ │ │ │ │ ├── dlg-bg.gif
│ │ │ │ │ │ ├── e-handle.gif
│ │ │ │ │ │ ├── hd-sprite.gif
│ │ │ │ │ │ ├── s-handle.gif
│ │ │ │ │ │ └── se-handle.gif
│ │ │ │ │ ├── hd-sprite.gif
│ │ │ │ │ ├── ignite
│ │ │ │ │ │ ├── Thumbs.db
│ │ │ │ │ │ ├── close.gif
│ │ │ │ │ │ ├── e-handle.gif
│ │ │ │ │ │ ├── group-bg.jpg
│ │ │ │ │ │ ├── hd-sprite.gif
│ │ │ │ │ │ └── s-handle.gif
│ │ │ │ │ ├── s-handle.gif
│ │ │ │ │ └── se-handle.gif
│ │ │ │ ├── certificateimg_warning.gif
│ │ │ │ ├── chat_16x16.gif
│ │ │ │ ├── clear.gif
│ │ │ │ ├── conference_16x16.png
│ │ │ │ ├── createconf_16x16.png
│ │ │ │ ├── downloads_16x16.png
│ │ │ │ ├── emoticons
│ │ │ │ │ ├── Thumbs.db
│ │ │ │ │ ├── angry.gif
│ │ │ │ │ ├── confused.gif
│ │ │ │ │ ├── cool.gif
│ │ │ │ │ ├── cry.gif
│ │ │ │ │ ├── devil.gif
│ │ │ │ │ ├── grin.gif
│ │ │ │ │ ├── happy.gif
│ │ │ │ │ ├── laugh.gif
│ │ │ │ │ ├── love.gif
│ │ │ │ │ ├── mischief.gif
│ │ │ │ │ ├── sad.gif
│ │ │ │ │ ├── silly.gif
│ │ │ │ │ ├── smirk.gif
│ │ │ │ │ └── wink.gif
│ │ │ │ ├── gradient-bg.gif
│ │ │ │ ├── grid
│ │ │ │ │ ├── Thumbs.db
│ │ │ │ │ ├── arrow-left-white.gif
│ │ │ │ │ ├── arrow-right-white.gif
│ │ │ │ │ ├── done.gif
│ │ │ │ │ ├── drop-no.gif
│ │ │ │ │ ├── drop-yes.gif
│ │ │ │ │ ├── footer-bg.gif
│ │ │ │ │ ├── grid-blue-hd.gif
│ │ │ │ │ ├── grid-blue-split.gif
│ │ │ │ │ ├── grid-loading.gif
│ │ │ │ │ ├── grid-split.gif
│ │ │ │ │ ├── grid-vista-hd.gif
│ │ │ │ │ ├── invalid_line.gif
│ │ │ │ │ ├── loading.gif
│ │ │ │ │ ├── mso-hd.gif
│ │ │ │ │ ├── nowait.gif
│ │ │ │ │ ├── page-first-disabled.gif
│ │ │ │ │ ├── page-first.gif
│ │ │ │ │ ├── page-last-disabled.gif
│ │ │ │ │ ├── page-last.gif
│ │ │ │ │ ├── page-next-disabled.gif
│ │ │ │ │ ├── page-next.gif
│ │ │ │ │ ├── page-prev-disabled.gif
│ │ │ │ │ ├── page-prev.gif
│ │ │ │ │ ├── pick-button.gif
│ │ │ │ │ ├── refresh.gif
│ │ │ │ │ ├── sort_asc.gif
│ │ │ │ │ ├── sort_desc.gif
│ │ │ │ │ └── wait.gif
│ │ │ │ ├── group-bg.png
│ │ │ │ ├── home.gif
│ │ │ │ ├── icon_warning.gif
│ │ │ │ ├── im_available.png
│ │ │ │ ├── im_available_stale.png
│ │ │ │ ├── im_away.png
│ │ │ │ ├── im_away_stale.png
│ │ │ │ ├── im_dnd.png
│ │ │ │ ├── im_dnd_stale.png
│ │ │ │ ├── im_free_chat.png
│ │ │ │ ├── im_free_chat_stale.png
│ │ │ │ ├── im_onphone.png
│ │ │ │ ├── im_onroad.png
│ │ │ │ ├── im_pending.png
│ │ │ │ ├── im_unavailable.png
│ │ │ │ ├── im_unavailable_stale.png
│ │ │ │ ├── info_icon.png
│ │ │ │ ├── jive-avatar-22x22_bg.gif
│ │ │ │ ├── layout
│ │ │ │ │ ├── Thumbs.db
│ │ │ │ │ ├── collapse.gif
│ │ │ │ │ ├── expand.gif
│ │ │ │ │ ├── gradient-bg.gif
│ │ │ │ │ ├── gray
│ │ │ │ │ │ ├── Thumbs.db
│ │ │ │ │ │ ├── collapse.gif
│ │ │ │ │ │ ├── expand.gif
│ │ │ │ │ │ ├── gradient-bg.gif
│ │ │ │ │ │ ├── ns-collapse.gif
│ │ │ │ │ │ ├── ns-expand.gif
│ │ │ │ │ │ ├── panel-close.gif
│ │ │ │ │ │ ├── panel-title-bg.gif
│ │ │ │ │ │ ├── panel-title-light-bg.gif
│ │ │ │ │ │ ├── screenshot.gif
│ │ │ │ │ │ ├── tab-close-on.gif
│ │ │ │ │ │ └── tab-close.gif
│ │ │ │ │ ├── ns-collapse.gif
│ │ │ │ │ ├── ns-expand.gif
│ │ │ │ │ ├── panel-close.gif
│ │ │ │ │ ├── panel-title-bg.gif
│ │ │ │ │ ├── panel-title-light-bg.gif
│ │ │ │ │ ├── tab-close-on.gif
│ │ │ │ │ └── tab-close.gif
│ │ │ │ ├── login
│ │ │ │ │ ├── Thumbs.db
│ │ │ │ │ ├── anim-loading.gif
│ │ │ │ │ ├── avatar.gif
│ │ │ │ │ ├── backgrounds
│ │ │ │ │ │ ├── Thumbs.db
│ │ │ │ │ │ ├── bg_Flower.png
│ │ │ │ │ │ ├── bg_Footer.png
│ │ │ │ │ │ ├── bg_Login-Bottom.png
│ │ │ │ │ │ ├── bg_LoginBody.png
│ │ │ │ │ │ ├── bg_LoginTop-Button.png
│ │ │ │ │ │ ├── bg_LoginTop-NoButton.png
│ │ │ │ │ │ ├── bg_Spark.png
│ │ │ │ │ │ └── bg_body.gif
│ │ │ │ │ ├── buttons
│ │ │ │ │ │ ├── Thumbs.db
│ │ │ │ │ │ ├── btn_CreateAccount-Active.png
│ │ │ │ │ │ ├── btn_CreateAccount-Depressed.png
│ │ │ │ │ │ ├── btn_CreateAccount-Hover.png
│ │ │ │ │ │ ├── btn_CreateAccount.png
│ │ │ │ │ │ ├── btn_Large.gif
│ │ │ │ │ │ ├── btn_Large.png
│ │ │ │ │ │ ├── btn_Login-Active.png
│ │ │ │ │ │ ├── btn_Login-Depressed.png
│ │ │ │ │ │ ├── btn_Login-Hover.png
│ │ │ │ │ │ ├── btn_Login.png
│ │ │ │ │ │ ├── btn_Small.gif
│ │ │ │ │ │ └── btn_Small.png
│ │ │ │ │ ├── icons
│ │ │ │ │ │ ├── Thumbs.db
│ │ │ │ │ │ └── warning.png
│ │ │ │ │ ├── logo_SparkWeb-large.gif
│ │ │ │ │ ├── logo_SparkWeb-small.gif
│ │ │ │ │ └── logo_SparkWebvX.gif
│ │ │ │ ├── login_background.png
│ │ │ │ ├── menutri.gif
│ │ │ │ ├── message_edit.png
│ │ │ │ ├── metallic_down.png
│ │ │ │ ├── metallic_up.png
│ │ │ │ ├── office.gif
│ │ │ │ ├── progress.gif
│ │ │ │ ├── s.gif
│ │ │ │ ├── screen.gif
│ │ │ │ ├── sizer
│ │ │ │ │ ├── Thumbs.db
│ │ │ │ │ ├── e-handle-dark.gif
│ │ │ │ │ ├── e-handle.gif
│ │ │ │ │ ├── gray
│ │ │ │ │ │ ├── e-handle-dark.gif
│ │ │ │ │ │ ├── e-handle.gif
│ │ │ │ │ │ ├── s-handle-dark.gif
│ │ │ │ │ │ ├── s-handle.gif
│ │ │ │ │ │ ├── se-handle-dark.gif
│ │ │ │ │ │ └── se-handle.gif
│ │ │ │ │ ├── s-handle-dark.gif
│ │ │ │ │ ├── s-handle.gif
│ │ │ │ │ ├── se-handle-dark.gif
│ │ │ │ │ └── se-handle.gif
│ │ │ │ ├── spark_logo.png
│ │ │ │ ├── sparkbg.gif
│ │ │ │ ├── sparkweb-avatar.png
│ │ │ │ ├── sparkweb-black
│ │ │ │ │ ├── Thumbs.db
│ │ │ │ │ ├── bg-roster-userhighlight.gif
│ │ │ │ │ ├── bg_grouplabel.gif
│ │ │ │ │ ├── bg_titlebar.gif
│ │ │ │ │ ├── bg_titlebar.png
│ │ │ │ │ ├── bg_titlebar_ie.gif
│ │ │ │ │ ├── bg_titlebar_left.png
│ │ │ │ │ ├── bg_titlebar_right.png
│ │ │ │ │ ├── bg_usercontrols.gif
│ │ │ │ │ ├── close-sprite.gif
│ │ │ │ │ ├── handle-e.gif
│ │ │ │ │ ├── handle-s.gif
│ │ │ │ │ ├── handle-se.gif
│ │ │ │ │ ├── icon-addcontact.png
│ │ │ │ │ ├── icon-arrow-dwn.gif
│ │ │ │ │ ├── icon-arrow-rght.gif
│ │ │ │ │ ├── icon-groupchat.gif
│ │ │ │ │ ├── icon-groupchat.png
│ │ │ │ │ ├── icon-split-h.gif
│ │ │ │ │ ├── icon-split-v.gif
│ │ │ │ │ ├── icon-startchat.png
│ │ │ │ │ ├── icon-tinyarrow-dwn.gif
│ │ │ │ │ ├── tab-btm-inactive-left-bg.gif
│ │ │ │ │ ├── tab-btm-inactive-right-bg.gif
│ │ │ │ │ ├── tab-btm-left-bg.gif
│ │ │ │ │ ├── tab-btm-right-bg.gif
│ │ │ │ │ └── tab-close.gif
│ │ │ │ ├── tabs
│ │ │ │ │ ├── Thumbs.db
│ │ │ │ │ ├── gray
│ │ │ │ │ │ ├── tab-btm-inactive-left-bg.gif
│ │ │ │ │ │ ├── tab-btm-inactive-right-bg.gif
│ │ │ │ │ │ ├── tab-btm-left-bg.gif
│ │ │ │ │ │ ├── tab-btm-right-bg.gif
│ │ │ │ │ │ └── tab-sprite.gif
│ │ │ │ │ ├── tab-btm-inactive-left-bg.gif
│ │ │ │ │ ├── tab-btm-inactive-right-bg.gif
│ │ │ │ │ ├── tab-btm-left-bg.gif
│ │ │ │ │ ├── tab-btm-right-bg.gif
│ │ │ │ │ └── tab-sprite.gif
│ │ │ │ └── vm.gif
│ │ │ ├── javascript
│ │ │ │ ├── spank.js
│ │ │ │ ├── sparkweb.js
│ │ │ │ ├── thirdparty.js
│ │ │ │ ├── xmpp-bosh.js
│ │ │ │ ├── xmpp-ws.js
│ │ │ │ └── yui.js
│ │ │ ├── style
│ │ │ │ ├── basic-dialog.css
│ │ │ │ ├── grid.css
│ │ │ │ ├── layout.css
│ │ │ │ ├── load.xml
│ │ │ │ ├── login.css
│ │ │ │ ├── menu.css
│ │ │ │ ├── resizable.css
│ │ │ │ ├── spank.css
│ │ │ │ ├── tabs.css
│ │ │ │ └── toolbar.css
│ │ │ └── vcard.html
│ │ ├── index.html
│ │ ├── site.manifest
│ │ └── spank.html
│ └── web
│ │ ├── WEB-INF
│ │ └── web.xml
│ │ └── images
│ │ ├── add-16x16.gif
│ │ ├── available.png
│ │ ├── delete-16x16.gif
│ │ ├── edit-16x16.gif
│ │ ├── icon_calendarpicker.gif
│ │ ├── icon_help_14x14.gif
│ │ ├── refresh-16x16.gif
│ │ ├── success-16x16.gif
│ │ └── unavailable.png
└── src
│ ├── com
│ └── ifsoft
│ │ └── websockets
│ │ ├── BasicStreamID.java
│ │ ├── WSConnection.java
│ │ ├── plugin
│ │ └── WebSocketsPlugin.java
│ │ └── servlet
│ │ ├── WebSocketsAdmin.java
│ │ └── XMPPServlet.java
│ └── ofchat
│ ├── 1.gif
│ ├── css
│ ├── boxy.css
│ ├── left.css
│ ├── right.css
│ └── style.css
│ ├── html
│ ├── background.html
│ ├── guide.html
│ ├── notification.html
│ ├── updated.html
│ └── vcard.html
│ ├── icon.gif
│ ├── icon.png
│ ├── icon128.gif
│ ├── icon16.gif
│ ├── icon48.gif
│ ├── icon_disabled.png
│ ├── icon_enabled.png
│ ├── images
│ ├── emoticons
│ │ ├── angry.gif
│ │ ├── blush.gif
│ │ ├── confused.gif
│ │ ├── cool.gif
│ │ ├── cry.gif
│ │ ├── grin.gif
│ │ ├── happy.gif
│ │ ├── laugh.gif
│ │ ├── love.gif
│ │ ├── mischief.gif
│ │ ├── plain.gif
│ │ ├── sad.gif
│ │ ├── shocked.gif
│ │ ├── silly.gif
│ │ └── wink.gif
│ ├── gateways
│ │ ├── aim.gif
│ │ ├── facebook.png
│ │ ├── gtalk.gif
│ │ ├── msn.gif
│ │ ├── twitter.gif
│ │ ├── xmpp.png
│ │ └── yahoo.gif
│ └── media
│ │ ├── camera.gif
│ │ ├── camera.jpg
│ │ └── mic.jpg
│ ├── js
│ ├── background
│ │ ├── boss.js
│ │ ├── jquery.2regex.js
│ │ ├── jquery.md5.js
│ │ ├── secretary.js
│ │ └── state.js
│ ├── gtalklet.js
│ ├── injection
│ │ ├── left.js
│ │ └── right.js
│ ├── jquery.boxy.js
│ ├── jquery.js
│ ├── sdptojingle.js
│ ├── strophejs
│ │ ├── CHANGELOG.txt
│ │ ├── LICENSE.txt
│ │ ├── README.txt
│ │ ├── plugins
│ │ │ ├── mixin.support.js
│ │ │ ├── plugin.0030.js
│ │ │ ├── plugin.cm.js
│ │ │ ├── plugin.muc.js
│ │ │ ├── plugin.roster.js
│ │ │ └── strophe.flxhr.js
│ │ ├── src
│ │ │ ├── base64.js
│ │ │ ├── core.js
│ │ │ ├── md5.js
│ │ │ └── strophe-openfire.js
│ │ └── strophe.js
│ └── tab
│ │ ├── assistant.js
│ │ ├── autolink.js
│ │ ├── autoresize.js
│ │ ├── follower.js
│ │ ├── jingle.js
│ │ ├── jquery.blockUI.js
│ │ ├── jquery.scrollTo.js
│ │ ├── jquery.scrollbarWidth.js
│ │ ├── jquery.switchToClass.js
│ │ └── micro-templating.js
│ ├── manifest.json
│ ├── notification.gif
│ ├── options
│ ├── fancy-settings
│ │ ├── CHANGELOG.md
│ │ ├── LICENSE.txt
│ │ ├── README.md
│ │ ├── resources
│ │ │ └── icon.drawit
│ │ │ │ ├── Data
│ │ │ │ ├── Info.plist
│ │ │ │ └── QuickLook
│ │ │ │ ├── Preview.jpg
│ │ │ │ └── Thumbnail.jpg
│ │ └── source
│ │ │ ├── css
│ │ │ ├── main.css
│ │ │ └── setting.css
│ │ │ ├── custom.css
│ │ │ ├── i18n.js
│ │ │ ├── icon.png
│ │ │ ├── index.html
│ │ │ ├── js
│ │ │ ├── classes
│ │ │ │ ├── fancy-settings.js
│ │ │ │ ├── search.js
│ │ │ │ ├── setting.js
│ │ │ │ └── tab.js
│ │ │ └── i18n.js
│ │ │ ├── lib
│ │ │ ├── default.css
│ │ │ ├── mootools-core.js
│ │ │ └── store.js
│ │ │ ├── manifest.js
│ │ │ └── settings.js
│ ├── i18n.js
│ ├── icon.gif
│ ├── icon.png
│ ├── index.html
│ ├── manifest.js
│ └── settings.js
│ └── popup.html
├── strophe-openfire-websocket.js
└── websockets.war
/README.md:
--------------------------------------------------------------------------------
1 | # strophe-openfire-websocket
2 | Use strophe to connect nginx or haproxy websocket proxy
3 |
4 | Recommand using haproxy as websocket proxy because "Connection reset by peer" happens in nginx and then connection become unavailiable, especially lots of concurrent connections or large data transfer
5 |
6 | Especially thanks to Dele Olajide for developing the project (https://code.google.com/p/openfire-websockets/)
7 |
8 | ## Installation
9 | ####Server Side (openfire):
10 | * If you use Openfire 3.10, download websockets.war (I rebuild the plugin source within openfire 3.10 source) here and put it to your openfire plugin directory
11 | * If you use Openfire 3.9.3, download websocket plugin (websockets-0.0.0.6.zip, https://code.google.com/p/openfire-websockets/downloads/list) and unzip file to your openfire plugin directory
12 | * Restart openfire server (When you use websockets.war, you have to check whether websocket.jar and Websocket.jar coexist in plugin directory. If it happens, delete Websocket.jar and restart openfire to ensure openfire load correct jar)
13 | * Visit openfire admin site and select the tab "Server" and you should see the child tab "WebSockets" and the default "Web Application Name" is ws
14 |
15 | ####Server Side (nginx):
16 | Note: if you want to connect openfire directly, just skip this step
17 | ```
18 | location /xmpp-websocket {
19 | proxy_pass http://yourOpenfireServer:7070/ws/server;
20 | proxy_http_version 1.1;
21 | proxy_set_header Upgrade $http_upgrade;
22 | proxy_set_header Connection "upgrade";
23 | proxy_set_header Host $host;
24 | tcp_nodelay on;
25 | }
26 | ```
27 |
28 | ####Server Side (haproxy):
29 | Note: if you want to connect openfire directly, just skip this step
30 | ```
31 | global
32 | nbproc 2
33 | daemon
34 | maxconn 4096
35 |
36 | defaults
37 | mode http
38 | timeout connect 5s
39 | timeout queue 5s
40 | timeout server 30s
41 | timeout client 5s
42 | timeout tunnel 1h
43 |
44 | frontend wss
45 | bind *:44443 ssl crt yourcrtfile_location
46 | timeout client 1h
47 | default_backend ws_backend
48 |
49 | backend ws_backend
50 | balance source
51 | option forwardfor # This sets X-Forwarded-For
52 | timeout queue 86400000
53 | timeout server 86400000
54 | timeout connect 86400000
55 |
56 | server ws1 54.223.130.159:7070 weight 1 maxconn 4096 check inter 10000
57 |
58 | listen stats
59 | bind :55688 ssl crt yourcrtfile_location
60 | mode http
61 | stats enable
62 | stats hide-version
63 | stats realm Haproxy\ Statistics
64 | stats uri /
65 | stats auth admin:adminPassword
66 | stats refresh 10s
67 | ```
68 |
69 | ####Client Side (to nginx websocket proxy (openfire)):
70 | * Checkout strophe-openfire-websocket.js and include strophe-openfire-websocket.js to your html
71 | * Add the code below to your js
72 | ```html
73 | var arrURL = document.URL.split('/'),
74 | protocol = (arrURL[0] === 'http:' ? 'ws://' : 'wss://'),
75 | wsUrl = protocol + arrURL[2] + '/xmpp-websocket';
76 |
77 | var conn = new Openfire.Connection(wsUrl);
78 | ```
79 |
80 | ####Client Side (to haproxy websocket proxy (openfire)):
81 | * Checkout strophe-openfire-websocket.js and include strophe-openfire-websocket.js to your html
82 | * Add the code below to your js
83 | ```html
84 | var conn = new Openfire.Connection('wss://yourHaproxyServer:44443/ws/server');
85 | ```
86 |
87 | ####Client Side (to openfire directly):
88 | * Checkout strophe-openfire-websocket.js and include strophe-openfire-websocket.js to your html
89 | * Add the code below to your js
90 | ```html
91 | var conn = new Openfire.Connection("ws://yourOpenfireServer:7070/ws/server");
92 | ```
93 |
--------------------------------------------------------------------------------
/openfire-websockets/build/build.cmd:
--------------------------------------------------------------------------------
1 | call ant war >build.txt
2 |
3 | rd "C:\Program Files\Openfire\plugins\websockets" /q /s
4 | del "C:\Program Files\Openfire\plugins\websockets.war"
5 | copy "C:\Work\Projects\2010.04.21-iTrader\Workspace\openfire_3_10_0\target\openfire\plugins\websockets.war" "C:\Program Files\Openfire\plugins"
6 |
7 | del "C:\Program Files\Openfire\logs\*.*"
8 |
9 | pause
--------------------------------------------------------------------------------
/openfire-websockets/build/build.txt:
--------------------------------------------------------------------------------
1 | Buildfile: C:\Projects\websockets\build\build.xml
2 |
3 | clean:
4 | [delete] Deleting directory C:\Projects\websockets\build\classes\com
5 |
6 | init:
7 |
8 | compile:
9 | [javac] C:\Projects\websockets\build\build.xml:26: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
10 | [javac] Compiling 5 source files to C:\Projects\websockets\build\classes
11 |
12 | jar:
13 | [jar] Building jar: C:\Projects\websockets\plugin\lib\websockets.jar
14 | [jar] Building jar: C:\Projects\websockets\plugin\WEB-INF\lib\websockets.jar
15 |
16 | war:
17 | [jar] Building jar: C:\Work\Projects\2010.04.21-iTrader\Workspace\openfire_3_10_0\target\openfire\plugins\websockets.war
18 |
19 | BUILD SUCCESSFUL
20 | Total time: 1 second
21 |
--------------------------------------------------------------------------------
/openfire-websockets/build/build.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | WebSockets Plugin Build
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
--------------------------------------------------------------------------------
/openfire-websockets/build/classes/com/ifsoft/websockets/BasicStreamID.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/build/classes/com/ifsoft/websockets/BasicStreamID.class
--------------------------------------------------------------------------------
/openfire-websockets/build/classes/com/ifsoft/websockets/WSConnection.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/build/classes/com/ifsoft/websockets/WSConnection.class
--------------------------------------------------------------------------------
/openfire-websockets/build/classes/com/ifsoft/websockets/plugin/WebSocketsPlugin.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/build/classes/com/ifsoft/websockets/plugin/WebSocketsPlugin.class
--------------------------------------------------------------------------------
/openfire-websockets/build/classes/com/ifsoft/websockets/servlet/WebSocketsAdmin.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/build/classes/com/ifsoft/websockets/servlet/WebSocketsAdmin.class
--------------------------------------------------------------------------------
/openfire-websockets/build/classes/com/ifsoft/websockets/servlet/XMPPServlet$WSocketCreator.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/build/classes/com/ifsoft/websockets/servlet/XMPPServlet$WSocketCreator.class
--------------------------------------------------------------------------------
/openfire-websockets/build/classes/com/ifsoft/websockets/servlet/XMPPServlet$XMPPWebSocket.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/build/classes/com/ifsoft/websockets/servlet/XMPPServlet$XMPPWebSocket.class
--------------------------------------------------------------------------------
/openfire-websockets/build/classes/com/ifsoft/websockets/servlet/XMPPServlet.class:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/build/classes/com/ifsoft/websockets/servlet/XMPPServlet.class
--------------------------------------------------------------------------------
/openfire-websockets/plugin/WEB-INF/lib/WebSockets.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/WEB-INF/lib/WebSockets.jar
--------------------------------------------------------------------------------
/openfire-websockets/plugin/WEB-INF/lib/websockets.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/WEB-INF/lib/websockets.jar
--------------------------------------------------------------------------------
/openfire-websockets/plugin/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | WebSockets
5 | WebSockets for Openlink
6 |
7 |
8 | index.html
9 |
10 |
11 |
--------------------------------------------------------------------------------
/openfire-websockets/plugin/changelog.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | WebSockets Changelog
6 |
40 |
41 |
42 |
43 |
44 |
45 |
46 | 0.0.0.10
47 |
48 | - Fixed: Blocking message pending 10000 for BLOCKING
49 | - Changed: set websocket idle timeout
50 |
51 |
52 | 0.0.0.09
53 |
54 |
55 | - New: Added support for Jingle Audio/Video using WebRTC JSEP
56 | - Changed: Fixed various faults
57 |
58 |
59 | 0.0.0.08 -- June 1st 2014
60 |
61 |
62 | - Upgraded to Jetty 9.1.5
63 |
0.0.0.07 -- May 9th 2013
66 |
67 |
68 | - Fixed fault with server-side sign-on
69 |
0.0.0.06 -- May 6th 2013
72 |
73 |
74 | - Added support for server-side sign on (no password from client)
75 |
0.0.0.05 -- April 23rdth 2013
78 |
79 |
80 | - Added support for registration of new users
81 |
0.0.0.04 -- Nov 23rdth 2012
84 |
85 |
86 | - OfChat version 0.10 with support for RTCPeerConnection in webrtc audio/video
87 | - Added support for Anonoymous XMPP connections to WebSockets
88 |
0.0.0.03 -- Sept 5th 2012
91 |
92 |
93 | - Site manifest file to support caching for Websockets version of SparkWeb (Ajax)
94 | - OfChat version 0.9 with support for webrtc audio/video
95 |
0.0.0.02 -- July 22nd 2012
98 |
99 |
100 | - Improved version with contribution from Ignite Realtime Community
101 |
0.0.0.01 -- September 12th 2011
104 |
105 |
106 | - Initial Version
107 |
110 |
111 |
--------------------------------------------------------------------------------
/openfire-websockets/plugin/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Jitsi Videobridge - Forbidden
7 |
8 |
9 |
10 | Forbidden
11 | This is a private folder
12 |
13 |
14 |
--------------------------------------------------------------------------------
/openfire-websockets/plugin/lib/WebSockets.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/lib/WebSockets.jar
--------------------------------------------------------------------------------
/openfire-websockets/plugin/lib/websockets.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/lib/websockets.jar
--------------------------------------------------------------------------------
/openfire-websockets/plugin/ofchat-010.crx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/ofchat-010.crx
--------------------------------------------------------------------------------
/openfire-websockets/plugin/peek/index.html:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 | Peek - Chapter 4
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | Peek
19 |
20 |
21 |
23 |
24 |
25 |
27 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/openfire-websockets/plugin/peek/peek.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: Helvetica;
3 | }
4 |
5 | h1 {
6 | text-align: center;
7 | }
8 |
9 | #console {
10 | padding: 10px;
11 | height: 300px;
12 | border: solid 1px #aaa;
13 |
14 | background-color: #000;
15 | color: #eee;
16 | font-family: monospace;
17 |
18 | overflow: auto;
19 | }
20 |
21 | #input {
22 | width: 100%;
23 | height: 100px;
24 | font-family: monospace;
25 | }
26 |
27 | .incoming {
28 | background-color: #111;
29 | }
30 |
31 | textarea.disabled {
32 | background-color: #bbb;
33 | }
34 |
35 | #buttonbar {
36 | margin: 10px;
37 | }
38 |
39 | #disconnect_button {
40 | float: left;
41 | width: 100px;
42 | }
43 |
44 | #send_button {
45 | float: right;
46 | width: 100px;
47 | }
48 |
49 | /* xml styles */
50 | .xml_punc { color: #888; }
51 | .xml_tag { color: #e77; }
52 | .xml_aname { color: #55d; }
53 | .xml_avalue { color: #77f; }
54 | .xml_text { color: #aaa }
55 | .xml_level0 { padding-left: 0; }
56 | .xml_level1 { padding-left: 1em; }
57 | .xml_level2 { padding-left: 2em; }
58 | .xml_level3 { padding-left: 3em; }
59 | .xml_level4 { padding-left: 4em; }
60 | .xml_level5 { padding-left: 5em; }
61 | .xml_level6 { padding-left: 6em; }
62 | .xml_level7 { padding-left: 7em; }
63 | .xml_level8 { padding-left: 8em; }
64 | .xml_level9 { padding-left: 9em; }
65 |
--------------------------------------------------------------------------------
/openfire-websockets/plugin/plugin.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | com.ifsoft.websockets.plugin.WebSocketsPlugin
5 | WebSockets Plugin
6 | WebSockets Plugin for Openfire
7 | Ignite Realtime Community (customize)
8 | 0.0.0.10
9 | 3.10.0
10 |
11 |
12 |
13 |
14 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/openfire-websockets/plugin/readme.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | WebSockets Plugin Readme
6 |
67 |
68 |
69 |
70 |
71 |
72 | WebSockets Plugin Readme
73 |
74 |
75 | Prerequesites
76 |
77 |
78 |
79 |
80 |
81 | Installation
82 |
83 |
84 | - Stop Openfire.
85 | - Copy the websockets.war file to the OPENFIRE_HOME/plugins directory.
86 | - Restart Openfire.
87 | - From a browser, go to http://your_openfire-server:7070/websockets/sparkweb
88 | - From a browser, go to http://your_openfire-server:7070/websockets/peek
89 | - From a browser, go to http://your_openfire-server:7070/websockets/ofchat-010.crx
90 | - If these pages do not appear, please check you log files and post any errors on www.igniterealtime.org
91 |
92 |
93 | Configuration
94 |
95 |
96 | - Go to the admin properties page
97 |
98 |
99 |
100 |
101 |
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/addcontact_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/addcontact_16x16.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/Thumbs.db
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/btn-sprite.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/btn-sprite.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/close.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/close.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/e-handle.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/e-handle.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/gray/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/gray/Thumbs.db
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/gray/close.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/gray/close.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/gray/dlg-bg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/gray/dlg-bg.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/gray/e-handle.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/gray/e-handle.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/gray/hd-sprite.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/gray/hd-sprite.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/gray/s-handle.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/gray/s-handle.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/gray/se-handle.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/gray/se-handle.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/hd-sprite.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/hd-sprite.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/ignite/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/ignite/Thumbs.db
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/ignite/close.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/ignite/close.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/ignite/e-handle.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/ignite/e-handle.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/ignite/group-bg.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/ignite/group-bg.jpg
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/ignite/hd-sprite.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/ignite/hd-sprite.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/ignite/s-handle.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/ignite/s-handle.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/s-handle.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/s-handle.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/se-handle.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/basic-dialog/se-handle.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/certificateimg_warning.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/certificateimg_warning.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/chat_16x16.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/chat_16x16.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/clear.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/clear.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/conference_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/conference_16x16.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/createconf_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/createconf_16x16.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/downloads_16x16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/downloads_16x16.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/emoticons/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/emoticons/Thumbs.db
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/emoticons/angry.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/emoticons/angry.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/emoticons/confused.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/emoticons/confused.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/emoticons/cool.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/emoticons/cool.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/emoticons/cry.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/emoticons/cry.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/emoticons/devil.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/emoticons/devil.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/emoticons/grin.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/emoticons/grin.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/emoticons/happy.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/emoticons/happy.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/emoticons/laugh.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/emoticons/laugh.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/emoticons/love.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/emoticons/love.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/emoticons/mischief.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/emoticons/mischief.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/emoticons/sad.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/emoticons/sad.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/emoticons/silly.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/emoticons/silly.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/emoticons/smirk.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/emoticons/smirk.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/emoticons/wink.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/emoticons/wink.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/gradient-bg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/gradient-bg.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/Thumbs.db
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/arrow-left-white.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/arrow-left-white.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/arrow-right-white.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/arrow-right-white.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/done.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/done.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/drop-no.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/drop-no.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/drop-yes.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/drop-yes.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/footer-bg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/footer-bg.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/grid-blue-hd.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/grid-blue-hd.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/grid-blue-split.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/grid-blue-split.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/grid-loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/grid-loading.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/grid-split.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/grid-split.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/grid-vista-hd.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/grid-vista-hd.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/invalid_line.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/invalid_line.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/loading.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/mso-hd.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/mso-hd.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/nowait.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/nowait.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/page-first-disabled.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/page-first-disabled.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/page-first.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/page-first.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/page-last-disabled.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/page-last-disabled.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/page-last.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/page-last.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/page-next-disabled.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/page-next-disabled.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/page-next.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/page-next.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/page-prev-disabled.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/page-prev-disabled.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/page-prev.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/page-prev.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/pick-button.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/pick-button.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/refresh.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/refresh.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/sort_asc.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/sort_asc.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/sort_desc.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/sort_desc.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/grid/wait.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/grid/wait.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/group-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/group-bg.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/home.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/home.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/icon_warning.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/icon_warning.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/im_available.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/im_available.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/im_available_stale.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/im_available_stale.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/im_away.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/im_away.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/im_away_stale.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/im_away_stale.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/im_dnd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/im_dnd.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/im_dnd_stale.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/im_dnd_stale.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/im_free_chat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/im_free_chat.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/im_free_chat_stale.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/im_free_chat_stale.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/im_onphone.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/im_onphone.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/im_onroad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/im_onroad.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/im_pending.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/im_pending.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/im_unavailable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/im_unavailable.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/im_unavailable_stale.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/im_unavailable_stale.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/info_icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/info_icon.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/jive-avatar-22x22_bg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/jive-avatar-22x22_bg.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/layout/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/layout/Thumbs.db
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/layout/collapse.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/layout/collapse.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/layout/expand.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/layout/expand.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/layout/gradient-bg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/layout/gradient-bg.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/layout/gray/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/layout/gray/Thumbs.db
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/layout/gray/collapse.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/layout/gray/collapse.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/layout/gray/expand.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/layout/gray/expand.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/layout/gray/gradient-bg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/layout/gray/gradient-bg.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/layout/gray/ns-collapse.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/layout/gray/ns-collapse.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/layout/gray/ns-expand.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/layout/gray/ns-expand.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/layout/gray/panel-close.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/layout/gray/panel-close.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/layout/gray/panel-title-bg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/layout/gray/panel-title-bg.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/layout/gray/panel-title-light-bg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/layout/gray/panel-title-light-bg.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/layout/gray/screenshot.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/layout/gray/screenshot.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/layout/gray/tab-close-on.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/layout/gray/tab-close-on.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/layout/gray/tab-close.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/layout/gray/tab-close.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/layout/ns-collapse.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/layout/ns-collapse.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/layout/ns-expand.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/layout/ns-expand.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/layout/panel-close.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/layout/panel-close.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/layout/panel-title-bg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/layout/panel-title-bg.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/layout/panel-title-light-bg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/layout/panel-title-light-bg.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/layout/tab-close-on.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/layout/tab-close-on.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/layout/tab-close.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/layout/tab-close.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/Thumbs.db
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/anim-loading.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/anim-loading.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/avatar.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/avatar.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/backgrounds/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/backgrounds/Thumbs.db
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/backgrounds/bg_Flower.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/backgrounds/bg_Flower.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/backgrounds/bg_Footer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/backgrounds/bg_Footer.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/backgrounds/bg_Login-Bottom.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/backgrounds/bg_Login-Bottom.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/backgrounds/bg_LoginBody.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/backgrounds/bg_LoginBody.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/backgrounds/bg_LoginTop-Button.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/backgrounds/bg_LoginTop-Button.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/backgrounds/bg_LoginTop-NoButton.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/backgrounds/bg_LoginTop-NoButton.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/backgrounds/bg_Spark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/backgrounds/bg_Spark.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/backgrounds/bg_body.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/backgrounds/bg_body.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/Thumbs.db
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/btn_CreateAccount-Active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/btn_CreateAccount-Active.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/btn_CreateAccount-Depressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/btn_CreateAccount-Depressed.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/btn_CreateAccount-Hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/btn_CreateAccount-Hover.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/btn_CreateAccount.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/btn_CreateAccount.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/btn_Large.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/btn_Large.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/btn_Large.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/btn_Large.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/btn_Login-Active.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/btn_Login-Active.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/btn_Login-Depressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/btn_Login-Depressed.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/btn_Login-Hover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/btn_Login-Hover.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/btn_Login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/btn_Login.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/btn_Small.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/btn_Small.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/btn_Small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/buttons/btn_Small.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/icons/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/icons/Thumbs.db
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/icons/warning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/icons/warning.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/logo_SparkWeb-large.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/logo_SparkWeb-large.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/logo_SparkWeb-small.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/logo_SparkWeb-small.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login/logo_SparkWebvX.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login/logo_SparkWebvX.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/login_background.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/login_background.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/menutri.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/menutri.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/message_edit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/message_edit.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/metallic_down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/metallic_down.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/metallic_up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/metallic_up.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/office.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/office.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/progress.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/progress.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/s.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/s.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/screen.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/screen.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sizer/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sizer/Thumbs.db
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sizer/e-handle-dark.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sizer/e-handle-dark.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sizer/e-handle.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sizer/e-handle.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sizer/gray/e-handle-dark.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sizer/gray/e-handle-dark.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sizer/gray/e-handle.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sizer/gray/e-handle.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sizer/gray/s-handle-dark.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sizer/gray/s-handle-dark.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sizer/gray/s-handle.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sizer/gray/s-handle.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sizer/gray/se-handle-dark.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sizer/gray/se-handle-dark.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sizer/gray/se-handle.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sizer/gray/se-handle.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sizer/s-handle-dark.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sizer/s-handle-dark.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sizer/s-handle.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sizer/s-handle.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sizer/se-handle-dark.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sizer/se-handle-dark.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sizer/se-handle.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sizer/se-handle.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/spark_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/spark_logo.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkbg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkbg.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-avatar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-avatar.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/Thumbs.db
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/bg-roster-userhighlight.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/bg-roster-userhighlight.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/bg_grouplabel.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/bg_grouplabel.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/bg_titlebar.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/bg_titlebar.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/bg_titlebar.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/bg_titlebar.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/bg_titlebar_ie.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/bg_titlebar_ie.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/bg_titlebar_left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/bg_titlebar_left.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/bg_titlebar_right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/bg_titlebar_right.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/bg_usercontrols.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/bg_usercontrols.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/close-sprite.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/close-sprite.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/handle-e.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/handle-e.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/handle-s.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/handle-s.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/handle-se.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/handle-se.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/icon-addcontact.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/icon-addcontact.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/icon-arrow-dwn.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/icon-arrow-dwn.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/icon-arrow-rght.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/icon-arrow-rght.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/icon-groupchat.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/icon-groupchat.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/icon-groupchat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/icon-groupchat.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/icon-split-h.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/icon-split-h.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/icon-split-v.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/icon-split-v.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/icon-startchat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/icon-startchat.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/icon-tinyarrow-dwn.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/icon-tinyarrow-dwn.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/tab-btm-inactive-left-bg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/tab-btm-inactive-left-bg.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/tab-btm-inactive-right-bg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/tab-btm-inactive-right-bg.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/tab-btm-left-bg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/tab-btm-left-bg.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/tab-btm-right-bg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/tab-btm-right-bg.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/tab-close.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/sparkweb-black/tab-close.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/tabs/Thumbs.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/tabs/Thumbs.db
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/tabs/gray/tab-btm-inactive-left-bg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/tabs/gray/tab-btm-inactive-left-bg.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/tabs/gray/tab-btm-inactive-right-bg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/tabs/gray/tab-btm-inactive-right-bg.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/tabs/gray/tab-btm-left-bg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/tabs/gray/tab-btm-left-bg.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/tabs/gray/tab-btm-right-bg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/tabs/gray/tab-btm-right-bg.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/tabs/gray/tab-sprite.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/tabs/gray/tab-sprite.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/tabs/tab-btm-inactive-left-bg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/tabs/tab-btm-inactive-left-bg.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/tabs/tab-btm-inactive-right-bg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/tabs/tab-btm-inactive-right-bg.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/tabs/tab-btm-left-bg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/tabs/tab-btm-left-bg.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/tabs/tab-btm-right-bg.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/tabs/tab-btm-right-bg.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/tabs/tab-sprite.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/tabs/tab-sprite.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/images/vm.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/sparkweb/chat/images/vm.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/style/load.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | standard
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/style/resizable.css:
--------------------------------------------------------------------------------
1 | .yresizable-handle {
2 | position:absolute;
3 | z-index:100;
4 | /* ie needs these */
5 | font-size:1px;
6 | line-height:1px;
7 | overflow:hidden;
8 | background:white;
9 | filter:alpha(opacity=0);
10 | opacity:0;
11 | }
12 | .yresizable-handle-east{
13 | width:5px;
14 | cursor:e-resize;
15 | right:0px;
16 | top:0px;
17 | height:100%;
18 | }
19 | .yresizable-handle-south{
20 | width:100%;
21 | cursor:s-resize;
22 | left:0px;
23 | bottom:0px;
24 | height:5px;
25 | }
26 | .yresizable-handle-west{
27 | width:5px;
28 | cursor:w-resize;
29 | left:0px;
30 | top:0px;
31 | height:100%;
32 | }
33 | .yresizable-handle-north{
34 | width:100%;
35 | cursor:n-resize;
36 | left:0px;
37 | top:0px;
38 | height:5px;
39 | }
40 | .yresizable-handle-southeast{
41 | width:6px;
42 | cursor:se-resize;
43 | right:0px;
44 | bottom:0px;
45 | height:6px;
46 | z-index:101;
47 | }
48 | .yresizable-over .yresizable-handle, .yresizable-pinned .yresizable-handle{
49 | filter:alpha(opacity=100);
50 | opacity:1;
51 | }
52 | .yresizable-over .yresizable-handle-east, .yresizable-pinned .yresizable-handle-east{
53 | background:url(../images/sizer/e-handle.gif);
54 | background-position: left;
55 | border-left:1px solid #98c0f4;
56 | }
57 | .yresizable-over .yresizable-handle-east, .yresizable-pinned .yresizable-handle-west{
58 | background:url(../images/sizer/e-handle.gif);
59 | background-position: left;
60 | border-right:1px solid #98c0f4;
61 | }
62 | .yresizable-over .yresizable-handle-south, .yresizable-pinned .yresizable-handle-south{
63 | background:url(../images/sizer/s-handle.gif);
64 | background-position: top;
65 | border-top:1px solid #98c0f4;
66 | }
67 | .yresizable-over .yresizable-handle-south, .yresizable-pinned .yresizable-handle-north{
68 | background:url(../images/sizer/s-handle.gif);
69 | background-position: top;
70 | border-bottom:1px solid #98c0f4;
71 | }
72 | .yresizable-over .yresizable-handle-southeast, .yresizable-pinned .yresizable-handle-southeast{
73 | background-position: top left;
74 | background:url(../images/sizer/se-handle.gif);
75 | }
76 | .yresizable-proxy{
77 | border: 1px dashed #6593cf;
78 | position:absolute;
79 | overflow:hidden;
80 | visibility:hidden;
81 | z-index:1001;
82 | }
83 |
84 | /** gray theme */
85 | .ytheme-gray .yresizable-over .yresizable-handle-east, .ytheme-gray .yresizable-pinned .yresizable-handle-east{
86 | background:url(../images/sizer/gray/e-handle.gif);
87 | background-position: left;
88 | border-left:1px solid #615e55;
89 | }
90 | .ytheme-gray .yresizable-over .yresizable-handle-east,.ytheme-gray .yresizable-pinned .yresizable-handle-west{
91 | background:url(../images/sizer/gray/e-handle.gif);
92 | background-position: left;
93 | border-right:1px solid #615e55;
94 | }
95 | .ytheme-gray .yresizable-over .yresizable-handle-south,.ytheme-gray .yresizable-pinned .yresizable-handle-south{
96 | background:url(../images/sizer/gray/s-handle.gif);
97 | background-position: top;
98 | border-top:1px solid #615e55;
99 | }
100 | .ytheme-gray .yresizable-over .yresizable-handle-south,.ytheme-gray .yresizable-pinned .yresizable-handle-north{
101 | background:url(../images/sizer/gray/s-handle.gif);
102 | background-position: top;
103 | border-bottom:1px solid #615e55;
104 | }
105 | .ytheme-gray .yresizable-over .yresizable-handle-southeast, .ytheme-gray .yresizable-pinned .yresizable-handle-southeast{
106 | background-position: top left;
107 | background:url(../images/sizer/gray/se-handle.gif);
108 | }
109 | .ytheme-gray .yresizable-proxy{
110 | border: 1px dashed #615e55;
111 | }
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/style/tabs.css:
--------------------------------------------------------------------------------
1 | .ytab-wrap {
2 | border-bottom:1px solid #6593cf;
3 | padding-top:2px;
4 | }
5 | .ytab-wrap table{
6 | position:relative;
7 | top:0; left:0;
8 | }
9 | .ytab-strip td{
10 | padding-left:2px;
11 | }
12 | .ytab-strip a, .ytab-strip span, .ytab-strip em {
13 | display:block;
14 | }
15 | .ytab-strip a {
16 | text-decoration:none !important;
17 | -moz-outline: none;
18 | outline: none;
19 | cursor:pointer;
20 | }
21 | .ytab-strip .ytab-text {
22 | font:bold 11px tahoma,arial,helvetica;
23 | color:#666;
24 | overflow:hidden;
25 | white-space: nowrap;
26 | cursor:pointer;
27 | text-overflow: ellipsis;
28 | }
29 | .ytab-strip .on .ytab-text {
30 | cursor:default;
31 | color:#083772;
32 | }
33 | .ytab-strip .disabled .ytab-text {
34 | cursor:default;
35 | color:#aaaaaa;
36 | }
37 | .ytab-strip .ytab-inner {
38 | padding:4px 10px;
39 | }
40 |
41 | .ytab-strip .on .ytab-right {
42 | background: url(../images/tabs/tab-sprite.gif) no-repeat right 0px;
43 | }
44 | .ytab-strip .on .ytab-left {
45 | background: url(../images/tabs/tab-sprite.gif) no-repeat 0px -100px;
46 | }
47 | .ytab-strip .ytab-right {
48 | background: url(../images/tabs/tab-sprite.gif) no-repeat right -50px;
49 | }
50 | .ytab-strip .ytab-left {
51 | background: url(../images/tabs/tab-sprite.gif) no-repeat 0px -150px;
52 | }
53 |
54 | .ytab-strip a {
55 | position:relative;
56 | top:1px; left:0;
57 | }
58 | .ytab-strip .on a {
59 |
60 | }
61 | .ytab-strip .on .ytab-inner {
62 | padding-bottom:5px;
63 | }
64 | /** closable tabs */
65 | .ytab-strip .ytab-closable .ytab-inner{
66 | padding-right:22px;
67 | position:relative;
68 | /*display: inline;*/
69 | }
70 | .ytab-strip .ytab-closable .close-icon {
71 | line-height: 1px;
72 | font-size:1px;
73 | background-image:url(../images/layout/tab-close.gif);
74 | display:block;
75 | position:absolute;
76 | right:5px;top:4px;
77 | width:11px;height:11px;
78 | cursor:pointer;
79 | }
80 | .ytab-strip .on .close-icon{
81 | background-image:url(../images/layout/tab-close-on.gif);
82 | }
83 | .ytab-strip .ytab-closable .close-over{
84 | background-image:url(../images/layout/tab-close-on.gif);
85 | }
86 |
87 | .ytabs-bottom .ytab-wrap {
88 | border-top:1px solid #6593cf;
89 | border-bottom:0px none;
90 | padding-top:0px;
91 | padding-bottom:2px;
92 | }
93 | .ytabs-bottom .ytab-strip .ytab-right {
94 | background: url(../images/tabs/tab-btm-inactive-right-bg.gif) no-repeat bottom left;
95 | }
96 | .ytabs-bottom .ytab-strip .ytab-left {
97 | background: url(../images/tabs/tab-btm-inactive-left-bg.gif) no-repeat bottom right;
98 | }
99 | .ytabs-bottom .ytab-strip .on .ytab-right {
100 | background: url(../images/tabs/tab-btm-right-bg.gif) no-repeat bottom left;
101 | }
102 | .ytabs-bottom .ytab-strip .on .ytab-left {
103 | background: url(../images/tabs/tab-btm-left-bg.gif) no-repeat bottom right;
104 | }
105 | .ytabs-bottom .ytab-strip a {
106 | position:relative;
107 | top:0; left:0;
108 | }
109 | .ytabs-bottom .ytab-strip .on a {
110 | margin-top:-1px;
111 | }
112 | .ytabs-bottom .ytab-strip .on .ytab-inner {
113 | padding-top:5px;
114 | }
115 |
116 | /** gray theme */
117 |
118 | .ytheme-gray .ytab-wrap {
119 | border-bottom:1px solid #aca899;
120 | }
121 | .ytheme-gray .ytab-strip .on .ytab-text {
122 | cursor:default;
123 | color:#333333;
124 | }
125 | .ytheme-gray .ytabs-top .ytab-strip .on .ytab-right {
126 | background: url(../images/tabs/gray/tab-sprite.gif) no-repeat right 0px;
127 | }
128 | .ytheme-gray .ytabs-top .ytab-strip .on .ytab-left {
129 | background: url(../images/tabs/gray/tab-sprite.gif) no-repeat 0px -100px;
130 | }
131 | .ytheme-gray .ytabs-top .ytab-strip .ytab-right {
132 | background: url(../images/tabs/gray/tab-sprite.gif) no-repeat right -50px;
133 | }
134 | .ytheme-gray .ytabs-top .ytab-strip .ytab-left {
135 | background: url(../images/tabs/gray/tab-sprite.gif) no-repeat 0px -150px;
136 | }
137 | .ytheme-gray .ytab-strip .ytab-closable .close-icon{
138 | background-image:url(../images/layout/gray/tab-close.gif);
139 | }
140 | .ytheme-gray .ytab-strip .on .close-icon{
141 | background-image:url(../images/layout/gray/tab-close-on.gif);
142 | }
143 | .ytheme-gray .ytab-strip .ytab-closable .close-over{
144 | background-image:url(../images/layout/gray/tab-close-on.gif);
145 | }
146 |
147 | .ytheme-gray .ytabs-bottom .ytab-wrap {
148 | border-bottom:0px none;
149 | padding-top:0px;
150 | border-top:1px solid #aca899;
151 | }
152 | .ytheme-gray .ytabs-bottom .ytab-strip .ytab-right {
153 | background: url(../images/tabs/gray/tab-btm-inactive-right-bg.gif) no-repeat bottom left;
154 | }
155 | .ytheme-gray .ytabs-bottom .ytab-strip .ytab-left {
156 | background: url(../images/tabs/gray/tab-btm-inactive-left-bg.gif) no-repeat bottom right;
157 | }
158 | .ytheme-gray .ytabs-bottom .ytab-strip .on .ytab-right {
159 | background: url(../images/tabs/gray/tab-btm-right-bg.gif) no-repeat bottom left;
160 | }
161 | .ytheme-gray .ytabs-bottom .ytab-strip .on .ytab-left {
162 | background: url(../images/tabs/gray/tab-btm-left-bg.gif) no-repeat bottom right;
163 | }
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/chat/style/toolbar.css:
--------------------------------------------------------------------------------
1 | .ytoolbar{
2 | background-color: #ebeadb;
3 | border: 1px solid #cbc7b8;
4 | display: block;
5 | padding:2px;
6 | }
7 | .mso .ytoolbar, .ygrid-mso .ytoolbar{
8 | border: 0px none;
9 | background: url(../images/grid/mso-hd.gif);
10 | }
11 | .ytoolbar td,.ytoolbar span,.ytoolbar input,.ytoolbar div{
12 | font:normal 8pt arial,helvetica;
13 | }
14 | .ytoolbar .ytb-button-disabled .ytb-button-inner{
15 | color:gray;
16 | cursor:default;
17 | }
18 | .ytoolbar .ytb-button-inner{
19 | background-position: center;
20 | background-repeat: no-repeat;
21 | display: block;
22 | height: 16px;
23 | width: 16px;
24 | cursor:pointer;
25 | white-space: nowrap;
26 | }
27 | .ytoolbar .ytb-text{
28 | padding:2px;
29 | }
30 | .ytoolbar .ytb-button{
31 | padding:2px;
32 | display:block;
33 | }
34 | .ytoolbar .ytb-button-over{
35 | background-color:#c3d3ed;
36 | border:1px solid #316ac5;
37 | padding:1px;
38 | }
39 | .ytoolbar .ytb-sep {
40 | background-image: url(../images/grid/grid-split.gif);
41 | background-position: center;
42 | background-repeat: no-repeat;
43 | display: block;
44 | font-size: 1px;
45 | height: 16px;
46 | width:4px;
47 | overflow: hidden;
48 | cursor:default;
49 | margin: 0px 2px 0px;
50 | border:0px;
51 | }
52 | .mso .ytoolbar .ytb-sep, .ygrid-mso .ytoolbar .ytb-sep{
53 | background-image: url(../images/grid/grid-blue-split.gif);
54 | }
--------------------------------------------------------------------------------
/openfire-websockets/plugin/sparkweb/site.manifest:
--------------------------------------------------------------------------------
1 | CACHE MANIFEST
2 | # v0.9 update 20120905-sylvestre mba - client navigator cache css, js, gif, png change version number for purge cache.
3 |
4 | CACHE:
5 | index.html
6 | chat/javascript/sparkweb.js
7 | chat/javascript/spank.js
8 | chat/javascript/xmpp-ws.js
9 | chat/javascript/xmpp-bosh.js
10 | chat/javascript/thirdparty.js
11 | chat/javascript/yui.js
12 | chat/style/basic-dialog.css
13 | chat/style/grid.css
14 | chat/style/layout.css
15 | chat/style/menu.css
16 | chat/style/resizable.css
17 | chat/style/tabs.css
18 | chat/style/toolbar.css
19 | chat/style/login.css
20 | chat/style/spank.css
21 |
22 | chat/images/login/logo_SparkWeb-small.gif
23 | chat/images/login/anim-loading.gif
24 | chat/images/login/logo_SparkWeb-large.gif
25 | chat/images/login/buttons/btn_Small.gif
26 | chat/images/login/backgrounds/bg_body.gif
27 | chat/images/login/backgrounds/bg_LoginTop-NoButton.png
28 | chat/images/login/backgrounds/bg_LoginBody.png
29 | chat/images/login/backgrounds/bg_Login-Bottom.png
30 | chat/images/login/backgrounds/bg_Footer.png
31 | chat/images/login/backgrounds/bg_Footer.png
32 | chat/images/sparkweb-black/icon-tinyarrow-dwn.gif
33 | chat/images/sparkweb-black/bg-roster-userhighlight.gif
34 | chat/images/sparkweb-black/icon-arrow-dwn.gif
35 | chat/images/sparkweb-black/bg_grouplabel.gif
36 | chat/images/sparkweb-black/bg_usercontrols.gif
37 | chat/images/sparkweb-black/bg_titlebar.gif
38 | chat/images/sparkweb-black/handle-e.gif
39 | chat/images/sparkweb-black/close-sprite.gif
40 | chat/images/sparkweb-black/icon-startchat.png
41 | chat/images/sparkweb-black/icon-groupchat.png
42 | chat/images/sparkweb-black/icon-addcontact.png
43 | chat/images/im_available.png
44 | chat/images/im_away.png
45 | chat/images/layout/panel-close.gif
46 | chat/images/layout/panel-title-light-bg.gif
47 | chat/images/layout/collapse.gif
48 | chat/images/layout/expand.gif
49 | chat/images/im_pending.png
50 | chat/images/gradient-bg.gif
51 | #cache the login page in case network is not ready, users think that network is ok
52 | FALLBACK:
53 | offline.html
54 | #all other files which are not cached work directly with network
55 | NETWORK:
56 | *
--------------------------------------------------------------------------------
/openfire-websockets/plugin/web/WEB-INF/web.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | websocketsAdmin
6 | com.ifsoft.websockets.servlet.WebSocketsAdmin
7 |
8 |
9 |
10 | websocketsAdmin
11 | /websockets-properties
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/openfire-websockets/plugin/web/images/add-16x16.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/web/images/add-16x16.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/web/images/available.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/web/images/available.png
--------------------------------------------------------------------------------
/openfire-websockets/plugin/web/images/delete-16x16.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/web/images/delete-16x16.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/web/images/edit-16x16.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/web/images/edit-16x16.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/web/images/icon_calendarpicker.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/web/images/icon_calendarpicker.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/web/images/icon_help_14x14.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/web/images/icon_help_14x14.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/web/images/refresh-16x16.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/web/images/refresh-16x16.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/web/images/success-16x16.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/web/images/success-16x16.gif
--------------------------------------------------------------------------------
/openfire-websockets/plugin/web/images/unavailable.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/plugin/web/images/unavailable.png
--------------------------------------------------------------------------------
/openfire-websockets/src/com/ifsoft/websockets/BasicStreamID.java:
--------------------------------------------------------------------------------
1 | package com.ifsoft.websockets;
2 |
3 | import org.jivesoftware.openfire.StreamID;
4 |
5 | public class BasicStreamID implements StreamID {
6 | String id;
7 |
8 | public BasicStreamID(String id) {
9 | this.id = id;
10 | }
11 |
12 | public String getID() {
13 | return id;
14 | }
15 |
16 | public String toString() {
17 | return id;
18 | }
19 |
20 | public int hashCode() {
21 | return id.hashCode();
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/openfire-websockets/src/com/ifsoft/websockets/WSConnection.java:
--------------------------------------------------------------------------------
1 | package com.ifsoft.websockets;
2 |
3 | import org.slf4j.Logger;
4 | import org.slf4j.LoggerFactory;
5 |
6 | import java.security.cert.Certificate;
7 |
8 | import org.jivesoftware.openfire.SessionPacketRouter;
9 | import org.jivesoftware.openfire.auth.UnauthorizedException;
10 | import org.jivesoftware.openfire.net.VirtualConnection;
11 | import org.jivesoftware.openfire.session.LocalClientSession;
12 | import org.xmpp.packet.Packet;
13 |
14 | import com.ifsoft.websockets.servlet.XMPPServlet;
15 |
16 | public class WSConnection extends VirtualConnection
17 | {
18 | private static Logger Log = LoggerFactory.getLogger( "WSConnection" );
19 | private SessionPacketRouter router;
20 | private String remoteAddr;
21 | private String hostName;
22 | private LocalClientSession session;
23 | private XMPPServlet.XMPPWebSocket socket;
24 | private boolean isSecure = false;
25 |
26 | public WSConnection( String remoteAddr, String hostName ) {
27 | this.remoteAddr = remoteAddr;
28 | this.hostName = hostName;
29 | }
30 |
31 | public void setSocket( XMPPServlet.XMPPWebSocket socket ) {
32 | this.socket = socket;
33 | }
34 |
35 | public boolean isSecure() {
36 | return isSecure;
37 | }
38 |
39 | public void setSecure(boolean isSecure) {
40 | this.isSecure = isSecure;
41 | }
42 |
43 | public SessionPacketRouter getRouter()
44 | {
45 | return router;
46 | }
47 |
48 | public void setRouter(SessionPacketRouter router)
49 | {
50 | this.router = router;
51 | }
52 |
53 | public void closeVirtualConnection()
54 | {
55 | Log.debug("WSConnection - close ");
56 | this.socket.disconnect();
57 | }
58 |
59 | public byte[] getAddress() {
60 | return remoteAddr.getBytes();
61 | }
62 |
63 | public String getHostAddress() {
64 | return remoteAddr;
65 | // return wsSocket.getHostAddress();
66 | }
67 |
68 | public String getHostName() {
69 | return ( hostName != null ) ? hostName : "0.0.0.0";
70 | // return ( wsSocket.getHostName() == null ) ? wsSocket.getHostName() : "0.0.0.0";
71 | }
72 |
73 | public void systemShutdown() {
74 |
75 | }
76 |
77 | public void deliver(Packet packet) throws UnauthorizedException
78 | {
79 | deliverRawText(packet.toXML());
80 | }
81 |
82 | public void deliverRawText(String text)
83 | {
84 | this.socket.deliver(text);
85 | }
86 |
87 | public Certificate[] getPeerCertificates() {
88 | return null;
89 | }
90 |
91 | }
92 |
--------------------------------------------------------------------------------
/openfire-websockets/src/com/ifsoft/websockets/plugin/WebSocketsPlugin.java:
--------------------------------------------------------------------------------
1 | package com.ifsoft.websockets.plugin;
2 |
3 | import org.jivesoftware.openfire.container.Plugin;
4 | import org.jivesoftware.openfire.container.PluginManager;
5 | import org.jivesoftware.util.*;
6 | import org.jivesoftware.openfire.http.HttpBindManager;
7 | import org.jivesoftware.openfire.session.LocalClientSession;
8 | import org.jivesoftware.openfire.SessionManager;
9 |
10 | import java.util.*;
11 | import java.util.concurrent.*;
12 | import java.util.concurrent.ConcurrentHashMap;
13 | import java.io.File;
14 | import java.net.InetSocketAddress;
15 |
16 | import org.slf4j.Logger;
17 | import org.slf4j.LoggerFactory;
18 |
19 | import org.eclipse.jetty.server.handler.ContextHandlerCollection;
20 | import org.eclipse.jetty.servlet.ServletContextHandler;
21 | import org.eclipse.jetty.servlet.ServletHolder;
22 | import org.eclipse.jetty.webapp.WebAppContext;
23 |
24 | import com.ifsoft.websockets.*;
25 | import com.ifsoft.websockets.servlet.XMPPServlet;
26 |
27 |
28 | public class WebSocketsPlugin implements Plugin {
29 |
30 | private static Logger Log = LoggerFactory.getLogger("WebSocketsPlugin");
31 | private static final String NAME = "ws";
32 | private static final String DESCRIPTION = "WebSockets Plugin for Openfire";
33 |
34 | private PluginManager manager;
35 | private File pluginDirectory;
36 |
37 | private ConcurrentHashMap sockets = new ConcurrentHashMap();
38 |
39 |
40 | //-------------------------------------------------------
41 | //
42 | //
43 | //
44 | //-------------------------------------------------------
45 |
46 | public void initializePlugin(PluginManager manager, File pluginDirectory) {
47 | Log.info( "["+ NAME + "] initialize " + NAME + " plugin resources");
48 |
49 | String appName = JiveGlobals.getProperty("websockets.webapp.name", NAME);
50 |
51 | try {
52 |
53 | ContextHandlerCollection contexts = HttpBindManager.getInstance().getContexts();
54 |
55 | try {
56 | Log.info( "["+ NAME + "] initialize " + NAME + " initialize Websockets " + appName);
57 | ServletContextHandler context = new ServletContextHandler(contexts, "/" + appName, ServletContextHandler.SESSIONS);
58 | context.addServlet(new ServletHolder(new XMPPServlet()),"/server");
59 |
60 | WebAppContext context2 = new WebAppContext(contexts, pluginDirectory.getPath(), "/websockets");
61 | context.setWelcomeFiles(new String[]{"index.html"});
62 |
63 | }
64 | catch(Exception e) {
65 | Log.error( "An error has occurred", e );
66 | }
67 | }
68 | catch (Exception e) {
69 | Log.error("Error initializing WebSockets Plugin", e);
70 | }
71 | }
72 |
73 | public void destroyPlugin() {
74 | Log.info( "["+ NAME + "] destroy " + NAME + " plugin resources");
75 |
76 | try {
77 |
78 | for (XMPPServlet.XMPPWebSocket socket : sockets.values())
79 | {
80 | try {
81 | LocalClientSession session = socket.getSession();
82 | session.close();
83 | SessionManager.getInstance().removeSession( session );
84 | session = null;
85 |
86 | } catch ( Exception e ) { }
87 | }
88 |
89 | sockets.clear();
90 |
91 | }
92 | catch (Exception e) {
93 | Log.error("["+ NAME + "] destroyPlugin exception " + e);
94 | }
95 | }
96 |
97 | public String getName() {
98 | return NAME;
99 | }
100 |
101 | public String getDescription() {
102 | return DESCRIPTION;
103 | }
104 |
105 | public int getCount() {
106 | return this.sockets.size();
107 | }
108 |
109 | public ConcurrentHashMap getSockets() {
110 | return sockets;
111 | }
112 | }
--------------------------------------------------------------------------------
/openfire-websockets/src/com/ifsoft/websockets/servlet/WebSocketsAdmin.java:
--------------------------------------------------------------------------------
1 | package com.ifsoft.websockets.servlet;
2 |
3 | import java.io.IOException;
4 | import java.util.*;
5 |
6 | import javax.servlet.RequestDispatcher;
7 | import javax.servlet.ServletException;
8 | import javax.servlet.ServletConfig;
9 | import javax.servlet.ServletContext;
10 | import javax.servlet.ServletOutputStream;
11 | import javax.servlet.http.HttpServlet;
12 | import javax.servlet.http.HttpServletRequest;
13 | import javax.servlet.http.HttpServletResponse;
14 |
15 | import org.jivesoftware.util.JiveGlobals;
16 |
17 | import org.slf4j.Logger;
18 | import org.slf4j.LoggerFactory;
19 |
20 |
21 | public class WebSocketsAdmin extends HttpServlet
22 | {
23 | private static Logger Log = LoggerFactory.getLogger("WebSocketsAdmin");
24 |
25 | private String action = "edit";
26 |
27 | private String webAppName = "ws";
28 |
29 |
30 | private String errorMessage = null;
31 |
32 | public void init(ServletConfig servletConfig) throws ServletException {
33 | super.init(servletConfig);
34 | }
35 |
36 |
37 | public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
38 | {
39 | response.setHeader("Expires", "Sat, 6 May 1995 12:00:00 GMT");
40 | response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");
41 | response.addHeader("Cache-Control", "post-check=0, pre-check=0");
42 | response.setHeader("Pragma", "no-cache");
43 | response.setHeader("Content-Type", "text/html");
44 | response.setHeader("Connection", "close");
45 |
46 | ServletOutputStream out = response.getOutputStream();
47 | Map errors = new HashMap();
48 |
49 | action = request.getParameter("action");
50 |
51 | if (action == null) {
52 | action = "edit";
53 | }
54 |
55 | if(action.equals("edit")) {
56 |
57 | webAppName = JiveGlobals.getProperty("websockets.webapp.name", webAppName);
58 |
59 | displayPage(out, errors.size());
60 | }
61 |
62 | else if(action.equals("update")) {
63 |
64 | webAppName = request.getParameter("webAppName");
65 |
66 | validateFields(errors);
67 |
68 | if(errors.isEmpty()) {
69 |
70 | try {
71 |
72 | JiveGlobals.setProperty("websockets.webapp.name", webAppName);
73 |
74 | Log.info("WebSockets Properties updated");
75 | }
76 | catch (Exception e) {
77 | Log.error(e.getMessage(), e);
78 | }
79 |
80 | response.sendRedirect("websockets-properties");
81 |
82 | }
83 | else {
84 | displayPage(out, errors.size());
85 | }
86 |
87 | }
88 | else {
89 |
90 | displayPage(out, errors.size());
91 | }
92 | }
93 |
94 | private void displayPage(ServletOutputStream out, int errorSize) {
95 |
96 | try {
97 | out.println("");
98 | out.println("");
99 | out.println(" ");
100 | out.println(" WebSockets Properties");
101 | out.println(" ");
102 | out.println(" ");
103 | out.println(" ");
104 |
105 | if (errorSize > 0) {
106 | out.println("");
107 | out.println(errorMessage);
108 | out.println("
");
109 | }
110 | out.println("");
111 | out.println("Use the form below to edit WebSockets Properties.
");
112 | out.println("");
113 | out.println("");
134 | out.println("");
135 | out.println("");
136 | out.println("");
137 | }
138 | catch (Exception e) {
139 | Log.error("displayPage exception", e);
140 | }
141 | }
142 |
143 |
144 | private void validateFields(Map errors)
145 | {
146 | if(webAppName.length() < 1 ) {
147 | errors.put("webAppName", "");
148 | errorMessage = "Please specify a web application name";
149 | }
150 | }
151 |
152 | }
153 |
154 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/1.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/css/boxy.css:
--------------------------------------------------------------------------------
1 | .boxy-wrapper { position: absolute; }
2 | .boxy-wrapper.fixed { position: fixed; }
3 |
4 | /* Modal */
5 |
6 | .boxy-modal-blackout { position: absolute; background-color: black; left: 0; top: 0; }
7 |
8 | /* Border */
9 |
10 | .boxy-wrapper { empty-cells: show; }
11 | .boxy-wrapper .top-left,
12 | .boxy-wrapper .top-right,
13 | .boxy-wrapper .bottom-right,
14 | .boxy-wrapper .bottom-left { width: 10px; height: 10px; padding: 0 }
15 |
16 | .boxy-wrapper .top-left { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ bWFnZVJlYWR5ccllPAAAAEhJREFUeNpiZEAFwkBsBcRmQCyGLMGIxFYDYlcg1mPAAhiRFAUAsTID DsAEtc4VnyKYQitc1qErNGMgAjCh+w6fQoaBUQgQYACmOAMMx6kClQAAAABJRU5ErkJggg=='); }
17 | .boxy-wrapper .top-right { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ bWFnZVJlYWR5ccllPAAAAFZJREFUeNpiZGBgmMmACl4B8SkgPgbEb2GCzEDsi6aQG4jVgFgUiD/C FGNTCAPiUPwapJiJAT9QBmJXIBZmYSAM9ID4ERMDccCMWIVixCpkoL5CgAADAJE2CrNWeL/VAAAA AElFTkSuQmCC'); }
18 | .boxy-wrapper .bottom-right { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ bWFnZVJlYWR5ccllPAAAAEBJREFUeNpiZGBgmMlABGBiIBIMnMJXxCo8RYzCS0B8jJDCu0C8G4jf shAwCaToFoiDTeErkJtA1oFMggkCBBgAkswMUBkuYAgAAAAASUVORK5CYII='); }
19 | .boxy-wrapper .bottom-left { background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ bWFnZVJlYWR5ccllPAAAAEpJREFUeNpiZGBgmMlABGBiIBLQRuErYhQyAzEPEKsRo/AtEIsCsTgh hd+B+CNUoRA+hQxQU19DnSGOTyFM8T2oDQJAzI2sECDAAH3DCdCC6k/NAAAAAElFTkSuQmCC'); }
20 |
21 | /* IE6+7 hacks for the border. IE7 should support this natively but fails in conjuction with modal blackout bg. */
22 | /* NB: these must be absolute paths or URLs to your images */
23 | .boxy-wrapper .top-left { #background: none; #filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ bWFnZVJlYWR5ccllPAAAAEhJREFUeNpiZEAFwkBsBcRmQCyGLMGIxFYDYlcg1mPAAhiRFAUAsTID DsAEtc4VnyKYQitc1qErNGMgAjCh+w6fQoaBUQgQYACmOAMMx6kClQAAAABJRU5ErkJggg=='); }
24 | .boxy-wrapper .top-right { #background: none; #filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ bWFnZVJlYWR5ccllPAAAAFZJREFUeNpiZGBgmMmACl4B8SkgPgbEb2GCzEDsi6aQG4jVgFgUiD/C FGNTCAPiUPwapJiJAT9QBmJXIBZmYSAM9ID4ERMDccCMWIVixCpkoL5CgAADAJE2CrNWeL/VAAAA AElFTkSuQmCC'); }
25 | .boxy-wrapper .bottom-right { #background: none; #filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ bWFnZVJlYWR5ccllPAAAAEBJREFUeNpiZGBgmMlABGBiIBIMnMJXxCo8RYzCS0B8jJDCu0C8G4jf shAwCaToFoiDTeErkJtA1oFMggkCBBgAkswMUBkuYAgAAAAASUVORK5CYII='); }
26 | .boxy-wrapper .bottom-left { #background: none; #filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ bWFnZVJlYWR5ccllPAAAAEpJREFUeNpiZGBgmMlABGBiIBLQRuErYhQyAzEPEKsRo/AtEIsCsTgh hd+B+CNUoRA+hQxQU19DnSGOTyFM8T2oDQJAzI2sECDAAH3DCdCC6k/NAAAAAElFTkSuQmCC'); }
27 |
28 | .boxy-wrapper .top,
29 | .boxy-wrapper .bottom { height: 10px; background-color: black; opacity: 0.6; filter: alpha(opacity=60); padding: 0 }
30 |
31 | .boxy-wrapper .left,
32 | .boxy-wrapper .right { width: 10px; background-color: black; opacity: 0.6; filter: alpha(opacity=60); padding: 0 }
33 |
34 | /* Title bar */
35 |
36 | .boxy-wrapper .title-bar { background-color: black; padding: 6px; position: relative; }
37 | .boxy-wrapper .title-bar.dragging { cursor: move; }
38 | .boxy-wrapper .title-bar h2 { font-size: 12px; color: white; line-height: 1; margin: 0; padding: 0; font-weight: normal; }
39 | .boxy-wrapper .title-bar .close { color: white; position: absolute; top: 6px; right: 6px; font-size: 90%; line-height: 1; }
40 |
41 | /* Content Region */
42 |
43 | .boxy-inner { background-color: white; padding: 0 }
44 | .boxy-content { padding: 15px; }
45 |
46 | /* Question Boxes */
47 |
48 | .boxy-wrapper .question { width: 350px; min-height: 80px; }
49 | .boxy-wrapper .answers { text-align: right; }
50 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/css/left.css:
--------------------------------------------------------------------------------
1 | #gtalklet_layer {
2 | right: initial;
3 | left: 3px;
4 | direction: rtl;
5 | }
6 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/css/right.css:
--------------------------------------------------------------------------------
1 | #gtalklet_layer {
2 | left: initial;
3 | right: 0px;
4 | direction: ltr;
5 | }
6 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/html/background.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/html/guide.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | OfChat
5 |
6 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/html/notification.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
14 |
65 |
66 |
67 |
68 |
![]()
69 |
70 |
71 |
72 |
73 |
74 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/html/updated.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | OfChat
5 |
6 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
0.0.0.10
40 |
41 | - Fixed: Blocking message pending 10000 for BLOCKING
42 | - Changed: set websocket idle timeout
43 |
44 |
45 |
46 |
47 |
0.0.0.9
48 |
49 | - New: Added support for Jingle Audio/Video using WebRTC JSEP
50 | - Changed: Fixed various faults
51 |
52 |
53 |
54 |
55 |
0.0.0.8
56 |
57 | - New: Added support for Jingle Audio/Video using WebRTC Roap
58 | - Changed: Removed support for Redfire
59 |
60 |
61 |
62 |
63 |
0.0.0.7
64 |
65 | - Fixed: Quotes replaced with escape characters in chat message
66 | - Fixed: Reconnection failure creating "Authenticating.." message
67 | - Fixed: Accept incoming messages from federated users not on roster
68 | - Fixed: Notifications for group chat
69 | - Fixed: Accept broadcasts messages (no chat type) from components or server
70 | - New: Added support for editing/viewing vCards and Avatars (XEP-0054 and XEP-0153)
71 |
72 |
73 |
74 |
75 |
0.0.0.6
76 |
77 | - New. Added partial support for Redfire Plugin. Audio video in chat and groupchat. Compatible with Redfire Spark plugin
78 | - Changed: Added Boxy jQuery plugin for UI windowing, dialogs and alerts
79 |
80 |
81 |
82 |
83 |
0.0.0.5
84 |
85 | - New. Added partial support for XEP-0100 Gateways. Requires Kraken plugin
86 |
87 |
88 |
89 |
90 |
0.0.0.4
91 |
92 | - New. Added partial support for XEP-0136 Archiving. Requires OpenArchive plugin
93 | - New. Added partial support for XEP-0045 MUC. Requires Openfire client management plugin
94 |
95 |
96 |
97 |
98 |
0.0.0.3
99 |
100 | - Fixed. Added missing enable/disable icons
101 |
102 |
103 |
104 |
105 |
0.0.0.2
106 |
107 | - Changed. Minimal Chrome version down-graded to 14 for OSX
108 | - Fixed. Filter for smilies removing HTML tags
109 |
110 |
111 |
112 |
113 |
0.0.0.1
114 |
115 | - New. Project cloned from Gtalklet by Sean Zheng
116 | - New. Added Strophe Openfire.Connection class for Openfire WebSocket plugin
117 | - Changed. Handled contact's first <presence> arriving before get roster response
118 | - Changed. Handled both 2way subscription expected by Openfire
119 | - Changed. Added avatars
120 | - Changed. Added emtional icons (smilies)
121 |
122 |
123 |
124 |
125 |
126 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/icon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/icon.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/icon.png
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/icon128.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/icon128.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/icon16.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/icon16.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/icon48.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/icon48.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/icon_disabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/icon_disabled.png
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/icon_enabled.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/icon_enabled.png
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/images/emoticons/angry.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/images/emoticons/angry.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/images/emoticons/blush.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/images/emoticons/blush.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/images/emoticons/confused.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/images/emoticons/confused.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/images/emoticons/cool.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/images/emoticons/cool.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/images/emoticons/cry.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/images/emoticons/cry.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/images/emoticons/grin.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/images/emoticons/grin.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/images/emoticons/happy.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/images/emoticons/happy.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/images/emoticons/laugh.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/images/emoticons/laugh.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/images/emoticons/love.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/images/emoticons/love.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/images/emoticons/mischief.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/images/emoticons/mischief.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/images/emoticons/plain.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/images/emoticons/plain.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/images/emoticons/sad.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/images/emoticons/sad.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/images/emoticons/shocked.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/images/emoticons/shocked.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/images/emoticons/silly.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/images/emoticons/silly.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/images/emoticons/wink.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/images/emoticons/wink.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/images/gateways/aim.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/images/gateways/aim.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/images/gateways/facebook.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/images/gateways/facebook.png
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/images/gateways/gtalk.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/images/gateways/gtalk.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/images/gateways/msn.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/images/gateways/msn.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/images/gateways/twitter.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/images/gateways/twitter.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/images/gateways/xmpp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/images/gateways/xmpp.png
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/images/gateways/yahoo.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/images/gateways/yahoo.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/images/media/camera.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/images/media/camera.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/images/media/camera.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/images/media/camera.jpg
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/images/media/mic.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/images/media/mic.jpg
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/js/gtalklet.js:
--------------------------------------------------------------------------------
1 | var gtalklet = {};
2 |
3 | gtalklet._$ = jQuery.noConflict();
4 | gtalklet._context = null;
5 |
6 | gtalklet.$ = function(selector, context) {
7 | if (typeof(selector) === 'string') {
8 | // ????????????? ????div
9 | var regex = /^\.| \./;
10 | var replace = ' div.';
11 | selector = selector.replace(regex, replace);
12 | }
13 |
14 | if (!context) {
15 | if (!gtalklet._context || gtalklet._context.length === 0) {
16 | gtalklet._context = gtalklet._$('#gtalklet_layer');
17 | }
18 | context = gtalklet._context;
19 | }
20 |
21 | return gtalklet._$.apply(this, arguments);
22 | };
23 |
24 | gtalklet._$.extend(gtalklet.$, gtalklet._$);
25 |
26 | // ???
27 | assistant.init(gtalklet.$);
28 | follower.init(gtalklet.$);
29 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/js/injection/left.js:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/js/injection/left.js
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/js/injection/right.js:
--------------------------------------------------------------------------------
1 | if (typeof(gtalklet) !== 'undefined') {
2 | var layer = gtalklet.$('#gtalklet_layer').hide();
3 | var html = gtalklet.$('html');
4 | var body = gtalklet.$('body', html);
5 |
6 | function gtalklet_align_right() {
7 | var htmlOverflowY = html.css('overflowY');
8 | var bodyOverflowY = body.css('overflowY');
9 | var scrollBarVisible = htmlOverflowY === 'scroll' || bodyOverflowY === 'scroll' || (gtalklet.$(document).height() > gtalklet.$(window).height() && htmlOverflowY !== 'hidden' && bodyOverflowY !== 'hidden');
10 |
11 | var $style = gtalklet.$('#gtalklet_right_css');
12 | var scrollbarWidth = gtalklet.$.scrollbarWidth();
13 | // lion
14 | if (scrollbarWidth == 0) {
15 | scrollbarWidth = 13;
16 | scrollBarVisible = false;
17 | }
18 |
19 | if (!scrollBarVisible) {
20 | var content = '#gtalklet_layer {right: ' + scrollbarWidth + 'px!important;}';
21 | } else {
22 | var content = '';
23 | }
24 |
25 | if ($style.length) {
26 | $style.html(content);
27 | } else {
28 | gtalklet.$("").appendTo(body);
29 | }
30 | layer.show();
31 | };
32 |
33 | // ??body?????????????
34 | body.get(0).addEventListener('overflowchanged', function() {
35 | if (gtalklet_align_right) {
36 | gtalklet_align_right();
37 | }
38 | }, false);
39 |
40 | gtalklet_align_right();
41 | }
42 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/js/strophejs/CHANGELOG.txt:
--------------------------------------------------------------------------------
1 | # Strophe.js Change Log
2 |
3 | ## Version 1.0.2 - 2011-06-19
4 |
5 | * Fix security bug where DIGEST-MD5 client nonce was not properly
6 | randomized.
7 | * Fix double escaping in copyElement.
8 | * Fix IE errors related to importNode.
9 | * Add ability to pass text into Builder.c().
10 | * Improve performance by skipping debugging callbacks when not
11 | overridden.
12 | * Wrap handler runs in try/catch so they don't affect or remove later
13 | handlers.
14 | * Add ' and " to escaped characters and other escaping fixes.
15 | * Fix _throttledRequestHandler to use proper window size.
16 | * Fix timed handler management.
17 | * Fix flXHR plugin to better deal with errors.
18 | * Fix bind() to be ECMAScript 5 compatible.
19 | * Use bosh.metajack.im in examples so they work out of the box.
20 | * Add simple XHR tests.
21 | * Update basic example to HTML5.
22 | * Move community plugins to their own repository.
23 | * Fix bug causing infinite retries.
24 | * Fix 5xx error handling.
25 | * Store stream:features for later use by plugins.
26 | * Fix to prevent passing stanzas during disconnect.
27 | * Fix handling of disconnect responses.
28 | * Fix getBareJidFromJid to return null on error.
29 | * Fix equality testing in matchers so that string literals and string
30 | objects both match.
31 | * Fix bare matching on missing from attributes.
32 | * Remove use of reserved word self.
33 | * Fix various documentation errors.
34 |
35 | ## Version 1.0.1 - 2010-01-27
36 |
37 | * Fix handling of window, hold, and wait attributes. Bug #75.
38 |
39 | ## Version 1.0 - 2010-01-01
40 |
41 | * First release.
42 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/js/strophejs/LICENSE.txt:
--------------------------------------------------------------------------------
1 | Copyright (c) 2006-2009 Collecta, Inc.
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19 | THE SOFTWARE.
20 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/js/strophejs/README.txt:
--------------------------------------------------------------------------------
1 | Strophe.js is a JavaScript library for speaking XMPP via BOSH (XEP 124
2 | and 206). It is licensed under the MIT license, except for the files
3 | base64.js and md5.js, which are licensed as public domain and
4 | BSD (see these files for details).
5 |
6 | It has been tested on Firefox 1.5, 2.x, and 3.x, IE 6, 7, and 8, Safari, Mobile
7 | Safari, Chrome, and it should also work on the mobile Opera browser as
8 | well as the desktop Opera browser.
9 |
10 | The homepage for Strophe is http://strophe.im/strophejs
11 |
12 | The book Professional XMPP Programming with JavaScript and jQuery is
13 | also available, which covers Strophe in detail in the context of web
14 | applications. You can find more information at
15 | http://professionalxmpp.com.
16 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/js/strophejs/plugins/strophe.flxhr.js:
--------------------------------------------------------------------------------
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 (conn) {
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 | onerror: function () {
23 | conn._changeConnectStatus(Strophe.Status.CONNFAIL,
24 | "flXHR connection error");
25 | conn._onDisconnectTimeout();
26 | }});
27 | xhr.onreadystatechange = this.func.bind(null, this);
28 |
29 | return xhr;
30 | };
31 | } else {
32 | Strophe.error("flXHR plugin loaded, but flXHR not found." +
33 | " Falling back to native XHR implementation.");
34 | }
35 | }
36 | });
37 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/js/strophejs/src/base64.js:
--------------------------------------------------------------------------------
1 | // This code was written by Tyler Akins and has been placed in the
2 | // public domain. It would be nice if you left this header intact.
3 | // Base64 code from Tyler Akins -- http://rumkin.com
4 |
5 | var Base64 = (function () {
6 | var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
7 |
8 | var obj = {
9 | /**
10 | * Encodes a string in base64
11 | * @param {String} input The string to encode in base64.
12 | */
13 | encode: function (input) {
14 | var output = "";
15 | var chr1, chr2, chr3;
16 | var enc1, enc2, enc3, enc4;
17 | var i = 0;
18 |
19 | do {
20 | chr1 = input.charCodeAt(i++);
21 | chr2 = input.charCodeAt(i++);
22 | chr3 = input.charCodeAt(i++);
23 |
24 | enc1 = chr1 >> 2;
25 | enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
26 | enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
27 | enc4 = chr3 & 63;
28 |
29 | if (isNaN(chr2)) {
30 | enc3 = enc4 = 64;
31 | } else if (isNaN(chr3)) {
32 | enc4 = 64;
33 | }
34 |
35 | output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) +
36 | keyStr.charAt(enc3) + keyStr.charAt(enc4);
37 | } while (i < input.length);
38 |
39 | return output;
40 | },
41 |
42 | /**
43 | * Decodes a base64 string.
44 | * @param {String} input The string to decode.
45 | */
46 | decode: function (input) {
47 | var output = "";
48 | var chr1, chr2, chr3;
49 | var enc1, enc2, enc3, enc4;
50 | var i = 0;
51 |
52 | // remove all characters that are not A-Z, a-z, 0-9, +, /, or =
53 | input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
54 |
55 | do {
56 | enc1 = keyStr.indexOf(input.charAt(i++));
57 | enc2 = keyStr.indexOf(input.charAt(i++));
58 | enc3 = keyStr.indexOf(input.charAt(i++));
59 | enc4 = keyStr.indexOf(input.charAt(i++));
60 |
61 | chr1 = (enc1 << 2) | (enc2 >> 4);
62 | chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
63 | chr3 = ((enc3 & 3) << 6) | enc4;
64 |
65 | output = output + String.fromCharCode(chr1);
66 |
67 | if (enc3 != 64) {
68 | output = output + String.fromCharCode(chr2);
69 | }
70 | if (enc4 != 64) {
71 | output = output + String.fromCharCode(chr3);
72 | }
73 | } while (i < input.length);
74 |
75 | return output;
76 | }
77 | };
78 |
79 | return obj;
80 | })();
81 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/js/tab/autolink.js:
--------------------------------------------------------------------------------
1 | /*
2 | * http://codesnipp.it/code/793
3 | */
4 | (function($) {
5 | $.fn.extend({
6 | autoLink: function(options){
7 | var classes = options.class || '';
8 | var exp = /(\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/ig;
9 | /* Credit for the regex above goes to @elijahmanor on Twitter, so follow that awesome guy! */
10 | this.each( function(){
11 | $(this).html( $(this).html().replace(exp,"$1") );
12 | });
13 | return this;
14 | }
15 | });
16 | })(jQuery);
17 |
18 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/js/tab/autoresize.js:
--------------------------------------------------------------------------------
1 | /*
2 | * jQuery autoResize (textarea auto-resizer)
3 | * @copyright James Padolsey http://james.padolsey.com
4 | * @version 1.04
5 | */
6 |
7 | (function($){
8 |
9 | $.fn.autoResize = function(options) {
10 |
11 | // Just some abstracted details,
12 | // to make plugin users happy:
13 | var settings = $.extend({
14 | onResize : function(){},
15 | animate : true,
16 | animateDuration : 150,
17 | animateCallback : function(){},
18 | extraSpace : 20,
19 | emptySpace : 20,
20 | limit: 1000
21 | }, options);
22 |
23 | // Only textarea's auto-resize:
24 | this.filter('textarea').each(function(){
25 |
26 | // Get rid of scrollbars and disable WebKit resizing:
27 | var textarea = $(this).css({resize:'none','overflow-y':'hidden'}),
28 |
29 | // Cache original height, for use later:
30 | origHeight = textarea.height(),
31 |
32 | // Need clone of textarea, hidden off screen:
33 | clone = (function(){
34 |
35 | // Properties which may effect space taken up by chracters:
36 | var props = ['height','width','lineHeight','textDecoration','letterSpacing'],
37 | propOb = {};
38 |
39 | // Create object of styles to apply:
40 | $.each(props, function(i, prop){
41 | propOb[prop] = textarea.css(prop);
42 | });
43 |
44 | // Clone the actual textarea removing unique properties
45 | // and insert before original textarea:
46 | return textarea.clone().removeAttr('id').removeAttr('name').css({
47 | position: 'absolute',
48 | top: 0,
49 | visibility: 'hidden',
50 | left: -9999
51 | }).css(propOb).attr('tabIndex','-1').insertBefore(textarea);
52 |
53 | })(),
54 | lastScrollTop = null,
55 | updateSize = function(event) {
56 |
57 | // Prepare the clone:
58 | clone.height(0).val($(this).val()).scrollTop(10000);
59 |
60 | // Find the height of text:
61 | // TODO related to 'blur', not so good
62 | var scrollTop = event.type == 'blur' && textarea.val() == '' ? settings.emptySpace : clone.scrollTop() + settings.extraSpace,
63 | toChange = $(this).add(clone);
64 |
65 | // Don't do anything if scrollTop hasen't changed:
66 | if (lastScrollTop === scrollTop) { return; }
67 | lastScrollTop = scrollTop;
68 |
69 | // Check for limit:
70 | if ( scrollTop >= settings.limit ) {
71 | $(this).css('overflow-y','');
72 | return;
73 | }
74 | // Fire off callback:
75 | settings.onResize.call(this);
76 |
77 | // Either animate or directly apply height:
78 | settings.animate && textarea.css('display') === 'block' ?
79 | toChange.stop().animate({height:scrollTop}, settings.animateDuration, settings.animateCallback)
80 | : toChange.height(scrollTop);
81 | };
82 |
83 | // Bind namespaced handlers to appropriate events:
84 | textarea
85 | .unbind('.dynSiz')
86 | .bind('focus.dynSiz', updateSize)
87 | //.bind('blur.dynSiz', updateSize)
88 | .bind('keyup.dynSiz', updateSize)
89 | .bind('keydown.dynSiz', updateSize)
90 | .bind('change.dynSiz', updateSize);
91 |
92 | });
93 |
94 | // Chain:
95 | return this;
96 |
97 | };
98 |
99 |
100 |
101 | })(jQuery);
102 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/js/tab/follower.js:
--------------------------------------------------------------------------------
1 | /**
2 | * follower???content script???boss?????assistant??????
3 | */
4 |
5 | var follower = (function(){
6 |
7 | var _listened = false,
8 | _port = null,
9 | $ = null,
10 |
11 | /**
12 | * ???follower
13 | */
14 | init = function(_$) {
15 | $ = _$;
16 | if (!_listened) {
17 | _listened = true;
18 | _listen();
19 | }
20 | },
21 |
22 | /**
23 | * ??boss???
24 | */
25 | _listen = function() {
26 | chrome.extension.onConnect.addListener(function(port) {
27 | _port = port;
28 | _port.onMessage.addListener(follower._callbackUpdate);
29 | });
30 | },
31 |
32 | _sendRequest = function(data, callbackName) {
33 | if (_port) {
34 | _port.postMessage({data: data, callback: callbackName}) ;
35 | }
36 | },
37 |
38 | /**
39 | * ??boss?????boss???
40 | */
41 | report = function(reportKey, parameters, callback) {
42 | if (callback) {
43 | var callbackName = 'gtalklet_callback_' + $.now() + Math.random();
44 | window[callbackName] = callback;
45 | }
46 | if (!parameters) {
47 | parameters = {};
48 | }
49 |
50 | _sendRequest({'report' : reportKey, 'parameters': parameters}, callbackName);
51 | },
52 |
53 |
54 | /**
55 | * ??boss??????/??/??assistant??????
56 | */
57 | _callbackUpdate = function(data, port) {
58 | var state = data;
59 |
60 | if (state.callback) {
61 | // ??????????
62 | var callback = state.callback;
63 | if (window[callback]) {
64 | window[callback](state.stateChange);
65 | delete window[callback];
66 | }
67 | } else {
68 | if (state.enable) {
69 | // disabled => enabled
70 | assistant.build(state, true);
71 | _sendRequest({report: 'showPageAction'});
72 | } else if (state.jingleRequest) {
73 | assistant.handleJingle(state);
74 | } else if (state.disable) {
75 | // enabled => disabled
76 | assistant.destroy(true);
77 | _sendRequest({report: 'showPageAction'});
78 | } else {
79 | if ($.isEmptyObject(state.stateChange)) {
80 | // state???stateChange ??????
81 | assistant.build(state);
82 | _sendRequest({report: 'showPageAction'});
83 | } else {
84 | // state??stateChange
85 | // ??????
86 | assistant.handleStateChange(state.stateChange);
87 | }
88 | }
89 | }
90 | };
91 |
92 | return {
93 | init:init,
94 | report: report,
95 | _callbackUpdate: _callbackUpdate
96 | };
97 |
98 | })();
99 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/js/tab/jquery.scrollTo.js:
--------------------------------------------------------------------------------
1 | /**
2 | * jQuery.ScrollTo - Easy element scrolling using jQuery.
3 | * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
4 | * Dual licensed under MIT and GPL.
5 | * Date: 5/25/2009
6 | * @author Ariel Flesler
7 | * @version 1.4.2
8 | *
9 | * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
10 | */
11 | ;(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/js/tab/jquery.scrollbarWidth.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * jQuery Scrollbar Width v1.0
3 | *
4 | * Copyright 2011, Rasmus Schultz
5 | * Licensed under LGPL v3.0
6 | * http://www.gnu.org/licenses/lgpl-3.0.txt
7 | */
8 |
9 | /**
10 | * Sean Zheng
11 | * Maybe html is better. e.g. http://www.google.com/404
12 | *
13 | * - $body = $('body');
14 | * + $body = $('html');
15 | */
16 | (function($){
17 |
18 | $.scrollbarWidth = function() {
19 | if (!$._scrollbarWidth) {
20 | var $body = $('html');
21 | var w = $body.css('overflow', 'hidden').width();
22 | $body.css('overflow','scroll');
23 | w -= $body.width();
24 | if (!w) w=$body.width()-$body[0].clientWidth; // IE in standards mode
25 | $body.css('overflow','');
26 | $._scrollbarWidth = w;
27 | }
28 | return $._scrollbarWidth;
29 | };
30 |
31 | })(jQuery);
32 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/js/tab/jquery.switchToClass.js:
--------------------------------------------------------------------------------
1 | (function($){
2 | $.switchToClass = function(el, targetClass, options){
3 | var base = this;
4 |
5 | base.$el = $(el);
6 | base.el = el;
7 |
8 | base.$el.data("switchToClass", base);
9 |
10 | base.init = function(){
11 | if( typeof( targetClass ) === "undefined" || targetClass === null ) targetClass = "";
12 | base.targetClass = targetClass;
13 | base.options = $.extend({},$.switchToClass.defaultOptions, options);
14 | };
15 |
16 | base.init();
17 | };
18 |
19 | $.switchToClass.defaultOptions = {
20 |
21 | };
22 |
23 | $.fn.switchToClass = function(targetClass, options){
24 | return this.each(function(){
25 | (new $.switchToClass(this,targetClass, options));
26 | var oClass = $(this).data('switch-class');
27 | if (oClass) {
28 | $(this).removeClass(oClass);
29 | }
30 | $(this).addClass(targetClass).data('switch-class', targetClass);
31 | });
32 | };
33 |
34 | })(jQuery);
35 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/js/tab/micro-templating.js:
--------------------------------------------------------------------------------
1 | // Simple JavaScript Templating
2 | // John Resig - http://ejohn.org/ - MIT Licensed
3 | (function(){
4 | var cache = {};
5 |
6 | this.tmpl = function tmpl(str, data){
7 | // Figure out if we're getting a template, or if we need to
8 | // load the template - and be sure to cache the result.
9 | var fn = !/\W/.test(str) ?
10 | cache[str] = cache[str] ||
11 | tmpl(document.getElementById(str).innerHTML) :
12 |
13 | // Generate a reusable function that will serve as a template
14 | // generator (and which will be cached).
15 | new Function("obj",
16 | "var p=[],print=function(){p.push.apply(p,arguments);};" +
17 |
18 | // Introduce the data as local variables using with(){}
19 | "with(obj){p.push('" +
20 |
21 | // Convert the template into pure JavaScript
22 | str
23 | .replace(/[\r\t\n]/g, " ")
24 | .split("<%").join("\t")
25 | .replace(/((^|%>)[^\t]*)'/g, "$1\r")
26 | .replace(/\t=(.*?)%>/g, "',$1,'")
27 | .split("\t").join("');")
28 | .split("%>").join("p.push('")
29 | .split("\r").join("\\'")
30 | + "');}return p.join('');");
31 |
32 | // Provide some basic currying to the user
33 | return data ? fn( data ) : fn;
34 | };
35 | })();
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "background_page": "html/background.html",
3 | "content_scripts": [ {
4 | "css": [ "css/style.css", "css/boxy.css"],
5 | "exclude_globs": [ "*://chrome.google.com/webstore/*", "about:blank" ],
6 | "js": [ "js/jquery.js", "js/jquery.boxy.js", "js/tab/micro-templating.js", "js/tab/autoresize.js", "js/tab/autolink.js", "js/tab/assistant.js", "js/tab/follower.js", "js/sdptojingle.js", "js/tab/jingle.js", "js/tab/jquery.switchToClass.js", "js/tab/jquery.blockUI.js", "js/tab/jquery.scrollbarWidth.js", "js/gtalklet.js" ],
7 | "matches": [ "http://*/*", "https://*/*" ],
8 | "run_at": "document_idle"
9 | } ],
10 | "description": "Openfire Chat extension for Google Chrome",
11 | "icons": {
12 | "128": "icon128.gif",
13 | "16": "icon.gif",
14 | "48": "icon48.gif"
15 | },
16 | "minimum_chrome_version": "19",
17 | "name": "OfChat",
18 | "options_page": "options/index.html",
19 |
20 | "page_action": {
21 | "default_title": "Openfire Chat"
22 | },
23 | "permissions": ["experimental", "tabs", "notifications", "idle", "http://*/", "https://*/"],
24 | "version": "0.0.0.10"
25 | }
26 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/notification.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/notification.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/options/fancy-settings/CHANGELOG.md:
--------------------------------------------------------------------------------
1 | # Changelog
2 |
3 | ## v1.2 [ API CHANGE! ]
4 | * **Feature**: Added version number to README file
5 | * **Feature**: Added CHANGELOG
6 | * **Feature**: Added alignment support
7 | * **Change**: Removed the possibility to use objects to define options for elements other than popupButton
8 | * **Change**: Added support for option groups in popupButtons, changing the format when defining options as objects
9 | * **Change**: Changed the default value of "display" in the slider params from true to false
10 | * **Change**: Search doesn't change the DOM structure of settings any more
11 | * **Change**: i18n now returns the string you entered instead of undefined if no translation can be found
12 | * **Bug**: Fixed an issue were the search field had the wrong placeholder when "search" had no translation
13 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/options/fancy-settings/README.md:
--------------------------------------------------------------------------------
1 | # [Fancy Settings 1.2](https://github.com/frankkohlhepp/fancy-settings)
2 | *Create fancy, chrome-look-alike settings for your Chrome or Safari extension in minutes!*
3 |
4 | ### Howto
5 | Welcome to Fancy Settings! Are you ready for tabs, groups, search, good style?
6 | Let's get started, it only takes a few minutes...
7 |
8 | [Getting started](https://github.com/frankkohlhepp/fancy-settings/wiki)
9 | [View Sample](http://frankkohlhepp.github.com/fancy-settings/)
10 |
11 | ### License
12 | Fancy Settings is licensed under the **LGPL 2.1**.
13 | For details see *LICENSE.txt*
14 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/options/fancy-settings/resources/icon.drawit/Data:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/options/fancy-settings/resources/icon.drawit/Data
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/options/fancy-settings/resources/icon.drawit/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | fileVersion
6 | 2
7 |
8 |
9 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/options/fancy-settings/resources/icon.drawit/QuickLook/Preview.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/options/fancy-settings/resources/icon.drawit/QuickLook/Preview.jpg
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/options/fancy-settings/resources/icon.drawit/QuickLook/Thumbnail.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/options/fancy-settings/resources/icon.drawit/QuickLook/Thumbnail.jpg
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/options/fancy-settings/source/css/main.css:
--------------------------------------------------------------------------------
1 | /*
2 | // Copyright (c) 2011 Frank Kohlhepp
3 | // https://github.com/frankkohlhepp/fancy-settings
4 | // License: LGPL v2.1
5 | */
6 | .fancy {
7 | text-shadow: #F5F5F5 0 1px 0;
8 | }
9 |
10 | #sidebar {
11 | position: absolute;
12 | background-color: #EDEDED;
13 | background-image: linear-gradient(top, #EDEDED, #F5F5F5);
14 | background-image: -webkit-gradient(
15 | linear,
16 | left top,
17 | left 500,
18 | color-stop(0, #EDEDED),
19 | color-stop(1, #F5F5F5)
20 | );
21 | background-image: -moz-linear-gradient(
22 | center top,
23 | #EDEDED 0%,
24 | #F5F5F5 100%
25 | );
26 | background-image: -o-linear-gradient(top, #EDEDED, #F5F5F5);
27 | width: 219px;
28 | top: 0;
29 | left: 0;
30 | bottom: 0;
31 | border-right: 1px solid #C2C2C2;
32 | box-shadow: inset -8px 0 30px -30px black;
33 | }
34 |
35 | #icon {
36 | position: absolute;
37 | width: 30px;
38 | height: 30px;
39 | top: 12px;
40 | left: 12px;
41 | }
42 |
43 | #sidebar h1 {
44 | position: absolute;
45 | top: 13px;
46 | right: 25px;
47 | font-size: 26px;
48 | color: #707070;
49 | }
50 |
51 | #tab-container {
52 | position: absolute;
53 | top: 50px;
54 | left: 0;
55 | right: 0;
56 | bottom: 0;
57 | overflow-y: auto;
58 | overflow-x: hidden;
59 | text-align: right;
60 | }
61 |
62 | #tab-container .tab {
63 | height: 28px;
64 | padding-right: 25px;
65 | border-top: 1px solid transparent;
66 | border-bottom: 1px solid transparent;
67 | font-size: 12px;
68 | line-height: 28px;
69 | color: #808080;
70 | cursor: pointer;
71 | }
72 |
73 | #search-container {
74 | margin-top: 5px;
75 | margin-bottom: 5px;
76 | padding-right: 23px !important;
77 | cursor: default !important;
78 | }
79 |
80 | #search-container input {
81 | width: 130px;
82 | }
83 |
84 | #tab-container .tab.active, body.searching #search-container {
85 | background-color: #D4D4D4;
86 | border-color: #BFBFBF;
87 | color: black;
88 | text-shadow: #DBDBDB 0 1px 0;
89 | box-shadow: inset -12px 0 30px -30px black;
90 | }
91 |
92 | body.searching #tab-container .tab.active {
93 | background-color: transparent;
94 | border-color: transparent;
95 | color: #808080;
96 | text-shadow: inherit;
97 | box-shadow: none;
98 | }
99 |
100 | #content {
101 | position: absolute;
102 | top: 0;
103 | left: 220px;
104 | right: 0;
105 | bottom: 0;
106 | overflow: auto;
107 | }
108 |
109 | .tab-content {
110 | display: none;
111 | position: absolute;
112 | width: 840px;
113 | top: 0;
114 | left: 0;
115 | bottom: 0;
116 | padding: 20px;
117 | padding-top: 15px;
118 | }
119 |
120 | body.searching .tab-content {
121 | display: none !important;
122 | }
123 |
124 | body.searching #search-result-container {
125 | display: block !important;
126 | }
127 |
128 | body.measuring .tab-content, body.measuring #search-result-container {
129 | display: block !important;
130 | opacity: 0;
131 | overflow: hidden;
132 | }
133 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/options/fancy-settings/source/css/setting.css:
--------------------------------------------------------------------------------
1 | /*
2 | // Copyright (c) 2011 Frank Kohlhepp
3 | // https://github.com/frankkohlhepp/fancy-settings
4 | // License: LGPL v2.1
5 | */
6 | .tab-content h2 {
7 | margin: 0;
8 | padding-bottom: 5px;
9 | font-size: 26px;
10 | color: #707070;
11 | line-height: 1;
12 | }
13 |
14 | .setting.group {
15 | border-top: 1px solid #EEEEEE;
16 | margin-top: 10px;
17 | padding-top: 5px;
18 | padding-left: 2px;
19 | }
20 |
21 | .setting.group-name {
22 | width: 140px;
23 | padding: 0;
24 | font-size: 14px;
25 | font-weight: bold;
26 | vertical-align: top;
27 | }
28 |
29 | .setting.bundle {
30 | max-width: 600px;
31 | margin-bottom: 5px;
32 | }
33 |
34 | .setting.bundle.list-box {
35 | margin-bottom: 10px;
36 | }
37 |
38 | .setting.label.radio-buttons + .setting.container.radio-buttons {
39 | margin-top: 3px;
40 | }
41 |
42 | .setting.label, .setting.element-label {
43 | margin-right: 15px;
44 | font-size: 13px;
45 | font-weight: normal;
46 | }
47 |
48 | .setting.label.checkbox, .setting.element-label {
49 | margin-left: 5px;
50 | margin-right: 0;
51 | }
52 |
53 | .setting.label.checkbox {
54 | position: relative;
55 | top: 1px;
56 | }
57 |
58 | .setting.element.slider {
59 | position: relative;
60 | width: 150px;
61 | top: 4px;
62 | }
63 |
64 | .setting.element.list-box {
65 | display: block;
66 | height: 100px;
67 | width: 100%;
68 | }
69 |
70 | .setting.display.slider {
71 | margin-left: 5px;
72 | color: #666666;
73 | }
74 |
75 | #nothing-found {
76 | display: none;
77 | margin-top: 10px;
78 | font-size: 18px;
79 | font-weight: lighter;
80 | color: #999999;
81 | }
82 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/options/fancy-settings/source/custom.css:
--------------------------------------------------------------------------------
1 | /*
2 | // Add your own style rules here, not in css/main.css
3 | // or css/setting.css for easy updating reasons.
4 | */
5 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/options/fancy-settings/source/i18n.js:
--------------------------------------------------------------------------------
1 | // SAMPLE
2 | this.i18n = {
3 | "settings": {
4 | "en": "Settings",
5 | "de": "Optionen"
6 | },
7 | "search": {
8 | "en": "Search",
9 | "de": "Suche"
10 | },
11 | "nothing-found": {
12 | "en": "No matches were found.",
13 | "de": "Keine Übereinstimmungen gefunden."
14 | },
15 |
16 |
17 |
18 | "information": {
19 | "en": "Information",
20 | "de": "Information"
21 | },
22 | "login": {
23 | "en": "Login",
24 | "de": "Anmeldung"
25 | },
26 | "username": {
27 | "en": "Username:",
28 | "de": "Benutzername:"
29 | },
30 | "password": {
31 | "en": "Password:",
32 | "de": "Passwort:"
33 | },
34 | "x-characters": {
35 | "en": "6 - 12 characters",
36 | "de": "6 - 12 Zeichen"
37 | },
38 | "x-characters-pw": {
39 | "en": "10 - 18 characters",
40 | "de": "10 - 18 Zeichen"
41 | },
42 | "description": {
43 | "en": "This is a description. You can write any text inside of this.
\
44 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut\
45 | labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores\
46 | et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem\
47 | ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et\
48 | dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.\
49 | Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.",
50 |
51 | "de": "Das ist eine Beschreibung. Du kannst hier beliebigen Text einfügen.
\
52 | Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut\
53 | labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores\
54 | et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem\
55 | ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et\
56 | dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.\
57 | Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
58 | },
59 | "logout": {
60 | "en": "Logout",
61 | "de": "Abmeldung"
62 | },
63 | "enable": {
64 | "en": "Enable",
65 | "de": "Aktivieren"
66 | },
67 | "disconnect": {
68 | "en": "Disconnect:",
69 | "de": "Trennen:"
70 | }
71 | };
72 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/options/fancy-settings/source/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/options/fancy-settings/source/icon.png
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/options/fancy-settings/source/index.html:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
40 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/options/fancy-settings/source/js/classes/search.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2011 Frank Kohlhepp
3 | // https://github.com/frankkohlhepp/fancy-settings
4 | // License: LGPL v2.1
5 | //
6 | (function () {
7 | this.Search = new Class({
8 | "index": [],
9 | "groups": {},
10 |
11 | "initialize": function (search, searchResultContainer) {
12 | var setting,
13 | find;
14 |
15 | this.search = search;
16 | this.searchResultContainer = searchResultContainer;
17 | this.setting = new Setting(new Element("div"));
18 |
19 | // Create setting for message "nothing found"
20 | setting = new Setting(this.searchResultContainer);
21 | this.nothingFound = setting.create({
22 | "type": "description",
23 | "text": (i18n.get("nothing-found") || "No matches were found.")
24 | });
25 | this.nothingFound.bundle.set("id", "nothing-found");
26 |
27 | // Create event handlers
28 | find = (function (event) {
29 | this.find(event.target.get("value"));
30 | }).bind(this);
31 |
32 | this.search.addEvent("keyup", (function (event) {
33 | if (event.key === "esc") {
34 | this.reset();
35 | } else {
36 | find(event);
37 | }
38 | }).bind(this));
39 | this.search.addEventListener("search", find, false);
40 | },
41 |
42 | "bind": function (tab) {
43 | tab.addEvent("click", this.reset.bind(this));
44 | },
45 |
46 | "add": function (setting) {
47 | var searchSetting = this.setting.create(setting.params);
48 | setting.search = searchSetting;
49 | searchSetting.original = setting;
50 | this.index.push(searchSetting);
51 |
52 | setting.addEvent("action", function (value, stopPropagation) {
53 | if (searchSetting.set !== undefined && stopPropagation !== true) {
54 | searchSetting.set(value, true);
55 | }
56 | });
57 | searchSetting.addEvent("action", function (value) {
58 | if (setting.set !== undefined) {
59 | setting.set(value, true);
60 | }
61 | setting.fireEvent("action", [value, true]);
62 | });
63 | },
64 |
65 | "find": function (searchString) {
66 | // Exit search mode
67 | if (searchString.trim() === "") {
68 | document.body.removeClass("searching");
69 | return;
70 | }
71 |
72 | // Or enter search mode
73 | this.index.each(function (setting) { setting.bundle.dispose(); });
74 | Object.each(this.groups, function (group) { group.dispose(); });
75 | document.body.addClass("searching");
76 |
77 | // Filter settings
78 | var result = this.index.filter(function (setting) {
79 | if (setting.params.searchString.contains(searchString.trim().toLowerCase())) {
80 | return true;
81 | }
82 | });
83 |
84 | // Display settings
85 | result.each((function (setting) {
86 | var group,
87 | row;
88 |
89 | // Create group if it doesn't exist already
90 | if (this.groups[setting.params.group] === undefined) {
91 | this.groups[setting.params.group] = (new Element("table", {
92 | "class": "setting group"
93 | })).inject(this.searchResultContainer);
94 |
95 | group = this.groups[setting.params.group];
96 | row = (new Element("tr")).inject(group);
97 |
98 | (new Element("td", {
99 | "class": "setting group-name",
100 | "text": setting.params.group
101 | })).inject(row);
102 |
103 | group.content = (new Element("td", {
104 | "class": "setting group-content"
105 | })).inject(row);
106 | } else {
107 | group = this.groups[setting.params.group].inject(this.searchResultContainer);
108 | }
109 |
110 | setting.bundle.inject(group.content);
111 | }).bind(this));
112 |
113 | if (result.length === 0) {
114 | this.nothingFound.bundle.addClass("show");
115 | } else {
116 | this.nothingFound.bundle.removeClass("show");
117 | }
118 | },
119 |
120 | "reset": function () {
121 | this.search.set("value", "");
122 | this.search.blur();
123 | this.find("");
124 | }
125 | });
126 | }());
127 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/options/fancy-settings/source/js/classes/tab.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2011 Frank Kohlhepp
3 | // https://github.com/frankkohlhepp/fancy-settings
4 | // License: LGPL v2.1
5 | //
6 | (function () {
7 | var Bundle = new Class({
8 | "initialize": function (creator) {
9 | this.creator = creator;
10 |
11 | // Create DOM elements
12 | this.tab = new Element("div", {"class": "tab"});
13 | this.content = new Element("div", {"class": "tab-content"});
14 |
15 | // Create event handlers
16 | this.tab.addEvent("click", this.activate.bind(this));
17 | },
18 |
19 | "activate": function () {
20 | if (this.creator.activeBundle && this.creator.activeBundle !== this) {
21 | this.creator.activeBundle.deactivate();
22 | }
23 | this.tab.addClass("active");
24 | this.content.addClass("show");
25 | this.creator.activeBundle = this;
26 | },
27 |
28 | "deactivate": function () {
29 | this.tab.removeClass("active");
30 | this.content.removeClass("show");
31 | this.creator.activeBundle = null;
32 | }
33 | });
34 |
35 | this.Tab = new Class({
36 | "activeBundle": null,
37 |
38 | "initialize": function (tabContainer, tabContentContainer) {
39 | this.tabContainer = tabContainer;
40 | this.tabContentContainer = tabContentContainer;
41 | },
42 |
43 | "create": function () {
44 | var bundle = new Bundle(this);
45 | bundle.tab.inject(this.tabContainer);
46 | bundle.content.inject(this.tabContentContainer);
47 | if (!this.activeBundle) { bundle.activate(); }
48 | return bundle;
49 | }
50 | });
51 | }());
52 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/options/fancy-settings/source/js/i18n.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2011 Frank Kohlhepp
3 | // https://github.com/frankkohlhepp/fancy-settings
4 | // License: LGPL v2.1
5 | //
6 | (function () {
7 | var lang = navigator.language.split("-")[0];
8 | if (this.i18n === undefined) { this.i18n = {}; }
9 | this.i18n.get = function (value) {
10 | if (value === "lang") {
11 | return lang;
12 | }
13 |
14 | if (this.hasOwnProperty(value)) {
15 | value = this[value];
16 | if (value.hasOwnProperty(lang)) {
17 | return value[lang];
18 | } else if (value.hasOwnProperty("en")) {
19 | return value["en"];
20 | } else {
21 | return Object.values(value)[0];
22 | }
23 | } else {
24 | return value;
25 | }
26 | };
27 | }());
28 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/options/fancy-settings/source/lib/store.js:
--------------------------------------------------------------------------------
1 | //
2 | // Copyright (c) 2011 Frank Kohlhepp
3 | // https://github.com/frankkohlhepp/store-js
4 | // License: MIT-license
5 | //
6 | (function () {
7 | var Store = this.Store = function (name, defaults) {
8 | var key;
9 | this.name = name;
10 |
11 | if (defaults !== undefined) {
12 | for (key in defaults) {
13 | if (defaults.hasOwnProperty(key) && this.get(key) === undefined) {
14 | this.set(key, defaults[key]);
15 | }
16 | }
17 | }
18 | };
19 |
20 | Store.prototype.get = function (name) {
21 | name = "store." + this.name + "." + name;
22 | if (localStorage.getItem(name) === null) { return undefined; }
23 | try {
24 | return JSON.parse(localStorage.getItem(name));
25 | } catch (e) {
26 | return null;
27 | }
28 | };
29 |
30 | Store.prototype.set = function (name, value) {
31 | if (value === undefined) {
32 | this.remove(name);
33 | } else {
34 | if (typeof value === "function") {
35 | value = null;
36 | } else {
37 | try {
38 | value = JSON.stringify(value);
39 | } catch (e) {
40 | value = null;
41 | }
42 | }
43 |
44 | localStorage.setItem("store." + this.name + "." + name, value);
45 | }
46 |
47 | return this;
48 | };
49 |
50 | Store.prototype.remove = function (name) {
51 | localStorage.removeItem("store." + this.name + "." + name);
52 | return this;
53 | };
54 |
55 | Store.prototype.removeAll = function () {
56 | var name,
57 | i;
58 |
59 | name = "store." + this.name + ".";
60 | for (i = (localStorage.length - 1); i >= 0; i--) {
61 | if (localStorage.key(i).substring(0, name.length) === name) {
62 | localStorage.removeItem(localStorage.key(i));
63 | }
64 | }
65 |
66 | return this;
67 | };
68 |
69 | Store.prototype.toObject = function () {
70 | var values,
71 | name,
72 | i,
73 | key,
74 | value;
75 |
76 | values = {};
77 | name = "store." + this.name + ".";
78 | for (i = (localStorage.length - 1); i >= 0; i--) {
79 | if (localStorage.key(i).substring(0, name.length) === name) {
80 | key = localStorage.key(i).substring(name.length);
81 | value = this.get(key);
82 | if (value !== undefined) { values[key] = value; }
83 | }
84 | }
85 |
86 | return values;
87 | };
88 |
89 | Store.prototype.fromObject = function (values, merge) {
90 | if (merge !== true) { this.removeAll(); }
91 | for (var key in values) {
92 | if (values.hasOwnProperty(key)) {
93 | this.set(key, values[key]);
94 | }
95 | }
96 |
97 | return this;
98 | };
99 | }());
100 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/options/fancy-settings/source/manifest.js:
--------------------------------------------------------------------------------
1 | // SAMPLE
2 | this.manifest = {
3 | "name": "My Extension",
4 | "icon": "icon.png",
5 | "settings": [
6 | {
7 | "tab": i18n.get("information"),
8 | "group": i18n.get("login"),
9 | "name": "username",
10 | "type": "text",
11 | "label": i18n.get("username"),
12 | "text": i18n.get("x-characters")
13 | },
14 | {
15 | "tab": i18n.get("information"),
16 | "group": i18n.get("login"),
17 | "name": "password",
18 | "type": "text",
19 | "label": i18n.get("password"),
20 | "text": i18n.get("x-characters-pw"),
21 | "masked": true
22 | },
23 | {
24 | "tab": i18n.get("information"),
25 | "group": i18n.get("login"),
26 | "name": "myDescription",
27 | "type": "description",
28 | "text": i18n.get("description")
29 | },
30 | {
31 | "tab": i18n.get("information"),
32 | "group": i18n.get("logout"),
33 | "name": "myCheckbox",
34 | "type": "checkbox",
35 | "label": i18n.get("enable")
36 | },
37 | {
38 | "tab": i18n.get("information"),
39 | "group": i18n.get("logout"),
40 | "name": "myButton",
41 | "type": "button",
42 | "label": i18n.get("disconnect"),
43 | "text": i18n.get("logout")
44 | },
45 | {
46 | "tab": "Details",
47 | "group": "Sound",
48 | "name": "noti_volume",
49 | "type": "slider",
50 | "label": "Notification volume:",
51 | "max": 1,
52 | "min": 0,
53 | "step": 0.01,
54 | "display": true,
55 | "displayModifier": function (value) {
56 | return (value * 100).floor() + "%";
57 | }
58 | },
59 | {
60 | "tab": "Details",
61 | "group": "Sound",
62 | "name": "sound_volume",
63 | "type": "slider",
64 | "label": "Sound volume:",
65 | "max": 100,
66 | "min": 0,
67 | "step": 1,
68 | "display": true,
69 | "displayModifier": function (value) {
70 | return value + "%";
71 | }
72 | },
73 | {
74 | "tab": "Details",
75 | "group": "Food",
76 | "name": "myPopupButton",
77 | "type": "popupButton",
78 | "label": "Soup 1 should be:",
79 | "options": {
80 | "groups": [
81 | "Hot", "Cold",
82 | ],
83 | "values": [
84 | {
85 | "value": "hot",
86 | "text": "Very hot",
87 | "group": "Hot",
88 | },
89 | {
90 | "value": "Medium",
91 | "group": 1,
92 | },
93 | {
94 | "value": "Cold",
95 | "group": 2,
96 | },
97 | ["Non-existing"]
98 | ],
99 | },
100 | },
101 | {
102 | "tab": "Details",
103 | "group": "Food",
104 | "name": "myListBox",
105 | "type": "listBox",
106 | "label": "Soup 2 should be:",
107 | "options": [
108 | ["hot", "Hot and yummy"],
109 | ["cold"]
110 | ]
111 | },
112 | {
113 | "tab": "Details",
114 | "group": "Food",
115 | "name": "myRadioButtons",
116 | "type": "radioButtons",
117 | "label": "Soup 3 should be:",
118 | "options": [
119 | ["hot", "Hot and yummy"],
120 | ["cold"]
121 | ]
122 | }
123 | ],
124 | "alignment": [
125 | [
126 | "username",
127 | "password"
128 | ],
129 | [
130 | "noti_volume",
131 | "sound_volume"
132 | ]
133 | ]
134 | };
135 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/options/fancy-settings/source/settings.js:
--------------------------------------------------------------------------------
1 | window.addEvent("domready", function () {
2 | // Option 1: Use the manifest:
3 | new FancySettings.initWithManifest(function (settings) {
4 | settings.manifest.myButton.addEvent("action", function () {
5 | alert("You clicked me!");
6 | });
7 | });
8 |
9 | // Option 2: Do everything manually:
10 | /*
11 | var settings = new FancySettings("My Extension", "icon.png");
12 |
13 | var username = settings.create({
14 | "tab": i18n.get("information"),
15 | "group": i18n.get("login"),
16 | "name": "username",
17 | "type": "text",
18 | "label": i18n.get("username"),
19 | "text": i18n.get("x-characters")
20 | });
21 |
22 | var password = settings.create({
23 | "tab": i18n.get("information"),
24 | "group": i18n.get("login"),
25 | "name": "password",
26 | "type": "text",
27 | "label": i18n.get("password"),
28 | "text": i18n.get("x-characters-pw"),
29 | "masked": true
30 | });
31 |
32 | var myDescription = settings.create({
33 | "tab": i18n.get("information"),
34 | "group": i18n.get("login"),
35 | "name": "myDescription",
36 | "type": "description",
37 | "text": i18n.get("description")
38 | });
39 |
40 | var myButton = settings.create({
41 | "tab": "Information",
42 | "group": "Logout",
43 | "name": "myButton",
44 | "type": "button",
45 | "label": "Disconnect:",
46 | "text": "Logout"
47 | });
48 |
49 | // ...
50 |
51 | myButton.addEvent("action", function () {
52 | alert("You clicked me!");
53 | });
54 |
55 | settings.align([
56 | username,
57 | password
58 | ]);
59 | */
60 | });
61 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/options/i18n.js:
--------------------------------------------------------------------------------
1 | // SAMPLE
2 | this.i18n = {
3 | "settings": {
4 | "en": "Options",
5 | }
6 | };
7 |
8 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/options/icon.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/options/icon.gif
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/options/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/openfire-websockets/src/ofchat/options/icon.png
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/options/index.html:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
49 |
50 |
51 |
Search
52 |
53 |
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/options/settings.js:
--------------------------------------------------------------------------------
1 | window.addEvent("domready", function () {
2 |
3 | new FancySettings.initWithManifest(function (settings) {
4 | var toggleBoshService = function(effect) {
5 | var value = settings.manifest.custom_bosh_service.get();
6 | jQuery("#bosh_service").hide();
7 | };
8 |
9 | var $sensitiveElements = jQuery('.tab-content.show input:not(#signout), .tab-content.show select, .tab-content.show checkbox');
10 | var $signoutGroup = jQuery('#signout').closest('.group');
11 | var toggleProtection = function() {
12 | if (background.secretary.active) {
13 | $sensitiveElements.attr('disabled', 'disabled');
14 | $signoutGroup.show();
15 | } else {
16 | $sensitiveElements.removeAttr('disabled');
17 | $signoutGroup.hide();
18 | }
19 | };
20 |
21 | var toggleJid = function() {
22 |
23 | var value = settings.manifest.jid.get();
24 | if (value) {
25 | jQuery('#jid').removeClass('error');
26 | } else {
27 | jQuery('#jid').addClass('error');
28 | }
29 | };
30 | var togglePassword = function() {
31 | var value = settings.manifest.password.get();
32 | if (value) {
33 | jQuery('#password').removeClass('error');
34 | } else {
35 | jQuery('#password').addClass('error');
36 | }
37 | };
38 |
39 | var background = chrome.extension.getBackgroundPage();
40 |
41 | toggleBoshService();
42 | toggleProtection();
43 | toggleJid();
44 | togglePassword();
45 |
46 | settings.manifest.custom_bosh_service.addEvent("action", function() {
47 | var value = settings.manifest.custom_bosh_service.get();
48 | // check if valid url
49 | var exp = /(\b(https?):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/i;
50 | if (value) {
51 | if (value.match(exp)) {
52 | jQuery('#custom_bosh_service').removeClass('error');
53 | } else {
54 | jQuery('#custom_bosh_service').addClass('error');
55 | }
56 | } else {
57 | jQuery('#custom_bosh_service').removeClass('error');
58 | }
59 | background.boss.optionUpdated("CUSTOM_BOSH_SERVICE", value);
60 | });
61 |
62 | jQuery('#custom_bosh_service').bind('blur',function() {
63 | var value = settings.manifest.custom_bosh_service.get();
64 |
65 | }).bind('focus', function() {
66 | var value = settings.manifest.custom_bosh_service.get();
67 | });
68 |
69 | settings.manifest.jid.addEvent("action", function() {
70 | toggleJid();
71 | background.boss.optionUpdated("JID", settings.manifest.jid.get());
72 | });
73 |
74 | settings.manifest.password.addEvent("action", function() {
75 | togglePassword();
76 | background.boss.optionUpdated("PASSWORD", settings.manifest.password.get());
77 | });
78 |
79 | settings.manifest.align.addEvent("action", function() {
80 | background.boss.optionUpdated("ALIGN", settings.manifest.align.get());
81 | });
82 |
83 | settings.manifest.history_threads.addEvent("action", function() {
84 | background.boss.optionUpdated("HISTORY_THREADS", settings.manifest.history_threads.get());
85 | });
86 |
87 | settings.manifest.use_websockets.addEvent("action", function() {
88 | background.boss.optionUpdated("USE_WEBSOCKETS", settings.manifest.use_websockets.get());
89 | });
90 |
91 | settings.manifest.desktop_notification.addEvent("action", function() {
92 | background.boss.optionUpdated("DESKTOP_NOTIFICATION", settings.manifest.desktop_notification.get());
93 | });
94 |
95 | settings.manifest.signout.addEvent("action", function() {
96 | background.boss.signout();
97 | toggleProtection();
98 | });
99 |
100 | settings.manifest.excludes.addEvent("action", function() {
101 | background.boss.optionUpdated("EXCLUDES", settings.manifest.excludes.get());
102 | });
103 |
104 | setInterval(toggleProtection, 2000);
105 | });
106 |
107 | });
108 |
--------------------------------------------------------------------------------
/openfire-websockets/src/ofchat/popup.html:
--------------------------------------------------------------------------------
1 |
15 |
16 |
20 |
21 |
22 | OfChat - Openfire Web Client
23 |
24 |
--------------------------------------------------------------------------------
/websockets.war:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/gunblues/strophe-openfire-websocket/eba45f8848217a0c138c8614ba1dbfc16fee823f/websockets.war
--------------------------------------------------------------------------------