From 66cb80668bacd98c2903f503e49ba4b34eb63138 Mon Sep 17 00:00:00 2001 From: acanas Date: Mon, 6 Mar 2023 09:14:38 +0100 Subject: [PATCH] Version 22.67.1: Mar 06, 2023 Code refactoring in dates. --- swad_agenda.c | 4 +-- swad_assignment.c | 4 +-- swad_attendance.c | 4 +-- swad_changelog.h | 5 ++-- swad_date.c | 63 +++++++++++++++++++++++++-------------------- swad_date.h | 4 +-- swad_exam_session.c | 4 +-- swad_group.c | 8 +++--- swad_program.c | 8 +++--- swad_survey.c | 4 +-- 10 files changed, 58 insertions(+), 50 deletions(-) diff --git a/swad_agenda.c b/swad_agenda.c index ceb85cd7..063f6889 100644 --- a/swad_agenda.c +++ b/swad_agenda.c @@ -1533,8 +1533,8 @@ void Agd_ReceiveFormEvent (void) ItsANewEvent = ((AgdEvent.AgdCod = Par_GetParCode (Par_AgdCod)) <= 0); /***** Get start/end date-times *****/ - AgdEvent.TimeUTC[Dat_STR_TIME] = Dat_GetTimeUTCFromForm ("StartTimeUTC"); - AgdEvent.TimeUTC[Dat_END_TIME] = Dat_GetTimeUTCFromForm ("EndTimeUTC" ); + AgdEvent.TimeUTC[Dat_STR_TIME] = Dat_GetTimeUTCFromForm (Dat_STR_TIME); + AgdEvent.TimeUTC[Dat_END_TIME] = Dat_GetTimeUTCFromForm (Dat_END_TIME); /***** Get event location *****/ Par_GetParToText ("Location",AgdEvent.Location,Agd_MAX_BYTES_LOCATION); diff --git a/swad_assignment.c b/swad_assignment.c index ebb2330c..3cb0f9db 100644 --- a/swad_assignment.c +++ b/swad_assignment.c @@ -1424,8 +1424,8 @@ void Asg_ReceiveFormAssignment (void) } /***** Get start/end date-times *****/ - Assignments.Asg.TimeUTC[Dat_STR_TIME] = Dat_GetTimeUTCFromForm ("StartTimeUTC"); - Assignments.Asg.TimeUTC[Dat_END_TIME] = Dat_GetTimeUTCFromForm ("EndTimeUTC" ); + Assignments.Asg.TimeUTC[Dat_STR_TIME] = Dat_GetTimeUTCFromForm (Dat_STR_TIME); + Assignments.Asg.TimeUTC[Dat_END_TIME] = Dat_GetTimeUTCFromForm (Dat_END_TIME); /***** Get assignment title *****/ Par_GetParToText ("Title",Assignments.Asg.Title,Asg_MAX_BYTES_ASSIGNMENT_TITLE); diff --git a/swad_attendance.c b/swad_attendance.c index 7f418451..488b1e04 100644 --- a/swad_attendance.c +++ b/swad_attendance.c @@ -1203,8 +1203,8 @@ void Att_ReceiveFormAttEvent (void) } /***** Get start/end date-times *****/ - ReceivedAtt.TimeUTC[Dat_STR_TIME] = Dat_GetTimeUTCFromForm ("StartTimeUTC"); - ReceivedAtt.TimeUTC[Dat_END_TIME] = Dat_GetTimeUTCFromForm ("EndTimeUTC" ); + ReceivedAtt.TimeUTC[Dat_STR_TIME] = Dat_GetTimeUTCFromForm (Dat_STR_TIME); + ReceivedAtt.TimeUTC[Dat_END_TIME] = Dat_GetTimeUTCFromForm (Dat_END_TIME); /***** Get boolean parameter that indicates if teacher's comments are visible by students *****/ ReceivedAtt.CommentTchVisible = Par_GetParToBool ("ComTchVisible"); diff --git a/swad_changelog.h b/swad_changelog.h index 6a2d5981..10c6b7b2 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -629,11 +629,12 @@ TODO: Emilce Barrera Mesa: Podr TODO: Emilce Barrera Mesa: Mis estudiantes presentan muchas dificultades a la hora de poner la foto porque la plataforma es muy exigente respecto al fondo de la imagen. */ -#define Log_PLATFORM_VERSION "SWAD 22.67 (2023-03-04)" +#define Log_PLATFORM_VERSION "SWAD 22.67.1 (2023-03-06)" #define CSS_FILE "swad22.57.1.css" #define JS_FILE "swad22.49.js" /* - Version 22.67: Mar 04, 2023 Code refactoring in parameters. Not finished. (337245 lines) + Version 22.67.1: Mar 06, 2023 Code refactoring in dates. (337124 lines) + Version 22.67: Mar 04, 2023 Code refactoring in parameters. Not finished. (337118 lines) Version 22.66.4: Mar 04, 2023 Fixed issues in exams. (337245 lines) Version 22.66.3: Mar 04, 2023 New action to edit a new rubric criterion. Not finished. (337198 lines) Version 22.66.2: Mar 03, 2023 Fixed bugs in figures. (337128 lines) diff --git a/swad_date.c b/swad_date.c index 43005bf9..9bf3ecdd 100644 --- a/swad_date.c +++ b/swad_date.c @@ -110,6 +110,18 @@ static struct .TimeSendInMicroseconds = 0L, }; +static const char *Dat_ParamName[Dat_NUM_START_END_TIME] = + { + [Dat_STR_TIME] = "Start", + [Dat_END_TIME] = "End", + }; + +static const char *Dat_ParamTimeUTCName[Dat_NUM_START_END_TIME] = + { + [Dat_STR_TIME] = "StartTimeUTC", + [Dat_END_TIME] = "EndTimeUTC", + }; + /*****************************************************************************/ /**************************** Private prototypes *****************************/ /*****************************************************************************/ @@ -615,7 +627,7 @@ void Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (const Dat_SetHMS /* Data (date-time) */ HTM_TD_Begin ("class=\"LM\""); Dat_WriteFormClientLocalDateTimeFromTimeUTC ("Start", - "Start", + Dat_STR_TIME, Dat_Time.Range.TimeUTC[Dat_STR_TIME], Cfg_LOG_START_YEAR, CurrentYear, @@ -642,7 +654,7 @@ void Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (const Dat_SetHMS /* Data (date-time) */ HTM_TD_Begin ("class=\"LM\""); Dat_WriteFormClientLocalDateTimeFromTimeUTC ("End", - "End", + Dat_END_TIME, Dat_Time.Range.TimeUTC[Dat_END_TIME], Cfg_LOG_START_YEAR, CurrentYear, @@ -683,7 +695,7 @@ void Dat_PutFormStartEndClientLocalDateTimes (const time_t TimeUTC[Dat_NUM_START /* Data */ HTM_TD_Begin ("class=\"LM\""); Dat_WriteFormClientLocalDateTimeFromTimeUTC (Id[StartEndTime], - Id[StartEndTime], + StartEndTime, TimeUTC[StartEndTime], Cfg_LOG_START_YEAR, Dat_GetCurrentYear () + 1, @@ -701,7 +713,7 @@ void Dat_PutFormStartEndClientLocalDateTimes (const time_t TimeUTC[Dat_NUM_START /*****************************************************************************/ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, - const char *ParamName, + Dat_StartEndTime_t StartEndTime, time_t TimeUTC, unsigned FirstYear, unsigned LastYear, @@ -728,7 +740,6 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, [Dat_HMS_TO_235959 ] = "setHMSTo235959('%s');", // Set HH:MM:SS form selectors to 23:59:59 }; char *IdTimeUTC; - char *ParamNameTimeUTC; /***** Begin table *****/ HTM_TABLE_Begin ("DATE_RANGE"); @@ -744,7 +755,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, "adjustDateForm('%s');" "setUTCFromLocalDateTimeForm('%s');" "this.form.submit();return false;\"", - Id,ParamName, + Id,Dat_ParamName[StartEndTime], The_GetSuffix (), Id,Id); else @@ -754,7 +765,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, " onchange=\"" "adjustDateForm('%s');" "setUTCFromLocalDateTimeForm('%s');\"", - Id,ParamName, + Id,Dat_ParamName[StartEndTime], The_GetSuffix (), Id,Id); for (Year = FirstYear; @@ -775,7 +786,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, "adjustDateForm('%s');" "setUTCFromLocalDateTimeForm('%s');" "this.form.submit();return false;\"", - Id,ParamName, + Id,Dat_ParamName[StartEndTime], The_GetSuffix (), Id,Id); else @@ -785,7 +796,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, " onchange=\"" "adjustDateForm('%s');" "setUTCFromLocalDateTimeForm('%s');\"", - Id,ParamName, + Id,Dat_ParamName[StartEndTime], The_GetSuffix (), Id,Id); for (Month = 1; @@ -804,7 +815,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, " class=\"INPUT_%s\"" " onchange=\"setUTCFromLocalDateTimeForm('%s');" "this.form.submit();return false;\"", - Id,ParamName, + Id,Dat_ParamName[StartEndTime], The_GetSuffix (), Id); else @@ -812,7 +823,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, "id=\"%sDay\" name=\"%sDay\"" " class=\"INPUT_%s\"" " onchange=\"setUTCFromLocalDateTimeForm('%s');\"", - Id,ParamName, + Id,Dat_ParamName[StartEndTime], The_GetSuffix (), Id); for (Day = 1; @@ -831,7 +842,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, " class=\"INPUT_%s\"" " onchange=\"setUTCFromLocalDateTimeForm('%s');" "this.form.submit();return false;\"", - Id,ParamName, + Id,Dat_ParamName[StartEndTime], The_GetSuffix (), Id); else @@ -839,7 +850,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, "id=\"%sHour\" name=\"%sHour\"" " class=\"INPUT_%s\"" " onchange=\"setUTCFromLocalDateTimeForm('%s');\"", - Id,ParamName, + Id,Dat_ParamName[StartEndTime], The_GetSuffix (), Id); for (Hour = 0; @@ -858,7 +869,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, " class=\"INPUT_%s\"" " onchange=\"setUTCFromLocalDateTimeForm('%s');" "this.form.submit();return false;\"", - Id,ParamName, + Id,Dat_ParamName[StartEndTime], The_GetSuffix (), Id); else @@ -866,7 +877,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, "id=\"%sMinute\" name=\"%sMinute\"" " class=\"INPUT_%s\"" " onchange=\"setUTCFromLocalDateTimeForm('%s');\"", - Id,ParamName, + Id,Dat_ParamName[StartEndTime], The_GetSuffix (), Id); for (Minute = 0; @@ -887,7 +898,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, " class=\"INPUT_%s\"" " onchange=\"setUTCFromLocalDateTimeForm('%s');" "this.form.submit();return false;\"", - Id,ParamName, + Id,Dat_ParamName[StartEndTime], The_GetSuffix (), Id); else @@ -895,7 +906,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, "id=\"%sSecond\" name=\"%sSecond\"" " class=\"INPUT_%s\"" " onchange=\"setUTCFromLocalDateTimeForm('%s');\"", - Id,ParamName, + Id,Dat_ParamName[StartEndTime], The_GetSuffix (), Id); for (Second = 0; @@ -914,10 +925,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, /***** Hidden field with UTC time (seconds since 1970) used to send time *****/ if (asprintf (&IdTimeUTC,"%sTimeUTC",Id) < 0) Err_NotEnoughMemoryExit (); - if (asprintf (&ParamNameTimeUTC,"%sTimeUTC",ParamName) < 0) - Err_NotEnoughMemoryExit (); - Par_PutHiddenParamLong (IdTimeUTC,ParamNameTimeUTC,(long) TimeUTC); - free (ParamNameTimeUTC); + Par_PutHiddenParamLong (IdTimeUTC,Dat_ParamTimeUTCName[StartEndTime],(long) TimeUTC); free (IdTimeUTC); /***** Script to set selectors to local date and time from UTC time *****/ @@ -937,10 +945,9 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, /***************** Get an hour-minute time from a form ***********************/ /*****************************************************************************/ -time_t Dat_GetTimeUTCFromForm (const char *ParamName) +time_t Dat_GetTimeUTCFromForm (Dat_StartEndTime_t StartEndTime) { - /**** Get time ****/ - return Par_GetParToLong (ParamName); + return Par_GetParToLong (Dat_ParamTimeUTCName[StartEndTime]); } /*****************************************************************************/ @@ -1194,8 +1201,8 @@ void Dat_SetIniEndDatesToRecentWeeks (void) void Dat_WriteParamsIniEndDates (void) { - Par_PutHiddenParamUnsigned (NULL,"StartTimeUTC",Dat_Time.Range.TimeUTC[Dat_STR_TIME]); - Par_PutHiddenParamUnsigned (NULL,"EndTimeUTC" ,Dat_Time.Range.TimeUTC[Dat_END_TIME]); + Par_PutHiddenParamUnsigned (NULL,Dat_ParamTimeUTCName[Dat_STR_TIME],Dat_Time.Range.TimeUTC[Dat_STR_TIME]); + Par_PutHiddenParamUnsigned (NULL,Dat_ParamTimeUTCName[Dat_END_TIME],Dat_Time.Range.TimeUTC[Dat_END_TIME]); } /*****************************************************************************/ @@ -1208,7 +1215,7 @@ void Dat_GetIniEndDatesFromForm (void) struct tm *tm_ptr; /***** Get initial date *****/ - Dat_Time.Range.TimeUTC[Dat_STR_TIME] = Dat_GetTimeUTCFromForm ("StartTimeUTC"); + Dat_Time.Range.TimeUTC[Dat_STR_TIME] = Dat_GetTimeUTCFromForm (Dat_STR_TIME); if (Dat_Time.Range.TimeUTC[Dat_STR_TIME]) /* Convert time UTC to a local date */ tm_ptr = Dat_GetLocalTimeFromClock (&Dat_Time.Range.TimeUTC[Dat_STR_TIME]); @@ -1237,7 +1244,7 @@ void Dat_GetIniEndDatesFromForm (void) Dat_Time.Range.DateTime[Dat_STR_TIME].Time.Second = tm_ptr->tm_sec; /***** Get end date *****/ - Dat_Time.Range.TimeUTC[Dat_END_TIME] = Dat_GetTimeUTCFromForm ("EndTimeUTC"); + Dat_Time.Range.TimeUTC[Dat_END_TIME] = Dat_GetTimeUTCFromForm (Dat_END_TIME); if (Dat_Time.Range.TimeUTC[Dat_END_TIME] == 0) // Dat_Time.Range.TimeUTC[Dat_END_TIME] == 0 ==> end date not specified Dat_Time.Range.TimeUTC[Dat_END_TIME] = Dat_GetStartExecutionTimeUTC (); diff --git a/swad_date.h b/swad_date.h index 4d5fb234..870c7cf3 100644 --- a/swad_date.h +++ b/swad_date.h @@ -170,14 +170,14 @@ void Dat_PutFormStartEndClientLocalDateTimes (const time_t TimeUTC[Dat_NUM_START const Dat_SetHMS SetHMS[Dat_NUM_START_END_TIME]); void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id, - const char *ParamName, + Dat_StartEndTime_t StartEndTime, time_t TimeUTC, unsigned FirstYear, unsigned LastYear, Dat_FormSeconds FormSeconds, Dat_SetHMS SetHMS, bool SubmitFormOnChange); -time_t Dat_GetTimeUTCFromForm (const char *ParamName); +time_t Dat_GetTimeUTCFromForm (Dat_StartEndTime_t StartEndTime); void Dat_PutHiddenParBrowserTZDiff (void); void Dat_GetBrowserTimeZone (char BrowserTimeZone[Dat_MAX_BYTES_TIME_ZONE + 1]); diff --git a/swad_exam_session.c b/swad_exam_session.c index ecf9abb3..ad3e6e8c 100644 --- a/swad_exam_session.c +++ b/swad_exam_session.c @@ -1221,8 +1221,8 @@ void ExaSes_ReceiveFormSession (void) Par_GetParToText ("Title",Session.Title,ExaSes_MAX_BYTES_TITLE); /* Get start/end date-times */ - Session.TimeUTC[Dat_STR_TIME] = Dat_GetTimeUTCFromForm ("StartTimeUTC"); - Session.TimeUTC[Dat_END_TIME] = Dat_GetTimeUTCFromForm ("EndTimeUTC" ); + Session.TimeUTC[Dat_STR_TIME] = Dat_GetTimeUTCFromForm (Dat_STR_TIME); + Session.TimeUTC[Dat_END_TIME] = Dat_GetTimeUTCFromForm (Dat_END_TIME); /* Get groups associated to the session */ Grp_GetParCodsSeveralGrps (); diff --git a/swad_group.c b/swad_group.c index 0157af7b..e38898c9 100644 --- a/swad_group.c +++ b/swad_group.c @@ -1319,7 +1319,7 @@ static void Grp_ListGroupTypesForEdition (void) HTM_TD_Begin ("class=\"LM\""); snprintf (Id,sizeof (Id),"open_time_%u",UniqueId); Dat_WriteFormClientLocalDateTimeFromTimeUTC (Id, - "Open", + Dat_STR_TIME, Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].OpenTimeUTC, CurrentYear, CurrentYear + 1, @@ -2483,7 +2483,7 @@ static void Grp_PutFormToCreateGroupType (void) HTM_TD_Begin ("class=\"LM\""); Dat_WriteFormClientLocalDateTimeFromTimeUTC ("open_time", - "Open", + Dat_STR_TIME, Gbl.Crs.Grps.GrpTyp.OpenTimeUTC, CurrentYear, CurrentYear + 1, @@ -3233,7 +3233,7 @@ void Grp_ReceiveFormNewGrpTyp (void) Gbl.Crs.Grps.GrpTyp.MultipleEnrolment = Par_GetParToBool ("MultipleEnrolment"); /* Get open time */ - Gbl.Crs.Grps.GrpTyp.OpenTimeUTC = Dat_GetTimeUTCFromForm ("OpenTimeUTC"); + Gbl.Crs.Grps.GrpTyp.OpenTimeUTC = Dat_GetTimeUTCFromForm (Dat_STR_TIME); Gbl.Crs.Grps.GrpTyp.MustBeOpened = Grp_CheckIfOpenTimeInTheFuture (Gbl.Crs.Grps.GrpTyp.OpenTimeUTC); if (Gbl.Crs.Grps.GrpTyp.GrpTypName[0]) // If there's a group type name @@ -3922,7 +3922,7 @@ void Grp_ChangeOpenTimeGrpTyp (void) Grp_GetDataOfGroupTypeByCod (&Gbl.Crs.Grps.GrpTyp); /***** Get open time *****/ - Gbl.Crs.Grps.GrpTyp.OpenTimeUTC = Dat_GetTimeUTCFromForm ("OpenTimeUTC"); + Gbl.Crs.Grps.GrpTyp.OpenTimeUTC = Dat_GetTimeUTCFromForm (Dat_STR_TIME); Gbl.Crs.Grps.GrpTyp.MustBeOpened = Grp_CheckIfOpenTimeInTheFuture (Gbl.Crs.Grps.GrpTyp.OpenTimeUTC); /***** Update the table of types of group diff --git a/swad_program.c b/swad_program.c index 2f96d82b..5b8b3c9b 100644 --- a/swad_program.c +++ b/swad_program.c @@ -2112,8 +2112,8 @@ void Prg_ReceiveFormChgItem (void) Err_WrongItemExit (); /***** Get start/end date-times *****/ - Item.TimeUTC[Dat_STR_TIME] = Dat_GetTimeUTCFromForm ("StartTimeUTC"); - Item.TimeUTC[Dat_END_TIME] = Dat_GetTimeUTCFromForm ("EndTimeUTC" ); + Item.TimeUTC[Dat_STR_TIME] = Dat_GetTimeUTCFromForm (Dat_STR_TIME); + Item.TimeUTC[Dat_END_TIME] = Dat_GetTimeUTCFromForm (Dat_END_TIME); /***** Get program item title *****/ Par_GetParToText ("Title",Item.Title,Prg_MAX_BYTES_PROGRAM_ITEM_TITLE); @@ -2159,8 +2159,8 @@ void Prg_ReceiveFormNewItem (void) NewItem.Hierarchy.Level = Item.Hierarchy.Level + 1; // Create as child /***** Get start/end date-times *****/ - NewItem.TimeUTC[Dat_STR_TIME] = Dat_GetTimeUTCFromForm ("StartTimeUTC"); - NewItem.TimeUTC[Dat_END_TIME] = Dat_GetTimeUTCFromForm ("EndTimeUTC" ); + NewItem.TimeUTC[Dat_STR_TIME] = Dat_GetTimeUTCFromForm (Dat_STR_TIME); + NewItem.TimeUTC[Dat_END_TIME] = Dat_GetTimeUTCFromForm (Dat_END_TIME); /***** Get program item title *****/ Par_GetParToText ("Title",NewItem.Title,Prg_MAX_BYTES_PROGRAM_ITEM_TITLE); diff --git a/swad_survey.c b/swad_survey.c index 4e247293..448f54f2 100644 --- a/swad_survey.c +++ b/swad_survey.c @@ -2071,8 +2071,8 @@ void Svy_ReceiveFormSurvey (void) } /***** Get start/end date-times *****/ - NewSvy.TimeUTC[Dat_STR_TIME] = Dat_GetTimeUTCFromForm ("StartTimeUTC"); - NewSvy.TimeUTC[Dat_END_TIME] = Dat_GetTimeUTCFromForm ("EndTimeUTC" ); + NewSvy.TimeUTC[Dat_STR_TIME] = Dat_GetTimeUTCFromForm (Dat_STR_TIME); + NewSvy.TimeUTC[Dat_END_TIME] = Dat_GetTimeUTCFromForm (Dat_END_TIME); /***** Get survey title *****/ Par_GetParToText ("Title",NewSvy.Title,Svy_MAX_BYTES_SURVEY_TITLE);