@@ -305,7 +305,7 @@ make_xhtml(Els, Host, Node, Request, JID, Level) ->
305305make_xhtml (Els , Host , Node , Username , # request {lang = Lang } = R , JID , Level ) ->
306306 Base = get_base_path_sum (0 , 0 , Level ),
307307 MenuItems = make_navigation (Host , Node , Username , Lang , JID , Level )
308- ++ make_login_items (R , Level ),
308+ ++ make_login_items (R , Level , JID ),
309309 {200 , [html ],
310310 # xmlel {name = <<" html" >>,
311311 attrs =
@@ -1645,7 +1645,7 @@ any_rules_allowed(Host, Access, Entity) ->
16451645
16461646% %% @format-begin
16471647
1648- make_login_items (# request {us = {Username , Host }} = R , Level ) ->
1648+ make_login_items (# request {us = {Username , Host }} = R , Level , JID ) ->
16491649 UserBin =
16501650 jid :encode (
16511651 jid :make (Username , Host , <<" " >>)),
@@ -1661,7 +1661,7 @@ make_login_items(#request{us = {Username, Host}} = R, Level) ->
16611661 _ ->
16621662 UserEl
16631663 end ,
1664- MenuPost =
1664+ MenuPost1 =
16651665 case ejabberd_hooks :run_fold (webadmin_menu_system_post , [], [R , Level ]) of
16661666 [] ->
16671667 [];
@@ -1671,6 +1671,14 @@ make_login_items(#request{us = {Username, Host}} = R, Level) ->
16711671 [{<<" id" >>, <<" navitemlogin" >>}],
16721672 [? XE (<<" ul" >>, PostElements )]}]
16731673 end ,
1674+ MenuInside1 = ejabberd_hooks :run_fold (webadmin_menu_system_inside , [], [R , Level ]),
1675+ {MenuInside , MenuPost } =
1676+ case list_vhosts_allowed (JID ) of
1677+ [] ->
1678+ {[], []};
1679+ [_ | _ ] ->
1680+ {MenuInside1 , MenuPost1 }
1681+ end ,
16741682 [{xmlel ,
16751683 <<" li" >>,
16761684 [{<<" id" >>, <<" navitemlogin-start" >>}],
@@ -1685,7 +1693,7 @@ make_login_items(#request{us = {Username, Host}} = R, Level) ->
16851693 [{<<" sentence" >>, misc :atom_to_binary (node ())}],
16861694 [{only , value },
16871695 {result_links , [{sentence , node , Level , <<" " >>}]}])])]
1688- ++ ejabberd_hooks : run_fold ( webadmin_menu_system_inside , [], [ R , Level ])
1696+ ++ MenuInside
16891697 ++ [? LI ([? C (unicode :characters_to_binary (" 📤" )),
16901698 ? AC (<<(binary :copy (<<" ../" >>, Level ))/binary , " logout/" >>,
16911699 <<" Logout" >>)])])]}]
0 commit comments