From ce8a27364858b9f95fa7523dc053929c47489ccc Mon Sep 17 00:00:00 2001 From: acanas Date: Thu, 18 Mar 2021 09:52:21 +0100 Subject: [PATCH] Version 20.51.4: Mar 18, 2021 File-browser-last database table renamed. --- sql/swad.sql | 44 ++++++++++----------- swad_changelog.h | 6 ++- swad_database.c | 94 ++++++++++++++++++++++----------------------- swad_file_browser.c | 38 +++++++++--------- 4 files changed, 94 insertions(+), 88 deletions(-) diff --git a/sql/swad.sql b/sql/swad.sql index 95ed227ff..10837de75 100644 --- a/sql/swad.sql +++ b/sql/swad.sql @@ -164,6 +164,28 @@ CREATE TABLE IF NOT EXISTS brw_expanded_folders ( INDEX(FileBrowser,Cod), INDEX(WorksUsrCod)); -- +-- Table brw_last: stores the last click of every user in each file browser zone +-- +CREATE TABLE IF NOT EXISTS brw_last ( + UsrCod INT NOT NULL, + FileBrowser TINYINT NOT NULL, + Cod INT NOT NULL DEFAULT -1, + LastClick DATETIME NOT NULL, + UNIQUE INDEX(UsrCod,FileBrowser,Cod)); +-- +-- Table file_browser_size: stores the sizes of the file zones +-- +CREATE TABLE IF NOT EXISTS file_browser_size ( + FileBrowser TINYINT NOT NULL, + Cod INT NOT NULL DEFAULT -1, + ZoneUsrCod INT NOT NULL DEFAULT -1, + NumLevels INT NOT NULL, + NumFolders INT NOT NULL, + NumFiles INT NOT NULL, + TotalSize BIGINT NOT NULL, + UNIQUE INDEX(FileBrowser,Cod,ZoneUsrCod), + INDEX(ZoneUsrCod)); +-- -- Table cfe_calls_for_exams: stores the calls for examination -- CREATE TABLE IF NOT EXISTS cfe_calls_for_exams ( @@ -582,28 +604,6 @@ CREATE TABLE IF NOT EXISTS fig_figures ( LastUpdate TIMESTAMP, UNIQUE INDEX(Figure,Scope,Cod)); -- --- Table file_browser_last: stores the last click of every user in each file browser zone --- -CREATE TABLE IF NOT EXISTS file_browser_last ( - UsrCod INT NOT NULL, - FileBrowser TINYINT NOT NULL, - Cod INT NOT NULL DEFAULT -1, - LastClick DATETIME NOT NULL, - UNIQUE INDEX(UsrCod,FileBrowser,Cod)); --- --- Table file_browser_size: stores the sizes of the file zones --- -CREATE TABLE IF NOT EXISTS file_browser_size ( - FileBrowser TINYINT NOT NULL, - Cod INT NOT NULL DEFAULT -1, - ZoneUsrCod INT NOT NULL DEFAULT -1, - NumLevels INT NOT NULL, - NumFolders INT NOT NULL, - NumFiles INT NOT NULL, - TotalSize BIGINT NOT NULL, - UNIQUE INDEX(FileBrowser,Cod,ZoneUsrCod), - INDEX(ZoneUsrCod)); --- -- Table file_cache: stores the media private paths linked from public directories in current session -- CREATE TABLE IF NOT EXISTS file_cache ( diff --git a/swad_changelog.h b/swad_changelog.h index f4f015157..d05f5fed7 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -600,13 +600,17 @@ TODO: Salvador Romero Cort TODO: FIX BUG, URGENT! En las fechas como parámetro Dat_WriteParamsIniEndDates(), por ejemplo al cambiar el color de la gráfica de accesos por día y hora, no se respeta la zona horaria. */ -#define Log_PLATFORM_VERSION "SWAD 20.51.3 (2021-03-18)" +#define Log_PLATFORM_VERSION "SWAD 20.51.4 (2021-03-18)" #define CSS_FILE "swad20.45.css" #define JS_FILE "swad20.6.2.js" /* TODO: Rename CENTRE to CENTER in help wiki. TODO: Rename ASSESSMENT.Announcements to ASSESSMENT.Calls_for_exams + Version 20.51.4: Mar 18, 2021 File-browser-last database table renamed. (307563 lines) + 1 change necessary in database: +RENAME TABLE file_browser_last TO brw_last; + Version 20.51.3: Mar 18, 2021 Figures database table renamed. (307558 lines) 1 change necessary in database: RENAME TABLE figures TO fig_figures; diff --git a/swad_database.c b/swad_database.c index c5df0c950..8c479f3e2 100644 --- a/swad_database.c +++ b/swad_database.c @@ -435,6 +435,53 @@ mysql> DESCRIBE brw_expanded_folders; "INDEX(FileBrowser,Cod)," "INDEX(WorksUsrCod))"); + /***** Table brw_last *****/ +/* +mysql> DESCRIBE brw_last; ++-------------+------------+------+-----+---------+-------+ +| Field | Type | Null | Key | Default | Extra | ++-------------+------------+------+-----+---------+-------+ +| UsrCod | int(11) | NO | PRI | NULL | | +| FileBrowser | tinyint(4) | NO | PRI | NULL | | +| Cod | int(11) | NO | PRI | -1 | | +| LastClick | datetime | NO | | NULL | | ++-------------+------------+------+-----+---------+-------+ +4 rows in set (0.01 sec) +*/ + DB_CreateTable ("CREATE TABLE IF NOT EXISTS brw_last (" + "UsrCod INT NOT NULL," + "FileBrowser TINYINT NOT NULL," + "Cod INT NOT NULL DEFAULT -1," + "LastClick DATETIME NOT NULL," + "UNIQUE INDEX(UsrCod,FileBrowser,Cod))"); + + /***** Table file_browser_size *****/ +/* +mysql> DESCRIBE file_browser_size; ++-------------+------------+------+-----+---------+-------+ +| Field | Type | Null | Key | Default | Extra | ++-------------+------------+------+-----+---------+-------+ +| FileBrowser | tinyint(4) | NO | PRI | NULL | | +| Cod | int(11) | NO | PRI | -1 | | +| ZoneUsrCod | int(11) | NO | PRI | -1 | | +| NumLevels | int(11) | NO | | NULL | | +| NumFolders | int(11) | NO | | NULL | | +| NumFiles | int(11) | NO | | NULL | | +| TotalSize | bigint(20) | NO | | NULL | | ++-------------+------------+------+-----+---------+-------+ +7 rows in set (0.00 sec) +*/ + DB_CreateTable ("CREATE TABLE IF NOT EXISTS file_browser_size (" + "FileBrowser TINYINT NOT NULL," + "Cod INT NOT NULL DEFAULT -1," + "ZoneUsrCod INT NOT NULL DEFAULT -1," + "NumLevels INT NOT NULL," + "NumFolders INT NOT NULL," + "NumFiles INT NOT NULL," + "TotalSize BIGINT NOT NULL," + "UNIQUE INDEX(FileBrowser,Cod,ZoneUsrCod)," + "INDEX(ZoneUsrCod))"); + /***** Table cfe_calls_for_exams *****/ /* mysql> DESCRIBE cfe_calls_for_exams; @@ -1279,53 +1326,6 @@ mysql> DESCRIBE fig_figures; "LastUpdate TIMESTAMP," "UNIQUE INDEX(Figure,Scope,Cod))"); - /***** Table file_browser_last *****/ -/* -mysql> DESCRIBE file_browser_last; -+-------------+------------+------+-----+---------+-------+ -| Field | Type | Null | Key | Default | Extra | -+-------------+------------+------+-----+---------+-------+ -| UsrCod | int(11) | NO | PRI | NULL | | -| FileBrowser | tinyint(4) | NO | PRI | NULL | | -| Cod | int(11) | NO | PRI | -1 | | -| LastClick | datetime | NO | | NULL | | -+-------------+------------+------+-----+---------+-------+ -4 rows in set (0.01 sec) -*/ - DB_CreateTable ("CREATE TABLE IF NOT EXISTS file_browser_last (" - "UsrCod INT NOT NULL," - "FileBrowser TINYINT NOT NULL," - "Cod INT NOT NULL DEFAULT -1," - "LastClick DATETIME NOT NULL," - "UNIQUE INDEX(UsrCod,FileBrowser,Cod))"); - - /***** Table file_browser_size *****/ -/* -mysql> DESCRIBE file_browser_size; -+-------------+------------+------+-----+---------+-------+ -| Field | Type | Null | Key | Default | Extra | -+-------------+------------+------+-----+---------+-------+ -| FileBrowser | tinyint(4) | NO | PRI | NULL | | -| Cod | int(11) | NO | PRI | -1 | | -| ZoneUsrCod | int(11) | NO | PRI | -1 | | -| NumLevels | int(11) | NO | | NULL | | -| NumFolders | int(11) | NO | | NULL | | -| NumFiles | int(11) | NO | | NULL | | -| TotalSize | bigint(20) | NO | | NULL | | -+-------------+------------+------+-----+---------+-------+ -7 rows in set (0.00 sec) -*/ - DB_CreateTable ("CREATE TABLE IF NOT EXISTS file_browser_size (" - "FileBrowser TINYINT NOT NULL," - "Cod INT NOT NULL DEFAULT -1," - "ZoneUsrCod INT NOT NULL DEFAULT -1," - "NumLevels INT NOT NULL," - "NumFolders INT NOT NULL," - "NumFiles INT NOT NULL," - "TotalSize BIGINT NOT NULL," - "UNIQUE INDEX(FileBrowser,Cod,ZoneUsrCod)," - "INDEX(ZoneUsrCod))"); - /***** Table file_cache *****/ /* mysql> DESCRIBE file_cache; diff --git a/swad_file_browser.c b/swad_file_browser.c index 14ae5141d..ef8d8c3fe 100644 --- a/swad_file_browser.c +++ b/swad_file_browser.c @@ -273,8 +273,8 @@ static const Brw_FileBrowser_t Brw_FileBrowserForDB_expanded_folders[Brw_NUM_TYP [Brw_ADMI_ASS_PRJ] = Brw_ADMI_ASS_PRJ, }; -// Browsers types for database "file_browser_last" table -// Assignments and works are stored as one in file_browser_last... +// Browsers types for database "brw_last" table +// Assignments and works are stored as one in brw_last... // ...because a user views them at the same time static const Brw_FileBrowser_t Brw_FileBrowserForDB_file_browser_last[Brw_NUM_TYPES_FILE_BROWSER] = { @@ -4206,7 +4206,7 @@ void Brw_RemoveInsFilesFromDB (long InsCod) the last time users visited file zones *****/ DB_QueryDELETE ("can not remove file last visits" " to files of an institution", - "DELETE FROM file_browser_last" + "DELETE FROM brw_last" " WHERE FileBrowser IN (%u,%u)" " AND Cod=%ld", (unsigned) Brw_ADMI_DOC_INS, @@ -4271,7 +4271,7 @@ void Brw_RemoveCtrFilesFromDB (long CtrCod) /***** Remove from database the entries that store the last time users visited file zones *****/ DB_QueryDELETE ("can not remove file last visits to files of a center", - "DELETE FROM file_browser_last" + "DELETE FROM brw_last" " WHERE FileBrowser IN (%u,%u)" " AND Cod=%ld", (unsigned) Brw_ADMI_DOC_CTR, @@ -4334,7 +4334,7 @@ void Brw_RemoveDegFilesFromDB (long DegCod) /***** Remove from database the entries that store the last time users visited file zones *****/ DB_QueryDELETE ("can not remove file last visits to files of a degree", - "DELETE FROM file_browser_last" + "DELETE FROM brw_last" " WHERE FileBrowser IN (%u,%u)" " AND Cod=%ld", (unsigned) Brw_ADMI_DOC_DEG, @@ -4512,11 +4512,11 @@ void Brw_RemoveCrsFilesFromDB (long CrsCod) SubqueryPrj); /***** Remove from database the entries that store the last time users visited file zones *****/ - // Assignments and works are stored as one in file_browser_last... + // Assignments and works are stored as one in brw_last... // ...because a user views them at the same time /* Remove from course file zones */ DB_QueryDELETE ("can not remove file last visits to files of a course", - "DELETE FROM file_browser_last" + "DELETE FROM brw_last" " WHERE FileBrowser IN (%u,%u,%u,%u,%u)" " AND Cod=%ld", (unsigned) Brw_ADMI_DOC_CRS, @@ -4528,7 +4528,7 @@ void Brw_RemoveCrsFilesFromDB (long CrsCod) /* Remove from group file zones */ DB_QueryDELETE ("can not remove file last visits to files of a course", - "DELETE FROM file_browser_last" + "DELETE FROM brw_last" " WHERE FileBrowser IN (%u,%u,%u,%u)" " AND Cod IN %s", (unsigned) Brw_ADMI_DOC_GRP, @@ -4539,7 +4539,7 @@ void Brw_RemoveCrsFilesFromDB (long CrsCod) /* Remove from project file zones */ DB_QueryDELETE ("can not remove file last visits to files of a course", - "DELETE FROM file_browser_last" + "DELETE FROM brw_last" " WHERE FileBrowser IN (%u,%u)" " AND Cod IN %s", (unsigned) Brw_ADMI_DOC_PRJ, @@ -4669,7 +4669,7 @@ void Brw_RemoveGrpFilesFromDB (long GrpCod) /***** Remove from database the entries that store the last time users visited file zones *****/ DB_QueryDELETE ("can not remove file last visits to files of a group", - "DELETE FROM file_browser_last" + "DELETE FROM brw_last" " WHERE FileBrowser IN (%u,%u,%u,%u)" " AND Cod=%ld", (unsigned) Brw_ADMI_DOC_GRP, @@ -4739,7 +4739,7 @@ void Brw_RemovePrjFilesFromDB (long PrjCod) /***** Remove from database the entries that store the last time users visited file zones *****/ DB_QueryDELETE ("can not remove file last visits to files of a project", - "DELETE FROM file_browser_last" + "DELETE FROM brw_last" " WHERE FileBrowser IN (%u,%u)" " AND Cod=%ld", (unsigned) Brw_ADMI_DOC_PRJ, @@ -4836,11 +4836,11 @@ void Brw_RemoveSomeInfoAboutCrsUsrFilesFromDB (long UsrCod,long CrsCod) CrsCod); /***** Remove from database the entries that store the last time user visited file zones *****/ - // Assignments and works are stored as one in file_browser_last... + // Assignments and works are stored as one in brw_last... // ...because a user views them at the same time DB_QueryDELETE ("can not remove file last visits to files of a course" " from a user", - "DELETE FROM file_browser_last" + "DELETE FROM brw_last" " WHERE UsrCod=%ld" " AND (" "(FileBrowser IN (%u,%u,%u,%u,%u)" @@ -4959,7 +4959,7 @@ void Brw_RemoveUsrFilesFromDB (long UsrCod) /***** Remove from database the entries that store the last time users visited file zones *****/ DB_QueryDELETE ("can not remove user's last visits to file zones", - "DELETE FROM file_browser_last" + "DELETE FROM brw_last" " WHERE UsrCod=%ld", // User's last visits to all zones UsrCod); @@ -5206,9 +5206,11 @@ static void Brw_GetAndUpdateDateLastAccFileBrowser (void) } NumRows = DB_QuerySELECT (&mysql_res,"can not get date-time" " of last access to a file browser", - "SELECT UNIX_TIMESTAMP(LastClick)" - " FROM file_browser_last" - " WHERE UsrCod=%ld AND FileBrowser=%u AND Cod=%ld", + "SELECT UNIX_TIMESTAMP(LastClick)" // row[0] + " FROM brw_last" + " WHERE UsrCod=%ld" + " AND FileBrowser=%u" + " AND Cod=%ld", Gbl.Usrs.Me.UsrDat.UsrCod, (unsigned) Brw_FileBrowserForDB_file_browser_last[Gbl.FileBrowser.Type], Cod); @@ -5232,7 +5234,7 @@ static void Brw_GetAndUpdateDateLastAccFileBrowser (void) /***** Update date of my last access to file browser in this course *****/ DB_QueryREPLACE ("can not update date of last access to a file browser", - "REPLACE INTO file_browser_last" + "REPLACE INTO brw_last" " (UsrCod,FileBrowser,Cod,LastClick)" " VALUES" " (%ld,%u,%ld,NOW())",