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 *****************************/
|
/****************************** 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 CSS_FILE "swad16.185.3.css"
|
||||||
#define JS_FILE "swad16.181.js"
|
#define JS_FILE "swad16.181.js"
|
||||||
|
|
||||||
// Number of lines (includes comments but not blank lines) has been got with the following command:
|
// 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
|
// 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.1: Apr 24, 2017 Changes in timetable. Not finished. (217958 lines)
|
||||||
Version 16.187: Apr 24, 2017 Changes in timetable. Not finished. (217947 lines)
|
Version 16.187: Apr 24, 2017 Changes in timetable. Not finished. (217947 lines)
|
||||||
35 changes necessary in database.
|
35 changes necessary in database.
|
||||||
|
|
|
@ -480,7 +480,7 @@ static void TT_WriteCrsTimeTableIntoDB (long CrsCod)
|
||||||
TT_MAX_BYTES_PLACE +
|
TT_MAX_BYTES_PLACE +
|
||||||
Grp_MAX_BYTES_GROUP_NAME];
|
Grp_MAX_BYTES_GROUP_NAME];
|
||||||
unsigned Interval5Minutes;
|
unsigned Interval5Minutes;
|
||||||
unsigned Day;
|
unsigned Weekday;
|
||||||
unsigned Hour;
|
unsigned Hour;
|
||||||
unsigned Min;
|
unsigned Min;
|
||||||
unsigned Column;
|
unsigned Column;
|
||||||
|
@ -491,17 +491,17 @@ static void TT_WriteCrsTimeTableIntoDB (long CrsCod)
|
||||||
DB_QueryDELETE (Query,"can not remove former timetable");
|
DB_QueryDELETE (Query,"can not remove former timetable");
|
||||||
|
|
||||||
/***** Go across the timetable inserting classes into database *****/
|
/***** Go across the timetable inserting classes into database *****/
|
||||||
for (Day = 0;
|
for (Weekday = 0;
|
||||||
Day < TT_DAYS;
|
Weekday < TT_DAYS;
|
||||||
Day++)
|
Weekday++)
|
||||||
for (Interval5Minutes = 0, Hour = TT_START_HOUR, Min = 0;
|
for (Interval5Minutes = 0, Hour = TT_START_HOUR, Min = 0;
|
||||||
Hour < TT_END_HOUR;
|
Hour < TT_END_HOUR;
|
||||||
Interval5Minutes++, Hour += (Min + 5) / 60, Min = (Min + 5) % 60)
|
Interval5Minutes++, Hour += (Min + 5) / 60, Min = (Min + 5) % 60)
|
||||||
for (Column = 0;
|
for (Column = 0;
|
||||||
Column < TT_MAX_COLUMNS_PER_CELL;
|
Column < TT_MAX_COLUMNS_PER_CELL;
|
||||||
Column++)
|
Column++)
|
||||||
if (TT_TimeTable[Day][Interval5Minutes].Columns[Column].HourType == TT_FIRST_HOUR &&
|
if (TT_TimeTable[Weekday][Interval5Minutes].Columns[Column].HourType == TT_FIRST_HOUR &&
|
||||||
TT_TimeTable[Day][Interval5Minutes].Columns[Column].DurationOld > 0)
|
TT_TimeTable[Weekday][Interval5Minutes].Columns[Column].DurationMinutes)
|
||||||
{
|
{
|
||||||
sprintf (Query,"INSERT INTO timetable_crs"
|
sprintf (Query,"INSERT INTO timetable_crs"
|
||||||
" (CrsCod,GrpCod,Weekday,StartTime,Duration,"
|
" (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),"
|
" (%ld,%ld,%u,'%02u:%02u:00',SEC_TO_TIME(%u),"
|
||||||
"'%s','%s','%s')",
|
"'%s','%s','%s')",
|
||||||
CrsCod,
|
CrsCod,
|
||||||
TT_TimeTable[Day][Interval5Minutes].Columns[Column].GrpCod,
|
TT_TimeTable[Weekday][Interval5Minutes].Columns[Column].GrpCod,
|
||||||
Day,
|
Weekday,
|
||||||
Hour,Min,
|
Hour,Min,
|
||||||
TT_TimeTable[Day][Interval5Minutes].Columns[Column].DurationMinutes * 60,
|
TT_TimeTable[Weekday][Interval5Minutes].Columns[Column].DurationMinutes * 60,
|
||||||
TimeTableStrsClassTypeOldDB[TT_TimeTable[Day][Interval5Minutes].Columns[Column].ClassType],
|
TimeTableStrsClassTypeOldDB[TT_TimeTable[Weekday][Interval5Minutes].Columns[Column].ClassType],
|
||||||
TT_TimeTable[Day][Interval5Minutes].Columns[Column].Place,
|
TT_TimeTable[Weekday][Interval5Minutes].Columns[Column].Place,
|
||||||
TT_TimeTable[Day][Interval5Minutes].Columns[Column].Group);
|
TT_TimeTable[Weekday][Interval5Minutes].Columns[Column].Group);
|
||||||
DB_QueryINSERT (Query,"can not create course timetable");
|
DB_QueryINSERT (Query,"can not create course timetable");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -529,8 +529,10 @@ static void TT_WriteTutTimeTableIntoDB (long UsrCod)
|
||||||
{
|
{
|
||||||
char Query[512 +
|
char Query[512 +
|
||||||
TT_MAX_BYTES_PLACE];
|
TT_MAX_BYTES_PLACE];
|
||||||
unsigned HourOld;
|
unsigned Interval5Minutes;
|
||||||
unsigned Day;
|
unsigned Weekday;
|
||||||
|
unsigned Hour;
|
||||||
|
unsigned Min;
|
||||||
unsigned Column;
|
unsigned Column;
|
||||||
|
|
||||||
/***** Remove former timetable *****/
|
/***** Remove former timetable *****/
|
||||||
|
@ -539,25 +541,27 @@ static void TT_WriteTutTimeTableIntoDB (long UsrCod)
|
||||||
DB_QueryDELETE (Query,"can not remove former timetable");
|
DB_QueryDELETE (Query,"can not remove former timetable");
|
||||||
|
|
||||||
/***** Loop over timetable *****/
|
/***** Loop over timetable *****/
|
||||||
for (Day = 0;
|
for (Weekday = 0;
|
||||||
Day < TT_DAYS;
|
Weekday < TT_DAYS;
|
||||||
Day++)
|
Weekday++)
|
||||||
for (HourOld = 0;
|
for (Interval5Minutes = 0, Hour = TT_START_HOUR, Min = 0;
|
||||||
HourOld < TT_HOURS_PER_DAY * 2;
|
Hour < TT_END_HOUR;
|
||||||
HourOld++)
|
Interval5Minutes++, Hour += (Min + 5) / 60, Min = (Min + 5) % 60)
|
||||||
for (Column = 0;
|
for (Column = 0;
|
||||||
Column < TT_MAX_COLUMNS_PER_CELL;
|
Column < TT_MAX_COLUMNS_PER_CELL;
|
||||||
Column++)
|
Column++)
|
||||||
if (TimeTableOld[Day][HourOld].Columns[Column].HourType == TT_FIRST_HOUR &&
|
if (TT_TimeTable[Weekday][Interval5Minutes].Columns[Column].HourType == TT_FIRST_HOUR &&
|
||||||
TimeTableOld[Day][HourOld].Columns[Column].DurationOld > 0)
|
TT_TimeTable[Weekday][Interval5Minutes].Columns[Column].DurationMinutes)
|
||||||
{
|
{
|
||||||
sprintf (Query,"INSERT INTO timetable_tut"
|
sprintf (Query,"INSERT INTO timetable_tut"
|
||||||
" (UsrCod,DayOld,HourOld,DurationOld,Place)"
|
" (UsrCod,Weekday,StartTime,Duration,Place)"
|
||||||
" VALUES"
|
" VALUES"
|
||||||
" (%ld,'%c',%u,%d,'%s')",
|
" (%ld,%u,'%02u:%02u:00',SEC_TO_TIME(%u),'%s')",
|
||||||
UsrCod,TimeTableCharsDaysOld[Day],HourOld,
|
UsrCod,
|
||||||
TimeTableOld[Day][HourOld].Columns[Column].DurationOld,
|
Weekday,
|
||||||
TimeTableOld[Day][HourOld].Columns[Column].Place);
|
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");
|
DB_QueryINSERT (Query,"can not create office timetable");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue