]> code.citadel.org Git - citadel.git/commitdiff
* added an unfinished serv_vandelay.c (Art Vandelay module - importer/exporter)
authorArt Cancro <ajc@citadel.org>
Mon, 10 Jul 2000 04:01:12 +0000 (04:01 +0000)
committerArt Cancro <ajc@citadel.org>
Mon, 10 Jul 2000 04:01:12 +0000 (04:01 +0000)
citadel/ChangeLog
citadel/serv_vandelay.c

index 9329c0020513ad0a054e639cfd38cb8378b660f2..9aecc80c597aa5244f272ee3c10d3ede56823cdb 100644 (file)
@@ -1,4 +1,7 @@
  $Log$
+ Revision 572.14  2000/07/10 04:01:12  ajc
+ * added an unfinished serv_vandelay.c (Art Vandelay module - importer/exporter)
+
  Revision 572.13  2000/07/09 02:47:40  ajc
  * Overhauled the keepalive logic in the chat client.  Closes bug #20.
 
@@ -1938,3 +1941,4 @@ Sat Jul 11 00:20:48 EDT 1998 Nathan Bryant <bryant@cs.usm.maine.edu>
 
 Fri Jul 10 1998 Art Cancro <ajc@uncnsrd.mt-kisco.ny.us>
        * Initial CVS import 
+
index d97f8cbc5f241279dc7f134b8e557ad7db097ced..14b58ebc5691d6cac4892953c5db724ea05f3ab6 100644 (file)
 #include "database.h"
 #include "msgbase.h"
 #include "tools.h"
+#include "user_ops.h"
+#include "room_ops.h"
+#include "control.h"
+
+void artv_export_users_backend(struct usersupp *usbuf, void *data) {
+       cprintf("user\n");
+       cprintf("%d\n", usbuf->version);
+       cprintf("%d\n", usbuf->uid);
+       cprintf("%s\n", usbuf->password);
+       cprintf("%u\n", usbuf->flags);
+       cprintf("%ld\n", usbuf->timescalled);
+       cprintf("%ld\n", usbuf->posted);
+       cprintf("%d\n", usbuf->axlevel);
+       cprintf("%ld\n", usbuf->usernum);
+       cprintf("%ld\n", usbuf->lastcall);
+       cprintf("%d\n", usbuf->USuserpurge);
+       cprintf("%s\n", usbuf->fullname);
+       cprintf("%d\n", usbuf->USscreenwidth);
+       cprintf("%d\n", usbuf->USscreenheight);
+       cprintf("%d\n", usbuf->moderation_filter);
+}
+
+
+void artv_export_users(void) {
+       ForEachUser(artv_export_users_backend, NULL);
+}
+
+
+void artv_export_room_msg(long msgnum) {
+       cprintf("%ld\n", msgnum);
+}
+
+
+void artv_export_rooms_backend(struct quickroom *qrbuf, void *data) {
+       cprintf("room\n");
+       cprintf("%s\n", qrbuf->QRname);
+       cprintf("%s\n", qrbuf->QRpasswd);
+       cprintf("%ld\n", qrbuf->QRroomaide);
+       cprintf("%ld\n", qrbuf->QRhighest);
+       cprintf("%ld\n", qrbuf->QRgen);
+       cprintf("%u\n", qrbuf->QRflags);
+       cprintf("%s\n", qrbuf->QRdirname);
+       cprintf("%ld\n", qrbuf->QRinfo);
+       cprintf("%d\n", qrbuf->QRfloor);
+       cprintf("%ld\n", qrbuf->QRmtime);
+       cprintf("%d\n", qrbuf->QRep.expire_mode);
+       cprintf("%d\n", qrbuf->QRep.expire_value);
+       cprintf("%ld\n", qrbuf->QRnumber);
+       cprintf("%d\n", qrbuf->QRorder);
+
+       getroom(&CC->quickroom, qrbuf->QRname);
+       /* format of message list export is all message numbers output
+        * one per line terminated by a 0.
+        */
+       CtdlForEachMessage(MSGS_ALL, 0L, (-127), NULL, NULL,
+               artv_export_room_msg);
+       cprintf("0\n");
+
+}
+
+
+
+void artv_export_rooms(void) {
+       ForEachRoom(artv_export_rooms_backend, NULL);
+}
+
+
+void artv_export_floors(void) {
+        struct floor flbuf;
+        int i;
+
+        for (i=0; i < MAXFLOORS; ++i) {
+               cprintf("floor\n");
+               cprintf("%d\n", i);
+                getfloor(&flbuf, i);
+               cprintf("%u\n", flbuf.f_flags);
+               cprintf("%s\n", flbuf.f_name);
+               cprintf("%d\n", flbuf.f_ref_count);
+               cprintf("%d\n", flbuf.f_ep.expire_mode);
+               cprintf("%d\n", flbuf.f_ep.expire_value);
+       }
+}
+
+
+
+
+
+/* 
+ *  Traverse the room file...
+ */
+void artv_export_visits(void) {
+       struct visit vbuf;
+       struct cdbdata *cdbv;
+
+       cdb_rewind(CDB_VISIT);
+
+       while (cdbv = cdb_next_item(CDB_VISIT), cdbv != NULL) {
+               memset(&vbuf, 0, sizeof(struct visit));
+               memcpy(&vbuf, cdbv->ptr,
+                      ((cdbv->len > sizeof(struct visit)) ?
+                       sizeof(struct visit) : cdbv->len));
+               cdb_free(cdbv);
+
+               cprintf("visit\n");
+               cprintf("%ld\n", vbuf.v_roomnum);
+               cprintf("%ld\n", vbuf.v_roomgen);
+               cprintf("%ld\n", vbuf.v_usernum);
+               cprintf("%ld\n", vbuf.v_lastseen);
+               cprintf("%u\n", vbuf.v_flags);
+       }
+}
+
+
+
+
+
+
+
 
 
 void artv_do_export(void) {
-       cprintf("%d command not yet implemented\n", ERROR);
+       cprintf("%d Yikes.\n", LISTING_FOLLOWS);
+
+       /* export the config file */
+       cprintf("config\n");
+       cprintf("%s\n", config.c_nodename);
+       cprintf("%s\n", config.c_fqdn);
+       cprintf("%s\n", config.c_humannode);
+       cprintf("%s\n", config.c_phonenum);
+       cprintf("%d\n", config.c_bbsuid);
+       cprintf("%d\n", config.c_creataide);
+       cprintf("%d\n", config.c_sleeping);
+       cprintf("%d\n", config.c_initax);
+       cprintf("%d\n", config.c_regiscall);
+       cprintf("%d\n", config.c_twitdetect);
+       cprintf("%s\n", config.c_twitroom);
+       cprintf("%s\n", config.c_moreprompt);
+       cprintf("%d\n", config.c_restrict);
+       cprintf("%ld\n", config.c_msgbase);
+       cprintf("%s\n", config.c_bbs_city);
+       cprintf("%s\n", config.c_sysadm);
+       cprintf("%s\n", config.c_bucket_dir);
+       cprintf("%d\n", config.c_setup_level);
+       cprintf("%d\n", config.c_maxsessions);
+       cprintf("%s\n", config.c_net_password);
+       cprintf("%d\n", config.c_port_number);
+       cprintf("%d\n", config.c_ipgm_secret);
+       cprintf("%d\n", config.c_ep.expire_mode);
+       cprintf("%d\n", config.c_ep.expire_value);
+       cprintf("%d\n", config.c_userpurge);
+       cprintf("%d\n", config.c_roompurge);
+       cprintf("%s\n", config.c_logpages);
+       cprintf("%d\n", config.c_createax);
+       cprintf("%ld\n", config.c_maxmsglen);
+       cprintf("%d\n", config.c_min_workers);
+       cprintf("%d\n", config.c_max_workers);
+       cprintf("%d\n", config.c_pop3_port);
+       cprintf("%d\n", config.c_smtp_port);
+       cprintf("%d\n", config.c_default_filter);
+
+       /* Export the control file */
+       get_control();
+       cprintf("control\n");
+       cprintf("%ld\n", CitControl.MMhighest);
+       cprintf("%u\n", CitControl.MMflags);
+       cprintf("%ld\n", CitControl.MMnextuser);
+       cprintf("%ld\n", CitControl.MMnextroom);
+       cprintf("%d\n", CitControl.version);
+
+       artv_export_users();
+       artv_export_rooms();
+       artv_export_floors();
+       artv_export_visits();
+
+       cprintf("000\n");
 }
 
 
@@ -40,6 +211,7 @@ void artv_do_export(void) {
 
 void artv_do_import(void) {
        cprintf("%d command not yet implemented\n", ERROR);
+
 }