Reset Msg Pointers
This commit is contained in:
parent
dd1453d6ed
commit
0e8ec762bf
2
bbs.h
2
bbs.h
@ -280,6 +280,8 @@ extern void next_mail_area(struct user_record *user);
|
|||||||
extern void prev_mail_area(struct user_record *user);
|
extern void prev_mail_area(struct user_record *user);
|
||||||
extern void post_message(struct user_record *user);
|
extern void post_message(struct user_record *user);
|
||||||
extern void msg_conf_sub_bases();
|
extern void msg_conf_sub_bases();
|
||||||
|
extern void msgbase_reset_pointers(int conference, int msgarea);
|
||||||
|
extern void msgbase_reset_all_pointers();
|
||||||
|
|
||||||
extern void rundoor(struct user_record *user, char *cmd, int stdio, char *codepage);
|
extern void rundoor(struct user_record *user, char *cmd, int stdio, char *codepage);
|
||||||
extern void runexternal(struct user_record *user, char *cmd, int stdio, char **argv, char *cwd, int raw, char *codepage);
|
extern void runexternal(struct user_record *user, char *cmd, int stdio, char **argv, char *cwd, int raw, char *codepage);
|
||||||
|
28
mail_menu.c
28
mail_menu.c
@ -2680,3 +2680,31 @@ void msg_conf_sub_bases() {
|
|||||||
}
|
}
|
||||||
} while (!done);
|
} while (!done);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void msgbase_reset_pointers(int conference, int msgarea) {
|
||||||
|
s_JamBase *jb;
|
||||||
|
s_JamBaseHeader jbh;
|
||||||
|
s_JamLastRead jlr;
|
||||||
|
|
||||||
|
jb = open_jam_base(conf.mail_conferences[conference]->mail_areas[msgarea]->path);
|
||||||
|
if (!jb) {
|
||||||
|
dolog("Unable to open message base");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (JAM_ReadLastRead(jb, gUser->id, &jlr) != JAM_NO_USER) {
|
||||||
|
jlr.LastReadMsg = 0;
|
||||||
|
jlr.HighReadMsg = 0;
|
||||||
|
JAM_WriteLastRead(jb, gUser->id, &jlr);
|
||||||
|
}
|
||||||
|
JAM_CloseMB(jb);
|
||||||
|
}
|
||||||
|
|
||||||
|
void msgbase_reset_all_pointers() {
|
||||||
|
int i, j;
|
||||||
|
|
||||||
|
for (i=0;i<conf.mail_conference_count;i++) {
|
||||||
|
for (j=0;j<conf.mail_conferences[i]->mail_area_count;j++) {
|
||||||
|
msgbase_reset_pointers(i, j);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
12
menus.c
12
menus.c
@ -47,6 +47,8 @@
|
|||||||
#define MENU_DOSCRIPT 37
|
#define MENU_DOSCRIPT 37
|
||||||
#define MENU_SENDNODEMSG 38
|
#define MENU_SENDNODEMSG 38
|
||||||
#define MENU_SUBUNSUBCONF 39
|
#define MENU_SUBUNSUBCONF 39
|
||||||
|
#define MENU_RESETPOINTERS 40
|
||||||
|
#define MENU_RESETALLPOINTERS 41
|
||||||
|
|
||||||
extern struct bbs_config conf;
|
extern struct bbs_config conf;
|
||||||
extern struct user_record *gUser;
|
extern struct user_record *gUser;
|
||||||
@ -190,6 +192,10 @@ int menu_system(char *menufile) {
|
|||||||
menu[menu_items-1]->command = MENU_SENDNODEMSG;
|
menu[menu_items-1]->command = MENU_SENDNODEMSG;
|
||||||
} else if (strncasecmp(&buffer[8], "SUBUNSUBCONF", 12) == 0) {
|
} else if (strncasecmp(&buffer[8], "SUBUNSUBCONF", 12) == 0) {
|
||||||
menu[menu_items-1]->command = MENU_SUBUNSUBCONF;
|
menu[menu_items-1]->command = MENU_SUBUNSUBCONF;
|
||||||
|
} else if (strncasecmp(&buffer[8], "RESETMSGPTRS", 12) == 0) {
|
||||||
|
menu[menu_items-1]->command = MENU_RESETPOINTERS;
|
||||||
|
} else if (strncasecmp(&buffer[8], "RESETALLMSGPTRS", 15) == 0) {
|
||||||
|
menu[menu_items-1]->command = MENU_RESETALLPOINTERS;
|
||||||
}
|
}
|
||||||
} else if (strncasecmp(buffer, "SECLEVEL", 8) == 0) {
|
} else if (strncasecmp(buffer, "SECLEVEL", 8) == 0) {
|
||||||
menu[menu_items-1]->seclevel = atoi(&buffer[9]);
|
menu[menu_items-1]->seclevel = atoi(&buffer[9]);
|
||||||
@ -474,6 +480,12 @@ int menu_system(char *menufile) {
|
|||||||
case MENU_SUBUNSUBCONF:
|
case MENU_SUBUNSUBCONF:
|
||||||
msg_conf_sub_bases();
|
msg_conf_sub_bases();
|
||||||
break;
|
break;
|
||||||
|
case MENU_RESETPOINTERS:
|
||||||
|
msgbase_reset_pointers(gUser->cur_mail_conf, gUser->cur_mail_area);
|
||||||
|
break;
|
||||||
|
case MENU_RESETALLPOINTERS:
|
||||||
|
msgbase_reset_all_pointers();
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -53,3 +53,8 @@ COMMAND BLUEWAVEUPLOAD
|
|||||||
HOTKEY S
|
HOTKEY S
|
||||||
COMMAND SUBUNSUBCONF
|
COMMAND SUBUNSUBCONF
|
||||||
|
|
||||||
|
HOTKEY Z
|
||||||
|
COMMAND RESETMSGPTRS
|
||||||
|
|
||||||
|
HOTKEY X
|
||||||
|
COMMAND RESETALLMSGPTRS
|
||||||
|
Reference in New Issue
Block a user