mirror of https://github.com/acanas/swad-core.git
Version 16.187.2
This commit is contained in:
parent
cbe46c38ba
commit
2556f6f0b6
|
@ -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.
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue