Version19.164

This commit is contained in:
acanas 2020-04-05 22:53:58 +02:00
parent f9881d367d
commit e50a4b5644
24 changed files with 350 additions and 314 deletions

View File

@ -472,6 +472,7 @@ static void Agd_ShowEvents (Agd_AgendaType_t AgendaType)
/***** Write links to pages *****/
Pag_WriteLinksToPagesCentered (WhatPaginate[AgendaType],
&Pagination,
(unsigned) Gbl.Agenda.SelectedOrder,
0);
if (Gbl.Agenda.Num)
@ -497,6 +498,7 @@ static void Agd_ShowEvents (Agd_AgendaType_t AgendaType)
/***** Write again links to pages *****/
Pag_WriteLinksToPagesCentered (WhatPaginate[AgendaType],
&Pagination,
(unsigned) Gbl.Agenda.SelectedOrder,
0);
/***** Button to create a new event *****/
@ -575,13 +577,13 @@ static void Agd_WriteHeaderListEvents (Agd_AgendaType_t AgendaType)
extern const char *Txt_START_END_TIME[Dat_NUM_START_END_TIME];
extern const char *Txt_Event;
extern const char *Txt_Location;
Agd_Order_t Order;
Dat_StartEndTime_t Order;
/***** Table head *****/
HTM_TR_Begin (NULL);
for (Order = Agd_ORDER_BY_START_DATE;
Order <= Agd_ORDER_BY_END_DATE;
for (Order = Dat_START_TIME;
Order <= Dat_END_TIME;
Order++)
{
HTM_TH_Begin (1,1,"LM");
@ -902,7 +904,7 @@ static void Agd_PutCurrentParamsMyAgenda (void *Agenda)
void Agd_PutParamsMyAgenda (unsigned Past__FutureEvents,
unsigned PrivatPublicEvents,
unsigned HiddenVisiblEvents,
Agd_Order_t Order,
Dat_StartEndTime_t Order,
unsigned NumPage,
long AgdCodToEdit)
{
@ -919,7 +921,7 @@ void Agd_PutParamsMyAgenda (unsigned Past__FutureEvents,
Agd_PutHiddenParamHiddenVisiblEvents (HiddenVisiblEvents);
if (Order != Agd_ORDER_DEFAULT)
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order);
Dat_PutHiddenParamOrder (Order);
if (NumPage > 1)
Pag_PutHiddenParamPagNum (Pag_MY_AGENDA,NumPage);
@ -956,10 +958,10 @@ static void Agd_GetParams (Agd_AgendaType_t AgendaType)
/****** Put a hidden parameter with the type of order in list of events ******/
/*****************************************************************************/
void Agd_PutHiddenParamEventsOrder (void)
void Agd_PutHiddenParamEventsOrder (Dat_StartEndTime_t SelectedOrder)
{
if (Gbl.Agenda.SelectedOrder != Agd_ORDER_DEFAULT)
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Gbl.Agenda.SelectedOrder);
Dat_PutHiddenParamOrder (SelectedOrder);
}
/*****************************************************************************/
@ -972,10 +974,10 @@ static void Agd_GetParamEventOrder (void)
if (!AlreadyGot)
{
Gbl.Agenda.SelectedOrder = (Agd_Order_t)
Gbl.Agenda.SelectedOrder = (Dat_StartEndTime_t)
Par_GetParToUnsignedLong ("Order",
0,
Agd_NUM_ORDERS - 1,
Dat_NUM_START_END_TIME - 1,
(unsigned long) Agd_ORDER_DEFAULT);
AlreadyGot = true;
}
@ -993,10 +995,10 @@ static void Agd_GetListEvents (Agd_AgendaType_t AgendaType)
char Past__FutureEventsSubQuery[Agd_MAX_BYTES_SUBQUERY];
char PrivatPublicEventsSubQuery[Agd_MAX_BYTES_SUBQUERY];
char HiddenVisiblEventsSubQuery[Agd_MAX_BYTES_SUBQUERY];
static const char *OrderBySubQuery[Agd_NUM_ORDERS] =
static const char *OrderBySubQuery[Dat_NUM_START_END_TIME] =
{
[Agd_ORDER_BY_START_DATE] = "StartTime,EndTime,Event,Location",
[Agd_ORDER_BY_END_DATE ] = "EndTime,StartTime,Event,Location",
[Dat_START_TIME] = "StartTime,EndTime,Event,Location",
[Dat_END_TIME ] = "EndTime,StartTime,Event,Location",
};
MYSQL_RES *mysql_res;
MYSQL_ROW row;

View File

@ -83,13 +83,7 @@ typedef enum
#define Agd_DEFAULT_HIDDEN_EVENTS (0 << Agd_HIDDEN_EVENTS) // off
#define Agd_DEFAULT_VISIBL_EVENTS (1 << Agd_VISIBL_EVENTS) // on
#define Agd_NUM_ORDERS 2
typedef enum
{
Agd_ORDER_BY_START_DATE = 0,
Agd_ORDER_BY_END_DATE = 1,
} Agd_Order_t;
#define Agd_ORDER_DEFAULT Agd_ORDER_BY_START_DATE
#define Agd_ORDER_DEFAULT Dat_START_TIME
struct Agd_Agenda
{
@ -99,7 +93,7 @@ struct Agd_Agenda
unsigned Past__FutureEvents;
unsigned PrivatPublicEvents;
unsigned HiddenVisiblEvents;
Agd_Order_t SelectedOrder;
Dat_StartEndTime_t SelectedOrder;
long AgdCodToEdit; // Used as parameter in contextual links
unsigned CurrentPage;
};
@ -120,10 +114,10 @@ void Agd_RequestCreatOrEditEvent (void);
void Agd_PutParamsMyAgenda (unsigned Past__FutureEvents,
unsigned PrivatPublicEvents,
unsigned HiddenVisiblEvents,
Agd_Order_t Order,
Dat_StartEndTime_t Order,
unsigned NumPage,
long AgdCodToEdit);
void Agd_PutHiddenParamEventsOrder (void);
void Agd_PutHiddenParamEventsOrder (Dat_StartEndTime_t SelectedOrder);
void Agd_FreeListEvents (void);

View File

@ -58,20 +58,30 @@ extern struct Globals Gbl;
/***************************** Private constants *****************************/
/*****************************************************************************/
/*****************************************************************************/
/******************************* Private types *******************************/
/*****************************************************************************/
/*****************************************************************************/
/***************************** Private variables *****************************/
/*****************************************************************************/
struct Asg_Assignments
{
bool LstIsRead; // Is the list already read from database...
// ...or it needs to be read?
unsigned Num; // Number of assignments
long *LstAsgCods; // List of assigment codes
Dat_StartEndTime_t SelectedOrder;
long AsgCodToEdit; // Used as parameter in contextual links
unsigned CurrentPage;
};
/*****************************************************************************/
/***************************** Private prototypes ****************************/
/*****************************************************************************/
static void Asg_ShowAllAssignments (void);
static void Asg_PutHeadForSeeing (bool PrintView);
static void Asg_ResetAssignments (struct Asg_Assignments *Assignments);
static void Asg_ShowAllAssignments (struct Asg_Assignments *Assignments);
static void Asg_PutHeadForSeeing (struct Asg_Assignments *Assignments,
bool PrintView);
static bool Asg_CheckIfICanCreateAssignments (void);
static void Asg_PutIconsListAssignments (void *Args);
static void Asg_PutIconToCreateNewAsg (void *Assignments);
@ -80,15 +90,17 @@ static void Asg_ParamsWhichGroupsToShow (void *Args);
static void Asg_ShowOneAssignment (long AsgCod,bool PrintView);
static void Asg_WriteAsgAuthor (struct Assignment *Asg);
static void Asg_WriteAssignmentFolder (struct Assignment *Asg,bool PrintView);
static void Asg_GetParamAsgOrder (void);
static Dat_StartEndTime_t Asg_GetParamAsgOrder (void);
static void Asg_PutFormsToRemEditOneAsg (const struct Assignment *Asg,
const char *Anchor);
static void Asg_PutParams (void *Assignments);
static void Asg_GetListAssignments (struct Asg_Assignments *Assignments);
static void Asg_GetDataOfAssignment (struct Assignment *Asg,
MYSQL_RES **mysql_res,
unsigned long NumRows);
static void Asg_ResetAssignment (struct Assignment *Asg);
static void Asg_FreeListAssignments (struct Asg_Assignments *Assignments);
static void Asg_GetAssignmentTxtFromDB (long AsgCod,char Txt[Cns_MAX_BYTES_TEXT + 1]);
static void Asg_PutParamAsgCod (long AsgCod);
static bool Asg_CheckIfSimilarAssignmentExists (const char *Field,const char *Value,long AsgCod);
@ -102,26 +114,45 @@ static void Asg_CreateGrps (long AsgCod);
static void Asg_GetAndWriteNamesOfGrpsAssociatedToAsg (struct Assignment *Asg);
static bool Asg_CheckIfIBelongToCrsOrGrpsThisAssignment (long AsgCod);
/*****************************************************************************/
/*************************** Reset assignments *******************************/
/*****************************************************************************/
static void Asg_ResetAssignments (struct Asg_Assignments *Assignments)
{
Assignments->LstIsRead = false; // List is not read
Assignments->Num = 0;
Assignments->LstAsgCods = NULL;
Assignments->SelectedOrder = Asg_ORDER_DEFAULT;
Assignments->AsgCodToEdit = -1L; // Used as parameter in contextual links
Assignments->CurrentPage = 0;
}
/*****************************************************************************/
/************************ List all the assignments ***************************/
/*****************************************************************************/
void Asg_SeeAssignments (void)
{
/***** Get parameters *****/
Asg_GetParamAsgOrder ();
Grp_GetParamWhichGroups ();
Gbl.Asgs.CurrentPage = Pag_GetParamPagNum (Pag_ASSIGNMENTS);
struct Asg_Assignments Assignments;
/***** Show all the assignments *****/
Asg_ShowAllAssignments ();
/***** Reset assignments *****/
Asg_ResetAssignments (&Assignments);
/***** Get parameters *****/
Assignments.SelectedOrder = Asg_GetParamAsgOrder ();
Gbl.Crs.Grps.WhichGrps = Grp_GetParamWhichGroups ();
Assignments.CurrentPage = Pag_GetParamPagNum (Pag_ASSIGNMENTS);
/***** Show all assignments *****/
Asg_ShowAllAssignments (&Assignments);
}
/*****************************************************************************/
/************************ Show all the assignments ***************************/
/*****************************************************************************/
static void Asg_ShowAllAssignments (void)
static void Asg_ShowAllAssignments (struct Asg_Assignments *Assignments)
{
extern const char *Hlp_ASSESSMENT_Assignments;
extern const char *Txt_Assignments;
@ -130,17 +161,17 @@ static void Asg_ShowAllAssignments (void)
unsigned NumAsg;
/***** Get list of assignments *****/
Asg_GetListAssignments ();
Asg_GetListAssignments (Assignments);
/***** Compute variables related to pagination *****/
Pagination.NumItems = Gbl.Asgs.Num;
Pagination.CurrentPage = (int) Gbl.Asgs.CurrentPage;
Pagination.NumItems = Assignments->Num;
Pagination.CurrentPage = (int) Assignments->CurrentPage;
Pag_CalculatePagination (&Pagination);
Gbl.Asgs.CurrentPage = (unsigned) Pagination.CurrentPage;
Assignments->CurrentPage = (unsigned) Pagination.CurrentPage;
/***** Begin box *****/
Box_BoxBegin ("100%",Txt_Assignments,
Asg_PutIconsListAssignments,&Gbl.Asgs,
Asg_PutIconsListAssignments,Assignments,
Hlp_ASSESSMENT_Assignments,Box_NOT_CLOSABLE);
/***** Select whether show only my groups or all groups *****/
@ -148,26 +179,27 @@ static void Asg_ShowAllAssignments (void)
{
Set_StartSettingsHead ();
Grp_ShowFormToSelWhichGrps (ActSeeAsg,
Asg_ParamsWhichGroupsToShow,&Gbl);
Asg_ParamsWhichGroupsToShow,Assignments);
Set_EndSettingsHead ();
}
/***** Write links to pages *****/
Pag_WriteLinksToPagesCentered (Pag_ASSIGNMENTS,
&Pagination,
(unsigned) Assignments->SelectedOrder,
0);
if (Gbl.Asgs.Num)
if (Assignments->Num)
{
/***** Table head *****/
HTM_TABLE_BeginWideMarginPadding (2);
Asg_PutHeadForSeeing (false); // Not print view
Asg_PutHeadForSeeing (Assignments,false); // Not print view
/***** Write all the assignments *****/
for (NumAsg = Pagination.FirstItemVisible;
NumAsg <= Pagination.LastItemVisible;
NumAsg++)
Asg_ShowOneAssignment (Gbl.Asgs.LstAsgCods[NumAsg - 1],
Asg_ShowOneAssignment (Assignments->LstAsgCods[NumAsg - 1],
false); // Not print view
/***** End table *****/
@ -179,24 +211,26 @@ static void Asg_ShowAllAssignments (void)
/***** Write again links to pages *****/
Pag_WriteLinksToPagesCentered (Pag_ASSIGNMENTS,
&Pagination,
(unsigned) Assignments->SelectedOrder,
0);
/***** Button to create a new assignment *****/
if (Asg_CheckIfICanCreateAssignments ())
Asg_PutButtonToCreateNewAsg (&Gbl.Asgs);
Asg_PutButtonToCreateNewAsg (Assignments);
/***** End box *****/
Box_BoxEnd ();
/***** Free list of assignments *****/
Asg_FreeListAssignments ();
Asg_FreeListAssignments (Assignments);
}
/*****************************************************************************/
/***************** Write header with fields of an assignment *****************/
/*****************************************************************************/
static void Asg_PutHeadForSeeing (bool PrintView)
static void Asg_PutHeadForSeeing (struct Asg_Assignments *Assignments,
bool PrintView)
{
extern const char *Txt_START_END_TIME_HELP[Dat_NUM_START_END_TIME];
extern const char *Txt_START_END_TIME[Dat_NUM_START_END_TIME];
@ -219,16 +253,16 @@ static void Asg_PutHeadForSeeing (bool PrintView)
Frm_StartForm (ActSeeAsg);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
Pag_PutHiddenParamPagNum (Pag_ASSIGNMENTS,Gbl.Asgs.CurrentPage);
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order);
Pag_PutHiddenParamPagNum (Pag_ASSIGNMENTS,Assignments->CurrentPage);
Dat_PutHiddenParamOrder (Order);
HTM_BUTTON_SUBMIT_Begin (Txt_START_END_TIME_HELP[Order],"BT_LINK TIT_TBL",NULL);
if (Order == Gbl.Asgs.SelectedOrder)
if (Order == Assignments->SelectedOrder)
HTM_U_Begin ();
}
HTM_Txt (Txt_START_END_TIME[Order]);
if (!PrintView)
{
if (Order == Gbl.Asgs.SelectedOrder)
if (Order == Assignments->SelectedOrder)
HTM_U_End ();
HTM_BUTTON_End ();
Frm_EndForm ();
@ -309,12 +343,13 @@ static void Asg_PutButtonToCreateNewAsg (void *Assignments)
/**************** Put params to select which groups to show ******************/
/*****************************************************************************/
static void Asg_ParamsWhichGroupsToShow (void *Args)
static void Asg_ParamsWhichGroupsToShow (void *Assignments)
{
if (Args)
if (Assignments)
{
Asg_PutHiddenParamAsgOrder ();
Pag_PutHiddenParamPagNum (Pag_ASSIGNMENTS,Gbl.Asgs.CurrentPage);
Dat_PutHiddenParamOrder (((struct Asg_Assignments *) Assignments)->SelectedOrder);
Pag_PutHiddenParamPagNum (Pag_ASSIGNMENTS,
((struct Asg_Assignments *) Assignments)->CurrentPage);
}
}
@ -324,8 +359,12 @@ static void Asg_ParamsWhichGroupsToShow (void *Args)
void Asg_PrintOneAssignment (void)
{
struct Asg_Assignments Assignments;
long AsgCod;
/***** Reset assignments *****/
Asg_ResetAssignments (&Assignments);
/***** Get the code of the assignment *****/
AsgCod = Asg_GetParamAsgCod ();
@ -337,7 +376,8 @@ void Asg_PrintOneAssignment (void)
/***** Table head *****/
HTM_TABLE_BeginWideMarginPadding (2);
Asg_PutHeadForSeeing (true); // Print view
Asg_PutHeadForSeeing (&Assignments,
true); // Print view
/***** Write assignment *****/
Asg_ShowOneAssignment (AsgCod,
@ -529,7 +569,7 @@ static void Asg_WriteAssignmentFolder (struct Assignment *Asg,bool PrintView)
Str_Copy (Gbl.FileBrowser.FilFolLnk.Name,Asg->Folder,
NAME_MAX);
Gbl.FileBrowser.FilFolLnk.Type = Brw_IS_FOLDER;
Brw_PutImplicitParamsFileBrowser (&Gbl);
Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
Ico_PutIconLink ("folder-open-yellow-plus.png",
Txt_Upload_file_or_create_folder);
Frm_EndForm ();
@ -559,22 +599,13 @@ static void Asg_WriteAssignmentFolder (struct Assignment *Asg,bool PrintView)
/******* Get parameter with the type or order in list of assignments *********/
/*****************************************************************************/
static void Asg_GetParamAsgOrder (void)
static Dat_StartEndTime_t Asg_GetParamAsgOrder (void)
{
Gbl.Asgs.SelectedOrder = (Dat_StartEndTime_t)
Par_GetParToUnsignedLong ("Order",
0,
Dat_NUM_START_END_TIME - 1,
(unsigned long) Asg_ORDER_DEFAULT);
}
/*****************************************************************************/
/*** Put a hidden parameter with the type of order in list of assignments ****/
/*****************************************************************************/
void Asg_PutHiddenParamAsgOrder (void)
{
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Gbl.Asgs.SelectedOrder);
return (Dat_StartEndTime_t)
Par_GetParToUnsignedLong ("Order",
0,
Dat_NUM_START_END_TIME - 1,
(unsigned long) Asg_ORDER_DEFAULT);
}
/*****************************************************************************/
@ -584,7 +615,12 @@ void Asg_PutHiddenParamAsgOrder (void)
static void Asg_PutFormsToRemEditOneAsg (const struct Assignment *Asg,
const char *Anchor)
{
Gbl.Asgs.AsgCodToEdit = Asg->AsgCod; // Used as parameter in contextual links
struct Asg_Assignments Assignments;
/***** Reset assignments *****/
Asg_ResetAssignments (&Assignments);
Assignments.AsgCodToEdit = Asg->AsgCod; // Used as parameter in contextual links
switch (Gbl.Usrs.Me.Role.Logged)
{
@ -592,26 +628,26 @@ static void Asg_PutFormsToRemEditOneAsg (const struct Assignment *Asg,
case Rol_SYS_ADM:
/***** Put form to remove assignment *****/
Ico_PutContextualIconToRemove (ActReqRemAsg,
Asg_PutParams,&Gbl.Asgs);
Asg_PutParams,&Assignments);
/***** Put form to hide/show assignment *****/
if (Asg->Hidden)
Ico_PutContextualIconToUnhide (ActShoAsg,Anchor,
Asg_PutParams,&Gbl.Asgs);
Asg_PutParams,&Assignments);
else
Ico_PutContextualIconToHide (ActHidAsg,Anchor,
Asg_PutParams,&Gbl.Asgs);
Asg_PutParams,&Assignments);
/***** Put form to edit assignment *****/
Ico_PutContextualIconToEdit (ActEdiOneAsg,NULL,
Asg_PutParams,&Gbl.Asgs);
Asg_PutParams,&Assignments);
/* falls through */
/* no break */
case Rol_STD:
case Rol_NET:
/***** Put form to print assignment *****/
Ico_PutContextualIconToPrint (ActPrnOneAsg,
Asg_PutParams,&Gbl.Asgs);
Asg_PutParams,&Assignments);
break;
default:
break;
@ -630,7 +666,7 @@ static void Asg_PutParams (void *Assignments)
{
if (((struct Asg_Assignments *) Assignments)->AsgCodToEdit > 0)
Asg_PutParamAsgCod (((struct Asg_Assignments *) Assignments)->AsgCodToEdit);
Asg_PutHiddenParamAsgOrder ();
Dat_PutHiddenParamOrder (((struct Asg_Assignments *) Assignments)->SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
Pag_PutHiddenParamPagNum (Pag_ASSIGNMENTS,((struct Asg_Assignments *) Assignments)->CurrentPage);
@ -641,7 +677,7 @@ static void Asg_PutParams (void *Assignments)
/************************ List all the assignments ***************************/
/*****************************************************************************/
void Asg_GetListAssignments (void)
static void Asg_GetListAssignments (struct Asg_Assignments *Assignments)
{
static const char *HiddenSubQuery[Rol_NUM_ROLES] =
{
@ -666,8 +702,8 @@ void Asg_GetListAssignments (void)
unsigned long NumRows;
unsigned NumAsg;
if (Gbl.Asgs.LstIsRead)
Asg_FreeListAssignments ();
if (Assignments->LstIsRead)
Asg_FreeListAssignments (Assignments);
/***** Get list of assignments from database *****/
if (Gbl.Crs.Grps.WhichGrps == Grp_MY_GROUPS)
@ -682,7 +718,7 @@ void Asg_GetListAssignments (void)
Gbl.Hierarchy.Crs.CrsCod,
HiddenSubQuery[Gbl.Usrs.Me.Role.Logged],
Gbl.Usrs.Me.UsrDat.UsrCod,
OrderBySubQuery[Gbl.Asgs.SelectedOrder]);
OrderBySubQuery[Assignments->SelectedOrder]);
else // Gbl.Crs.Grps.WhichGrps == Grp_ALL_GROUPS
NumRows = DB_QuerySELECT (&mysql_res,"can not get assignments",
"SELECT AsgCod"
@ -691,34 +727,34 @@ void Asg_GetListAssignments (void)
" ORDER BY %s",
Gbl.Hierarchy.Crs.CrsCod,
HiddenSubQuery[Gbl.Usrs.Me.Role.Logged],
OrderBySubQuery[Gbl.Asgs.SelectedOrder]);
OrderBySubQuery[Assignments->SelectedOrder]);
if (NumRows) // Assignments found...
{
Gbl.Asgs.Num = (unsigned) NumRows;
Assignments->Num = (unsigned) NumRows;
/***** Create list of assignments *****/
if ((Gbl.Asgs.LstAsgCods = (long *) calloc (NumRows,sizeof (long))) == NULL)
if ((Assignments->LstAsgCods = (long *) calloc (NumRows,sizeof (long))) == NULL)
Lay_NotEnoughMemoryExit ();
/***** Get the assignments codes *****/
for (NumAsg = 0;
NumAsg < Gbl.Asgs.Num;
NumAsg < Assignments->Num;
NumAsg++)
{
/* Get next assignment code */
row = mysql_fetch_row (mysql_res);
if ((Gbl.Asgs.LstAsgCods[NumAsg] = Str_ConvertStrCodToLongCod (row[0])) < 0)
if ((Assignments->LstAsgCods[NumAsg] = Str_ConvertStrCodToLongCod (row[0])) < 0)
Lay_ShowErrorAndExit ("Error: wrong assignment code.");
}
}
else
Gbl.Asgs.Num = 0;
Assignments->Num = 0;
/***** Free structure that stores the query result *****/
DB_FreeMySQLResult (&mysql_res);
Gbl.Asgs.LstIsRead = true;
Assignments->LstIsRead = true;
}
/*****************************************************************************/
@ -865,15 +901,16 @@ static void Asg_ResetAssignment (struct Assignment *Asg)
/************************* Free list of assignments **************************/
/*****************************************************************************/
void Asg_FreeListAssignments (void)
static void Asg_FreeListAssignments (struct Asg_Assignments *Assignments)
{
if (Gbl.Asgs.LstIsRead && Gbl.Asgs.LstAsgCods)
if (Assignments->LstIsRead &&
Assignments->LstAsgCods)
{
/***** Free memory used by the list of assignments *****/
free (Gbl.Asgs.LstAsgCods);
Gbl.Asgs.LstAsgCods = NULL;
Gbl.Asgs.Num = 0;
Gbl.Asgs.LstIsRead = false;
free (Assignments->LstAsgCods);
Assignments->LstAsgCods = NULL;
Assignments->Num = 0;
Assignments->LstIsRead = false;
}
}
@ -985,12 +1022,16 @@ void Asg_ReqRemAssignment (void)
{
extern const char *Txt_Do_you_really_want_to_remove_the_assignment_X;
extern const char *Txt_Remove_assignment;
struct Asg_Assignments Assignments;
struct Assignment Asg;
/***** Reset assignments *****/
Asg_ResetAssignments (&Assignments);
/***** Get parameters *****/
Asg_GetParamAsgOrder ();
Grp_GetParamWhichGroups ();
Gbl.Asgs.CurrentPage = Pag_GetParamPagNum (Pag_ASSIGNMENTS);
Assignments.SelectedOrder = Asg_GetParamAsgOrder ();
Gbl.Crs.Grps.WhichGrps = Grp_GetParamWhichGroups ();
Assignments.CurrentPage = Pag_GetParamPagNum (Pag_ASSIGNMENTS);
/***** Get assignment code *****/
if ((Asg.AsgCod = Asg_GetParamAsgCod ()) == -1L)
@ -1000,15 +1041,15 @@ void Asg_ReqRemAssignment (void)
Asg_GetDataOfAssignmentByCod (&Asg);
/***** Show question and button to remove the assignment *****/
Gbl.Asgs.AsgCodToEdit = Asg.AsgCod;
Assignments.AsgCodToEdit = Asg.AsgCod;
Ale_ShowAlertAndButton (ActRemAsg,NULL,NULL,
Asg_PutParams,&Gbl.Asgs,
Asg_PutParams,&Assignments,
Btn_REMOVE_BUTTON,Txt_Remove_assignment,
Ale_QUESTION,Txt_Do_you_really_want_to_remove_the_assignment_X,
Asg.Title);
/***** Show assignments again *****/
Asg_SeeAssignments ();
/***** Show all assignments again *****/
Asg_ShowAllAssignments (&Assignments);
}
/*****************************************************************************/
@ -1018,8 +1059,12 @@ void Asg_ReqRemAssignment (void)
void Asg_RemoveAssignment (void)
{
extern const char *Txt_Assignment_X_removed;
struct Asg_Assignments Assignments;
struct Assignment Asg;
/***** Reset assignments *****/
Asg_ResetAssignments (&Assignments);
/***** Get assignment code *****/
if ((Asg.AsgCod = Asg_GetParamAsgCod ()) == -1L)
Lay_ShowErrorAndExit ("Code of assignment is missing.");
@ -1046,8 +1091,8 @@ void Asg_RemoveAssignment (void)
Ale_ShowAlert (Ale_SUCCESS,Txt_Assignment_X_removed,
Asg.Title);
/***** Show assignments again *****/
Asg_SeeAssignments ();
/***** Show all assignments again *****/
Asg_ShowAllAssignments (&Assignments);
}
/*****************************************************************************/
@ -1056,8 +1101,12 @@ void Asg_RemoveAssignment (void)
void Asg_HideAssignment (void)
{
struct Asg_Assignments Assignments;
struct Assignment Asg;
/***** Reset assignments *****/
Asg_ResetAssignments (&Assignments);
/***** Get assignment code *****/
if ((Asg.AsgCod = Asg_GetParamAsgCod ()) == -1L)
Lay_ShowErrorAndExit ("Code of assignment is missing.");
@ -1071,8 +1120,8 @@ void Asg_HideAssignment (void)
" WHERE AsgCod=%ld AND CrsCod=%ld",
Asg.AsgCod,Gbl.Hierarchy.Crs.CrsCod);
/***** Show assignments again *****/
Asg_SeeAssignments ();
/***** Show all assignments again *****/
Asg_ShowAllAssignments (&Assignments);
}
/*****************************************************************************/
@ -1081,8 +1130,12 @@ void Asg_HideAssignment (void)
void Asg_ShowAssignment (void)
{
struct Asg_Assignments Assignments;
struct Assignment Asg;
/***** Reset assignments *****/
Asg_ResetAssignments (&Assignments);
/***** Get assignment code *****/
if ((Asg.AsgCod = Asg_GetParamAsgCod ()) == -1L)
Lay_ShowErrorAndExit ("Code of assignment is missing.");
@ -1096,8 +1149,8 @@ void Asg_ShowAssignment (void)
" WHERE AsgCod=%ld AND CrsCod=%ld",
Asg.AsgCod,Gbl.Hierarchy.Crs.CrsCod);
/***** Show assignments again *****/
Asg_SeeAssignments ();
/***** Show all assignments again *****/
Asg_ShowAllAssignments (&Assignments);
}
/*****************************************************************************/
@ -1131,6 +1184,7 @@ void Asg_RequestCreatOrEditAsg (void)
extern const char *Txt_Description;
extern const char *Txt_Create_assignment;
extern const char *Txt_Save_changes;
struct Asg_Assignments Assignments;
struct Assignment Asg;
bool ItsANewAssignment;
char Txt[Cns_MAX_BYTES_TEXT + 1];
@ -1140,10 +1194,13 @@ void Asg_RequestCreatOrEditAsg (void)
Dat_HMS_TO_235959
};
/***** Reset assignments *****/
Asg_ResetAssignments (&Assignments);
/***** Get parameters *****/
Asg_GetParamAsgOrder ();
Assignments.SelectedOrder = Asg_GetParamAsgOrder ();
Grp_GetParamWhichGroups ();
Gbl.Asgs.CurrentPage = Pag_GetParamPagNum (Pag_ASSIGNMENTS);
Assignments.CurrentPage = Pag_GetParamPagNum (Pag_ASSIGNMENTS);
/***** Get the code of the assignment *****/
ItsANewAssignment = ((Asg.AsgCod = Asg_GetParamAsgCod ()) == -1L);
@ -1174,14 +1231,14 @@ void Asg_RequestCreatOrEditAsg (void)
if (ItsANewAssignment)
{
Frm_StartForm (ActNewAsg);
Gbl.Asgs.AsgCodToEdit = -1L;
Assignments.AsgCodToEdit = -1L;
}
else
{
Frm_StartForm (ActChgAsg);
Gbl.Asgs.AsgCodToEdit = Asg.AsgCod;
Assignments.AsgCodToEdit = Asg.AsgCod;
}
Asg_PutParams (&Gbl.Asgs);
Asg_PutParams (&Assignments);
/***** Begin box and table *****/
if (ItsANewAssignment)
@ -1263,7 +1320,7 @@ void Asg_RequestCreatOrEditAsg (void)
Frm_EndForm ();
/***** Show current assignments, if any *****/
Asg_ShowAllAssignments ();
Asg_ShowAllAssignments (&Assignments);
}
/*****************************************************************************/
@ -1341,6 +1398,7 @@ void Asg_RecFormAssignment (void)
extern const char *Txt_Created_new_assignment_X;
extern const char *Txt_The_assignment_has_been_modified;
extern const char *Txt_You_can_not_disable_file_uploading_once_folders_have_been_created;
struct Asg_Assignments Assignments;
struct Assignment OldAsg; // Current assigment data in database
struct Assignment NewAsg; // Assignment data received from form
bool ItsANewAssignment;
@ -1348,6 +1406,9 @@ void Asg_RecFormAssignment (void)
unsigned NumUsrsToBeNotifiedByEMail;
char Description[Cns_MAX_BYTES_TEXT + 1];
/***** Reset assignments *****/
Asg_ResetAssignments (&Assignments);
/***** Get the code of the assignment *****/
NewAsg.AsgCod = Asg_GetParamAsgCod ();
ItsANewAssignment = (NewAsg.AsgCod < 0);
@ -1471,8 +1532,8 @@ void Asg_RecFormAssignment (void)
if ((NumUsrsToBeNotifiedByEMail = Ntf_StoreNotifyEventsToAllUsrs (Ntf_EVENT_ASSIGNMENT,NewAsg.AsgCod)))
Asg_UpdateNumUsrsNotifiedByEMailAboutAssignment (NewAsg.AsgCod,NumUsrsToBeNotifiedByEMail);
/***** Show assignments again *****/
Asg_SeeAssignments ();
/***** Show all assignments again *****/
Asg_ShowAllAssignments (&Assignments);
}
else
// TODO: The form should be filled with partial data, now is always empty

View File

@ -64,17 +64,6 @@ struct Assignment
#define Asg_ORDER_DEFAULT Dat_START_TIME
struct Asg_Assignments
{
bool LstIsRead; // Is the list already read from database...
// ...or it needs to be read?
unsigned Num; // Number of assignments
long *LstAsgCods; // List of assigment codes
Dat_StartEndTime_t SelectedOrder;
long AsgCodToEdit; // Used as parameter in contextual links
unsigned CurrentPage;
};
/*****************************************************************************/
/***************************** Public prototypes *****************************/
/*****************************************************************************/
@ -82,12 +71,9 @@ struct Asg_Assignments
void Asg_SeeAssignments (void);
void Asg_PrintOneAssignment (void);
void Asg_PutHiddenParamAsgOrder (void);
void Asg_RequestCreatOrEditAsg (void);
void Asg_GetListAssignments (void);
void Asg_GetDataOfAssignmentByCod (struct Assignment *Asg);
void Asg_GetDataOfAssignmentByFolder (struct Assignment *Asg);
void Asg_FreeListAssignments (void);
void Asg_GetNotifAssignment (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
char **ContentStr,

View File

@ -217,6 +217,7 @@ static void Att_ShowAllAttEvents (void)
/***** Write links to pages *****/
Pag_WriteLinksToPagesCentered (Pag_ATT_EVENTS,
&Pagination,
(unsigned) Gbl.AttEvents.SelectedOrder,
0);
if (Gbl.AttEvents.Num)
@ -236,7 +237,7 @@ static void Att_ShowAllAttEvents (void)
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,Gbl.AttEvents.CurrentPage);
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order);
Dat_PutHiddenParamOrder (Order);
HTM_BUTTON_SUBMIT_Begin (Txt_START_END_TIME_HELP[Order],"BT_LINK TIT_TBL",NULL);
if (Order == Gbl.AttEvents.SelectedOrder)
HTM_U_Begin ();
@ -268,6 +269,7 @@ static void Att_ShowAllAttEvents (void)
/***** Write again links to pages *****/
Pag_WriteLinksToPagesCentered (Pag_ATT_EVENTS,
&Pagination,
(unsigned) Gbl.AttEvents.SelectedOrder,
0);
/***** Button to create a new attendance event *****/
@ -289,7 +291,7 @@ static void Att_ParamsWhichGroupsToShow (void *Args)
{
if (Args)
{
Att_PutHiddenParamAttOrder ();
Dat_PutHiddenParamOrder (Gbl.AttEvents.SelectedOrder);
Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,Gbl.AttEvents.CurrentPage);
}
}
@ -372,7 +374,7 @@ static void Att_PutParamsToCreateNewAttEvent (void *Args)
if (Args)
{
Att_PutHiddenParamAttOrder ();
Dat_PutHiddenParamOrder (Gbl.AttEvents.SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,Gbl.AttEvents.CurrentPage);
@ -389,7 +391,7 @@ static void Att_PutParamsToListUsrsAttendance (void *Args)
if (Args)
{
Att_PutHiddenParamAttOrder ();
Dat_PutHiddenParamOrder (Gbl.AttEvents.SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,Gbl.AttEvents.CurrentPage);
@ -551,15 +553,6 @@ static void Att_GetParamAttOrder (void)
(unsigned long) Att_ORDER_DEFAULT);
}
/*****************************************************************************/
/*** Put a hidden parameter with the type of order in list of att. events ****/
/*****************************************************************************/
void Att_PutHiddenParamAttOrder (void)
{
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Gbl.AttEvents.SelectedOrder);
}
/*****************************************************************************/
/************** Put a link (form) to edit one attendance event ***************/
/*****************************************************************************/
@ -597,7 +590,7 @@ static void Att_PutParams (void *Args)
if (Args)
{
Att_PutParamAttCod (Gbl.AttEvents.AttCod);
Att_PutHiddenParamAttOrder ();
Dat_PutHiddenParamOrder (Gbl.AttEvents.SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,Gbl.AttEvents.CurrentPage);
@ -905,7 +898,7 @@ void Att_AskRemAttEvent (void)
/***** Button of confirmation of removing *****/
Frm_StartForm (ActRemAtt);
Att_PutParamAttCod (Att.AttCod);
Att_PutHiddenParamAttOrder ();
Dat_PutHiddenParamOrder (Gbl.AttEvents.SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,Gbl.AttEvents.CurrentPage);
@ -1098,7 +1091,7 @@ void Att_RequestCreatOrEditAttEvent (void)
Frm_StartForm (ActChgAtt);
Att_PutParamAttCod (Att.AttCod);
}
Att_PutHiddenParamAttOrder ();
Dat_PutHiddenParamOrder (Gbl.AttEvents.SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,Gbl.AttEvents.CurrentPage);

View File

@ -76,7 +76,6 @@ typedef enum
/*****************************************************************************/
void Att_SeeAttEvents (void);
void Att_PutHiddenParamAttOrder (void);
void Att_RequestCreatOrEditAttEvent (void);
bool Att_GetDataOfAttEventByCod (struct AttendanceEvent *Att);
void Att_FreeListAttEvents (void);

View File

@ -497,7 +497,7 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
#define Log_PLATFORM_VERSION "SWAD 19.163 (2020-04-05)"
#define Log_PLATFORM_VERSION "SWAD 19.164 (2020-04-05)"
#define CSS_FILE "swad19.146.css"
#define JS_FILE "swad19.153.js"
/*
@ -528,6 +528,7 @@ Param
// TODO: Oresti Baños: cambiar ojos por candados en descriptores para prohibir/permitir y dejar los ojos para poder elegir descriptores
// TODO: Integrar pull requests con traducciones del alemán del usuario eruedin en GitHub
Version 19.164: Apr 05, 2020 Code refactoring in assignments and pagination. (284644 lines)
Version 19.163: Apr 05, 2020 Log table is now partitioned by years. (284617 lines)
20 changes necessary in database:
CREATE TABLE IF NOT EXISTS log (LogCod INT NOT NULL AUTO_INCREMENT,ActCod INT NOT NULL DEFAULT -1,CtyCod INT NOT NULL DEFAULT -1,InsCod INT NOT NULL DEFAULT -1,CtrCod INT NOT NULL DEFAULT -1,DegCod INT NOT NULL DEFAULT -1,CrsCod INT NOT NULL DEFAULT -1,UsrCod INT NOT NULL DEFAULT -1,Role TINYINT NOT NULL,ClickTime DATETIME NOT NULL,TimeToGenerate INT NOT NULL,TimeToSend INT NOT NULL,IP CHAR(15) NOT NULL,PRIMARY KEY(LogCod,ClickTime),INDEX(ActCod),INDEX(CtyCod),INDEX(InsCod),INDEX(CtrCod),INDEX(DegCod),INDEX(CrsCod),INDEX(UsrCod),INDEX(ClickTime,Role)) ENGINE=InnoDB PARTITION BY RANGE (YEAR(ClickTime)) (PARTITION p2004 VALUES LESS THAN (2005),PARTITION p2005 VALUES LESS THAN (2006),PARTITION p2006 VALUES LESS THAN (2007),PARTITION p2007 VALUES LESS THAN (2008),PARTITION p2008 VALUES LESS THAN (2009),PARTITION p2009 VALUES LESS THAN (2010),PARTITION p2010 VALUES LESS THAN (2011),PARTITION p2011 VALUES LESS THAN (2012),PARTITION p2012 VALUES LESS THAN (2013),PARTITION p2013 VALUES LESS THAN (2014),PARTITION p2014 VALUES LESS THAN (2015),PARTITION p2015 VALUES LESS THAN (2016),PARTITION p2016 VALUES LESS THAN (2017),PARTITION p2017 VALUES LESS THAN (2018),PARTITION p2018 VALUES LESS THAN (2019),PARTITION p2019 VALUES LESS THAN (2020),PARTITION p2020 VALUES LESS THAN (2021),PARTITION p2021 VALUES LESS THAN (2022),PARTITION p2022 VALUES LESS THAN (2023),PARTITION p2023 VALUES LESS THAN (2024),PARTITION p2024 VALUES LESS THAN (2025),PARTITION p2025 VALUES LESS THAN (2026),PARTITION p2026 VALUES LESS THAN (2027),PARTITION p2027 VALUES LESS THAN (2028),PARTITION p2028 VALUES LESS THAN (2029),PARTITION p2029 VALUES LESS THAN (2030),PARTITION p2030 VALUES LESS THAN (2031),PARTITION p2031 VALUES LESS THAN (2032),PARTITION p2032 VALUES LESS THAN (2033),PARTITION p2033 VALUES LESS THAN (2034),PARTITION p2034 VALUES LESS THAN (2035),PARTITION p2035 VALUES LESS THAN (2036),PARTITION p2036 VALUES LESS THAN (2037),PARTITION p2037 VALUES LESS THAN (2038),PARTITION p2038 VALUES LESS THAN (2039),PARTITION p2039 VALUES LESS THAN (2040),PARTITION p2040 VALUES LESS THAN (2041),PARTITION p2041 VALUES LESS THAN (2042),PARTITION p2042 VALUES LESS THAN (2043),PARTITION p2043 VALUES LESS THAN (2044),PARTITION p2044 VALUES LESS THAN (2045),PARTITION p2045 VALUES LESS THAN (2046),PARTITION p2046 VALUES LESS THAN (2047),PARTITION p2047 VALUES LESS THAN (2048),PARTITION p2048 VALUES LESS THAN (2049),PARTITION p2049 VALUES LESS THAN (2050),PARTITION p2050 VALUES LESS THAN MAXVALUE);

View File

@ -1655,3 +1655,12 @@ void Dat_WriteLocalDateHMSFromUTC (const char *Id,time_t TimeUTC,
WriteHMS);
HTM_SCRIPT_End ();
}
/*****************************************************************************/
/********* Put a hidden parameter with the type of order in listing **********/
/*****************************************************************************/
void Dat_PutHiddenParamOrder (Dat_StartEndTime_t SelectedOrder)
{
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) SelectedOrder);
}

View File

@ -206,4 +206,6 @@ void Dat_WriteLocalDateHMSFromUTC (const char *Id,time_t TimeUTC,
bool WriteToday,bool WriteDateOnSameDay,
bool WriteWeekDay,unsigned WriteHMS);
void Dat_PutHiddenParamOrder (Dat_StartEndTime_t SelectedOrder);
#endif

View File

@ -2315,12 +2315,12 @@ long Brw_GetParamFilCod (void)
/**************** Write parameters related with file browser *****************/
/*****************************************************************************/
void Brw_PutImplicitParamsFileBrowser (void *Args)
void Brw_PutImplicitParamsFileBrowser (void *FilFolLnk)
{
if (Args)
Brw_PutParamsFileBrowser (Gbl.FileBrowser.FilFolLnk.Path,
Gbl.FileBrowser.FilFolLnk.Name,
Gbl.FileBrowser.FilFolLnk.Type,
if (FilFolLnk)
Brw_PutParamsFileBrowser (((struct FilFolLnk *) FilFolLnk)->Path,
((struct FilFolLnk *) FilFolLnk)->Name,
((struct FilFolLnk *) FilFolLnk)->Type,
-1L); // Not used
}
@ -5785,12 +5785,12 @@ static void Brw_PutIconRemove (void)
case Brw_IS_LINK:
/***** Form to remove a file or link *****/
Ico_PutContextualIconToRemove (Brw_ActAskRemoveFile[Gbl.FileBrowser.Type],
Brw_PutImplicitParamsFileBrowser,&Gbl);
Brw_PutImplicitParamsFileBrowser,&Gbl.FileBrowser.FilFolLnk);
break;
case Brw_IS_FOLDER:
/***** Form to remove a folder *****/
Ico_PutContextualIconToRemove (Brw_ActRemoveFolder[Gbl.FileBrowser.Type],
Brw_PutImplicitParamsFileBrowser,&Gbl);
Brw_PutImplicitParamsFileBrowser,&Gbl.FileBrowser.FilFolLnk);
break;
default:
break;
@ -5811,7 +5811,7 @@ static void Brw_PutIconCopy (void)
/***** Form to copy into the clipboard *****/
Ico_PutContextualIconToCopy (Brw_ActCopy[Gbl.FileBrowser.Type],
Brw_PutImplicitParamsFileBrowser,&Gbl);
Brw_PutImplicitParamsFileBrowser,&Gbl.FileBrowser.FilFolLnk);
HTM_TD_End ();
}
@ -5833,7 +5833,7 @@ static void Brw_PutIconPaste (unsigned Level)
{
/***** Form to paste the content of the clipboard *****/
Ico_PutContextualIconToPaste (Brw_ActPaste[Gbl.FileBrowser.Type],
Brw_PutImplicitParamsFileBrowser,&Gbl);
Brw_PutImplicitParamsFileBrowser,&Gbl.FileBrowser.FilFolLnk);
}
else
/* Icon to paste inactive */
@ -5930,7 +5930,7 @@ static void Brw_PutIconToExpandFolder (const char *FileBrowserId,const char *Row
Frm_StartFormAnchorOnSubmit (Brw_ActExpandFolder[Gbl.FileBrowser.Type],
FileBrowserId,
JavaScriptFuncToExpandFolder); // JavaScript function to unhide rows
Brw_PutImplicitParamsFileBrowser (&Gbl);
Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
Ico_PutIconLink ("caret-right.svg",Txt_Expand);
Frm_EndForm ();
@ -5961,7 +5961,7 @@ static void Brw_PutIconToContractFolder (const char *FileBrowserId,const char *R
Frm_StartFormAnchorOnSubmit (Brw_ActContractFolder[Gbl.FileBrowser.Type],
FileBrowserId,
JavaScriptFuncToContractFolder); // JavaScript function to hide rows
Brw_PutImplicitParamsFileBrowser (&Gbl);
Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
Ico_PutIconLink ("caret-down.svg",Txt_Contract);
Frm_EndForm ();
@ -5977,7 +5977,7 @@ static void Brw_PutIconShow (const char *Anchor)
{
HTM_TD_Begin ("class=\"BM%u\"",Gbl.RowEvenOdd);
Ico_PutContextualIconToUnhide (Brw_ActShow[Gbl.FileBrowser.Type],Anchor,
Brw_PutImplicitParamsFileBrowser,&Gbl);
Brw_PutImplicitParamsFileBrowser,&Gbl.FileBrowser.FilFolLnk);
HTM_TD_End ();
}
@ -5989,7 +5989,7 @@ static void Brw_PutIconHide (const char *Anchor)
{
HTM_TD_Begin ("class=\"BM%u\"",Gbl.RowEvenOdd);
Ico_PutContextualIconToHide (Brw_ActHide[Gbl.FileBrowser.Type],Anchor,
Brw_PutImplicitParamsFileBrowser,&Gbl);
Brw_PutImplicitParamsFileBrowser,&Gbl.FileBrowser.FilFolLnk);
HTM_TD_End ();
}
@ -6134,7 +6134,7 @@ static void Brw_PutIconFolderWithPlus (const char *FileBrowserId,const char *Row
/***** Form and icon *****/
Ico_PutContextualIconToCreateInFolder (Brw_ActFormCreate[Gbl.FileBrowser.Type],
Brw_PutImplicitParamsFileBrowser,&Gbl,
Brw_PutImplicitParamsFileBrowser,&Gbl.FileBrowser.FilFolLnk,
Open);
/***** End container *****/
@ -6253,7 +6253,7 @@ static void Brw_PutButtonToDownloadZIPOfAFolder (void)
{
/***** Form to zip and download folder *****/
Ico_PutContextualIconToZIP (Brw_ActZIPFolder[Gbl.FileBrowser.Type],
Brw_PutImplicitParamsFileBrowser,&Gbl);
Brw_PutImplicitParamsFileBrowser,&Gbl.FileBrowser.FilFolLnk);
}
/*****************************************************************************/
@ -6292,7 +6292,7 @@ static void Brw_WriteFileName (unsigned Level,bool IsPublic)
if (Gbl.FileBrowser.ICanEditFileOrFolder) // Can I rename this folder?
{
Frm_StartForm (Brw_ActRenameFolder[Gbl.FileBrowser.Type]);
Brw_PutImplicitParamsFileBrowser (&Gbl);
Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
}
/***** Write name of the folder *****/
@ -6339,7 +6339,7 @@ static void Brw_WriteFileName (unsigned Level,bool IsPublic)
HTM_NBSP ();
Frm_StartForm (Brw_ActDowFile[Gbl.FileBrowser.Type]);
Brw_PutImplicitParamsFileBrowser (&Gbl);
Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
/* Link to the form and to the file */
if (asprintf (&Class,"BT_LINK FILENAME %s",Gbl.FileBrowser.TxtStyle) < 0)
@ -6566,7 +6566,7 @@ void Brw_AskRemFileFromTree (void)
Gbl.FileBrowser.FilFolLnk.Name,
FileNameToShow);
Ale_ShowAlertAndButton (Brw_ActRemoveFile[Gbl.FileBrowser.Type],NULL,NULL,
Brw_PutImplicitParamsFileBrowser,&Gbl,
Brw_PutImplicitParamsFileBrowser,&Gbl.FileBrowser.FilFolLnk,
Btn_REMOVE_BUTTON,
Gbl.FileBrowser.FilFolLnk.Type == Brw_IS_FILE ? Txt_Remove_file :
Txt_Remove_link,
@ -6700,7 +6700,7 @@ static void Brw_AskConfirmRemoveFolderNotEmpty (void)
/***** Show question and button to remove not empty folder *****/
Ale_ShowAlertAndButton (Brw_ActRemoveFolderNotEmpty[Gbl.FileBrowser.Type],NULL,NULL,
Brw_PutImplicitParamsFileBrowser,&Gbl,
Brw_PutImplicitParamsFileBrowser,&Gbl.FileBrowser.FilFolLnk,
Btn_REMOVE_BUTTON,Txt_Remove_folder,
Ale_QUESTION,Txt_Do_you_really_want_to_remove_the_folder_X,
Gbl.FileBrowser.FilFolLnk.Name);
@ -8367,7 +8367,7 @@ static void Brw_PutFormToCreateAFolder (const char FileNameToShow[NAME_MAX + 1])
/***** Begin form *****/
Frm_StartForm (Brw_ActCreateFolder[Gbl.FileBrowser.Type]);
Brw_PutImplicitParamsFileBrowser (&Gbl);
Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
/***** Begin box *****/
Box_BoxBegin (NULL,Txt_Create_folder,
@ -8426,7 +8426,7 @@ static void Brw_PutFormToUploadFilesUsingDropzone (const char *FileNameToShow)
Cfg_URL_ICON_PUBLIC);
Par_PutHiddenParamLong (NULL,"act",Act_GetActCod (Brw_ActUploadFileDropzone[Gbl.FileBrowser.Type]));
Par_PutHiddenParamString (NULL,"ses",Gbl.Session.Id);
Brw_PutImplicitParamsFileBrowser (&Gbl);
Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
HTM_DIV_Begin ("class=\"dz-message\"");
HTM_SPAN_Begin ("class=\"DAT_LIGHT\"");
@ -8475,7 +8475,7 @@ static void Brw_PutFormToUploadOneFileClassic (const char *FileNameToShow)
/***** Form to upload one files using the classic way *****/
Frm_StartForm (Brw_ActUploadFileClassic[Gbl.FileBrowser.Type]);
Brw_PutImplicitParamsFileBrowser (&Gbl);
Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
HTM_INPUT_FILE (Fil_NAME_OF_PARAM_FILENAME_ORG,"*",false,NULL);
/* Button to send */
@ -8498,7 +8498,7 @@ static void Brw_PutFormToPasteAFileOrFolder (const char *FileNameToShow)
/***** Begin form *****/
Frm_StartForm (Brw_ActPaste[Gbl.FileBrowser.Type]);
Brw_PutImplicitParamsFileBrowser (&Gbl);
Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
/***** Begin box *****/
Box_BoxBegin (NULL,Txt_Paste,
@ -8532,7 +8532,7 @@ static void Brw_PutFormToCreateALink (const char *FileNameToShow)
/***** Begin form *****/
Frm_StartForm (Brw_ActCreateLink[Gbl.FileBrowser.Type]);
Brw_PutImplicitParamsFileBrowser (&Gbl);
Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
/***** Begin box *****/
Box_BoxBegin (NULL,Txt_Create_link,
@ -9523,7 +9523,7 @@ void Brw_ShowFileMetadata (void)
}
Frm_StartForm (Brw_ActRecDatFile[Gbl.FileBrowser.Type]);
Brw_PutImplicitParamsFileBrowser (&Gbl);
Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
}
/***** Begin box and table *****/
@ -10052,7 +10052,7 @@ static void Brw_WriteBigLinkToDownloadFile (const char *URL,
Str_Copy (Gbl.FileBrowser.FilFolLnk.Name,FileMetadata->FilFolLnk.Name,
NAME_MAX);
Gbl.FileBrowser.FilFolLnk.Type = FileMetadata->FilFolLnk.Type;
Brw_PutImplicitParamsFileBrowser (&Gbl);
Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
/* Link begin */
HTM_BUTTON_SUBMIT_Begin (Txt_Check_marks_in_the_file,"BT_LINK FILENAME_TXT",NULL);
@ -10103,7 +10103,7 @@ static void Brw_WriteSmallLinkToDownloadFile (const char *URL,
Str_Copy (Gbl.FileBrowser.FilFolLnk.Name,FileMetadata->FilFolLnk.Name,
NAME_MAX);
Gbl.FileBrowser.FilFolLnk.Type = FileMetadata->FilFolLnk.Type;
Brw_PutImplicitParamsFileBrowser (&Gbl);
Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
/* Link begin */
HTM_BUTTON_SUBMIT_Begin (Txt_Check_marks_in_the_file,"BT_LINK DAT",NULL);
@ -12099,7 +12099,7 @@ static void Brw_WriteRowDocData (unsigned long *NumDocsNotHidden,MYSQL_ROW row)
/* Parameters to go to file / folder */
if (FileMetadata.FilFolLnk.Type == Brw_IS_FOLDER)
Brw_PutImplicitParamsFileBrowser (&Gbl);
Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
else
Brw_PutParamsFileBrowser (NULL, // Not used
NULL, // Not used

View File

@ -252,7 +252,7 @@ void Brw_SetFullPathInTree (void);
void Brw_CreateTmpPublicLinkToPrivateFile (const char *FullPathIncludingFile,
const char *FileName);
void Brw_PutImplicitParamsFileBrowser (void *Args);
void Brw_PutImplicitParamsFileBrowser (void *FilFolLnk);
void Brw_RemoveZonesOfGroupsOfType (long GrpTypCod);
void Brw_RemoveGrpZones (long CrsCod,long GrpCod);

View File

@ -331,7 +331,6 @@ static void For_GetPstData (long PstCod,long *UsrCod,time_t *CreatTimeUTC,
static void For_WriteNumberOfPosts (long UsrCod);
static void For_PutParamForumSet (For_ForumSet_t ForumSet);
static void For_PutParamForumOrder (For_Order_t Order);
static void For_PutParamForumLocation (long Location);
static void For_PutHiddenParamThrCod (long ThrCod);
static void For_PutHiddenParamPstCod (long PstCod);
@ -1040,6 +1039,7 @@ static void For_ShowPostsOfAThread (Ale_AlertType_t AlertType,const char *Messag
/***** Write links to pages *****/
Pag_WriteLinksToPagesCentered (Pag_POSTS_FORUM,
&PaginationPsts,
(unsigned) Gbl.Forum.ThreadsOrder,
Gbl.Forum.ForumSelected.ThrCod);
/***** Begin table *****/
@ -1100,6 +1100,7 @@ static void For_ShowPostsOfAThread (Ale_AlertType_t AlertType,const char *Messag
/***** Write again links to pages *****/
Pag_WriteLinksToPagesCentered (Pag_POSTS_FORUM,
&PaginationPsts,
(unsigned) Gbl.Forum.ThreadsOrder,
Gbl.Forum.ForumSelected.ThrCod);
}
@ -1459,7 +1460,7 @@ static void For_WriteNumberOfPosts (long UsrCod)
void For_PutAllHiddenParamsForum (unsigned NumPageThreads,
unsigned NumPagePosts,
For_ForumSet_t ForumSet,
For_Order_t Order,
Dat_StartEndTime_t Order,
long Location,
long ThrCod,
long PstCod)
@ -1467,7 +1468,7 @@ void For_PutAllHiddenParamsForum (unsigned NumPageThreads,
Pag_PutHiddenParamPagNum (Pag_THREADS_FORUM,NumPageThreads);
Pag_PutHiddenParamPagNum (Pag_POSTS_FORUM,NumPagePosts);
For_PutParamForumSet (ForumSet);
For_PutParamForumOrder (Order);
Dat_PutHiddenParamOrder (Order);
For_PutParamForumLocation (Location);
For_PutHiddenParamThrCod (ThrCod);
For_PutHiddenParamPstCod (PstCod);
@ -1482,15 +1483,6 @@ static void For_PutParamForumSet (For_ForumSet_t ForumSet)
Par_PutHiddenParamUnsigned (NULL,"ForumSet",(unsigned) ForumSet);
}
/*****************************************************************************/
/******** Put a hidden parameter with the order criterium for forums *********/
/*****************************************************************************/
static void For_PutParamForumOrder (For_Order_t Order)
{
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order);
}
/*****************************************************************************/
/************** Put hidden parameter with code of *****************/
/************** forum institution, centre, degree and course *****************/
@ -1744,7 +1736,7 @@ static void For_PutFormWhichForums (void)
- all my forums
- only the forums of current institution/degree/course *****/
Frm_StartForm (ActSeeFor);
For_PutParamForumOrder (Gbl.Forum.ThreadsOrder);
Dat_PutHiddenParamOrder (Gbl.Forum.ThreadsOrder);
HTM_DIV_Begin ("class=\"SEL_BELOW_TITLE\"");
HTM_UL_Begin (NULL);
@ -2381,8 +2373,8 @@ static void For_ShowForumThreadsHighlightingOneThread (long ThrCodHighlighted,
extern const char *Hlp_MESSAGES_Forums_threads;
extern const char *Txt_Forum;
extern const char *Txt_MSG_Subject;
extern const char *Txt_FORUM_THREAD_HELP_ORDER[2];
extern const char *Txt_FORUM_THREAD_ORDER[2];
extern const char *Txt_FORUM_THREAD_HELP_ORDER[Dat_NUM_START_END_TIME];
extern const char *Txt_FORUM_THREAD_ORDER[Dat_NUM_START_END_TIME];
extern const char *Txt_No_BR_msgs;
extern const char *Txt_Unread_BR_msgs;
extern const char *Txt_WriBRters;
@ -2395,7 +2387,7 @@ static void For_ShowForumThreadsHighlightingOneThread (long ThrCodHighlighted,
unsigned NumThr;
unsigned NumThrs;
unsigned NumThrInScreen; // From 0 to Pag_ITEMS_PER_PAGE-1
For_Order_t Order;
Dat_StartEndTime_t Order;
long ThrCods[Pag_ITEMS_PER_PAGE];
struct Pagination PaginationThrs;
@ -2411,7 +2403,7 @@ static void For_ShowForumThreadsHighlightingOneThread (long ThrCodHighlighted,
SubQuery[0] = '\0';
switch (Gbl.Forum.ThreadsOrder)
{
case For_FIRST_MSG:
case Dat_START_TIME: // First post time
NumThrs = (unsigned) DB_QuerySELECT (&mysql_res,"can not get thread of a forum",
"SELECT forum_thread.ThrCod"
" FROM forum_thread,forum_post"
@ -2420,7 +2412,7 @@ static void For_ShowForumThreadsHighlightingOneThread (long ThrCodHighlighted,
" ORDER BY forum_post.CreatTime DESC",
(unsigned) Gbl.Forum.ForumSelected.Type,SubQuery);
break;
case For_LAST_MSG:
case Dat_END_TIME: // Last post time
NumThrs = (unsigned) DB_QuerySELECT (&mysql_res,"can not get thread of a forum",
"SELECT forum_thread.ThrCod"
" FROM forum_thread,forum_post"
@ -2476,6 +2468,7 @@ static void For_ShowForumThreadsHighlightingOneThread (long ThrCodHighlighted,
/***** Write links to all the pages in the listing of threads *****/
Pag_WriteLinksToPagesCentered (Pag_THREADS_FORUM,
&PaginationThrs,
(unsigned) Gbl.Forum.ThreadsOrder,
0);
/***** Heading row *****/
@ -2486,8 +2479,8 @@ static void For_ShowForumThreadsHighlightingOneThread (long ThrCodHighlighted,
HTM_TH (1,1,"CONTEXT_COL",NULL); // Column for contextual icons
HTM_TH (1,1,"LM",Txt_MSG_Subject);
for (Order = For_FIRST_MSG;
Order <= For_LAST_MSG;
for (Order = Dat_START_TIME;
Order <= Dat_END_TIME;
Order++)
{
HTM_TH_Begin (1,2,"CM");
@ -2529,6 +2522,7 @@ static void For_ShowForumThreadsHighlightingOneThread (long ThrCodHighlighted,
/***** Write links to all the pages in the listing of threads *****/
Pag_WriteLinksToPagesCentered (Pag_THREADS_FORUM,
&PaginationThrs,
(unsigned) Gbl.Forum.ThreadsOrder,
0);
}
@ -3264,7 +3258,7 @@ static void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE],
char *Id;
struct ForumThread Thr;
struct UsrData UsrDat;
For_Order_t Order;
Dat_StartEndTime_t Order;
time_t TimeUTC;
struct Pagination PaginationPsts;
const char *Style;
@ -3359,8 +3353,9 @@ static void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE],
PaginationPsts.Anchor = For_FORUM_POSTS_SECTION_ID;
Pag_WriteLinksToPages (Pag_POSTS_FORUM,
&PaginationPsts,
(unsigned) Gbl.Forum.ThreadsOrder,
Thr.ThrCod,
Thr.Enabled[For_FIRST_MSG],
Thr.Enabled[Dat_START_TIME],
Thr.Subject,
Thr.NumUnreadPosts ? The_ClassFormInBoxBold[Gbl.Prefs.Theme] :
The_ClassFormInBox[Gbl.Prefs.Theme],
@ -3368,11 +3363,11 @@ static void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE],
HTM_TD_End ();
/***** Write the authors and date-times of first and last posts *****/
for (Order = For_FIRST_MSG;
Order <= For_LAST_MSG;
for (Order = Dat_START_TIME;
Order <= Dat_END_TIME;
Order++)
{
if (Order == For_FIRST_MSG || Thr.NumPosts > 1) // Don't write twice the same author when thread has only one thread
if (Order == Dat_START_TIME || Thr.NumPosts > 1) // Don't write twice the same author when thread has only one thread
{
/* Write the author of first or last message */
UsrDat.UsrCod = Thr.UsrCod[Order];
@ -3440,7 +3435,7 @@ static void For_GetThrData (struct ForumThread *Thr)
MYSQL_RES *mysql_res;
MYSQL_ROW row;
unsigned long NumRows;
For_Order_t Order;
Dat_StartEndTime_t Order;
/***** Get data of a thread from database *****/
NumRows = DB_QuerySELECT (&mysql_res,"can not get data"
@ -3461,30 +3456,30 @@ static void For_GetThrData (struct ForumThread *Thr)
row = mysql_fetch_row (mysql_res);
/***** Get the code of the first post in this thread (row[0]) *****/
Thr->PstCod[For_FIRST_MSG] = Str_ConvertStrCodToLongCod (row[0]);
Thr->PstCod[Dat_START_TIME] = Str_ConvertStrCodToLongCod (row[0]);
/***** Get the code of the last post in this thread (row[1]) *****/
Thr->PstCod[For_LAST_MSG ] = Str_ConvertStrCodToLongCod (row[1]);
Thr->PstCod[Dat_END_TIME ] = Str_ConvertStrCodToLongCod (row[1]);
/***** Get the code of the first message in this thread (row[0]) *****/
if (sscanf (row[0],"%ld",&(Thr->PstCod[For_FIRST_MSG])) != 1)
if (sscanf (row[0],"%ld",&(Thr->PstCod[Dat_START_TIME])) != 1)
Lay_ShowErrorAndExit ("Wrong code of post.");
/***** Get the code of the last message in this thread (row[1]) *****/
if (sscanf (row[1],"%ld",&(Thr->PstCod[For_LAST_MSG])) != 1)
if (sscanf (row[1],"%ld",&(Thr->PstCod[Dat_END_TIME])) != 1)
Lay_ShowErrorAndExit ("Wrong code of post.");
/***** Get the author of the first post in this thread (row[2]) *****/
Thr->UsrCod[For_FIRST_MSG] = Str_ConvertStrCodToLongCod (row[2]);
Thr->UsrCod[Dat_START_TIME] = Str_ConvertStrCodToLongCod (row[2]);
/***** Get the author of the last post in this thread (row[3]) *****/
Thr->UsrCod[For_LAST_MSG ] = Str_ConvertStrCodToLongCod (row[3]);
Thr->UsrCod[Dat_END_TIME ] = Str_ConvertStrCodToLongCod (row[3]);
/***** Get the date of the first post in this thread (row[4]) *****/
Thr->WriteTime[For_FIRST_MSG] = Dat_GetUNIXTimeFromStr (row[4]);
Thr->WriteTime[Dat_START_TIME] = Dat_GetUNIXTimeFromStr (row[4]);
/***** Get the date of the last post in this thread (row[5]) *****/
Thr->WriteTime[For_LAST_MSG ] = Dat_GetUNIXTimeFromStr (row[5]);
Thr->WriteTime[Dat_END_TIME ] = Dat_GetUNIXTimeFromStr (row[5]);
/***** Get the subject of this thread (row[6]) *****/
Str_Copy (Thr->Subject,row[6],
@ -3498,8 +3493,8 @@ static void For_GetThrData (struct ForumThread *Thr)
DB_FreeMySQLResult (&mysql_res);
/***** Get if first or last message are enabled *****/
for (Order = For_FIRST_MSG;
Order <= For_LAST_MSG;
for (Order = Dat_START_TIME;
Order <= Dat_END_TIME;
Order++)
Thr->Enabled[Order] = For_GetIfPstIsEnabled (Thr->PstCod[Order]);
// Thr->Enabled[Order] = true;
@ -3581,10 +3576,10 @@ static void For_GetParamsForum (void)
(unsigned long) For_DEFAULT_FORUM_SET);
/***** Get order type *****/
Gbl.Forum.ThreadsOrder = (For_Order_t)
Gbl.Forum.ThreadsOrder = (Dat_StartEndTime_t)
Par_GetParToUnsignedLong ("Order",
0,
For_NUM_ORDERS - 1,
Dat_NUM_START_END_TIME - 1,
(unsigned long) For_DEFAULT_ORDER);
/***** Get optional page numbers for threads and posts *****/

View File

@ -88,13 +88,7 @@ struct ForumThread
unsigned NumReaders;
};
#define For_NUM_ORDERS 2
typedef enum
{
For_FIRST_MSG = 0,
For_LAST_MSG = 1,
} For_Order_t;
#define For_DEFAULT_ORDER For_LAST_MSG
#define For_DEFAULT_ORDER Dat_END_TIME
#define For_MAX_BYTES_FORUM_NAME (512 - 1)
@ -117,7 +111,7 @@ void For_GetSummaryAndContentForumPst (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1
void For_PutAllHiddenParamsForum (unsigned NumPageThreads,
unsigned NumPagePosts,
For_ForumSet_t ForumSet,
For_Order_t Order,
Dat_StartEndTime_t Order,
long Location,
long ThrCod,
long PstCod);

View File

@ -221,6 +221,7 @@ static void Gam_ListAllGames (void)
/***** Write links to pages *****/
Pag_WriteLinksToPagesCentered (Pag_GAMES,
&Pagination,
(unsigned) Gbl.Games.SelectedOrder,
0);
if (Gbl.Games.Num)
@ -280,6 +281,7 @@ static void Gam_ListAllGames (void)
/***** Write again links to pages *****/
Pag_WriteLinksToPagesCentered (Pag_GAMES,
&Pagination,
(unsigned) Gbl.Games.SelectedOrder,
0);
/***** Button to create a new game *****/

View File

@ -296,11 +296,6 @@ void Gbl_InitializeGlobals (void)
Gbl.Search.Str[0] = '\0';
Gbl.Search.LogSearch = false;
Gbl.Asgs.LstIsRead = false; // List is not read
Gbl.Asgs.Num = 0;
Gbl.Asgs.LstAsgCods = NULL;
Gbl.Asgs.SelectedOrder = Asg_ORDER_DEFAULT;
/* Projects */
Gbl.Prjs.Config.Editable = Prj_EDITABLE_DEFAULT;
Gbl.Prjs.Filter.Who = Prj_FILTER_WHO_DEFAULT;

View File

@ -527,7 +527,6 @@ struct Globals
char TmpDir[NAME_MAX + 1];
} ZIP;
} FileBrowser; // Struct used for a file browser
struct Asg_Assignments Asgs;
struct
{
struct
@ -562,7 +561,7 @@ struct Globals
struct
{
For_ForumSet_t ForumSet;
For_Order_t ThreadsOrder;
Dat_StartEndTime_t ThreadsOrder;
unsigned CurrentPageThrs;
unsigned CurrentPagePsts;
struct Forum ForumSelected; // Forum type, location, thread and post
@ -649,7 +648,7 @@ struct Globals
bool LstIsRead; // Is the list already read from database, or it needs to be read?
unsigned Num; // Number of surveys
long *LstSvyCods; // List of survey codes
Svy_Order_t SelectedOrder;
Dat_StartEndTime_t SelectedOrder;
unsigned CurrentPage;
} Svys;
struct

View File

@ -127,7 +127,7 @@ void Mrk_GetAndWriteNumRowsHeaderAndFooter (void)
Gbl.RowEvenOdd);
Frm_StartForm (Gbl.Crs.Grps.GrpCod > 0 ? ActChgNumRowHeaGrp : // Group zone
ActChgNumRowHeaCrs); // Course zone
Brw_PutImplicitParamsFileBrowser (&Gbl);
Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
HTM_LABEL_Begin (NULL);
HTM_TxtF ("&nbsp;%s: ",Txt_TABLE_Header);
snprintf (StrHeadOrFoot,sizeof (StrHeadOrFoot),
@ -146,7 +146,7 @@ void Mrk_GetAndWriteNumRowsHeaderAndFooter (void)
Gbl.RowEvenOdd);
Frm_StartForm (Gbl.Crs.Grps.GrpCod > 0 ? ActChgNumRowFooGrp : // Group zone
ActChgNumRowFooCrs); // Course zone
Brw_PutImplicitParamsFileBrowser (&Gbl);
Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
HTM_LABEL_Begin (NULL);
HTM_TxtF ("&nbsp;%s: ",Txt_TABLE_Footer);
snprintf (StrHeadOrFoot,sizeof (StrHeadOrFoot),

View File

@ -1834,6 +1834,7 @@ static void Msg_ShowSentOrReceivedMessages (void)
/***** Write links to pages *****/
Pag_WriteLinksToPagesCentered (WhatPaginate[Gbl.Msg.TypeOfMessages],
&Pagination,
(unsigned) Dat_START_TIME, // Not used
0);
/***** Show received / sent messages in this page *****/
@ -1857,6 +1858,7 @@ static void Msg_ShowSentOrReceivedMessages (void)
/***** Write again links to pages *****/
Pag_WriteLinksToPagesCentered (WhatPaginate[Gbl.Msg.TypeOfMessages],
&Pagination,
(unsigned) Dat_START_TIME, // Not used
0);
}

View File

@ -130,12 +130,13 @@ void Pag_CalculatePagination (struct Pagination *Pagination)
void Pag_WriteLinksToPagesCentered (Pag_WhatPaginate_t WhatPaginate,
struct Pagination *Pagination,
unsigned SelectedOrder,
long ThrCod)
{
if (Pagination->MoreThanOnePage)
{
HTM_DIV_Begin ("class=\"CM\"");
Pag_WriteLinksToPages (WhatPaginate,Pagination,ThrCod,
Pag_WriteLinksToPages (WhatPaginate,Pagination,SelectedOrder,ThrCod,
true,NULL,"PAG_TXT",false);
HTM_DIV_End ();
}
@ -147,6 +148,7 @@ void Pag_WriteLinksToPagesCentered (Pag_WhatPaginate_t WhatPaginate,
void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
struct Pagination *Pagination,
unsigned SelectedOrder,
long ThrCod,
bool FirstMsgEnabled,
const char *Subject,const char *ClassTxt,
@ -170,35 +172,35 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
case Pag_ASSIGNMENTS:
Frm_StartFormAnchor (ActSeeAsg,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,1);
Asg_PutHiddenParamAsgOrder ();
Dat_PutHiddenParamOrder ((Dat_StartEndTime_t) SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
break;
case Pag_PROJECTS:
Frm_StartFormAnchor (ActSeePrj,Pagination->Anchor);
Prj_PutParams (&Gbl.Prjs.Filter,
Gbl.Prjs.SelectedOrder,
(Prj_Order_t) SelectedOrder,
1,
-1L);
break;
case Pag_GAMES:
Frm_StartFormAnchor (ActSeeAllGam,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,1);
Asg_PutHiddenParamAsgOrder ();
Dat_PutHiddenParamOrder ((Dat_StartEndTime_t) SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
break;
case Pag_SURVEYS:
Frm_StartFormAnchor (ActSeeAllSvy,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,1);
Asg_PutHiddenParamAsgOrder ();
Dat_PutHiddenParamOrder ((Dat_StartEndTime_t) SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
break;
case Pag_ATT_EVENTS:
Frm_StartFormAnchor (ActSeeAtt,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,1);
Att_PutHiddenParamAttOrder ();
Dat_PutHiddenParamOrder ((Dat_StartEndTime_t) SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
break;
@ -208,7 +210,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
For_PutAllHiddenParamsForum (1, // Page of threads = first
1, // Page of posts = first
Gbl.Forum.ForumSet,
Gbl.Forum.ThreadsOrder,
(Dat_StartEndTime_t) SelectedOrder,
Gbl.Forum.ForumSelected.Location,
-1L,
-1L);
@ -219,7 +221,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
For_PutAllHiddenParamsForum (Gbl.Forum.CurrentPageThrs, // Page of threads = current
1, // Page of posts = first
Gbl.Forum.ForumSet,
Gbl.Forum.ThreadsOrder,
(Dat_StartEndTime_t) SelectedOrder,
Gbl.Forum.ForumSelected.Location,
ThrCod,
-1L);
@ -239,13 +241,13 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
Agd_PutParamsMyAgenda (Gbl.Agenda.Past__FutureEvents,
Gbl.Agenda.PrivatPublicEvents,
Gbl.Agenda.HiddenVisiblEvents,
Gbl.Agenda.SelectedOrder,
(Dat_StartEndTime_t) SelectedOrder,
1,
-1L);
break;
case Pag_ANOTHER_AGENDA:
Frm_StartFormAnchor (ActSeeUsrAgd,Pagination->Anchor);
Agd_PutHiddenParamEventsOrder ();
Agd_PutHiddenParamEventsOrder ((Dat_StartEndTime_t) SelectedOrder);
Pag_PutHiddenParamPagNum (WhatPaginate,1);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod);
break;
@ -288,35 +290,35 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
case Pag_ASSIGNMENTS:
Frm_StartFormAnchor (ActSeeAsg,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,1);
Asg_PutHiddenParamAsgOrder ();
Dat_PutHiddenParamOrder ((Dat_StartEndTime_t) SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
break;
case Pag_PROJECTS:
Frm_StartFormAnchor (ActSeePrj,Pagination->Anchor);
Prj_PutParams (&Gbl.Prjs.Filter,
Gbl.Prjs.SelectedOrder,
(Prj_Order_t) SelectedOrder,
1,
-1L);
break;
case Pag_GAMES:
Frm_StartFormAnchor (ActSeeAllGam,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,1);
Asg_PutHiddenParamAsgOrder ();
Dat_PutHiddenParamOrder ((Dat_StartEndTime_t) SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
break;
case Pag_SURVEYS:
Frm_StartFormAnchor (ActSeeAllSvy,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,1);
Asg_PutHiddenParamAsgOrder ();
Dat_PutHiddenParamOrder ((Dat_StartEndTime_t) SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
break;
case Pag_ATT_EVENTS:
Frm_StartFormAnchor (ActSeeAtt,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,1);
Att_PutHiddenParamAttOrder ();
Dat_PutHiddenParamOrder ((Dat_StartEndTime_t) SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
break;
@ -326,7 +328,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
For_PutAllHiddenParamsForum (1, // Page of threads = first
1, // Page of posts = first
Gbl.Forum.ForumSet,
Gbl.Forum.ThreadsOrder,
(Dat_StartEndTime_t) SelectedOrder,
Gbl.Forum.ForumSelected.Location,
-1L,
-1L);
@ -337,7 +339,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
For_PutAllHiddenParamsForum (Gbl.Forum.CurrentPageThrs, // Page of threads = current
1, // Page of posts = first
Gbl.Forum.ForumSet,
Gbl.Forum.ThreadsOrder,
(Dat_StartEndTime_t) SelectedOrder,
Gbl.Forum.ForumSelected.Location,
ThrCod,
-1L);
@ -357,13 +359,13 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
Agd_PutParamsMyAgenda (Gbl.Agenda.Past__FutureEvents,
Gbl.Agenda.PrivatPublicEvents,
Gbl.Agenda.HiddenVisiblEvents,
Gbl.Agenda.SelectedOrder,
(Dat_StartEndTime_t) SelectedOrder,
1,
-1L);
break;
case Pag_ANOTHER_AGENDA:
Frm_StartFormAnchor (ActSeeUsrAgd,Pagination->Anchor);
Agd_PutHiddenParamEventsOrder ();
Agd_PutHiddenParamEventsOrder ((Dat_StartEndTime_t) SelectedOrder);
Pag_PutHiddenParamPagNum (WhatPaginate,1);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod);
break;
@ -392,35 +394,35 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
case Pag_ASSIGNMENTS:
Frm_StartFormAnchor (ActSeeAsg,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage);
Asg_PutHiddenParamAsgOrder ();
Dat_PutHiddenParamOrder ((Dat_StartEndTime_t) SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
break;
case Pag_PROJECTS:
Frm_StartFormAnchor (ActSeePrj,Pagination->Anchor);
Prj_PutParams (&Gbl.Prjs.Filter,
Gbl.Prjs.SelectedOrder,
(Prj_Order_t) SelectedOrder,
Pagination->LeftPage,
-1L);
break;
case Pag_GAMES:
Frm_StartFormAnchor (ActSeeAllGam,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage);
Asg_PutHiddenParamAsgOrder ();
Dat_PutHiddenParamOrder ((Dat_StartEndTime_t) SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
break;
case Pag_SURVEYS:
Frm_StartFormAnchor (ActSeeAllSvy,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage);
Asg_PutHiddenParamAsgOrder ();
Dat_PutHiddenParamOrder ((Dat_StartEndTime_t) SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
break;
case Pag_ATT_EVENTS:
Frm_StartFormAnchor (ActSeeAtt,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage);
Att_PutHiddenParamAttOrder ();
Dat_PutHiddenParamOrder ((Dat_StartEndTime_t) SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
break;
@ -430,7 +432,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
For_PutAllHiddenParamsForum (Pagination->LeftPage, // Page of threads = left
1, // Page of posts = first
Gbl.Forum.ForumSet,
Gbl.Forum.ThreadsOrder,
(Dat_StartEndTime_t) SelectedOrder,
Gbl.Forum.ForumSelected.Location,
-1L,
-1L);
@ -441,7 +443,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
For_PutAllHiddenParamsForum (Gbl.Forum.CurrentPageThrs, // Page of threads = current
Pagination->LeftPage, // Page of posts = left
Gbl.Forum.ForumSet,
Gbl.Forum.ThreadsOrder,
(Dat_StartEndTime_t) SelectedOrder,
Gbl.Forum.ForumSelected.Location,
ThrCod,
-1L);
@ -461,13 +463,13 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
Agd_PutParamsMyAgenda (Gbl.Agenda.Past__FutureEvents,
Gbl.Agenda.PrivatPublicEvents,
Gbl.Agenda.HiddenVisiblEvents,
Gbl.Agenda.SelectedOrder,
(Dat_StartEndTime_t) SelectedOrder,
Pagination->LeftPage,
-1L);
break;
case Pag_ANOTHER_AGENDA:
Frm_StartFormAnchor (ActSeeUsrAgd,Pagination->Anchor);
Agd_PutHiddenParamEventsOrder ();
Agd_PutHiddenParamEventsOrder ((Dat_StartEndTime_t) SelectedOrder);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->LeftPage);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod);
break;
@ -508,35 +510,35 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
case Pag_ASSIGNMENTS:
Frm_StartFormAnchor (ActSeeAsg,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,NumPage);
Asg_PutHiddenParamAsgOrder ();
Dat_PutHiddenParamOrder ((Dat_StartEndTime_t) SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
break;
case Pag_PROJECTS:
Frm_StartFormAnchor (ActSeePrj,Pagination->Anchor);
Prj_PutParams (&Gbl.Prjs.Filter,
Gbl.Prjs.SelectedOrder,
(Prj_Order_t) SelectedOrder,
NumPage,
-1L);
break;
case Pag_GAMES:
Frm_StartFormAnchor (ActSeeAllGam,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,NumPage);
Asg_PutHiddenParamAsgOrder ();
Dat_PutHiddenParamOrder ((Dat_StartEndTime_t) SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
break;
case Pag_SURVEYS:
Frm_StartFormAnchor (ActSeeAllSvy,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,NumPage);
Asg_PutHiddenParamAsgOrder ();
Dat_PutHiddenParamOrder ((Dat_StartEndTime_t) SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
break;
case Pag_ATT_EVENTS:
Frm_StartFormAnchor (ActSeeAtt,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,NumPage);
Att_PutHiddenParamAttOrder ();
Dat_PutHiddenParamOrder ((Dat_StartEndTime_t) SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
break;
@ -546,7 +548,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
For_PutAllHiddenParamsForum (NumPage, // Page of threads = number of page
1, // Page of posts = first
Gbl.Forum.ForumSet,
Gbl.Forum.ThreadsOrder,
(Dat_StartEndTime_t) SelectedOrder,
Gbl.Forum.ForumSelected.Location,
-1L,
-1L);
@ -557,7 +559,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
For_PutAllHiddenParamsForum (Gbl.Forum.CurrentPageThrs, // Page of threads = current
NumPage, // Page of posts = number of page
Gbl.Forum.ForumSet,
Gbl.Forum.ThreadsOrder,
(Dat_StartEndTime_t) SelectedOrder,
Gbl.Forum.ForumSelected.Location,
ThrCod,
-1L);
@ -577,13 +579,13 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
Agd_PutParamsMyAgenda (Gbl.Agenda.Past__FutureEvents,
Gbl.Agenda.PrivatPublicEvents,
Gbl.Agenda.HiddenVisiblEvents,
Gbl.Agenda.SelectedOrder,
(Dat_StartEndTime_t) SelectedOrder,
NumPage,
-1L);
break;
case Pag_ANOTHER_AGENDA:
Frm_StartFormAnchor (ActSeeUsrAgd,Pagination->Anchor);
Agd_PutHiddenParamEventsOrder ();
Agd_PutHiddenParamEventsOrder ((Dat_StartEndTime_t) SelectedOrder);
Pag_PutHiddenParamPagNum (WhatPaginate,NumPage);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod);
break;
@ -611,35 +613,35 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
case Pag_ASSIGNMENTS:
Frm_StartFormAnchor (ActSeeAsg,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage);
Asg_PutHiddenParamAsgOrder ();
Dat_PutHiddenParamOrder ((Dat_StartEndTime_t) SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
break;
case Pag_PROJECTS:
Frm_StartFormAnchor (ActSeePrj,Pagination->Anchor);
Prj_PutParams (&Gbl.Prjs.Filter,
Gbl.Prjs.SelectedOrder,
(Prj_Order_t) SelectedOrder,
Pagination->RightPage,
-1L);
break;
case Pag_GAMES:
Frm_StartFormAnchor (ActSeeAllGam,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage);
Asg_PutHiddenParamAsgOrder ();
Dat_PutHiddenParamOrder ((Dat_StartEndTime_t) SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
break;
case Pag_SURVEYS:
Frm_StartFormAnchor (ActSeeAllSvy,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage);
Asg_PutHiddenParamAsgOrder ();
Dat_PutHiddenParamOrder ((Dat_StartEndTime_t) SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
break;
case Pag_ATT_EVENTS:
Frm_StartFormAnchor (ActSeeAtt,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage);
Att_PutHiddenParamAttOrder ();
Dat_PutHiddenParamOrder ((Dat_StartEndTime_t) SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
break;
@ -649,7 +651,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
For_PutAllHiddenParamsForum (Pagination->RightPage, // Page of threads = right
1, // Page of posts = first
Gbl.Forum.ForumSet,
Gbl.Forum.ThreadsOrder,
(Dat_StartEndTime_t) SelectedOrder,
Gbl.Forum.ForumSelected.Location,
-1L,
-1L);
@ -660,7 +662,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
For_PutAllHiddenParamsForum (Gbl.Forum.CurrentPageThrs, // Page of threads = current
Pagination->RightPage, // Page of posts = right
Gbl.Forum.ForumSet,
Gbl.Forum.ThreadsOrder,
(Dat_StartEndTime_t) SelectedOrder,
Gbl.Forum.ForumSelected.Location,
ThrCod,
-1L);
@ -680,13 +682,13 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
Agd_PutParamsMyAgenda (Gbl.Agenda.Past__FutureEvents,
Gbl.Agenda.PrivatPublicEvents,
Gbl.Agenda.HiddenVisiblEvents,
Gbl.Agenda.SelectedOrder,
(Dat_StartEndTime_t) SelectedOrder,
Pagination->RightPage,
-1L);
break;
case Pag_ANOTHER_AGENDA:
Frm_StartFormAnchor (ActSeeUsrAgd,Pagination->Anchor);
Agd_PutHiddenParamEventsOrder ();
Agd_PutHiddenParamEventsOrder ((Dat_StartEndTime_t) SelectedOrder);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->RightPage);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod);
break;
@ -715,35 +717,35 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
case Pag_ASSIGNMENTS:
Frm_StartFormAnchor (ActSeeAsg,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags);
Asg_PutHiddenParamAsgOrder ();
Dat_PutHiddenParamOrder ((Dat_StartEndTime_t) SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
break;
case Pag_PROJECTS:
Frm_StartFormAnchor (ActSeePrj,Pagination->Anchor);
Prj_PutParams (&Gbl.Prjs.Filter,
Gbl.Prjs.SelectedOrder,
(Prj_Order_t) Gbl.Prjs.SelectedOrder,
Pagination->NumPags,
-1L);
break;
case Pag_GAMES:
Frm_StartFormAnchor (ActSeeAllGam,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags);
Asg_PutHiddenParamAsgOrder ();
Dat_PutHiddenParamOrder ((Dat_StartEndTime_t) SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
break;
case Pag_SURVEYS:
Frm_StartFormAnchor (ActSeeAllSvy,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags);
Asg_PutHiddenParamAsgOrder ();
Dat_PutHiddenParamOrder ((Dat_StartEndTime_t) SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
break;
case Pag_ATT_EVENTS:
Frm_StartFormAnchor (ActSeeAtt,Pagination->Anchor);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags);
Att_PutHiddenParamAttOrder ();
Dat_PutHiddenParamOrder ((Dat_StartEndTime_t) SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
break;
@ -753,7 +755,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
For_PutAllHiddenParamsForum (Pagination->NumPags, // Page of threads = last
1, // Page of posts = first
Gbl.Forum.ForumSet,
Gbl.Forum.ThreadsOrder,
(Dat_StartEndTime_t) SelectedOrder,
Gbl.Forum.ForumSelected.Location,
-1L,
-1L);
@ -764,7 +766,7 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
For_PutAllHiddenParamsForum (Gbl.Forum.CurrentPageThrs, // Page of threads = current
Pagination->NumPags, // Page of posts = last
Gbl.Forum.ForumSet,
Gbl.Forum.ThreadsOrder,
(Dat_StartEndTime_t) SelectedOrder,
Gbl.Forum.ForumSelected.Location,
ThrCod,
-1L);
@ -784,13 +786,13 @@ void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
Agd_PutParamsMyAgenda (Gbl.Agenda.Past__FutureEvents,
Gbl.Agenda.PrivatPublicEvents,
Gbl.Agenda.HiddenVisiblEvents,
Gbl.Agenda.SelectedOrder,
(Dat_StartEndTime_t) SelectedOrder,
Pagination->NumPags,
-1L);
break;
case Pag_ANOTHER_AGENDA:
Frm_StartFormAnchor (ActSeeUsrAgd,Pagination->Anchor);
Agd_PutHiddenParamEventsOrder ();
Agd_PutHiddenParamEventsOrder ((Dat_StartEndTime_t) SelectedOrder);
Pag_PutHiddenParamPagNum (WhatPaginate,Pagination->NumPags);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod);
break;

View File

@ -75,9 +75,11 @@ struct Pagination // Used for threads and messages pagination
void Pag_CalculatePagination (struct Pagination *Pagination);
void Pag_WriteLinksToPagesCentered (Pag_WhatPaginate_t WhatPaginate,
struct Pagination *Pagination,
unsigned SelectedOrder,
long ThrCod);
void Pag_WriteLinksToPages (Pag_WhatPaginate_t WhatPaginate,
struct Pagination *Pagination,
unsigned SelectedOrder,
long ThrCod,
bool FirstMsgEnabled,
const char *Subject,const char *ClassTxt,

View File

@ -429,6 +429,7 @@ static void Prj_ShowPrjsInCurrentPage (void)
/***** Write links to pages *****/
Pag_WriteLinksToPagesCentered (Pag_PROJECTS,
&Pagination,
(unsigned) Gbl.Prjs.SelectedOrder,
0);
/***** Allocate memory for the project *****/
@ -474,6 +475,7 @@ static void Prj_ShowPrjsInCurrentPage (void)
/***** Write again links to pages *****/
Pag_WriteLinksToPagesCentered (Pag_PROJECTS,
&Pagination,
(unsigned) Gbl.Prjs.SelectedOrder,
0);
}
else // No projects created

View File

@ -199,7 +199,7 @@ static void Svy_ListAllSurveys (void)
extern const char *Txt_Survey;
extern const char *Txt_Status;
extern const char *Txt_No_surveys;
Svy_Order_t Order;
Dat_StartEndTime_t Order;
Grp_WhichGroups_t WhichGroups;
struct Pagination Pagination;
unsigned NumSvy;
@ -234,6 +234,7 @@ static void Svy_ListAllSurveys (void)
/***** Write links to pages *****/
Pag_WriteLinksToPagesCentered (Pag_SURVEYS,
&Pagination,
(unsigned) Gbl.Svys.SelectedOrder,
0);
if (Gbl.Svys.Num)
@ -244,8 +245,8 @@ static void Svy_ListAllSurveys (void)
HTM_TH (1,1,"CONTEXT_COL",NULL); // Column for contextual icons
for (Order = Svy_ORDER_BY_START_DATE;
Order <= Svy_ORDER_BY_END_DATE;
for (Order = Dat_START_TIME;
Order <= Dat_END_TIME;
Order++)
{
HTM_TH_Begin (1,1,"LM");
@ -255,7 +256,7 @@ static void Svy_ListAllSurveys (void)
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
Pag_PutHiddenParamPagNum (Pag_SURVEYS,Gbl.Svys.CurrentPage);
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order);
Dat_PutHiddenParamOrder (Order);
HTM_BUTTON_SUBMIT_Begin (Txt_START_END_TIME_HELP[Order],
"BT_LINK TIT_TBL",NULL);
if (Order == Gbl.Svys.SelectedOrder)
@ -289,6 +290,7 @@ static void Svy_ListAllSurveys (void)
/***** Write again links to pages *****/
Pag_WriteLinksToPagesCentered (Pag_SURVEYS,
&Pagination,
(unsigned) Gbl.Svys.SelectedOrder,
0);
/***** Button to create a new survey *****/
@ -831,10 +833,10 @@ static void Svy_WriteStatus (struct Survey *Svy)
static void Svy_GetParamSvyOrder (void)
{
Gbl.Svys.SelectedOrder = (Svy_Order_t)
Gbl.Svys.SelectedOrder = (Dat_StartEndTime_t)
Par_GetParToUnsignedLong ("Order",
0,
Svy_NUM_ORDERS - 1,
Dat_NUM_START_END_TIME - 1,
(unsigned long) Svy_ORDER_DEFAULT);
}
@ -844,7 +846,7 @@ static void Svy_GetParamSvyOrder (void)
void Svy_PutHiddenParamSvyOrder (void)
{
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Gbl.Svys.SelectedOrder);
Dat_PutHiddenParamOrder (Gbl.Svys.SelectedOrder);
}
/*****************************************************************************/
@ -893,7 +895,7 @@ static void Svy_PutParams (void *Args)
{
if (Svy_CurrentSvyCod > 0)
Svy_PutParamSvyCod (Svy_CurrentSvyCod);
Att_PutHiddenParamAttOrder ();
Dat_PutHiddenParamOrder (Gbl.Svys.SelectedOrder);
WhichGroups = Grp_GetParamWhichGroups ();
Grp_PutParamWhichGroups (&WhichGroups);
Pag_PutHiddenParamPagNum (Pag_SURVEYS,Gbl.Svys.CurrentPage);
@ -907,10 +909,10 @@ static void Svy_PutParams (void *Args)
static void Svy_GetListSurveys (void)
{
char *SubQuery[Hie_NUM_LEVELS];
static const char *OrderBySubQuery[Svy_NUM_ORDERS] =
static const char *OrderBySubQuery[Dat_NUM_START_END_TIME] =
{
[Svy_ORDER_BY_START_DATE] = "StartTime DESC,EndTime DESC,Title DESC",
[Svy_ORDER_BY_END_DATE ] = "EndTime DESC,StartTime DESC,Title DESC",
[Dat_START_TIME] = "StartTime DESC,EndTime DESC,Title DESC",
[Dat_END_TIME ] = "EndTime DESC,StartTime DESC,Title DESC",
};
MYSQL_RES *mysql_res;
MYSQL_ROW row;

View File

@ -67,13 +67,7 @@ struct Survey
} Status;
};
#define Svy_NUM_ORDERS 2
typedef enum
{
Svy_ORDER_BY_START_DATE = 0,
Svy_ORDER_BY_END_DATE = 1,
} Svy_Order_t;
#define Svy_ORDER_DEFAULT Svy_ORDER_BY_START_DATE
#define Svy_ORDER_DEFAULT Dat_START_TIME
#define Svy_NUM_ANS_TYPES 2
typedef enum

View File

@ -13369,9 +13369,9 @@ const char *Txt_Forum_threads =
"Discuss&otilde;es de f&oacute;rum";
#endif
const char *Txt_FORUM_THREAD_HELP_ORDER[For_NUM_ORDERS] =
const char *Txt_FORUM_THREAD_HELP_ORDER[Dat_NUM_START_END_TIME] =
{
[For_FIRST_MSG] =
[Dat_START_TIME] =
#if L==1 // ca
"Ordenar por fecha del primer mensaje" // Necessita traduccio
#elif L==2 // de
@ -13392,7 +13392,7 @@ const char *Txt_FORUM_THREAD_HELP_ORDER[For_NUM_ORDERS] =
"Classificar por data da primeira mensagem"
#endif
,
[For_LAST_MSG] =
[Dat_END_TIME] =
#if L==1 // ca
"Ordenar por fecha del &uacute;ltimo mensaje" // Necessita traduccio
#elif L==2 // de
@ -13414,9 +13414,9 @@ const char *Txt_FORUM_THREAD_HELP_ORDER[For_NUM_ORDERS] =
#endif
};
const char *Txt_FORUM_THREAD_ORDER[For_NUM_ORDERS] =
const char *Txt_FORUM_THREAD_ORDER[Dat_NUM_START_END_TIME] =
{
[For_FIRST_MSG] =
[Dat_START_TIME] =
#if L==1 // ca
"Primer comentari"
#elif L==2 // de
@ -13437,7 +13437,7 @@ const char *Txt_FORUM_THREAD_ORDER[For_NUM_ORDERS] =
"Primeira post"
#endif
,
[For_LAST_MSG] =
[Dat_END_TIME] =
#if L==1 // ca
"&Uacute;ltim comentari"
#elif L==2 // de