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, Hour TINYINT NOT NULL,
Duration TINYINT NOT NULL, Duration TINYINT NOT NULL,
ClassType ENUM('libre','teoria','practicas') NOT NULL, ClassType ENUM('libre','teoria','practicas') NOT NULL,
Place VARCHAR(127) NOT NULL, Place VARCHAR(511) NOT NULL,
GroupName VARCHAR(255) NOT NULL, GroupName VARCHAR(2047) NOT NULL,
INDEX(CrsCod,GrpCod)); INDEX(CrsCod,GrpCod));
-- --
-- Table timetable_tut: stores the timetables of office hours of the teachers -- 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, Day ENUM('L','M','X','J','V','S','D') NOT NULL,
Hour TINYINT NOT NULL, Hour TINYINT NOT NULL,
Duration TINYINT NOT NULL, Duration TINYINT NOT NULL,
Place VARCHAR(127) NOT NULL, Place VARCHAR(511) NOT NULL,
INDEX(UsrCod)); INDEX(UsrCod));
-- --
-- Table tst_answers: stores the answers to the questions in tests -- Table tst_answers: stores the answers to the questions in tests

View File

@ -209,13 +209,19 @@
/****************************** Public constants *****************************/ /****************************** 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 CSS_FILE "swad16.147.css"
#define JS_FILE "swad16.144.js" #define JS_FILE "swad16.144.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.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) Version 16.155.25:Mar 13, 2017 Adjusting size of database fields. (216995 lines)
1 change necessary in database. 1 change necessary in database.
ALTER TABLE surveys CHANGE COLUMN Title Title VARCHAR(2047) NOT NULL; 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) 4 rows in set (0.00 sec)
*/ */
DB_CreateTable ("CREATE TABLE IF NOT EXISTS svy_answers (" DB_CreateTable ("CREATE TABLE IF NOT EXISTS svy_answers ("
"QstCod INT NOT NULL," "QstCod INT NOT NULL,"
"AnsInd TINYINT NOT NULL," "AnsInd TINYINT NOT NULL,"
"NumUsrs INT NOT NULL DEFAULT 0," "NumUsrs INT NOT NULL DEFAULT 0,"
"Answer TEXT NOT NULL," "Answer TEXT NOT NULL," // Cns_MAX_BYTES_TEXT
"UNIQUE INDEX(QstCod,AnsInd))"); "UNIQUE INDEX(QstCod,AnsInd))");
/***** Table svy_grp *****/ /***** Table svy_grp *****/
/* /*
@ -2199,9 +2199,9 @@ mysql> DESCRIBE svy_grp;
2 rows in set (0.01 sec) 2 rows in set (0.01 sec)
*/ */
DB_CreateTable ("CREATE TABLE IF NOT EXISTS svy_grp (" DB_CreateTable ("CREATE TABLE IF NOT EXISTS svy_grp ("
"SvyCod INT NOT NULL," "SvyCod INT NOT NULL,"
"GrpCod INT NOT NULL," "GrpCod INT NOT NULL,"
"UNIQUE INDEX(SvyCod,GrpCod))"); "UNIQUE INDEX(SvyCod,GrpCod))");
/***** Table svy_questions *****/ /***** Table svy_questions *****/
/* /*
@ -2218,13 +2218,13 @@ mysql> DESCRIBE svy_questions;
5 rows in set (0.00 sec) 5 rows in set (0.00 sec)
*/ */
DB_CreateTable ("CREATE TABLE IF NOT EXISTS svy_questions (" DB_CreateTable ("CREATE TABLE IF NOT EXISTS svy_questions ("
"QstCod INT NOT NULL AUTO_INCREMENT," "QstCod INT NOT NULL AUTO_INCREMENT,"
"SvyCod INT NOT NULL," "SvyCod INT NOT NULL,"
"QstInd INT NOT NULL DEFAULT 0," "QstInd INT NOT NULL DEFAULT 0,"
"AnsType ENUM ('unique_choice','multiple_choice') NOT NULL," "AnsType ENUM ('unique_choice','multiple_choice') NOT NULL,"
"Stem TEXT NOT NULL," "Stem TEXT NOT NULL," // Cns_MAX_BYTES_TEXT
"UNIQUE INDEX(QstCod)," "UNIQUE INDEX(QstCod),"
"INDEX(SvyCod))"); "INDEX(SvyCod))");
/***** Table svy_users *****/ /***** Table svy_users *****/
/* /*
@ -2238,9 +2238,9 @@ mysql> DESCRIBE svy_users;
2 rows in set (0.00 sec) 2 rows in set (0.00 sec)
*/ */
DB_CreateTable ("CREATE TABLE IF NOT EXISTS svy_users (" DB_CreateTable ("CREATE TABLE IF NOT EXISTS svy_users ("
"SvyCod INT NOT NULL," "SvyCod INT NOT NULL,"
"UsrCod INT NOT NULL," "UsrCod INT NOT NULL,"
"UNIQUE INDEX(SvyCod,UsrCod))"); "UNIQUE INDEX(SvyCod,UsrCod))");
/***** Table timetable_crs *****/ /***** Table timetable_crs *****/
/* /*
@ -2254,21 +2254,21 @@ mysql> DESCRIBE timetable_crs;
| Hour | tinyint(4) | NO | | NULL | | | Hour | tinyint(4) | NO | | NULL | |
| Duration | tinyint(4) | NO | | NULL | | | Duration | tinyint(4) | NO | | NULL | |
| ClassType | enum('libre','teoria','practicas') | NO | | NULL | | | ClassType | enum('libre','teoria','practicas') | NO | | NULL | |
| Place | varchar(127) | NO | | NULL | | | Place | varchar(511) | NO | | NULL | |
| GroupName | varchar(255) | 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 (" DB_CreateTable ("CREATE TABLE IF NOT EXISTS timetable_crs ("
"CrsCod INT NOT NULL DEFAULT -1," "CrsCod INT NOT NULL DEFAULT -1,"
"GrpCod INT NOT NULL DEFAULT -1," "GrpCod INT NOT NULL DEFAULT -1,"
"Day ENUM('L','M','X','J','V','S','D') NOT NULL," "Day ENUM('L','M','X','J','V','S','D') NOT NULL,"
"Hour TINYINT NOT NULL," "Hour TINYINT NOT NULL,"
"Duration TINYINT NOT NULL," "Duration TINYINT NOT NULL,"
"ClassType ENUM('libre','teoria','practicas') NOT NULL," "ClassType ENUM('libre','teoria','practicas') NOT NULL,"
"Place VARCHAR(127) NOT NULL," "Place VARCHAR(511) NOT NULL," // TT_MAX_BYTES_PLACE
"GroupName VARCHAR(255) NOT NULL," "GroupName VARCHAR(2047) NOT NULL," // Grp_MAX_BYTES_GROUP_NAME
"INDEX(CrsCod,GrpCod))"); "INDEX(CrsCod,GrpCod))");
/***** Table timetable_tut *****/ /***** Table timetable_tut *****/
/* /*
@ -2280,17 +2280,17 @@ mysql> DESCRIBE timetable_tut;
| Day | enum('L','M','X','J','V','S','D') | NO | | NULL | | | Day | enum('L','M','X','J','V','S','D') | NO | | NULL | |
| Hour | tinyint(4) | NO | | NULL | | | Hour | tinyint(4) | NO | | NULL | |
| Duration | 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 (" DB_CreateTable ("CREATE TABLE IF NOT EXISTS timetable_tut ("
"UsrCod INT NOT NULL," "UsrCod INT NOT NULL,"
"Day ENUM('L','M','X','J','V','S','D') NOT NULL," "Day ENUM('L','M','X','J','V','S','D') NOT NULL,"
"Hour TINYINT NOT NULL," "Hour TINYINT NOT NULL,"
"Duration TINYINT NOT NULL," "Duration TINYINT NOT NULL,"
"Place VARCHAR(127) NOT NULL," "Place VARCHAR(511) NOT NULL," // TT_MAX_BYTES_PLACE
"INDEX(UsrCod))"); "INDEX(UsrCod))");
/***** Table tst_answers *****/ /***** Table tst_answers *****/
/* /*

View File

@ -130,7 +130,8 @@ static void TT_TimeTableDrawDaysCells (void);
static unsigned TT_TimeTableCalculateColsToDraw (unsigned Day,unsigned Hour); static unsigned TT_TimeTableCalculateColsToDraw (unsigned Day,unsigned Hour);
static void TT_DrawCellAlignTimeTable (void); static void TT_DrawCellAlignTimeTable (void);
static void TT_TimeTableDrawCell (unsigned Day,unsigned Hour,unsigned Column,unsigned ColSpan, 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 *************/ /*********** 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) static void TT_WriteCrsTimeTableIntoDB (long CrsCod)
{ {
char Query[1024]; char Query[512 +
unsigned Hour,Day,Column; TT_MAX_BYTES_PLACE +
Grp_MAX_BYTES_GROUP_NAME];
unsigned Hour;
unsigned Day;
unsigned Column;
/***** Remove former timetable *****/ /***** 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"); DB_QueryDELETE (Query,"can not remove former timetable");
/***** Go across the timetable inserting classes into database *****/ /***** Go across the timetable inserting classes into database *****/
@ -498,11 +504,13 @@ static void TT_WriteCrsTimeTableIntoDB (long CrsCod)
static void TT_WriteTutTimeTableIntoDB (long UsrCod) static void TT_WriteTutTimeTableIntoDB (long UsrCod)
{ {
char Query[1024]; char Query[512 +
TT_MAX_BYTES_PLACE];
unsigned Hour,Day,Column; unsigned Hour,Day,Column;
/***** Remove former timetable *****/ /***** 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"); DB_QueryDELETE (Query,"can not remove former timetable");
/***** Loop over 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, 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_unknown_removed_course;
extern const char *Txt_TIMETABLE_CLASS_TYPES[TT_NUM_CLASS_TYPES]; extern const char *Txt_TIMETABLE_CLASS_TYPES[TT_NUM_CLASS_TYPES];