Version 22.67.1: Mar 06, 2023 Code refactoring in dates.

This commit is contained in:
acanas 2023-03-06 09:14:38 +01:00
parent 10ea1d24c7
commit 66cb80668b
10 changed files with 58 additions and 50 deletions

View File

@ -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);

View File

@ -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);

View File

@ -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");

View File

@ -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)

View File

@ -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 ();

View File

@ -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]);

View File

@ -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 ();

View File

@ -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

View File

@ -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);

View File

@ -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);