Software /
code /
prosody-modules
Changeset
3239:796c98e8e666
mod_candy: Remove, outdated. Consider mod_conversejs instead.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Sat, 18 Aug 2018 18:17:42 +0100 |
parents | 3238:786ba175f2e5 |
children | 3240:c30f2cfe9f15 |
files | mod_candy/README.markdown mod_candy/mod_candy.lua mod_candy/www_files/index.html |
diffstat | 3 files changed, 0 insertions(+), 168 deletions(-) [+] |
line wrap: on
line diff
--- a/mod_candy/README.markdown Sat Aug 18 18:08:47 2018 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,48 +0,0 @@ ---- -summary: Serve Candy from prosody -... - -Introduction -============ - -This is a very simple demo module showing how to serve a BOSH-using web -app from prosody. - -Installation -============ - -[Install][doc:installing\_modules] and [enable][doc:modules\_enabled] -the module just like any other. Note the included HTML file in the -www\_files directory, this directory needs to be in the same place as -the module. - -mod\_candy will automatically configure Candy for username and password -or anonymous login depending on the `authentication` option on the -current VirtualHost. - -You then need to download Candy and unpack it into the www\_files -directory, for example with curl: - - cd www_files - curl -OL https://github.com/candy-chat/candy/releases/download/v2.2.0/candy-2.2.0.zip - unzip candy-2.2.0.zip - -After the module has been loaded, Candy will by default be reachable -from `http://example.com:5280/candy/`. See [HTTP configuration][doc:http] -for more. - -You can configure what rooms to join using either `candy_rooms` (an -array) or [mod\_default\_bookmarks]. By default, Candy will attempt to -join rooms that the current user has bookmarked. -If `candy_rooms` is not set, mod\_candy will attempt to find a MUC -component and join a room called "candy" there. If there are no rooms -to join, then Candy will show an emtpy screen. - -Compatibility -============= - - ------- ------- - trunk Works - 0.10 Works - 0.9 Works - ------- -------
--- a/mod_candy/mod_candy.lua Sat Aug 18 18:08:47 2018 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +0,0 @@ --- mod_candy.lua --- Copyright (C) 2013-2017 Kim Alvefur - -local json_encode = require"util.json".encode; -local get_host_children = require "core.hostmanager".get_children; -local is_module_loaded = require "core.modulemanager".is_loaded; - -local serve = module:depends"http_files".serve; - -local candy_rooms = module:get_option_array("candy_rooms"); -local candy_debug = module:get_option_boolean("candy_debug", false); - -local function get_autojoin() - if candy_rooms then - -- Configured room list, if any - return candy_rooms; - end - for subdomain in pairs(get_host_children(module.host)) do - -- Attempt autodetect a MUC host - if is_module_loaded(subdomain, "muc") then - return { "candy@" .. subdomain } - end - end - -- Autojoin bookmarks then? - -- Check out mod_default_bookmarks - return true; -end - -local function get_connect_path() - if is_module_loaded(module.host, "websocket") then - return module:http_url("websocket", "xmpp-websocket"):gsub("^http", "ws"); - end - if not is_module_loaded(module.host, "bosh") then - module:depends("bosh"); - end - return module:http_url("bosh", "/http-bind"); -end - -module:provides("http", { - route = { - ["GET /prosody.js"] = function(event) - event.response.headers.content_type = "text/javascript"; - - return ("// Generated by Prosody\n" - .."var Prosody = %s;\n") - :format(json_encode({ - connect_path = get_connect_path(); - autojoin = get_autojoin(); - version = prosody.version; - host = module:get_host(); - debug = candy_debug; - anonymous = module:get_option_string("authentication") == "anonymous"; - })); - end; - ["GET /*"] = serve(module:get_directory().."/www_files"); - - GET = function(event) -- TODO Remove this, it's done by mod_http in 0.10+ - event.response.headers.location = event.request.path.."/"; - return 301; - end; - } -}); -
--- a/mod_candy/www_files/index.html Sat Aug 18 18:08:47 2018 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> -<head> - <meta charset="utf-8"> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <title>Candy - Powered by Prosŏdy</title> - <link rel="shortcut icon" href="res/img/favicon.png" type="image/gif" /> - <link rel="stylesheet" type="text/css" href="res/default.css" /> - - <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> - <script type="text/javascript" src="libs.min.js"></script> - <script type="text/javascript" src="candy.min.js"></script> - <script type="text/javascript" src="prosody.js"></script><!-- Virtual file generated by mod_candy --> - <script type="text/javascript"> - $(document).ready(function() { - Candy.init(Prosody.connect_path, { - core: { - // only set this to true if developing / debugging errors - debug: Prosody.debug, - // autojoin is a *required* parameter if you don't have a plugin (e.g. roomPanel) for it - // true - // -> fetch info from server (NOTE: does only work with openfire server) - // ['test@conference.example.com'] - // -> array of rooms to join after connecting - autojoin: Prosody.autojoin - }, - view: { assets: 'res/' } - }); - - if(Prosody.anonymous) { - Candy.Core.connect(Prosody.host); - } else { - Candy.Core.connect(); - } - - /** - * Thanks for trying Candy! - * - * If you need more information, please see here: - * - Setup instructions & config params: http://candy-chat.github.io/candy/#setup - * - FAQ & more: https://github.com/candy-chat/candy/wiki - * - * Mailinglist for questions: - * - http://groups.google.com/group/candy-chat - * - * Github issues for bugs: - * - https://github.com/candy-chat/candy/issues - */ - - document.title += " " + Prosody.version; - }); - </script> -</head> -<body> - <div id="candy"></div> -</body> -</html>