diff --git a/swad_changelog.h b/swad_changelog.h index 5c0a97f1..b165381d 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -219,13 +219,14 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 16.187.1 (2017-04-24)" +#define Log_PLATFORM_VERSION "SWAD 16.187.2 (2017-04-24)" #define CSS_FILE "swad16.185.3.css" #define JS_FILE "swad16.181.js" // Number of lines (includes comments but not blank lines) has been got with the following command: // nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1 /* + Version 16.187.2: Apr 24, 2017 Changes in timetable. Not finished. (217963 lines) Version 16.187.1: Apr 24, 2017 Changes in timetable. Not finished. (217958 lines) Version 16.187: Apr 24, 2017 Changes in timetable. Not finished. (217947 lines) 35 changes necessary in database. diff --git a/swad_timetable.c b/swad_timetable.c index efadf15b..5473e233 100644 --- a/swad_timetable.c +++ b/swad_timetable.c @@ -480,7 +480,7 @@ static void TT_WriteCrsTimeTableIntoDB (long CrsCod) TT_MAX_BYTES_PLACE + Grp_MAX_BYTES_GROUP_NAME]; unsigned Interval5Minutes; - unsigned Day; + unsigned Weekday; unsigned Hour; unsigned Min; unsigned Column; @@ -491,17 +491,17 @@ static void TT_WriteCrsTimeTableIntoDB (long CrsCod) DB_QueryDELETE (Query,"can not remove former timetable"); /***** Go across the timetable inserting classes into database *****/ - for (Day = 0; - Day < TT_DAYS; - Day++) + for (Weekday = 0; + Weekday < TT_DAYS; + Weekday++) for (Interval5Minutes = 0, Hour = TT_START_HOUR, Min = 0; Hour < TT_END_HOUR; Interval5Minutes++, Hour += (Min + 5) / 60, Min = (Min + 5) % 60) for (Column = 0; Column < TT_MAX_COLUMNS_PER_CELL; Column++) - if (TT_TimeTable[Day][Interval5Minutes].Columns[Column].HourType == TT_FIRST_HOUR && - TT_TimeTable[Day][Interval5Minutes].Columns[Column].DurationOld > 0) + if (TT_TimeTable[Weekday][Interval5Minutes].Columns[Column].HourType == TT_FIRST_HOUR && + TT_TimeTable[Weekday][Interval5Minutes].Columns[Column].DurationMinutes) { sprintf (Query,"INSERT INTO timetable_crs" " (CrsCod,GrpCod,Weekday,StartTime,Duration," @@ -510,13 +510,13 @@ static void TT_WriteCrsTimeTableIntoDB (long CrsCod) " (%ld,%ld,%u,'%02u:%02u:00',SEC_TO_TIME(%u)," "'%s','%s','%s')", CrsCod, - TT_TimeTable[Day][Interval5Minutes].Columns[Column].GrpCod, - Day, + TT_TimeTable[Weekday][Interval5Minutes].Columns[Column].GrpCod, + Weekday, Hour,Min, - TT_TimeTable[Day][Interval5Minutes].Columns[Column].DurationMinutes * 60, - TimeTableStrsClassTypeOldDB[TT_TimeTable[Day][Interval5Minutes].Columns[Column].ClassType], - TT_TimeTable[Day][Interval5Minutes].Columns[Column].Place, - TT_TimeTable[Day][Interval5Minutes].Columns[Column].Group); + TT_TimeTable[Weekday][Interval5Minutes].Columns[Column].DurationMinutes * 60, + TimeTableStrsClassTypeOldDB[TT_TimeTable[Weekday][Interval5Minutes].Columns[Column].ClassType], + TT_TimeTable[Weekday][Interval5Minutes].Columns[Column].Place, + TT_TimeTable[Weekday][Interval5Minutes].Columns[Column].Group); DB_QueryINSERT (Query,"can not create course timetable"); } } @@ -529,8 +529,10 @@ static void TT_WriteTutTimeTableIntoDB (long UsrCod) { char Query[512 + TT_MAX_BYTES_PLACE]; - unsigned HourOld; - unsigned Day; + unsigned Interval5Minutes; + unsigned Weekday; + unsigned Hour; + unsigned Min; unsigned Column; /***** Remove former timetable *****/ @@ -539,25 +541,27 @@ static void TT_WriteTutTimeTableIntoDB (long UsrCod) DB_QueryDELETE (Query,"can not remove former timetable"); /***** Loop over timetable *****/ - for (Day = 0; - Day < TT_DAYS; - Day++) - for (HourOld = 0; - HourOld < TT_HOURS_PER_DAY * 2; - HourOld++) + for (Weekday = 0; + Weekday < TT_DAYS; + Weekday++) + for (Interval5Minutes = 0, Hour = TT_START_HOUR, Min = 0; + Hour < TT_END_HOUR; + Interval5Minutes++, Hour += (Min + 5) / 60, Min = (Min + 5) % 60) for (Column = 0; Column < TT_MAX_COLUMNS_PER_CELL; Column++) - if (TimeTableOld[Day][HourOld].Columns[Column].HourType == TT_FIRST_HOUR && - TimeTableOld[Day][HourOld].Columns[Column].DurationOld > 0) + if (TT_TimeTable[Weekday][Interval5Minutes].Columns[Column].HourType == TT_FIRST_HOUR && + TT_TimeTable[Weekday][Interval5Minutes].Columns[Column].DurationMinutes) { sprintf (Query,"INSERT INTO timetable_tut" - " (UsrCod,DayOld,HourOld,DurationOld,Place)" + " (UsrCod,Weekday,StartTime,Duration,Place)" " VALUES" - " (%ld,'%c',%u,%d,'%s')", - UsrCod,TimeTableCharsDaysOld[Day],HourOld, - TimeTableOld[Day][HourOld].Columns[Column].DurationOld, - TimeTableOld[Day][HourOld].Columns[Column].Place); + " (%ld,%u,'%02u:%02u:00',SEC_TO_TIME(%u),'%s')", + UsrCod, + Weekday, + Hour,Min, + TT_TimeTable[Weekday][Interval5Minutes].Columns[Column].DurationMinutes * 60, + TT_TimeTable[Weekday][Interval5Minutes].Columns[Column].Place); DB_QueryINSERT (Query,"can not create office timetable"); } }