Fossil SCM

Make the /forumpost status selection list selection persistent in the user display cookie, analog to the /timeline's type selection list.

stephan 2026-05-28 19:56 UTC forum-statuses
Commit 580e777cf8b0944552cfc98d9a3ce1bef015e1e019ef90681a749dbc513774e1
1 file changed +3 -1
+3 -1
--- src/forum.c
+++ src/forum.c
@@ -2394,10 +2394,11 @@
23942394
az[i++] = fs->zLabel;
23952395
}
23962396
//assert( i==(1+fss->n)*2 );
23972397
}
23982398
if( i ){
2399
+ cookie_link_parameter("status","forumStatus","*");
23992400
style_submenu_multichoice("status", i/2, az, 0);
24002401
}
24012402
}
24022403
24032404
/*
@@ -2482,11 +2483,11 @@
24822483
void forum_main_page(void){
24832484
Stmt q;
24842485
int iLimit = 0, iOfst, iCnt;
24852486
int srchFlags;
24862487
const int isSearch = P("s")!=0;
2487
- const char *zStatusFilter = P("status");
2488
+ const char *zStatusFilter;
24882489
char const *zLimit = 0; /* Value of the n= query parameter */
24892490
int eStatusTag = 0; /* tagid for the "status" property */
24902491
int bHasStatus = 0; /* True if forum-statuses setting exists */
24912492
int bFilter = 0; /* True if status=NAME query parameter */
24922493
ForumStatusMatch sFSM; /* Aux data to status_match() SQL function */
@@ -2534,10 +2535,11 @@
25342535
/*for the sake of Max, below*/;
25352536
iLimit = 25;
25362537
}
25372538
style_submenu_entry("n","Max:",4,0);
25382539
forum_status_submenu();
2540
+ zStatusFilter = P("status") /*must be after forum_status_submenu()!*/;
25392541
iOfst = atoi(PD("x","0"));
25402542
iCnt = 0;
25412543
if( zStatusFilter ){
25422544
if( zStatusFilter[0]==0 || 0==fossil_strcmp("*",zStatusFilter) ){
25432545
zStatusFilter = 0;
25442546
--- src/forum.c
+++ src/forum.c
@@ -2394,10 +2394,11 @@
2394 az[i++] = fs->zLabel;
2395 }
2396 //assert( i==(1+fss->n)*2 );
2397 }
2398 if( i ){
 
2399 style_submenu_multichoice("status", i/2, az, 0);
2400 }
2401 }
2402
2403 /*
@@ -2482,11 +2483,11 @@
2482 void forum_main_page(void){
2483 Stmt q;
2484 int iLimit = 0, iOfst, iCnt;
2485 int srchFlags;
2486 const int isSearch = P("s")!=0;
2487 const char *zStatusFilter = P("status");
2488 char const *zLimit = 0; /* Value of the n= query parameter */
2489 int eStatusTag = 0; /* tagid for the "status" property */
2490 int bHasStatus = 0; /* True if forum-statuses setting exists */
2491 int bFilter = 0; /* True if status=NAME query parameter */
2492 ForumStatusMatch sFSM; /* Aux data to status_match() SQL function */
@@ -2534,10 +2535,11 @@
2534 /*for the sake of Max, below*/;
2535 iLimit = 25;
2536 }
2537 style_submenu_entry("n","Max:",4,0);
2538 forum_status_submenu();
 
2539 iOfst = atoi(PD("x","0"));
2540 iCnt = 0;
2541 if( zStatusFilter ){
2542 if( zStatusFilter[0]==0 || 0==fossil_strcmp("*",zStatusFilter) ){
2543 zStatusFilter = 0;
2544
--- src/forum.c
+++ src/forum.c
@@ -2394,10 +2394,11 @@
2394 az[i++] = fs->zLabel;
2395 }
2396 //assert( i==(1+fss->n)*2 );
2397 }
2398 if( i ){
2399 cookie_link_parameter("status","forumStatus","*");
2400 style_submenu_multichoice("status", i/2, az, 0);
2401 }
2402 }
2403
2404 /*
@@ -2482,11 +2483,11 @@
2483 void forum_main_page(void){
2484 Stmt q;
2485 int iLimit = 0, iOfst, iCnt;
2486 int srchFlags;
2487 const int isSearch = P("s")!=0;
2488 const char *zStatusFilter;
2489 char const *zLimit = 0; /* Value of the n= query parameter */
2490 int eStatusTag = 0; /* tagid for the "status" property */
2491 int bHasStatus = 0; /* True if forum-statuses setting exists */
2492 int bFilter = 0; /* True if status=NAME query parameter */
2493 ForumStatusMatch sFSM; /* Aux data to status_match() SQL function */
@@ -2534,10 +2535,11 @@
2535 /*for the sake of Max, below*/;
2536 iLimit = 25;
2537 }
2538 style_submenu_entry("n","Max:",4,0);
2539 forum_status_submenu();
2540 zStatusFilter = P("status") /*must be after forum_status_submenu()!*/;
2541 iOfst = atoi(PD("x","0"));
2542 iCnt = 0;
2543 if( zStatusFilter ){
2544 if( zStatusFilter[0]==0 || 0==fossil_strcmp("*",zStatusFilter) ){
2545 zStatusFilter = 0;
2546

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button