3 Jappix - An open social platform
4 These are the constants JS scripts for Jappix
6 -------------------------------------------------
9 Authors: Stefan Strigler, Vanaryon
10 Last revision: 26/08/11
14 // XMPP XMLNS attributes
15 var NS_PROTOCOL = 'http://jabber.org/protocol/';
16 var NS_FEATURES = 'http://jabber.org/features/';
17 var NS_CLIENT = 'jabber:client';
18 var NS_IQ = 'jabber:iq:';
19 var NS_X = 'jabber:x:';
20 var NS_IETF = 'urn:ietf:params:xml:ns:xmpp-';
21 var NS_XMPP = 'urn:xmpp:';
23 var NS_STORAGE = 'storage:';
24 var NS_BOOKMARKS = NS_STORAGE + 'bookmarks';
25 var NS_ROSTERNOTES = NS_STORAGE + 'rosternotes';
27 var NS_JAPPIX = 'jappix:';
28 var NS_INBOX = NS_JAPPIX + 'inbox';
29 var NS_OPTIONS = NS_JAPPIX + 'options';
31 var NS_DISCO_ITEMS = NS_PROTOCOL + 'disco#items';
32 var NS_DISCO_INFO = NS_PROTOCOL + 'disco#info';
33 var NS_VCARD = 'vcard-temp';
34 var NS_VCARD_P = NS_VCARD + ':x:update';
35 var NS_AUTH = NS_IQ + 'auth';
36 var NS_AUTH_ERROR = NS_IQ + 'auth:error';
37 var NS_REGISTER = NS_IQ + 'register';
38 var NS_SEARCH = NS_IQ + 'search';
39 var NS_ROSTER = NS_IQ + 'roster';
40 var NS_PRIVACY = NS_IQ + 'privacy';
41 var NS_PRIVATE = NS_IQ + 'private';
42 var NS_VERSION = NS_IQ + 'version';
43 var NS_TIME = NS_IQ + 'time';
44 var NS_LAST = NS_IQ + 'last';
45 var NS_IQDATA = NS_IQ + 'data';
46 var NS_XDATA = NS_X + 'data';
47 var NS_IQOOB = NS_IQ + 'oob';
48 var NS_XOOB = NS_X + 'oob';
49 var NS_DELAY = NS_X + 'delay';
50 var NS_EXPIRE = NS_X + 'expire';
51 var NS_EVENT = NS_X + 'event';
52 var NS_XCONFERENCE = NS_X + 'conference';
53 var NS_STATS = NS_PROTOCOL + 'stats';
54 var NS_MUC = NS_PROTOCOL + 'muc';
55 var NS_MUC_USER = NS_MUC + '#user';
56 var NS_MUC_ADMIN = NS_MUC + '#admin';
57 var NS_MUC_OWNER = NS_MUC + '#owner';
58 var NS_MUC_CONFIG = NS_MUC + '#roomconfig';
59 var NS_PUBSUB = NS_PROTOCOL + 'pubsub';
60 var NS_PUBSUB_EVENT = NS_PUBSUB + '#event';
61 var NS_PUBSUB_OWNER = NS_PUBSUB + '#owner';
62 var NS_PUBSUB_NMI = NS_PUBSUB + '#node-meta-info';
63 var NS_PUBSUB_NC = NS_PUBSUB + '#node_config';
64 var NS_PUBSUB_RI = NS_PUBSUB + '#retrieve-items';
65 var NS_COMMANDS = NS_PROTOCOL + 'commands';
66 var NS_BOSH = NS_PROTOCOL + 'httpbind';
67 var NS_STREAM = 'http://etherx.jabber.org/streams';
68 var NS_URN_TIME = NS_XMPP + 'time';
69 var NS_URN_PING = NS_XMPP + 'ping';
70 var NS_URN_ADATA = NS_XMPP + 'avatar:data';
71 var NS_URN_AMETA = NS_XMPP + 'avatar:metadata';
72 var NS_URN_MBLOG = NS_XMPP + 'microblog:0';
73 var NS_URN_INBOX = NS_XMPP + 'inbox';
74 var NS_URN_ARCHIVE = NS_XMPP + 'archive';
75 var NS_URN_AR_PREF = NS_URN_ARCHIVE + ':pref';
76 var NS_URN_AR_AUTO = NS_URN_ARCHIVE + ':auto';
77 var NS_URN_AR_MANUAL = NS_URN_ARCHIVE + ':manual';
78 var NS_URN_AR_MANAGE = NS_URN_ARCHIVE + ':manage';
79 var NS_URN_DELAY = NS_XMPP + 'delay';
80 var NS_URN_RECEIPTS = NS_XMPP + 'receipts';
81 var NS_RSM = NS_PROTOCOL + 'rsm';
83 var NS_XHTML = 'http://www.w3.org/1999/xhtml';
84 var NS_XHTML_IM = NS_PROTOCOL + 'xhtml-im';
85 var NS_CHATSTATES = NS_PROTOCOL + 'chatstates';
86 var NS_HTTP_AUTH = NS_PROTOCOL + 'http-auth';
87 var NS_ROSTERX = NS_PROTOCOL + 'rosterx';
88 var NS_MOOD = NS_PROTOCOL + 'mood';
89 var NS_ACTIVITY = NS_PROTOCOL + 'activity';
90 var NS_TUNE = NS_PROTOCOL + 'tune';
91 var NS_GEOLOC = NS_PROTOCOL + 'geoloc';
92 var NS_NICK = NS_PROTOCOL + 'nick';
93 var NS_NOTIFY = '+notify';
94 var NS_CAPS = NS_PROTOCOL + 'caps';
95 var NS_ATOM = 'http://www.w3.org/2005/Atom';
97 var NS_STANZAS = NS_IETF + 'stanzas';
98 var NS_STREAMS = NS_IETF + 'streams';
100 var NS_TLS = NS_IETF + 'tls';
101 var NS_SASL = NS_IETF + 'sasl';
102 var NS_SESSION = NS_IETF + 'session';
103 var NS_BIND = NS_IETF + 'bind';
105 var NS_FEATURE_IQAUTH = NS_FEATURES + 'iq-auth';
106 var NS_FEATURE_IQREGISTER = NS_FEATURES + 'iq-register';
107 var NS_FEATURE_COMPRESS = NS_FEATURES + 'compress';
109 var NS_COMPRESS = NS_PROTOCOL + 'compress';
112 var LOCALES_AVAILABLE_ID = new Array();
113 var LOCALES_AVAILABLE_NAMES = new Array();
119 var JAPPIX_STATIC = null;
120 var JAPPIX_VERSION = null;
121 var JAPPIX_MAX_FILE_SIZE = null;
122 var JAPPIX_MAX_UPLOAD = null;
124 // Jappix main configuration
125 var SERVICE_NAME = null;
126 var SERVICE_DESC = null;
127 var JAPPIX_RESOURCE = null;
128 var LOCK_HOST = null;
129 var ANONYMOUS = null;
130 var REGISTRATION = null;
131 var BOSH_PROXY = null;
132 var MANAGER_LINK = null;
133 var GROUPCHATS_JOIN = null;
134 var ENCRYPTION = null;
135 var HTTPS_STORAGE = null;
136 var HTTPS_FORCE = null;
137 var COMPRESSION = null;
138 var MULTI_FILES = null;
139 var DEVELOPER = null;
141 // Jappix hosts configuration
142 var HOST_MAIN = null;
144 var HOST_PUBSUB = null;
145 var HOST_VJUD = null;
146 var HOST_ANONYMOUS = null;
147 var HOST_BOSH = null;
148 var HOST_BOSH_MAIN = null;
149 var HOST_BOSH_MINI = null;
150 var HOST_STATIC = null;
151 var HOST_UPLOAD = null;
154 var ANONYMOUS_ROOM = null;
155 var ANONYMOUS_NICK = null;
158 var JAPPIX_LOCATION = getJappixLocation();
160 // XMPP error stanzas
161 function STANZA_ERROR(code, type, cond) {
163 return new STANZA_ERROR(code, type, cond);
170 var ERR_BAD_REQUEST =
171 STANZA_ERROR('400', 'modify', 'bad-request');
173 STANZA_ERROR('409', 'cancel', 'conflict');
174 var ERR_FEATURE_NOT_IMPLEMENTED =
175 STANZA_ERROR('501', 'cancel', 'feature-not-implemented');
177 STANZA_ERROR('403', 'auth', 'forbidden');
179 STANZA_ERROR('302', 'modify', 'gone');
180 var ERR_INTERNAL_SERVER_ERROR =
181 STANZA_ERROR('500', 'wait', 'internal-server-error');
182 var ERR_ITEM_NOT_FOUND =
183 STANZA_ERROR('404', 'cancel', 'item-not-found');
184 var ERR_JID_MALFORMED =
185 STANZA_ERROR('400', 'modify', 'jid-malformed');
186 var ERR_NOT_ACCEPTABLE =
187 STANZA_ERROR('406', 'modify', 'not-acceptable');
188 var ERR_NOT_ALLOWED =
189 STANZA_ERROR('405', 'cancel', 'not-allowed');
190 var ERR_NOT_AUTHORIZED =
191 STANZA_ERROR('401', 'auth', 'not-authorized');
192 var ERR_PAYMENT_REQUIRED =
193 STANZA_ERROR('402', 'auth', 'payment-required');
194 var ERR_RECIPIENT_UNAVAILABLE =
195 STANZA_ERROR('404', 'wait', 'recipient-unavailable');
197 STANZA_ERROR('302', 'modify', 'redirect');
198 var ERR_REGISTRATION_REQUIRED =
199 STANZA_ERROR('407', 'auth', 'registration-required');
200 var ERR_REMOTE_SERVER_NOT_FOUND =
201 STANZA_ERROR('404', 'cancel', 'remote-server-not-found');
202 var ERR_REMOTE_SERVER_TIMEOUT =
203 STANZA_ERROR('504', 'wait', 'remote-server-timeout');
204 var ERR_RESOURCE_CONSTRAINT =
205 STANZA_ERROR('500', 'wait', 'resource-constraint');
206 var ERR_SERVICE_UNAVAILABLE =
207 STANZA_ERROR('503', 'cancel', 'service-unavailable');
208 var ERR_SUBSCRIPTION_REQUIRED =
209 STANZA_ERROR('407', 'auth', 'subscription-required');
210 var ERR_UNEXPECTED_REQUEST =
211 STANZA_ERROR('400', 'wait', 'unexpected-request');