SMTP-Queue: display the SMTP-State
authorWilfried Goesgens <dothebart@citadel.org>
Tue, 7 Aug 2012 20:34:57 +0000 (22:34 +0200)
committerWilfried Goesgens <dothebart@citadel.org>
Tue, 7 Aug 2012 20:34:57 +0000 (22:34 +0200)
webcit/static/t/view_mailq/header.html
webcit/static/t/who/activesmtpsessions_one.html
webcit/who.c

index da327ea2748d313ff7007e20b2700c6ce33d4bc3..8b078a8498975f7d22dd03d2a24e40a164ee042a 100644 (file)
 </div>
 &nbsp;
 
-<?=("box_begin_1")><?_("Currently active mail delivery jobs; Remote Sites:")><?=("box_begin_2")>
+<?=("box_begin_1")>
+<?_("Currently active mail delivery jobs")> ; 
+<?_("Remote Sites:")>;&nbsp 
+<?_("Status:")>;
+<?=("box_begin_2")>
 <div align="center">
 <?=("who_active_smtpsessions")>
 </div>
index e495fcb13d41dd59fcaa1c78cc9d45d680ff0520..c11c463305bbe0f4dbd94bc7c40b184c521d3ec1 100644 (file)
@@ -1,4 +1,7 @@
 <tr class="<?ITERATE:ODDEVEN>">
+       <td class="smtpstate_col">
+         <?WHO:USERAGENT("X")><br>
+       </td>
        <!-- hostname -->
        <td class="host_col">
                <?WHO:HOST("X")>
index ac30cc72dd2e040fdc4d2ac212ea10bf692649fb..de0160e7f9be9154e79fae280dadc9425fa1482d 100644 (file)
@@ -5,6 +5,7 @@ typedef struct UserStateStruct {
        StrBuf *UserName;
        StrBuf *Room;
        StrBuf *Host;
+       StrBuf *UserAgent;
        StrBuf *RealRoom;
        StrBuf *RealHost;
        long LastActive;
@@ -22,6 +23,7 @@ void DestroyUserStruct(void *vUser)
        FreeStrBuf(&User->Host);
        FreeStrBuf(&User->RealRoom);
        FreeStrBuf(&User->RealHost);
+       FreeStrBuf(&User->UserAgent);
        free(User);
 }
 
@@ -67,7 +69,8 @@ int GetWholistSection(HashList *List, time_t now, StrBuf *Buf, const char *Filte
                        User->Host = NewStrBufPlain(NULL, BufLen);
                        StrBufExtract_NextToken(User->Host, Buf, &Pos, '|');
 
-                       StrBufSkip_NTokenS(Buf, &Pos, '|', 1);
+                       User->UserAgent = NewStrBufPlain(NULL, BufLen);
+                       StrBufExtract_NextToken(User->UserAgent, Buf, &Pos, '|');
 
                        User->LastActive = StrBufExtractNext_long(Buf, &Pos, '|');
                        StrBufSkip_NTokenS(Buf, &Pos, '|', 3);
@@ -218,6 +221,12 @@ void tmplput_who_username(StrBuf *Target, WCTemplputParams *TP)
        StrBufAppendTemplate(Target, TP, User->UserName, 0);
 }
 
+void tmplput_who_UserAgent(StrBuf *Target, WCTemplputParams *TP)
+{
+       UserStateStruct *User = (UserStateStruct*) CTX(CTX_WHO);
+       StrBufAppendTemplate(Target, TP, User->UserAgent, 0);
+}
+
 void tmplput_who_room(StrBuf *Target, WCTemplputParams *TP)
 {
        UserStateStruct *User = (UserStateStruct*) CTX(CTX_WHO);
@@ -306,6 +315,7 @@ InitModule_WHO
        RegisterIterator("WHOLIST", 1, NULL, GetWholistHash, NULL, DeleteWholistHash, CTX_WHO, CTX_NONE, IT_NOFLAG);
 
        RegisterNamespace("WHO:NAME",        0, 1, tmplput_who_username, NULL, CTX_WHO);
+       RegisterNamespace("WHO:USERAGENT",   0, 1, tmplput_who_UserAgent, NULL, CTX_WHO);
        RegisterNamespace("WHO:ROOM",        0, 1, tmplput_who_room, NULL, CTX_WHO);
        RegisterNamespace("WHO:HOST",        0, 1, tmplput_who_host, NULL, CTX_WHO);
        RegisterNamespace("WHO:REALROOM",    0, 1, tmplput_who_realroom, NULL, CTX_WHO);