diff options
Diffstat (limited to 'src/mod_offline_odbc.erl')
-rw-r--r-- | src/mod_offline_odbc.erl | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/mod_offline_odbc.erl b/src/mod_offline_odbc.erl index d7bbd3bf3..7f37340ad 100644 --- a/src/mod_offline_odbc.erl +++ b/src/mod_offline_odbc.erl @@ -38,6 +38,7 @@ pop_offline_messages/3, get_sm_features/5, remove_user/2, + get_queue_length/2, webadmin_page/3, webadmin_user/4, webadmin_user_parse_query/5]). @@ -479,11 +480,8 @@ user_queue_parse_query(Username, LServer, Query) -> us_to_list({User, Server}) -> jlib:jid_to_string({User, Server, ""}). -webadmin_user(Acc, User, Server, Lang) -> - LUser = jlib:nodeprep(User), - LServer = jlib:nameprep(Server), - Username = ejabberd_odbc:escape(LUser), - QueueLen = case catch ejabberd_odbc:sql_query( +get_queue_length(Username, LServer) -> + case catch ejabberd_odbc:sql_query( LServer, ["select count(*) from spool" " where username='", Username, "';"]) of @@ -491,7 +489,13 @@ webadmin_user(Acc, User, Server, Lang) -> SCount; _ -> 0 - end, + end. + +webadmin_user(Acc, User, Server, Lang) -> + LUser = jlib:nodeprep(User), + LServer = jlib:nameprep(Server), + Username = ejabberd_odbc:escape(LUser), + QueueLen = get_queue_length(Username, LServer), FQueueLen = [?AC("queue/", QueueLen)], Acc ++ [?XCT("h3", "Offline Messages:")] ++ FQueueLen ++ [?C(" "), ?INPUTT("submit", "removealloffline", "Remove All Offline Messages")]. |