mirror of
https://github.com/processone/ejabberd
synced 2025-10-06 03:50:15 +02:00
* src/mod_announce.erl: When editing MOTD, display current value (EJAB-475)
SVN Revision: 1100
This commit is contained in:
parent
61295e9c1b
commit
ccbc4b0c04
2 changed files with 27 additions and 6 deletions
|
@ -2,7 +2,8 @@
|
||||||
|
|
||||||
* src/mod_announce.erl: Fixed unnoticeable bug related to Node
|
* src/mod_announce.erl: Fixed unnoticeable bug related to Node
|
||||||
matching. Renamed some nonstandard node names according to
|
matching. Renamed some nonstandard node names according to
|
||||||
XEP-0133. Small reordering of clauses.
|
XEP-0133. Small reordering of clauses. When editing MOTD, display
|
||||||
|
current value (EJAB-475)
|
||||||
|
|
||||||
2007-12-22 Christophe Romain <christophe.romain@process-one.net>
|
2007-12-22 Christophe Romain <christophe.romain@process-one.net>
|
||||||
|
|
||||||
|
|
|
@ -434,7 +434,7 @@ announce_commands(From, To,
|
||||||
#adhoc_response{status = canceled});
|
#adhoc_response{status = canceled});
|
||||||
XData == false, ActionIsExecute ->
|
XData == false, ActionIsExecute ->
|
||||||
%% User requests form
|
%% User requests form
|
||||||
Elements = generate_adhoc_form(Lang, Node),
|
Elements = generate_adhoc_form(Lang, Node, To#jid.lserver),
|
||||||
adhoc:produce_response(
|
adhoc:produce_response(
|
||||||
Request,
|
Request,
|
||||||
#adhoc_response{status = executing,
|
#adhoc_response{status = executing,
|
||||||
|
@ -453,14 +453,25 @@ announce_commands(From, To,
|
||||||
|
|
||||||
-define(VVALUE(Val),
|
-define(VVALUE(Val),
|
||||||
{xmlelement, "value", [], [{xmlcdata, Val}]}).
|
{xmlelement, "value", [], [{xmlcdata, Val}]}).
|
||||||
|
-define(VVALUEL(Val),
|
||||||
|
case Val of
|
||||||
|
"" -> [];
|
||||||
|
_ -> [?VVALUE(Val)]
|
||||||
|
end).
|
||||||
-define(TVFIELD(Type, Var, Val),
|
-define(TVFIELD(Type, Var, Val),
|
||||||
{xmlelement, "field", [{"type", Type},
|
{xmlelement, "field", [{"type", Type},
|
||||||
{"var", Var}],
|
{"var", Var}],
|
||||||
[?VVALUE(Val)]}).
|
?VVALUEL(Val)}).
|
||||||
-define(HFIELD(), ?TVFIELD("hidden", "FORM_TYPE", ?NS_ADMIN)).
|
-define(HFIELD(), ?TVFIELD("hidden", "FORM_TYPE", ?NS_ADMIN)).
|
||||||
|
|
||||||
generate_adhoc_form(Lang, Node) ->
|
generate_adhoc_form(Lang, Node, ServerHost) ->
|
||||||
LNode = tokenize(Node),
|
LNode = tokenize(Node),
|
||||||
|
{OldSubject, OldBody} = if (LNode == ?NS_ADMINL("edit-motd"))
|
||||||
|
or (LNode == ?NS_ADMINL("edit-motd-allhosts")) ->
|
||||||
|
get_stored_motd(ServerHost);
|
||||||
|
true ->
|
||||||
|
{[], []}
|
||||||
|
end,
|
||||||
{xmlelement, "x",
|
{xmlelement, "x",
|
||||||
[{"xmlns", ?NS_XDATA},
|
[{"xmlns", ?NS_XDATA},
|
||||||
{"type", "form"}],
|
{"type", "form"}],
|
||||||
|
@ -481,12 +492,12 @@ generate_adhoc_form(Lang, Node) ->
|
||||||
[{"var", "subject"},
|
[{"var", "subject"},
|
||||||
{"type", "text-single"},
|
{"type", "text-single"},
|
||||||
{"label", translate:translate(Lang, "Subject")}],
|
{"label", translate:translate(Lang, "Subject")}],
|
||||||
[]},
|
?VVALUEL(OldSubject)},
|
||||||
{xmlelement, "field",
|
{xmlelement, "field",
|
||||||
[{"var", "body"},
|
[{"var", "body"},
|
||||||
{"type", "text-multi"},
|
{"type", "text-multi"},
|
||||||
{"label", translate:translate(Lang, "Message body")}],
|
{"label", translate:translate(Lang, "Message body")}],
|
||||||
[]}]
|
?VVALUEL(OldBody)}]
|
||||||
end}.
|
end}.
|
||||||
|
|
||||||
join_lines([]) ->
|
join_lines([]) ->
|
||||||
|
@ -807,6 +818,15 @@ send_motd(#jid{luser = LUser, lserver = LServer} = JID) ->
|
||||||
ok
|
ok
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
get_stored_motd(LServer) ->
|
||||||
|
case catch mnesia:dirty_read({motd, LServer}) of
|
||||||
|
[#motd{packet = Packet}] ->
|
||||||
|
{xml:get_subtag_cdata(Packet, "subject"),
|
||||||
|
xml:get_subtag_cdata(Packet, "body")};
|
||||||
|
_ ->
|
||||||
|
{"", ""}
|
||||||
|
end.
|
||||||
|
|
||||||
%%-------------------------------------------------------------------------
|
%%-------------------------------------------------------------------------
|
||||||
|
|
||||||
update_tables() ->
|
update_tables() ->
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue