Version 16.155.26

This commit is contained in:
Antonio Cañas Vargas 2017-03-13 14:57:35 +01:00
parent 08b4a8e03d
commit da87da4bda
4 changed files with 64 additions and 49 deletions

View File

@ -1065,8 +1065,8 @@ CREATE TABLE IF NOT EXISTS timetable_crs (
Hour TINYINT NOT NULL,
Duration TINYINT NOT NULL,
ClassType ENUM('libre','teoria','practicas') NOT NULL,
Place VARCHAR(127) NOT NULL,
GroupName VARCHAR(255) NOT NULL,
Place VARCHAR(511) NOT NULL,
GroupName VARCHAR(2047) NOT NULL,
INDEX(CrsCod,GrpCod));
--
-- Table timetable_tut: stores the timetables of office hours of the teachers
@ -1076,7 +1076,7 @@ CREATE TABLE IF NOT EXISTS timetable_tut (
Day ENUM('L','M','X','J','V','S','D') NOT NULL,
Hour TINYINT NOT NULL,
Duration TINYINT NOT NULL,
Place VARCHAR(127) NOT NULL,
Place VARCHAR(511) NOT NULL,
INDEX(UsrCod));
--
-- Table tst_answers: stores the answers to the questions in tests

View File

@ -209,13 +209,19 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 16.155.25 (2017-03-13)"
#define Log_PLATFORM_VERSION "SWAD 16.155.26 (2017-03-13)"
#define CSS_FILE "swad16.147.css"
#define JS_FILE "swad16.144.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.155.26:Mar 13, 2017 Adjusting size of database fields. (217009 lines)
3 changes necessary in database:
ALTER TABLE timetable_crs CHANGE COLUMN Place Place VARCHAR(511) NOT NULL;
ALTER TABLE timetable_crs CHANGE COLUMN GroupName GroupName VARCHAR(2047) NOT NULL;
ALTER TABLE timetable_tut CHANGE COLUMN Place Place VARCHAR(511) NOT NULL;
Version 16.155.25:Mar 13, 2017 Adjusting size of database fields. (216995 lines)
1 change necessary in database.
ALTER TABLE surveys CHANGE COLUMN Title Title VARCHAR(2047) NOT NULL;

View File

@ -2181,11 +2181,11 @@ mysql> DESCRIBE svy_answers;
4 rows in set (0.00 sec)
*/
DB_CreateTable ("CREATE TABLE IF NOT EXISTS svy_answers ("
"QstCod INT NOT NULL,"
"AnsInd TINYINT NOT NULL,"
"NumUsrs INT NOT NULL DEFAULT 0,"
"Answer TEXT NOT NULL,"
"UNIQUE INDEX(QstCod,AnsInd))");
"QstCod INT NOT NULL,"
"AnsInd TINYINT NOT NULL,"
"NumUsrs INT NOT NULL DEFAULT 0,"
"Answer TEXT NOT NULL," // Cns_MAX_BYTES_TEXT
"UNIQUE INDEX(QstCod,AnsInd))");
/***** Table svy_grp *****/
/*
@ -2199,9 +2199,9 @@ mysql> DESCRIBE svy_grp;
2 rows in set (0.01 sec)
*/
DB_CreateTable ("CREATE TABLE IF NOT EXISTS svy_grp ("
"SvyCod INT NOT NULL,"
"GrpCod INT NOT NULL,"
"UNIQUE INDEX(SvyCod,GrpCod))");
"SvyCod INT NOT NULL,"
"GrpCod INT NOT NULL,"
"UNIQUE INDEX(SvyCod,GrpCod))");
/***** Table svy_questions *****/
/*
@ -2218,13 +2218,13 @@ mysql> DESCRIBE svy_questions;
5 rows in set (0.00 sec)
*/
DB_CreateTable ("CREATE TABLE IF NOT EXISTS svy_questions ("
"QstCod INT NOT NULL AUTO_INCREMENT,"
"SvyCod INT NOT NULL,"
"QstInd INT NOT NULL DEFAULT 0,"
"AnsType ENUM ('unique_choice','multiple_choice') NOT NULL,"
"Stem TEXT NOT NULL,"
"UNIQUE INDEX(QstCod),"
"INDEX(SvyCod))");
"QstCod INT NOT NULL AUTO_INCREMENT,"
"SvyCod INT NOT NULL,"
"QstInd INT NOT NULL DEFAULT 0,"
"AnsType ENUM ('unique_choice','multiple_choice') NOT NULL,"
"Stem TEXT NOT NULL," // Cns_MAX_BYTES_TEXT
"UNIQUE INDEX(QstCod),"
"INDEX(SvyCod))");
/***** Table svy_users *****/
/*
@ -2238,9 +2238,9 @@ mysql> DESCRIBE svy_users;
2 rows in set (0.00 sec)
*/
DB_CreateTable ("CREATE TABLE IF NOT EXISTS svy_users ("
"SvyCod INT NOT NULL,"
"UsrCod INT NOT NULL,"
"UNIQUE INDEX(SvyCod,UsrCod))");
"SvyCod INT NOT NULL,"
"UsrCod INT NOT NULL,"
"UNIQUE INDEX(SvyCod,UsrCod))");
/***** Table timetable_crs *****/
/*
@ -2254,21 +2254,21 @@ mysql> DESCRIBE timetable_crs;
| Hour | tinyint(4) | NO | | NULL | |
| Duration | tinyint(4) | NO | | NULL | |
| ClassType | enum('libre','teoria','practicas') | NO | | NULL | |
| Place | varchar(127) | NO | | NULL | |
| GroupName | varchar(255) | NO | | NULL | |
| Place | varchar(511) | NO | | NULL | |
| GroupName | varchar(2047) | NO | | NULL | |
+-----------+------------------------------------+------+-----+---------+-------+
8 rows in set (0.01 sec)
8 rows in set (0,00 sec)
*/
DB_CreateTable ("CREATE TABLE IF NOT EXISTS timetable_crs ("
"CrsCod INT NOT NULL DEFAULT -1,"
"GrpCod INT NOT NULL DEFAULT -1,"
"Day ENUM('L','M','X','J','V','S','D') NOT NULL,"
"Hour TINYINT NOT NULL,"
"Duration TINYINT NOT NULL,"
"ClassType ENUM('libre','teoria','practicas') NOT NULL,"
"Place VARCHAR(127) NOT NULL,"
"GroupName VARCHAR(255) NOT NULL,"
"INDEX(CrsCod,GrpCod))");
"CrsCod INT NOT NULL DEFAULT -1,"
"GrpCod INT NOT NULL DEFAULT -1,"
"Day ENUM('L','M','X','J','V','S','D') NOT NULL,"
"Hour TINYINT NOT NULL,"
"Duration TINYINT NOT NULL,"
"ClassType ENUM('libre','teoria','practicas') NOT NULL,"
"Place VARCHAR(511) NOT NULL," // TT_MAX_BYTES_PLACE
"GroupName VARCHAR(2047) NOT NULL," // Grp_MAX_BYTES_GROUP_NAME
"INDEX(CrsCod,GrpCod))");
/***** Table timetable_tut *****/
/*
@ -2280,17 +2280,17 @@ mysql> DESCRIBE timetable_tut;
| Day | enum('L','M','X','J','V','S','D') | NO | | NULL | |
| Hour | tinyint(4) | NO | | NULL | |
| Duration | tinyint(4) | NO | | NULL | |
| Place | varchar(127) | NO | | NULL | |
| Place | varchar(511) | NO | | NULL | |
+----------+-----------------------------------+------+-----+---------+-------+
5 rows in set (0.01 sec)
5 rows in set (0,00 sec)
*/
DB_CreateTable ("CREATE TABLE IF NOT EXISTS timetable_tut ("
"UsrCod INT NOT NULL,"
"Day ENUM('L','M','X','J','V','S','D') NOT NULL,"
"Hour TINYINT NOT NULL,"
"Duration TINYINT NOT NULL,"
"Place VARCHAR(127) NOT NULL,"
"INDEX(UsrCod))");
"UsrCod INT NOT NULL,"
"Day ENUM('L','M','X','J','V','S','D') NOT NULL,"
"Hour TINYINT NOT NULL,"
"Duration TINYINT NOT NULL,"
"Place VARCHAR(511) NOT NULL," // TT_MAX_BYTES_PLACE
"INDEX(UsrCod))");
/***** Table tst_answers *****/
/*

View File

@ -130,7 +130,8 @@ static void TT_TimeTableDrawDaysCells (void);
static unsigned TT_TimeTableCalculateColsToDraw (unsigned Day,unsigned Hour);
static void TT_DrawCellAlignTimeTable (void);
static void TT_TimeTableDrawCell (unsigned Day,unsigned Hour,unsigned Column,unsigned ColSpan,
long CrsCod,TT_HourType_t HourType,TT_ClassType_t ClassType,unsigned Duration,char *Group,long GrpCod,char *Place);
long CrsCod,TT_HourType_t HourType,TT_ClassType_t ClassType,
unsigned Duration,char *Group,long GrpCod,char *Place);
/*****************************************************************************/
/*********** Show whether only my groups or all groups are shown *************/
@ -456,11 +457,16 @@ void TT_ShowTimeTable (long UsrCod)
static void TT_WriteCrsTimeTableIntoDB (long CrsCod)
{
char Query[1024];
unsigned Hour,Day,Column;
char Query[512 +
TT_MAX_BYTES_PLACE +
Grp_MAX_BYTES_GROUP_NAME];
unsigned Hour;
unsigned Day;
unsigned Column;
/***** Remove former timetable *****/
sprintf (Query,"DELETE FROM timetable_crs WHERE CrsCod='%ld'",CrsCod);
sprintf (Query,"DELETE FROM timetable_crs WHERE CrsCod='%ld'",
CrsCod);
DB_QueryDELETE (Query,"can not remove former timetable");
/***** Go across the timetable inserting classes into database *****/
@ -498,11 +504,13 @@ static void TT_WriteCrsTimeTableIntoDB (long CrsCod)
static void TT_WriteTutTimeTableIntoDB (long UsrCod)
{
char Query[1024];
char Query[512 +
TT_MAX_BYTES_PLACE];
unsigned Hour,Day,Column;
/***** Remove former timetable *****/
sprintf (Query,"DELETE FROM timetable_tut WHERE UsrCod='%ld'",UsrCod);
sprintf (Query,"DELETE FROM timetable_tut WHERE UsrCod='%ld'",
UsrCod);
DB_QueryDELETE (Query,"can not remove former timetable");
/***** Loop over timetable *****/
@ -1106,7 +1114,8 @@ static void TT_DrawCellAlignTimeTable (void)
/*****************************************************************************/
static void TT_TimeTableDrawCell (unsigned Day,unsigned Hour,unsigned Column,unsigned ColSpan,
long CrsCod,TT_HourType_t HourType,TT_ClassType_t ClassType,unsigned Duration,char *Group,long GrpCod,char *Place)
long CrsCod,TT_HourType_t HourType,TT_ClassType_t ClassType,
unsigned Duration,char *Group,long GrpCod,char *Place)
{
extern const char *Txt_unknown_removed_course;
extern const char *Txt_TIMETABLE_CLASS_TYPES[TT_NUM_CLASS_TYPES];