From dae0a0057787b029f25dfa148dda42e24a56ef34 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Wilfried=20G=C3=B6esgens?= Date: Wed, 11 Aug 2010 16:25:42 +0000 Subject: [PATCH] * burn our folder cache when zapping/deleting * remove non-template zap stuff --- webcit/roomops.c | 75 ++++--------------- webcit/roomops.h | 1 + .../static/t/menu/advanced_roomcommands.html | 3 +- webcit/static/t/room/zap_this.html | 16 ++++ webcit/static/t/room/zapped_list.html | 2 + 5 files changed, 33 insertions(+), 64 deletions(-) create mode 100644 webcit/static/t/room/zap_this.html diff --git a/webcit/roomops.c b/webcit/roomops.c index ab398c69b..319b80f4e 100644 --- a/webcit/roomops.c +++ b/webcit/roomops.c @@ -222,33 +222,6 @@ void listrms(char *variety) } -/* - * list all forgotten rooms - */ -void zapped_list(void) -{ - WCTemplputParams SubTP; - StrBuf *Buf; - - output_headers(1, 1, 1, 0, 0, 0); - memset(&SubTP, 0, sizeof(WCTemplputParams)); - Buf = NewStrBufPlain(_("Zapped (forgotten) rooms"), -1); - SubTP.Filter.ContextType = CTX_STRBUF; - SubTP.Context = Buf; - DoTemplate(HKEY("beginbox"), NULL, &SubTP); - - FreeStrBuf(&Buf); - - listrms("LZRM -1"); - - wc_printf("

\n"); - wc_printf(_("Click on any room to un-zap it and goto that room.\n")); - do_template("endbox", NULL); - wDumpContent(1); -} - - - /* * Embed the room banner @@ -2815,7 +2788,7 @@ void entroom(void) } /** TODO: Room created, now update the left hand icon bar for this user */ burn_folder_cache(0); /* burn the old folder cache */ - + FlushRoomlist (); gotoroom(er_name); serv_printf("VIEW %d", er_view); @@ -2921,34 +2894,6 @@ void goto_private(void) } -/** - * \brief display the screen to zap a room - */ -void display_zap(void) -{ - output_headers(1, 1, 2, 0, 0, 0); - - wc_printf("
\n"); - wc_printf("

"); - wc_printf(_("Zap (forget/unsubscribe) the current room")); - wc_printf("

\n"); - wc_printf("
\n"); - - wc_printf("
\n"); - - wc_printf(_("If you select this option, %s will " - "disappear from your room list. Is this what you wish " - "to do?
\n"), ChrPtr(WC->CurRoom.name)); - - wc_printf("
\n"); - wc_printf("\n", WC->nonce); - wc_printf("", _("Zap this room")); - wc_printf(" "); - wc_printf("", _("Cancel")); - wc_printf("
\n"); - wDumpContent(1); -} - /** * \brief zap a room @@ -2975,6 +2920,7 @@ void zap(void) StrBufAppendBufPlain(final_destination, HKEY("_BASEROOM_"), 0); } } + FlushRoomlist (); } smart_goto(final_destination); FreeStrBuf(&final_destination); @@ -2993,6 +2939,7 @@ void delete_room(void) serv_puts("KILL 1"); serv_getln(buf, sizeof buf); burn_folder_cache(0); /* Burn the cahce of known rooms to update the icon bar */ + FlushRoomlist (); if (buf[0] != '2') { strcpy(WC->ImportantMessage, &buf[4]); display_main_menu(); @@ -3473,6 +3420,15 @@ HashList *GetWhoKnowsHash(StrBuf *Target, WCTemplputParams *TP) return Whok; } +void FlushRoomlist(void) +{ + wcsession *WCC = WC; + free_march_list(WCC); + DeleteHash(&WCC->Floors); + DeleteHash(&WCC->Rooms); + DeleteHash(&WCC->FloorsByName); +} + void InitModule_ROOMOPS (void) @@ -3492,8 +3448,6 @@ InitModule_ROOMOPS WebcitAddUrlHandler(HKEY("dotskip"), "", 0, dotskip, NEED_URL); WebcitAddUrlHandler(HKEY("display_private"), "", 0, _display_private, 0); WebcitAddUrlHandler(HKEY("goto_private"), "", 0, goto_private, NEED_URL); - WebcitAddUrlHandler(HKEY("zapped_list"), "", 0, zapped_list, 0); - WebcitAddUrlHandler(HKEY("display_zap"), "", 0, display_zap, 0); WebcitAddUrlHandler(HKEY("zap"), "", 0, zap, 0); WebcitAddUrlHandler(HKEY("display_entroom"), "", 0, display_entroom, 0); WebcitAddUrlHandler(HKEY("entroom"), "", 0, entroom, 0); @@ -3637,10 +3591,7 @@ SessionDestroyModule_ROOMOPS free(sess->cache_fold); } - free_march_list(sess); - DeleteHash(&sess->Floors); - DeleteHash(&sess->Rooms); - DeleteHash(&sess->FloorsByName); + FlushRoomlist (); } diff --git a/webcit/roomops.h b/webcit/roomops.h index e5ab76ab6..865ad5dcb 100644 --- a/webcit/roomops.h +++ b/webcit/roomops.h @@ -116,6 +116,7 @@ HashList *GetFloorListHash(StrBuf *Target, WCTemplputParams *TP); void vDeleteFolder(void *vFolder); void FlushFolder(folder *room); void ParseGoto(folder *proom, StrBuf *Line); +void FlushRoomlist(void); /* release our caches, so a deleted / zapped room disapears */ /* * wrapper around usual sort-comparator; private rooms will allways be prefered, -1 if one of them NULL diff --git a/webcit/static/t/menu/advanced_roomcommands.html b/webcit/static/t/menu/advanced_roomcommands.html index b33760ca1..48d99e488 100644 --- a/webcit/static/t/menu/advanced_roomcommands.html +++ b/webcit/static/t/menu/advanced_roomcommands.html @@ -5,7 +5,6 @@
  • -
  • +
  • -
  • (old)
  • diff --git a/webcit/static/t/room/zap_this.html b/webcit/static/t/room/zap_this.html new file mode 100644 index 000000000..85770b949 --- /dev/null +++ b/webcit/static/t/room/zap_this.html @@ -0,0 +1,16 @@ + + +
    + + + +
    + +
    + +">  +"> +
    + \ No newline at end of file diff --git a/webcit/static/t/room/zapped_list.html b/webcit/static/t/room/zapped_list.html index 070569676..3a1845149 100644 --- a/webcit/static/t/room/zapped_list.html +++ b/webcit/static/t/room/zapped_list.html @@ -6,6 +6,8 @@ +

    +
    -- 2.30.2