Room info in banner was completely broken. Fixed.
authorArt Cancro <ajc@citadel.org>
Tue, 14 Dec 2010 22:13:03 +0000 (17:13 -0500)
committerArt Cancro <ajc@citadel.org>
Tue, 14 Dec 2010 22:13:03 +0000 (17:13 -0500)
webcit/roomlist.c
webcit/roomops.c
webcit/roomtokens.c
webcit/static/t/readinfo.html
webcit/webcit.h

index 2d1e09c5f0aa4df40dec38919bc2e5e5a52b80f0..f30d0d82e880224c10ee6a073f4e17db26a00a35 100644 (file)
@@ -187,6 +187,7 @@ void FlushFolder(folder *room)
        FreeStrBuf(&room->Directory);
        FreeStrBuf(&room->RoomAide);
        FreeStrBuf(&room->XInfoText);
+       room->XHaveInfoTextLoaded = 0;
 
        FreeStrBuf(&room->name);
 
index 076e5636b8154c03870d8f55117c040bd0f25555..11e536acd56e3c30a4538af278d623445b37a75a 100644 (file)
@@ -568,8 +568,9 @@ void LoadXRoomInfoText(void)
        StrBuf *Buf;
        int Done = 0;
        
-       if (WCC->CurRoom.XHaveInfoTextLoaded)
+       if (WCC->CurRoom.XHaveInfoTextLoaded) {
                return;
+       }
 
        WCC->CurRoom.XHaveInfoTextLoaded = 1;
        Buf = NewStrBuf();
@@ -589,7 +590,7 @@ void LoadXRoomInfoText(void)
                }
        }
 
-       FreeStrBuf (&Buf);
+       FreeStrBuf(&Buf);
 }
 
 
index 0e632365f761757bdbb3fa91ff04b0fd8b8d73a6..80561a457f60c9a45e1c88686af4e459acdbdeed 100644 (file)
@@ -407,6 +407,7 @@ void tmplput_ThisRoomOrder(StrBuf *Target, WCTemplputParams *TP)
 
        StrBufAppendPrintf(Target, "%d", WCC->CurRoom.Order);
 }
+
 int ConditionalThisRoomOrder(StrBuf *Target, WCTemplputParams *TP)
 {
        wcsession *WCC = WC;
@@ -420,6 +421,7 @@ int ConditionalThisRoomOrder(StrBuf *Target, WCTemplputParams *TP)
        CheckThis = GetTemplateTokenNumber(Target, TP, 2, 0);
        return CheckThis == WCC->CurRoom.Order;
 }
+
 void tmplput_ROOM_LISTORDER(StrBuf *Target, WCTemplputParams *TP) 
 {
        folder *Folder = (folder *)CTX;
@@ -455,10 +457,23 @@ int ConditionalThisRoomXHaveInfoText(StrBuf *Target, WCTemplputParams *TP)
 void tmplput_ThisRoomInfoText(StrBuf *Target, WCTemplputParams *TP) 
 {
        wcsession *WCC = WC;
+       long nchars = 0;
 
        LoadXRoomInfoText();
 
-       StrBufAppendTemplate(Target, TP, WCC->CurRoom.XAPass, 1);
+       nchars = GetTemplateTokenNumber(Target, TP, 0, 0);
+       if (!nchars) {
+               /* the whole thing */
+               StrBufAppendTemplate(Target, TP, WCC->CurRoom.XInfoText, 1);
+       }
+       else {
+               /* only a certain number of characters */
+               StrBuf *SubBuf = NewStrBuf();
+               StrBufSub(SubBuf, WCC->CurRoom.XInfoText, 0, nchars);
+               StrBufAppendBufPlain(SubBuf, HKEY("..."), 0);
+               StrBufAppendTemplate(Target, TP, SubBuf, 1);
+               FreeStrBuf(&SubBuf);
+       }
 }
 
 
@@ -466,8 +481,6 @@ void tmplput_ThisRoomInfoText(StrBuf *Target, WCTemplputParams *TP)
 
 
 
-
-
 void tmplput_ROOM_LASTCHANGE(StrBuf *Target, WCTemplputParams *TP) 
 {
        folder *Folder = (folder *)CTX;
index 476586d75012275138a62c85f7a0e2953dba0afd..1f64b7f1686426c263537de7d79e7403a067c317 100644 (file)
@@ -1,7 +1,7 @@
 <div class="infos" onclick="javascript:Effect.Appear('room_infos', { duration: 0.5 });">
-       <?THISROOM:INFOTEXT(0, "X")>
+       <?THISROOM:INFOTEXT(40, "X")>
 </div>
 <div id="room_infos" style="display:none;">
        <img class="close_infos" onclick="javascript:Effect.Fade('room_infos', { duration: 0.5 });" src="static/closewindow.gif" alt="<?_("Close window")>"  width="16" height="16" />
-       <?THISROOM:INFOTEXT(128, "X")>
+       <?THISROOM:INFOTEXT(0, "X")>
 </div>
index ef7c2c456ccc9367dba6a99820521a9ad1620376..cd12d7d98c0a5bc288952ccdfc762953bbd56be1 100644 (file)
@@ -127,7 +127,7 @@ extern char *ssl_cipher_list;
 
 #define SIZ                    4096            /* generic buffer size */
 
-#define TRACE fprintf(stderr, "Checkpoint: %s, %d\n", __FILE__, __LINE__)
+#define TRACE fprintf(stderr, "\033[7mCheckpoint: %s, %d\033[0m\n", __FILE__, __LINE__)
 
 #define SLEEPING               180             /* TCP connection timeout */
 #define WEBCIT_TIMEOUT         900             /* WebCit session timeout */