From 58cfa4c66c7648f563d46192aa232406316e300f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ca=C3=B1as=20Vargas?= Date: Sat, 11 Mar 2017 00:47:23 +0100 Subject: [PATCH] Version 16.155.5 --- sql/swad.sql | 4 +- swad_changelog.h | 7 ++- swad_database.c | 70 +++++++++++++-------------- swad_group.c | 123 ++++++++++++++++++++++++++++++----------------- swad_layout.h | 2 +- 5 files changed, 122 insertions(+), 84 deletions(-) diff --git a/sql/swad.sql b/sql/swad.sql index 06a66ba3a..287929b9c 100644 --- a/sql/swad.sql +++ b/sql/swad.sql @@ -266,7 +266,7 @@ CREATE TABLE IF NOT EXISTS courses ( CREATE TABLE IF NOT EXISTS crs_grp ( GrpCod INT NOT NULL AUTO_INCREMENT, GrpTypCod INT NOT NULL, - GrpName VARCHAR(255) NOT NULL, + GrpName VARCHAR(2047) NOT NULL, MaxStudents INT NOT NULL, Open ENUM('N','Y') NOT NULL DEFAULT 'N', FileZones ENUM('N','Y') NOT NULL DEFAULT 'N', @@ -278,7 +278,7 @@ CREATE TABLE IF NOT EXISTS crs_grp ( CREATE TABLE IF NOT EXISTS crs_grp_types ( GrpTypCod INT NOT NULL AUTO_INCREMENT, CrsCod INT NOT NULL DEFAULT -1, - GrpTypName VARCHAR(255) NOT NULL, + GrpTypName VARCHAR(2047) NOT NULL, Mandatory ENUM('N','Y') NOT NULL, Multiple ENUM('N','Y') NOT NULL, MustBeOpened ENUM('N','Y') NOT NULL DEFAULT 'N', diff --git a/swad_changelog.h b/swad_changelog.h index 97644626f..7e177abe4 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -207,13 +207,18 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 16.155.4 (2017-03-10)" +#define Log_PLATFORM_VERSION "SWAD 16.155.5 (2017-03-11)" #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.5: Mar 11, 2017 Adjusting size of database fields. (216663 lines) + 2 changes necessary in database: +ALTER TABLE crs_grp CHANGE COLUMN GrpName GrpName VARCHAR(2047) NOT NULL; +ALTER TABLE crs_grp_types CHANGE COLUMN GrpTypName GrpTypName VARCHAR(2047) NOT NULL; + Version 16.155.4: Mar 10, 2017 Adjusting size of database fields. (216626 lines) 2 changes necessary in database: ALTER TABLE courses CHANGE COLUMN ShortName ShortName VARCHAR(511) COLLATE latin1_spanish_ci NOT NULL; diff --git a/swad_database.c b/swad_database.c index 5fdba7bef..828958396 100644 --- a/swad_database.c +++ b/swad_database.c @@ -588,20 +588,20 @@ mysql> DESCRIBE countries; /***** Table courses *****/ /* mysql> DESCRIBE courses; -+-----------------+--------------+------+-----+---------+----------------+ -| Field | Type | Null | Key | Default | Extra | -+-----------------+--------------+------+-----+---------+----------------+ -| CrsCod | int(11) | NO | PRI | NULL | auto_increment | -| DegCod | int(11) | NO | MUL | -1 | | -| Year | tinyint(4) | NO | | 0 | | -| InsCrsCod | char(7) | NO | | NULL | | -| Status | tinyint(4) | NO | MUL | 0 | | -| RequesterUsrCod | int(11) | NO | | -1 | | -| ShortName | varchar(32) | NO | | NULL | | -| FullName | varchar(127) | NO | | NULL | | -| NumIndicators | int(11) | NO | | -1 | | -+-----------------+--------------+------+-----+---------+----------------+ -9 rows in set (0.00 sec) ++-----------------+---------------+------+-----+---------+----------------+ +| Field | Type | Null | Key | Default | Extra | ++-----------------+---------------+------+-----+---------+----------------+ +| CrsCod | int(11) | NO | PRI | NULL | auto_increment | +| DegCod | int(11) | NO | MUL | -1 | | +| Year | tinyint(4) | NO | | 0 | | +| InsCrsCod | char(7) | NO | | NULL | | +| Status | tinyint(4) | NO | MUL | 0 | | +| RequesterUsrCod | int(11) | NO | | -1 | | +| ShortName | varchar(511) | NO | | NULL | | +| FullName | varchar(2047) | NO | | NULL | | +| NumIndicators | int(11) | NO | | -1 | | ++-----------------+---------------+------+-----+---------+----------------+ +9 rows in set (0,00 sec) */ DB_CreateTable ("CREATE TABLE IF NOT EXISTS courses (" "CrsCod INT NOT NULL AUTO_INCREMENT," @@ -625,22 +625,22 @@ mysql> DESCRIBE crs_grp; +-------------+---------------+------+-----+---------+----------------+ | GrpCod | int(11) | NO | PRI | NULL | auto_increment | | GrpTypCod | int(11) | NO | MUL | NULL | | -| GrpName | varchar(255) | NO | | NULL | | +| GrpName | varchar(2047) | NO | | NULL | | | MaxStudents | int(11) | NO | | NULL | | | Open | enum('N','Y') | NO | | N | | | FileZones | enum('N','Y') | NO | | N | | +-------------+---------------+------+-----+---------+----------------+ -6 rows in set (0.01 sec) +6 rows in set (0,00 sec) */ DB_CreateTable ("CREATE TABLE IF NOT EXISTS crs_grp (" - "GrpCod INT NOT NULL AUTO_INCREMENT," - "GrpTypCod INT NOT NULL," - "GrpName VARCHAR(255) NOT NULL," - "MaxStudents INT NOT NULL," - "Open ENUM('N','Y') NOT NULL DEFAULT 'N'," - "FileZones ENUM('N','Y') NOT NULL DEFAULT 'N'," - "UNIQUE INDEX(GrpCod)," - "INDEX(GrpTypCod))"); + "GrpCod INT NOT NULL AUTO_INCREMENT," + "GrpTypCod INT NOT NULL," + "GrpName VARCHAR(2047) NOT NULL," // Grp_MAX_BYTES_GROUP_NAME + "MaxStudents INT NOT NULL," + "Open ENUM('N','Y') NOT NULL DEFAULT 'N'," + "FileZones ENUM('N','Y') NOT NULL DEFAULT 'N'," + "UNIQUE INDEX(GrpCod)," + "INDEX(GrpTypCod))"); /***** Table crs_grp_types *****/ /* @@ -650,24 +650,24 @@ mysql> DESCRIBE crs_grp_types; +--------------+---------------+------+-----+---------+----------------+ | GrpTypCod | int(11) | NO | PRI | NULL | auto_increment | | CrsCod | int(11) | NO | MUL | -1 | | -| GrpTypName | varchar(255) | NO | | NULL | | +| GrpTypName | varchar(2047) | NO | | NULL | | | Mandatory | enum('N','Y') | NO | | NULL | | | Multiple | enum('N','Y') | NO | | NULL | | | MustBeOpened | enum('N','Y') | NO | | N | | | OpenTime | datetime | NO | | NULL | | +--------------+---------------+------+-----+---------+----------------+ -7 rows in set (0.01 sec) +7 rows in set (0,00 sec) */ DB_CreateTable ("CREATE TABLE IF NOT EXISTS crs_grp_types (" - "GrpTypCod INT NOT NULL AUTO_INCREMENT," - "CrsCod INT NOT NULL DEFAULT -1," - "GrpTypName VARCHAR(255) NOT NULL," - "Mandatory ENUM('N','Y') NOT NULL," - "Multiple ENUM('N','Y') NOT NULL," - "MustBeOpened ENUM('N','Y') NOT NULL DEFAULT 'N'," - "OpenTime DATETIME NOT NULL," - "UNIQUE INDEX(GrpTypCod)," - "INDEX(CrsCod))"); + "GrpTypCod INT NOT NULL AUTO_INCREMENT," + "CrsCod INT NOT NULL DEFAULT -1," + "GrpTypName VARCHAR(2047) NOT NULL," // Grp_MAX_BYTES_GROUP_TYPE_NAME + "Mandatory ENUM('N','Y') NOT NULL," + "Multiple ENUM('N','Y') NOT NULL," + "MustBeOpened ENUM('N','Y') NOT NULL DEFAULT 'N'," + "OpenTime DATETIME NOT NULL," + "UNIQUE INDEX(GrpTypCod)," + "INDEX(CrsCod))"); /***** Table crs_grp_usr *****/ /* diff --git a/swad_group.c b/swad_group.c index 1f4acf35a..459117b7a 100644 --- a/swad_group.c +++ b/swad_group.c @@ -999,13 +999,14 @@ unsigned Grp_RemoveUsrFromGroups (struct UsrData *UsrDat,struct ListCodGrps *Lst void Grp_RemUsrFromAllGrpsInCrs (struct UsrData *UsrDat,struct Course *Crs,Cns_QuietOrVerbose_t QuietOrVerbose) { extern const char *Txt_THE_USER_X_has_been_removed_from_all_groups_of_the_course_Y; - char Query[1024]; + char Query[512]; /***** Remove user from all the groups of the course *****/ sprintf (Query,"DELETE FROM crs_grp_usr" " WHERE UsrCod='%ld' AND GrpCod IN" " (SELECT crs_grp.GrpCod FROM crs_grp_types,crs_grp" - " WHERE crs_grp_types.CrsCod='%ld' AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod)", + " WHERE crs_grp_types.CrsCod='%ld'" + " AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod)", UsrDat->UsrCod,Crs->CrsCod); DB_QueryDELETE (Query,"can not remove a user from all groups of a course"); @@ -1025,7 +1026,7 @@ void Grp_RemUsrFromAllGrpsInCrs (struct UsrData *UsrDat,struct Course *Crs,Cns_Q void Grp_RemUsrFromAllGrps (struct UsrData *UsrDat,Cns_QuietOrVerbose_t QuietOrVerbose) { extern const char *Txt_THE_USER_X_has_been_removed_from_all_groups_in_all_courses; - char Query[512]; + char Query[128]; /***** Remove user from all groups *****/ sprintf (Query,"DELETE FROM crs_grp_usr WHERE UsrCod='%ld'", @@ -1047,11 +1048,11 @@ void Grp_RemUsrFromAllGrps (struct UsrData *UsrDat,Cns_QuietOrVerbose_t QuietOrV static void Grp_RemoveUsrFromGroup (long UsrCod,long GrpCod) { - char Query[512]; + char Query[256]; /***** Remove user from group *****/ sprintf (Query,"DELETE FROM crs_grp_usr" - " WHERE GrpCod='%ld' AND UsrCod='%ld'", + " WHERE GrpCod='%ld' AND UsrCod='%ld'", GrpCod,UsrCod); DB_QueryDELETE (Query,"can not remove a user from a group"); } @@ -1062,7 +1063,7 @@ static void Grp_RemoveUsrFromGroup (long UsrCod,long GrpCod) static void Grp_AddUsrToGroup (struct UsrData *UsrDat,long GrpCod) { - char Query[512]; + char Query[256]; /***** Register in group *****/ sprintf (Query,"INSERT INTO crs_grp_usr (GrpCod,UsrCod)" @@ -1335,7 +1336,7 @@ static void Grp_ListGroupsForEdition (void) fprintf (Gbl.F.Out,""); Act_FormStart (ActChgGrpTyp); Grp_PutParamGrpCod (Grp->GrpCod); - fprintf (Gbl.F.Out,""); + "