]> code.citadel.org Git - citadel.git/blobdiff - webcit/roomops.c
* remove old wiki navbar code
[citadel.git] / webcit / roomops.c
index 0f1e8637b8c6007c402ac20a4b76524db63770a8..8217b2a1ed984c8fcaf99ca5278e47417c267934 100644 (file)
@@ -173,257 +173,7 @@ void embed_room_banner(void)
        if (WC->is_mobile)
                return;
 
-
-       wc_printf("<div id=\"navbar\"><ul>");
-
-       wc_printf(
-               "<li class=\"ungoto\">"
-               "<a href=\"ungoto\">"
-               "<img src=\"static/ungoto2_24x.gif\" alt=\"\" width=\"24\" height=\"24\">"
-               "<span class=\"navbar_link\">%s</span></A>"
-               "</li>\n", _("Ungoto")
-               );
-       
-       if (WC->CurRoom.view == VIEW_BBS) {
-               wc_printf(
-                       "<li class=\"newmess\">"
-                       "<a href=\"readnew\">"
-                       "<img src=\"static/newmess2_24x.gif\" alt=\"\" width=\"24\" height=\"24\">"
-                       "<span class=\"navbar_link\">%s</span></A>"
-                       "</li>\n", _("Read new messages")
-                       );
-       }
-
-       switch(WC->CurRoom.view) {
-       case VIEW_ADDRESSBOOK:
-               wc_printf(
-                       "<li class=\"viewcontacts\">"
-                       "<a href=\"readfwd\">"
-                       "<img src=\"static/viewcontacts_24x.gif\" "
-                       "alt=\"\" width=\"24\" height=\"24\">"
-                       "<span class=\"navbar_link\">"
-                       "%s"
-                       "</span></a></li>\n", _("View contacts")
-                       );
-               wc_printf(
-                       "<li class=\"addnewcontact\">"
-                       "<a href=\"display_enter\">"
-                       "<img src=\"static/addnewcontact_24x.gif\" "
-                       "alt=\"\" width=\"24\" height=\"24\">"
-                       "<span class=\"navbar_link\">"
-                       "%s"
-                       "</span></a></li>\n", _("Add new contact")
-                       );
-               break;
-       case VIEW_CALENDAR:
-               wc_printf(
-                       "<li class=\"staskday\">"
-                       "<a href=\"readfwd?calview=day\">"
-                       "<img src=\"static/taskday2_24x.gif\" "
-                       "alt=\"\" width=\"24\" height=\"24\">"
-                       "<span class=\"navbar_link\">"
-                       "%s"
-                       "</span></a></li>\n", _("Day view")
-                       );
-               wc_printf(
-                       "<li class=\"monthview\">"
-                       "<a href=\"readfwd?calview=month\">"
-                       "<img src=\"static/monthview2_24x.gif\" "
-                       "alt=\"\" width=\"24\" height=\"24\">"
-                       "<span class=\"navbar_link\">"
-                       "%s"
-                       "</span></a></li>\n", _("Month view")
-                       );
-               wc_printf("<li class=\"addevent\"><a href=\"display_enter");
-               if (havebstr("year" )) wc_printf("?year=%s", bstr("year"));
-               if (havebstr("month")) wc_printf("?month=%s", bstr("month"));
-               if (havebstr("day"  )) wc_printf("?day=%s", bstr("day"));
-               wc_printf("\">"
-                         "<img  src=\"static/addevent_24x.gif\" "
-                         "alt=\"\" width=\"24\" height=\"24\">"
-                         "<span class=\"navbar_link\">"
-                         "%s"
-                         "</span></a></li>\n", _("Add new event")
-                       );
-               break;
-       case VIEW_CALBRIEF:
-               wc_printf(
-                       "<li class=\"monthview\">"
-                       "<a href=\"readfwd?calview=month\">"
-                       "<img src=\"static/monthview2_24x.gif\" "
-                       "alt=\"\" width=\"24\" height=\"24\">"
-                       "<span class=\"navbar_link\">"
-                       "%s"
-                       "</span></a></li>\n", _("Calendar list")
-                       );
-               break;
-       case VIEW_TASKS:
-               wc_printf(
-                       "<li class=\"taskmanag\">"
-                       "<a href=\"readfwd\">"
-                       "<img src=\"static/taskmanag_24x.gif\" "
-                       "alt=\"\" width=\"24\" height=\"24\">"
-                       "<span class=\"navbar_link\">"
-                       "%s"
-                       "</span></a></li>\n", _("View tasks")
-                       );
-               wc_printf(
-                       "<li class=\"newmess\">"
-                       "<a href=\"display_enter\">"
-                       "<img  src=\"static/newmess3_24x.gif\" "
-                       "alt=\"\" width=\"24\" height=\"24\">"
-                       "<span class=\"navbar_link\">"
-                       "%s"
-                       "</span></a></li>\n", _("Add new task")
-                       );
-               break;
-       case VIEW_NOTES:
-               wc_printf(
-                       "<li class=\"viewnotes\">"
-                       "<a href=\"readfwd\">"
-                       "<img src=\"static/viewnotes_24x.gif\" "
-                       "alt=\"\" width=\"24\" height=\"24\">"
-                       "<span class=\"navbar_link\">"
-                       "%s"
-                       "</span></a></li>\n", _("View notes")
-                       );
-               wc_printf(
-                       "<li class=\"enternewnote\">"
-                       "<a href=\"add_new_note\">"
-                       "<img  src=\"static/enternewnote_24x.gif\" "
-                       "alt=\"\" width=\"24\" height=\"24\">"
-                       "<span class=\"navbar_link\">"
-                       "%s"
-                       "</span></a></li>\n", _("Add new note")
-                       );
-               break;
-       case VIEW_MAILBOX:
-               wc_printf(
-                       "<li class=\"readallmess\">"
-                       "<a id=\"m_refresh\" href=\"readfwd\">"
-                       "<img src=\"static/readallmess3_24x.gif\" "
-                       "alt=\"\" width=\"24\" height=\"24\">"
-                       "<span class=\"navbar_link\">"
-                       "%s"
-                       "</span></a></li>\n", _("Refresh message list")
-                       );
-               wc_printf(
-                       "<li class=\"readallmess\">"
-                       "<a href=\"readfwd\">"
-                       "<img src=\"static/readallmess3_24x.gif\" "
-                       "alt=\"\" width=\"24\" height=\"24\">"
-                       "<span class=\"navbar_link\">"
-                       "%s"
-                       "</span></a></li>\n", _("Read all messages")
-                       );
-               wc_printf(
-                       "<li class=\"newmess\">"
-                       "<a href=\"display_enter\">"
-                       "<img  src=\"static/newmess3_24x.gif\" "
-                       "alt=\"\" width=\"24\" height=\"24\">"
-                       "<span class=\"navbar_link\">"
-                       "%s"
-                       "</span></a></li>\n", _("Write mail")
-                       );
-               break;
-       case VIEW_WIKI:
-               wc_printf(
-                       "<li class=\"readallmess\">"
-                       "<a href=\"wiki?page=home\">"
-                       "<img src=\"static/readallmess3_24x.gif\" "
-                       "alt=\"\" width=\"24\" height=\"24\">"
-                       "<span class=\"navbar_link\">"
-                       "%s"
-                       "</span></a></li>\n", _("Wiki home")
-                       );
-               safestrncpy(buf, bstr("page"), sizeof buf);
-               if (IsEmptyStr(buf)) {
-                       safestrncpy(buf, "home", sizeof buf);
-               }
-               str_wiki_index(buf);
-               wc_printf(
-                       "<li class=\"newmess\">"
-                       "<a href=\"display_enter?page=%s\">"
-                       "<img  src=\"static/newmess3_24x.gif\" "
-                       "alt=\"\" width=\"24\" height=\"24\">"
-                       "<span class=\"navbar_link\">"
-                       "%s"
-                       "</span></a></li>\n", buf, _("Edit this page")
-                       );
-               
-               if (bmstrcasestr((char *)ChrPtr(WCC->Hdr->HR.ReqLine), "wiki_history")) {
-                       /* already viewing history; display a link to the current page */
-                       wc_printf(
-                               "<li class=\"newmess\">"
-                               "<a href=\"wiki?page=%s\">"
-                               "<img  src=\"static/newmess3_24x.gif\" "
-                               "alt=\"\" width=\"24\" height=\"24\">"
-                               "<span class=\"navbar_link\">"
-                               "%s"
-                               "</span></a></li>\n", buf, _("Current version")
-                               );
-               }
-               else {
-                       /* display a link to the history */
-                       wc_printf(
-                               "<li class=\"newmess\">"
-                               "<a href=\"wiki_history?page=%s\">"
-                               "<img  src=\"static/newmess3_24x.gif\" "
-                               "alt=\"\" width=\"24\" height=\"24\">"
-                               "<span class=\"navbar_link\">"
-                               "%s"
-                               "</span></a></li>\n", buf, _("History")
-                               );
-               }
-               break;
-               break;
-       default:
-               wc_printf(
-                       "<li class=\"readallmess\">"
-                       "<a href=\"readfwd\">"
-                       "<img src=\"static/readallmess3_24x.gif\" "
-                       "alt=\"\" width=\"24\" height=\"24\">"
-                       "<span class=\"navbar_link\">"
-                       "%s"
-                       "</span></a></li>\n", _("Read all messages")
-                       );
-               wc_printf(
-                       "<li class=\"newmess\">"
-                       "<a href=\"display_enter\">"
-                       "<img  src=\"static/newmess3_24x.gif\" "
-                       "alt=\"\" width=\"24\" height=\"24\">"
-                       "<span class=\"navbar_link\">"
-                       "%s"
-                       "</span></a></li>\n", _("Enter a message")
-                       );
-               break;
-       }
-       
-       wc_printf(
-               "<li class=\"skipthisroom\">"
-               "<a href=\"skip\" "
-               "title=\"%s\">"
-               "<img  src=\"static/skipthisroom_24x.gif\" alt=\"\" "
-               "width=\"24\" height=\"24\">"
-               "<span class=\"navbar_link\">%s</span></a>"
-               "</li>\n",
-               _("Leave all messages marked as unread, go to next room with unread messages"),
-               _("Skip this room")
-               );
-       
-       wc_printf(
-               "<li class=\"markngo\">"
-               "<a href=\"gotonext\" "
-               "title=\"%s\">"
-               "<img  src=\"static/markngo_24x.gif\" alt=\"\" "
-               "width=\"24\" height=\"24\">"
-               "<span class=\"navbar_link\">%s</span></a>"
-               "</li>\n",
-               _("Mark all messages as read, go to next room with unread messages"),
-               _("Goto next room")
-               );
-       
-       wc_printf("</ul></div>\n");
+       do_template("navbar", NULL);
 }
 
 
@@ -1662,9 +1412,82 @@ void netedit(void) {
 
        serv_puts("000");
        fclose(fp);
+       FlushIgnetCfgs(&WC->CurRoom);
+
        http_transmit_thing(ChrPtr(do_template("room_edit", NULL)), 0);
 }
 
+/*
+ * delete the actual floor
+ */
+void delete_floor(void) {
+       int floornum;
+       StrBuf *Buf;
+       const char *Err;
+               
+       floornum = ibstr("floornum");
+       Buf = NewStrBuf();
+       serv_printf("KFLR %d|1", floornum);
+       
+       StrBufTCP_read_line(Buf, &WC->serv_sock, 0, &Err);
+
+       if (GetServerStatus(Buf, NULL) == 2) {
+               StrBufPlain(Buf, _("Floor has been deleted."),-1);
+       }
+       else {
+               StrBufCutLeft(Buf, 4);
+       }
+       AppendImportantMessage (SKEY(Buf));
+
+       FlushRoomlist();
+       http_transmit_thing(ChrPtr(do_template("floors", NULL)), 0);
+       FreeStrBuf(&Buf);
+}
+
+/*
+ * start creating a new floor
+ */
+void create_floor(void) {
+       StrBuf *Buf;
+       const char *Err;
+
+       Buf = NewStrBuf();
+       serv_printf("CFLR %s|1", bstr("floorname"));
+       StrBufTCP_read_line(Buf, &WC->serv_sock, 0, &Err);
+
+       if (GetServerStatus(Buf, NULL) == 2) {
+               StrBufPlain(Buf, _("New floor has been created."),-1);
+       }
+       else {
+               StrBufCutLeft(Buf, 4);
+       }
+       AppendImportantMessage (SKEY(Buf));
+       FlushRoomlist();
+       http_transmit_thing(ChrPtr(do_template("floors", NULL)), 0);
+       FreeStrBuf(&Buf);
+}
+
+
+/*
+ * rename this floor
+ */
+void rename_floor(void) {
+       StrBuf *Buf;
+
+       Buf = NewStrBuf();
+       FlushRoomlist();
+
+       serv_printf("EFLR %d|%s", ibstr("floornum"), bstr("floorname"));
+       StrBuf_ServGetln(Buf);
+
+       StrBufCutLeft(Buf, 4);
+       AppendImportantMessage (SKEY(Buf));
+
+       http_transmit_thing(ChrPtr(do_template("floors", NULL)), 0);
+       FreeStrBuf(&Buf);
+}
+
+
 
 /**
  * \brief Back end for change_view()
@@ -2025,6 +1848,10 @@ InitModule_ROOMOPS
        RegisterNamespace("ROOMNAME", 0, 1, tmplput_RoomName, NULL, CTX_NONE);
 
 
+       WebcitAddUrlHandler(HKEY("delete_floor"), "", 0, delete_floor, 0);
+       WebcitAddUrlHandler(HKEY("rename_floor"), "", 0, rename_floor, 0);
+       WebcitAddUrlHandler(HKEY("create_floor"), "", 0, create_floor, 0);
+
        WebcitAddUrlHandler(HKEY("knrooms"), "", 0, knrooms, 0);
        WebcitAddUrlHandler(HKEY("dotgoto"), "", 0, dotgoto, NEED_URL);
        WebcitAddUrlHandler(HKEY("dotskip"), "", 0, dotskip, NEED_URL);
@@ -2133,6 +1960,11 @@ InitModule_ROOMOPS
        REGISTERTokenParamDefine(VIEW_BLOG);
 
        /* GNET types: */
+       /* server internal, we need to know but ignore them. */
+       REGISTERTokenParamDefine(subpending);
+       REGISTERTokenParamDefine(unsubpending);
+       REGISTERTokenParamDefine(lastsent);
+
        REGISTERTokenParamDefine(ignet_push_share);
        { /* these are the parts of an IGNET push config */
                REGISTERTokenParamDefine(GNET_IGNET_NODE);