From c322e116f38fd93f28922c2dfad78f1b761b8173 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ca=C3=B1as=20Vargas?= Date: Sat, 2 Nov 2019 12:10:58 +0100 Subject: [PATCH] Version19.50.4 --- swad_agenda.c | 2 +- swad_assignment.c | 2 +- swad_attendance.c | 6 +++--- swad_changelog.h | 3 ++- swad_connected.c | 2 +- swad_date.c | 12 +++++++++--- swad_date.h | 9 ++++++++- swad_file_browser.c | 8 ++++---- swad_forum.c | 2 +- swad_game.c | 2 +- swad_group.c | 2 +- swad_match.c | 2 +- swad_match_result.c | 4 ++-- swad_message.c | 2 +- swad_notice.c | 2 +- swad_profile.c | 2 +- swad_project.c | 8 ++++---- swad_statistic.c | 2 +- swad_survey.c | 4 ++-- swad_test.c | 8 ++++---- swad_timeline.c | 2 +- 21 files changed, 50 insertions(+), 36 deletions(-) diff --git a/swad_agenda.c b/swad_agenda.c index f97dc76c..368c6f59 100644 --- a/swad_agenda.c +++ b/swad_agenda.c @@ -755,7 +755,7 @@ static void Agd_ShowOneEvent (Agd_AgendaType_t AgendaType,long AgdCod) Dat_TimeStatusClassVisible[AgdEvent.TimeStatus], Gbl.RowEvenOdd); Dat_WriteLocalDateHMSFromUTC (Id,AgdEvent.TimeUTC[StartEndTime], - Gbl.Prefs.DateFormat,"
", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,true,0x6); HTM_TD_End (); free ((void *) Id); diff --git a/swad_assignment.c b/swad_assignment.c index 2abc9282..78c0ba26 100644 --- a/swad_assignment.c +++ b/swad_assignment.c @@ -391,7 +391,7 @@ static void Asg_ShowOneAssignment (long AsgCod,bool PrintView) "DATE_RED"), Gbl.RowEvenOdd); Dat_WriteLocalDateHMSFromUTC (Id,Asg.TimeUTC[StartEndTime], - Gbl.Prefs.DateFormat,"
", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,true,0x7); HTM_TD_End (); free ((void *) Id); diff --git a/swad_attendance.c b/swad_attendance.c index b984e49b..a6119893 100644 --- a/swad_attendance.c +++ b/swad_attendance.c @@ -428,7 +428,7 @@ static void Att_ShowOneAttEvent (struct AttendanceEvent *Att,bool ShowOnlyThisAt "DATE_RED"), Gbl.RowEvenOdd); Dat_WriteLocalDateHMSFromUTC (Id,Att->TimeUTC[StartEndTime], - Gbl.Prefs.DateFormat,"
", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,true,0x7); HTM_TD_End (); free ((void *) Id); @@ -3143,7 +3143,7 @@ static void Att_ListEventsToSelect (Att_TypeOfView_t TypeOfView) "", NumAttEvent,Id); Dat_WriteLocalDateHMSFromUTC (Id,Gbl.AttEvents.Lst[NumAttEvent].TimeUTC[Att_START_TIME], - Gbl.Prefs.DateFormat,", ", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_COMMA, true,true,true,0x7); HTM_TD_End (); free ((void *) Id); @@ -3588,7 +3588,7 @@ static void Att_ListAttEventsForAStd (unsigned NumUsr,struct UsrData *UsrDat) Id, Gbl.AttEvents.Lst[NumAttEvent].Title); Dat_WriteLocalDateHMSFromUTC (Id,Gbl.AttEvents.Lst[NumAttEvent].TimeUTC[Att_START_TIME], - Gbl.Prefs.DateFormat,", ", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_COMMA, true,true,true,0x7); HTM_TD_End (); free ((void *) Id); diff --git a/swad_changelog.h b/swad_changelog.h index 16f11d97..812568c5 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -487,7 +487,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.50.3 (2019-11-01)" +#define Log_PLATFORM_VERSION "SWAD 19.50.4 (2019-11-02)" #define CSS_FILE "swad19.47.css" #define JS_FILE "swad19.39.js" /* @@ -495,6 +495,7 @@ ps2pdf source.ps destination.pdf // TODO: Impedir la creación y edición de proyectos si no son editables. // TODO: Importante: filtrar proyectos por usuarios (igual que en trabajos o en asistencia) + Version 19.50.4: Nov 02, 2019 Code refactoring related with writing of local date-time. (246072 lines) Version 19.50.3: Nov 02, 2019 Code refactoring related with writing of local date-time. (246059 lines) Version 19.50.2: Nov 01, 2019 Code refactoring related with writing of local date-time. (246079 lines) Version 19.50.1: Nov 01, 2019 Code refactoring related with writing of local date-time. (246088 lines) diff --git a/swad_connected.c b/swad_connected.c index ab65a731..961464a8 100644 --- a/swad_connected.c +++ b/swad_connected.c @@ -104,7 +104,7 @@ void Con_ShowConnectedUsrs (void) Box_BoxBegin (NULL,Gbl.Title,Con_PutIconToUpdateConnected, Hlp_USERS_Connected,Box_NOT_CLOSABLE); Dat_WriteLocalDateHMSFromUTC ("connected_current_time",Gbl.StartExecutionTimeUTC, - Gbl.Prefs.DateFormat,", ", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_COMMA, false,false,true,0x7); /***** Number of connected users in the whole platform *****/ diff --git a/swad_date.c b/swad_date.c index 26691ff2..a48c18e5 100644 --- a/swad_date.c +++ b/swad_date.c @@ -171,7 +171,7 @@ void Dat_PutScriptDateFormat (Dat_Format_t Format) if (asprintf (&Id,"date_format_%u",(unsigned) Format) < 0) Lay_NotEnoughMemoryExit (); Dat_WriteLocalDateHMSFromUTC (Id,Gbl.StartExecutionTimeUTC, - Format,"", + Format,Dat_SEPARATOR_NONE, false,true,false,0x0); free ((void *) Id); } @@ -1615,15 +1615,21 @@ void Dat_WriteHoursMinutesSeconds (struct Time *Time) /*****************************************************************************/ void Dat_WriteLocalDateHMSFromUTC (const char *Id,time_t TimeUTC, - Dat_Format_t DateFormat,const char *Separator, + Dat_Format_t DateFormat,Dat_Separator_t Separator, bool WriteToday,bool WriteDateOnSameDay, bool WriteWeekDay,unsigned WriteHMS) { extern const char *Txt_Today; + static const char *SeparatorStr[] = + { + "", // Dat_SEPARATOR_NONE + ", ", // Dat_SEPARATOR_COMMA + "
", // Dat_SEPARATOR_BREAK + }; HTM_SCRIPT_Begin (NULL,NULL); fprintf (Gbl.F.Out,"writeLocalDateHMSFromUTC('%s',%ld,%u,'%s','%s',%s,%s,0x%x);", - Id,(long) TimeUTC,(unsigned) DateFormat,Separator, + Id,(long) TimeUTC,(unsigned) DateFormat,SeparatorStr[Separator], WriteToday ? Txt_Today : "", WriteDateOnSameDay ? "true" : diff --git a/swad_date.h b/swad_date.h index 8465f772..57d56616 100644 --- a/swad_date.h +++ b/swad_date.h @@ -113,6 +113,13 @@ typedef enum } Dat_Format_t; // Do not change these numbers because they are used in database #define Dat_FORMAT_DEFAULT Dat_FORMAT_YYYY_MM_DD +typedef enum + { + Dat_SEPARATOR_NONE, // No separator + Dat_SEPARATOR_COMMA, // Comma + space + Dat_SEPARATOR_BREAK, // Line break + } Dat_Separator_t; + /*****************************************************************************/ /***************************** Public prototypes *****************************/ /*****************************************************************************/ @@ -194,7 +201,7 @@ void Dat_WriteHoursMinutesSecondsFromSeconds (time_t Seconds); void Dat_WriteHoursMinutesSeconds (struct Time *Time); void Dat_WriteLocalDateHMSFromUTC (const char *Id,time_t TimeUTC, - Dat_Format_t DateFormat,const char *Separator, + Dat_Format_t DateFormat,Dat_Separator_t Separator, bool WriteToday,bool WriteDateOnSameDay, bool WriteWeekDay,unsigned WriteHMS); diff --git a/swad_file_browser.c b/swad_file_browser.c index fed1697b..228835b4 100644 --- a/swad_file_browser.c +++ b/swad_file_browser.c @@ -6403,7 +6403,7 @@ static void Brw_WriteDatesAssignment (void) Lay_NotEnoughMemoryExit (); fprintf (Gbl.F.Out,"",Id); Dat_WriteLocalDateHMSFromUTC (Id,Gbl.FileBrowser.Asg.TimeUTC[Dat_START_TIME], - Gbl.Prefs.DateFormat,", ", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_COMMA, true,true,false,0x7); fprintf (Gbl.F.Out,""); free ((void *) Id); @@ -6416,7 +6416,7 @@ static void Brw_WriteDatesAssignment (void) Lay_NotEnoughMemoryExit (); fprintf (Gbl.F.Out,"",Id); Dat_WriteLocalDateHMSFromUTC (Id,Gbl.FileBrowser.Asg.TimeUTC[Dat_END_TIME], - Gbl.Prefs.DateFormat,", ", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_COMMA, true,false,false,0x7); fprintf (Gbl.F.Out,""); free ((void *) Id); @@ -6458,7 +6458,7 @@ static void Brw_WriteFileSizeAndDate (struct FileMetadata *FileMetadata) Lay_NotEnoughMemoryExit (); fprintf (Gbl.F.Out,"",Id); Dat_WriteLocalDateHMSFromUTC (Id,FileMetadata->Time, - Gbl.Prefs.DateFormat,", ", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_COMMA, true,true,false,0x6); free ((void *) Id); } @@ -9576,7 +9576,7 @@ void Brw_ShowFileMetadata (void) HTM_TD_Begin ("id=\"filedate\" class=\"DAT LM\""); Dat_WriteLocalDateHMSFromUTC ("filedate",FileMetadata.Time, - Gbl.Prefs.DateFormat,", ", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_COMMA, true,true,true,0x7); HTM_TD_End (); diff --git a/swad_forum.c b/swad_forum.c index 3d7495c1..f801dbc1 100644 --- a/swad_forum.c +++ b/swad_forum.c @@ -3461,7 +3461,7 @@ static void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE], Lay_NotEnoughMemoryExit (); HTM_TD_Begin ("id=\"%s\" class=\"%s LT %s\"",Id,Style,BgColor); Dat_WriteLocalDateHMSFromUTC (Id,TimeUTC, - Gbl.Prefs.DateFormat,"
", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,false,0x6); HTM_TD_End (); free ((void *) Id); diff --git a/swad_game.c b/swad_game.c index 6a1dff87..d9a0e387 100644 --- a/swad_game.c +++ b/swad_game.c @@ -432,7 +432,7 @@ void Gam_ShowOneGame (long GamCod, Gbl.RowEvenOdd); if (Game.TimeUTC[Dat_START_TIME]) Dat_WriteLocalDateHMSFromUTC (Id,Game.TimeUTC[StartEndTime], - Gbl.Prefs.DateFormat,"
", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,true,0x7); HTM_TD_End (); free ((void *) Id); diff --git a/swad_group.c b/swad_group.c index 57bdca24..7760eee9 100644 --- a/swad_group.c +++ b/swad_group.c @@ -2344,7 +2344,7 @@ static void Grp_WriteGrpHead (struct GroupType *GrpTyp) Txt_Opening_of_groups, Id); Dat_WriteLocalDateHMSFromUTC (Id,GrpTyp->OpenTimeUTC, - Gbl.Prefs.DateFormat,", ", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_COMMA, true,true,true,0x7); free ((void *) Id); } diff --git a/swad_match.c b/swad_match.c index a814d04b..d2b55ff2 100644 --- a/swad_match.c +++ b/swad_match.c @@ -557,7 +557,7 @@ static void Mch_ListOneOrMoreMatchesTimes (const struct Match *Match,unsigned Un "DATE_GREEN", Gbl.RowEvenOdd); Dat_WriteLocalDateHMSFromUTC (Id,Match->TimeUTC[StartEndTime], - Gbl.Prefs.DateFormat,"
", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,true,0x7); HTM_TD_End (); free ((void *) Id); diff --git a/swad_match_result.c b/swad_match_result.c index 84a710c6..cf29929e 100644 --- a/swad_match_result.c +++ b/swad_match_result.c @@ -436,7 +436,7 @@ static void McR_ShowMchResults (Usr_MeOrOther_t MeOrOther) HTM_TD_Begin ("id =\"%s\" class=\"DAT LT COLOR%u\"", Id,Gbl.RowEvenOdd); Dat_WriteLocalDateHMSFromUTC (Id,TimeUTC[StartEndTime], - Gbl.Prefs.DateFormat,"
", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,false,0x7); HTM_TD_End (); free ((void *) Id); @@ -791,7 +791,7 @@ void McR_ShowOneMchResult (void) Lay_NotEnoughMemoryExit (); HTM_TD_Begin ("id=\"%s\" class=\"DAT LT\"",Id); Dat_WriteLocalDateHMSFromUTC (Id,TimeUTC[StartEndTime], - Gbl.Prefs.DateFormat,", ", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_COMMA, true,true,true,0x7); HTM_TD_End (); free ((void *) Id); diff --git a/swad_message.c b/swad_message.c index 5ffe3d27..315dc5b1 100644 --- a/swad_message.c +++ b/swad_message.c @@ -3623,7 +3623,7 @@ void Msg_WriteMsgDate (time_t TimeUTC,const char *ClassBackground) /***** Write date and time *****/ Dat_WriteLocalDateHMSFromUTC (Id,TimeUTC, - Gbl.Prefs.DateFormat,", ", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_COMMA, true,true,false,0x6); /***** End cell *****/ diff --git a/swad_notice.c b/swad_notice.c index 475b434c..291ad3c1 100644 --- a/swad_notice.c +++ b/swad_notice.c @@ -700,7 +700,7 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing, Frm_EndForm (); } Dat_WriteLocalDateHMSFromUTC (Id,TimeUTC, - Gbl.Prefs.DateFormat,"
", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,false,0x6); free ((void *) Id); HTM_DIV_End (); diff --git a/swad_profile.c b/swad_profile.c index e49ef3b0..e7857b49 100644 --- a/swad_profile.c +++ b/swad_profile.c @@ -501,7 +501,7 @@ static void Prf_ShowTimeSinceFirstClick (const struct UsrData *UsrDat, fprintf (Gbl.F.Out,")"); } Dat_WriteLocalDateHMSFromUTC (IdFirstClickTime,UsrFigures->FirstClickTimeUTC, - Gbl.Prefs.DateFormat,", ", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_COMMA, true,true,false,0x6); } else // First click time is unknown or user never logged diff --git a/swad_project.c b/swad_project.c index 55705c9e..fde197f1 100644 --- a/swad_project.c +++ b/swad_project.c @@ -1119,7 +1119,7 @@ static void Prj_ShowOneProject (unsigned NumIndex,struct Project *Prj, break; } Dat_WriteLocalDateHMSFromUTC (Id,Prj->CreatTime, - Gbl.Prefs.DateFormat,"
", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,true,0x7); HTM_TD_End (); free ((void *) Id); @@ -1140,7 +1140,7 @@ static void Prj_ShowOneProject (unsigned NumIndex,struct Project *Prj, break; } Dat_WriteLocalDateHMSFromUTC (Id,Prj->ModifTime, - Gbl.Prefs.DateFormat,"
", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,true,0x7); HTM_TD_End (); free ((void *) Id); @@ -1498,7 +1498,7 @@ static void Prj_ShowTableAllProjectsOneRow (struct Project *Prj) HTM_TD_Begin ("id=\"%s\" class=\"LT %s COLOR%u\"", Id,ClassDate,Gbl.RowEvenOdd); Dat_WriteLocalDateHMSFromUTC (Id,Prj->CreatTime, - Gbl.Prefs.DateFormat,"
", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,true,0x7); HTM_TD_End (); free ((void *) Id); @@ -1510,7 +1510,7 @@ static void Prj_ShowTableAllProjectsOneRow (struct Project *Prj) HTM_TD_Begin ("id=\"%s\" class=\"LT %s COLOR%u\"", Id,ClassDate,Gbl.RowEvenOdd); Dat_WriteLocalDateHMSFromUTC (Id,Prj->ModifTime, - Gbl.Prefs.DateFormat,"
", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,true,0x7); HTM_TD_End (); free ((void *) Id); diff --git a/swad_statistic.c b/swad_statistic.c index 8edd7c94..6bceaac3 100644 --- a/swad_statistic.c +++ b/swad_statistic.c @@ -1719,7 +1719,7 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql Lay_NotEnoughMemoryExit (); HTM_TD_Begin ("id=\"%s\" class=\"LOG RT COLOR%u\"",Id,Gbl.RowEvenOdd); Dat_WriteLocalDateHMSFromUTC (Id,Dat_GetUNIXTimeFromStr (row[3]), - Gbl.Prefs.DateFormat,", ", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_COMMA, true,true,false,0x7); HTM_TD_End (); free ((void *) Id); diff --git a/swad_survey.c b/swad_survey.c index dea8b855..543344ad 100644 --- a/swad_survey.c +++ b/swad_survey.c @@ -488,7 +488,7 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst, "DATE_RED_LIGHT"), Gbl.RowEvenOdd); Dat_WriteLocalDateHMSFromUTC (Id,Svy.TimeUTC[Svy_START_TIME], - Gbl.Prefs.DateFormat,"
", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,true,0x7); HTM_TD_End (); free ((void *) Id); @@ -512,7 +512,7 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst, "DATE_RED_LIGHT"), Gbl.RowEvenOdd); Dat_WriteLocalDateHMSFromUTC (Id,Svy.TimeUTC[Svy_END_TIME], - Gbl.Prefs.DateFormat,"
", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,false,true,0x7); HTM_TD_End (); free ((void *) Id); diff --git a/swad_test.c b/swad_test.c index 6f272a04..39a082e8 100644 --- a/swad_test.c +++ b/swad_test.c @@ -2935,7 +2935,7 @@ static void Tst_ListOneOrMoreQuestionsForEdition (unsigned long NumRows, HTM_TD_Begin ("id=\"%s\" class=\"DAT_SMALL CT COLOR%u\"", Id,Gbl.RowEvenOdd); Dat_WriteLocalDateHMSFromUTC (Id,TimeUTC, - Gbl.Prefs.DateFormat,"
", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,false,0x7); HTM_TD_End (); free ((void *) Id); @@ -3146,7 +3146,7 @@ static void Tst_ListOneOrMoreQuestionsForSelection (unsigned long NumRows, HTM_TD_Begin ("id=\"%s\" class=\"DAT_SMALL CT COLOR%u\">", Id,Gbl.RowEvenOdd); Dat_WriteLocalDateHMSFromUTC (Id,TimeUTC, - Gbl.Prefs.DateFormat,"
", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,false,0x7); HTM_TD_End (); free ((void *) Id); @@ -7782,7 +7782,7 @@ static void Tst_ShowTstResults (struct UsrData *UsrDat) HTM_TD_Begin ("id=\"%s\" class=\"%s RT COLOR%u\"", Id,ClassDat,Gbl.RowEvenOdd); Dat_WriteLocalDateHMSFromUTC (Id,TimeUTC, - Gbl.Prefs.DateFormat,", ", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_COMMA, true,true,false,0x7); HTM_TD_End (); free ((void *) Id); @@ -8119,7 +8119,7 @@ void Tst_ShowOneTstResult (void) HTM_TD_Begin ("id=\"test\" class=\"DAT LT\""); Dat_WriteLocalDateHMSFromUTC ("test",TstTimeUTC, - Gbl.Prefs.DateFormat,", ", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_COMMA, true,true,true,0x7); HTM_TD_End (); diff --git a/swad_timeline.c b/swad_timeline.c index b88dd3d7..a7982365 100644 --- a/swad_timeline.c +++ b/swad_timeline.c @@ -1789,7 +1789,7 @@ static void TL_WriteDateTime (time_t TimeUTC) // This must be out of the div where the output is written // because it will be evaluated in a loop in JavaScript Dat_WriteLocalDateHMSFromUTC (IdDateTime,TimeUTC, - Gbl.Prefs.DateFormat,", ", + Gbl.Prefs.DateFormat,Dat_SEPARATOR_COMMA, true,true,false,0x6); }