plugins/mod_bookmarks.lua
changeset 12181 024cc878f472
parent 12176 2515033c2a74
child 12182 0aa99a6dfb3e
equal deleted inserted replaced
12180:e7639625a848 12181:024cc878f472
     8 
     8 
     9 local mod_pep = module:depends "pep";
     9 local mod_pep = module:depends "pep";
    10 local private_storage = module:open_store("private", "map");
    10 local private_storage = module:open_store("private", "map");
    11 
    11 
    12 local namespace = "urn:xmpp:bookmarks:1";
    12 local namespace = "urn:xmpp:bookmarks:1";
       
    13 local namespace_old = "urn:xmpp:bookmarks:0";
    13 local namespace_private = "jabber:iq:private";
    14 local namespace_private = "jabber:iq:private";
    14 local namespace_legacy = "storage:bookmarks";
    15 local namespace_legacy = "storage:bookmarks";
    15 local xmlns_pubsub = "http://jabber.org/protocol/pubsub";
    16 local xmlns_pubsub = "http://jabber.org/protocol/pubsub";
    16 
    17 
    17 local default_options = {
    18 local default_options = {
   269 	if pubsub == nil then
   270 	if pubsub == nil then
   270 		return;
   271 		return;
   271 	end
   272 	end
   272 
   273 
   273 	local publish = pubsub:get_child("publish");
   274 	local publish = pubsub:get_child("publish");
   274 	if publish == nil or publish.attr.node ~= namespace_legacy then
   275 	if publish == nil then return end
       
   276 	if publish.attr.node == namespace_old then
       
   277 		session.send(st.error_reply(stanza, "modify", "not-allowed",
       
   278 			"Your client does XEP-0402 version 0.3.0 but 0.4.0+ is required"));
       
   279 		return true;
       
   280 	end
       
   281 	if publish.attr.node ~= namespace_legacy then
   275 		return;
   282 		return;
   276 	end
   283 	end
   277 
   284 
   278 	local item = publish:get_child("item");
   285 	local item = publish:get_child("item");
   279 	if item == nil then
   286 	if item == nil then