diff options
Diffstat (limited to 'src/web/ejabberd_web_admin.hrl')
-rw-r--r-- | src/web/ejabberd_web_admin.hrl | 106 |
1 files changed, 66 insertions, 40 deletions
diff --git a/src/web/ejabberd_web_admin.hrl b/src/web/ejabberd_web_admin.hrl index 73f792e2d..46f002fbf 100644 --- a/src/web/ejabberd_web_admin.hrl +++ b/src/web/ejabberd_web_admin.hrl @@ -19,58 +19,84 @@ %%% %%%---------------------------------------------------------------------- --define(X(Name), {xmlelement, Name, [], []}). --define(XA(Name, Attrs), {xmlelement, Name, Attrs, []}). --define(XE(Name, Els), {xmlelement, Name, [], Els}). --define(XAE(Name, Attrs, Els), {xmlelement, Name, Attrs, Els}). +-define(X(Name), + #xmlel{name = Name, attrs = [], children = []}). + +-define(XA(Name, Attrs), + #xmlel{name = Name, attrs = Attrs, children = []}). + +-define(XE(Name, Els), + #xmlel{name = Name, attrs = [], children = Els}). + +-define(XAE(Name, Attrs, Els), + #xmlel{name = Name, attrs = Attrs, children = Els}). + -define(C(Text), {xmlcdata, Text}). + -define(XC(Name, Text), ?XE(Name, [?C(Text)])). --define(XAC(Name, Attrs, Text), ?XAE(Name, Attrs, [?C(Text)])). + +-define(XAC(Name, Attrs, Text), + ?XAE(Name, Attrs, [?C(Text)])). -define(T(Text), translate:translate(Lang, Text)). --define(CT(Text), ?C(?T(Text))). --define(XCT(Name, Text), ?XC(Name, ?T(Text))). --define(XACT(Name, Attrs, Text), ?XAC(Name, Attrs, ?T(Text))). --define(LI(Els), ?XE("li", Els)). --define(A(URL, Els), ?XAE("a", [{"href", URL}], Els)). +-define(CT(Text), ?C((?T(Text)))). + +-define(XCT(Name, Text), ?XC(Name, (?T(Text)))). + +-define(XACT(Name, Attrs, Text), + ?XAC(Name, Attrs, (?T(Text)))). + +-define(LI(Els), ?XE(<<"li">>, Els)). + +-define(A(URL, Els), + ?XAE(<<"a">>, [{<<"href">>, URL}], Els)). + -define(AC(URL, Text), ?A(URL, [?C(Text)])). --define(ACT(URL, Text), ?AC(URL, ?T(Text))). --define(P, ?X("p")). --define(BR, ?X("br")). + +-define(ACT(URL, Text), ?AC(URL, (?T(Text)))). + +-define(P, ?X(<<"p">>)). + +-define(BR, ?X(<<"br">>)). + -define(INPUT(Type, Name, Value), - ?XA("input", [{"type", Type}, - {"name", Name}, - {"value", Value}])). --define(INPUTT(Type, Name, Value), ?INPUT(Type, Name, ?T(Value))). + ?XA(<<"input">>, + [{<<"type">>, Type}, {<<"name">>, Name}, + {<<"value">>, Value}])). + +-define(INPUTT(Type, Name, Value), + ?INPUT(Type, Name, (?T(Value)))). + -define(INPUTS(Type, Name, Value, Size), - ?XA("input", [{"type", Type}, - {"name", Name}, - {"value", Value}, - {"size", Size}])). --define(INPUTST(Type, Name, Value, Size), ?INPUT(Type, Name, ?T(Value), Size)). --define(ACLINPUT(Text), ?XE("td", [?INPUT("text", "value" ++ ID, Text)])). + ?XA(<<"input">>, + [{<<"type">>, Type}, {<<"name">>, Name}, + {<<"value">>, Value}, {<<"size">>, Size}])). + +-define(INPUTST(Type, Name, Value, Size), + ?INPUT(Type, Name, (?T(Value)), Size)). + +-define(ACLINPUT(Text), + ?XE(<<"td">>, + [?INPUT(<<"text">>, <<"value", ID/binary>>, Text)])). -define(TEXTAREA(Name, Rows, Cols, Value), - ?XAC("textarea", [{"name", Name}, - {"rows", Rows}, - {"cols", Cols}], + ?XAC(<<"textarea">>, + [{<<"name">>, Name}, {<<"rows">>, Rows}, + {<<"cols">>, Cols}], Value)). -%% Build an xmlelement for result --define(XRES(Text), ?XAC("p", [{"class", "result"}], Text)). --define(XREST(Text), ?XRES(?T(Text))). +-define(XRES(Text), + ?XAC(<<"p">>, [{<<"class">>, <<"result">>}], Text)). -%% Guide Link --define(GL(Ref, Title), - ?XAE("div", - [{"class", "guidelink"}], - [?XAE("a", - [{"href", "/admin/doc/guide.html#"++ Ref}, - {"target", "_blank"}], - [?C("[Guide: " ++ Title ++ "]")]) - ])). +-define(XREST(Text), ?XRES((?T(Text)))). +-define(GL(Ref, Title), + ?XAE(<<"div">>, [{<<"class">>, <<"guidelink">>}], + [?XAE(<<"a">>, + [{<<"href">>, <<"/admin/doc/guide.html#", Ref/binary>>}, + {<<"target">>, <<"_blank">>}], + [?C(<<"[Guide: ", Title/binary, "]">>)])])). -%% h1 with a Guide Link --define(H1GL(Name, Ref, Title), [?XC("h1", Name), ?GL(Ref, Title)]). +-define(H1GL(Name, Ref, Title), + [?XC(<<"h1">>, Name), ?GL(Ref, Title)]). |