mirror of
https://git.friendi.ca/friendica/friendica-addons.git
synced 2024-08-20 02:50:21 +00:00
169 lines
4.6 KiB
JavaScript
169 lines
4.6 KiB
JavaScript
/*
|
|
|
|
Jappix - An open social platform
|
|
These are the discovery JS scripts for Jappix
|
|
|
|
-------------------------------------------------
|
|
|
|
License: AGPL
|
|
Author: Vanaryon
|
|
Last revision: 03/03/11
|
|
|
|
*/
|
|
|
|
// Opens the discovery popup
|
|
function openDiscovery() {
|
|
// Popup HTML content
|
|
var html =
|
|
'<div class="top">' + _e("Service discovery") + '</div>' +
|
|
|
|
'<div class="content">' +
|
|
'<div class="discovery-head">' +
|
|
'<div class="disco-server-text">' + _e("Server to query") + '</div>' +
|
|
|
|
'<input name="disco-server-input" class="disco-server-input" value="' + encodeQuotes(HOST_MAIN) + '" />' +
|
|
'</div>' +
|
|
|
|
'<div class="results discovery-results">' +
|
|
'<div class="disco-category disco-account">' +
|
|
'<p class="disco-category-title">' + _e("Accounts") + '</p>' +
|
|
'</div>' +
|
|
|
|
'<div class="disco-category disco-auth">' +
|
|
'<p class="disco-category-title">' + _e("Authentications") + '</p>' +
|
|
'</div>' +
|
|
|
|
'<div class="disco-category disco-automation">' +
|
|
'<p class="disco-category-title">' + _e("Automation") + '</p>' +
|
|
'</div>' +
|
|
|
|
'<div class="disco-category disco-client">' +
|
|
'<p class="disco-category-title">' + _e("Clients") + '</p>' +
|
|
'</div>' +
|
|
|
|
'<div class="disco-category disco-collaboration">' +
|
|
'<p class="disco-category-title">' + _e("Collaboration") + '</p>' +
|
|
'</div>' +
|
|
|
|
'<div class="disco-category disco-component">' +
|
|
'<p class="disco-category-title">' + _e("Components") + '</p>' +
|
|
'</div>' +
|
|
|
|
'<div class="disco-category disco-conference">' +
|
|
'<p class="disco-category-title">' + _e("Rooms") + '</p>' +
|
|
'</div>' +
|
|
|
|
'<div class="disco-category disco-directory">' +
|
|
'<p class="disco-category-title">' + _e("Directories") + '</p>' +
|
|
'</div>' +
|
|
|
|
'<div class="disco-category disco-gateway">' +
|
|
'<p class="disco-category-title">' + _e("Gateways") + '</p>' +
|
|
'</div>' +
|
|
|
|
'<div class="disco-category disco-headline">' +
|
|
'<p class="disco-category-title">' + _e("News") + '</p>' +
|
|
'</div>' +
|
|
|
|
'<div class="disco-category disco-hierarchy">' +
|
|
'<p class="disco-category-title">' + _e("Hierarchy") + '</p>' +
|
|
'</div>' +
|
|
|
|
'<div class="disco-category disco-proxy">' +
|
|
'<p class="disco-category-title">' + _e("Proxies") + '</p>' +
|
|
'</div>' +
|
|
|
|
'<div class="disco-category disco-pubsub">' +
|
|
'<p class="disco-category-title">' + _e("Publication/Subscription") + '</p>' +
|
|
'</div>' +
|
|
|
|
'<div class="disco-category disco-server">' +
|
|
'<p class="disco-category-title">' + _e("Server") + '</p>' +
|
|
'</div>' +
|
|
|
|
'<div class="disco-category disco-store">' +
|
|
'<p class="disco-category-title">' + _e("Storage") + '</p>' +
|
|
'</div>' +
|
|
|
|
'<div class="disco-category disco-others">' +
|
|
'<p class="disco-category-title">' + _e("Others") + '</p>' +
|
|
'</div>' +
|
|
|
|
'<div class="disco-category disco-wait">' +
|
|
'<p class="disco-category-title">' + _e("Loading") + '</p>' +
|
|
'</div>' +
|
|
'</div>' +
|
|
'</div>' +
|
|
|
|
'<div class="bottom">' +
|
|
'<div class="wait wait-medium"></div>' +
|
|
|
|
'<a href="#" class="finish">' + _e("Close") + '</a>' +
|
|
'</div>';
|
|
|
|
// Create the popup
|
|
createPopup('discovery', html);
|
|
|
|
// Associate the events
|
|
launchDiscovery();
|
|
|
|
// We request a disco to the default server
|
|
startDiscovery();
|
|
|
|
return false;
|
|
}
|
|
|
|
// Quits the discovery popup
|
|
function closeDiscovery() {
|
|
// Destroy the popup
|
|
destroyPopup('discovery');
|
|
|
|
return false;
|
|
}
|
|
|
|
// Launches a discovery
|
|
function startDiscovery() {
|
|
/* REF: http://xmpp.org/extensions/xep-0030.html */
|
|
|
|
// We get the server to query
|
|
var discoServer = $('#discovery .disco-server-input').val();
|
|
|
|
// We launch the items query
|
|
dataForm(discoServer, 'browse', '', '', 'discovery');
|
|
|
|
logThis('Service discovery launched: ' + discoServer);
|
|
|
|
return false;
|
|
}
|
|
|
|
// Cleans the discovery results
|
|
function cleanDiscovery() {
|
|
// We remove the results
|
|
$('#discovery .discovery-oneresult, #discovery .oneinstructions, #discovery .onetitle, #discovery .no-results').remove();
|
|
|
|
// We clean the user info
|
|
$('#discovery .disco-server-info').text('');
|
|
|
|
// We hide the wait icon, the no result alert and the results
|
|
$('#discovery .wait, #discovery .disco-category').hide();
|
|
}
|
|
|
|
// Addon launcher
|
|
function launchDiscovery() {
|
|
// Click event
|
|
$('#discovery .bottom .finish').click(closeDiscovery);
|
|
|
|
// Keyboard event
|
|
$('#discovery .disco-server-input').keyup(function(e) {
|
|
if(e.keyCode == 13) {
|
|
// No value?
|
|
if(!$(this).val())
|
|
$(this).val(HOST_MAIN);
|
|
|
|
// Start the discovery
|
|
startDiscovery();
|
|
|
|
return false;
|
|
}
|
|
});
|
|
}
|