From ddf3c4e9a13a2ec056879ba18093ed8a56629941 Mon Sep 17 00:00:00 2001 From: acanas Date: Mon, 27 Mar 2023 09:14:16 +0200 Subject: [PATCH] Version 22.81.2: Mar 27, 2023 Changes in resources. --- swad_changelog.h | 9 +++--- swad_database.c | 72 ++++++++++++++++++++++---------------------- swad_exam_database.c | 18 +++++++++++ swad_exam_database.h | 1 + swad_exam_session.c | 2 +- swad_exam_session.h | 2 +- swad_resource.c | 8 ----- swad_resource.h | 4 +-- swad_text.c | 46 ---------------------------- 9 files changed, 63 insertions(+), 99 deletions(-) diff --git a/swad_changelog.h b/swad_changelog.h index 5ff66ae8..273690ce 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -629,15 +629,16 @@ TODO: Emilce Barrera Mesa: Podr TODO: Emilce Barrera Mesa: Mis estudiantes presentan muchas dificultades a la hora de poner la foto porque la plataforma es muy exigente respecto al fondo de la imagen. */ -#define Log_PLATFORM_VERSION "SWAD 22.81.1 (2023-03-26)" +#define Log_PLATFORM_VERSION "SWAD 22.81.2 (2023-03-26)" #define CSS_FILE "swad22.78.15.css" #define JS_FILE "swad22.49.js" /* + Version 22.81.2: Mar 27, 2023 Changes in resources. (337974 lines) Version 22.81.1: Mar 26, 2023 Changes in resources. (338012 lines) 5 changes necessary in database: -ALTER TABLE prg_clipboards CHANGE COLUMN Type Type ENUM('non','asg','prj','cfe','exa','ses','gam','mch','rub','doc','mrk','att','for','svy') NOT NULL DEFAULT 'non'; -ALTER TABLE prg_resources CHANGE COLUMN Type Type ENUM('non','asg','prj','cfe','exa','ses','gam','mch','rub','doc','mrk','att','for','svy') NOT NULL DEFAULT 'non'; -ALTER TABLE rub_criteria ADD COLUMN Type ENUM('non','asg','prj','cfe','exa','ses','gam','mch','rub','doc','mrk','att','for','svy') NOT NULL DEFAULT 'non' AFTER CriInd; +ALTER TABLE prg_clipboards CHANGE COLUMN Type Type ENUM('non','asg','prj','cfe','exa','gam','rub','doc','mrk','att','for','svy') NOT NULL DEFAULT 'non'; +ALTER TABLE prg_resources CHANGE COLUMN Type Type ENUM('non','asg','prj','cfe','exa','gam','rub','doc','mrk','att','for','svy') NOT NULL DEFAULT 'non'; +ALTER TABLE rub_criteria ADD COLUMN Type ENUM('non','asg','prj','cfe','exa','gam','rub','doc','mrk','att','for','svy') NOT NULL DEFAULT 'non' AFTER CriInd; ALTER TABLE rub_criteria DROP INDEX Source; ALTER TABLE rub_criteria DROP COLUMN Source; diff --git a/swad_database.c b/swad_database.c index 425d1088..32a9226d 100644 --- a/swad_database.c +++ b/swad_database.c @@ -2474,21 +2474,21 @@ mysql> DESCRIBE plg_plugins; /***** Table prg_clipboards *****/ /* mysql> DESCRIBE prg_clipboards; -+----------+-------------------------------------------------------------------------------------------+------+-----+---------+-------+ -| Field | Type | Null | Key | Default | Extra | -+----------+-------------------------------------------------------------------------------------------+------+-----+---------+-------+ -| UsrCod | int | NO | PRI | NULL | | -| CrsCod | int | NO | PRI | NULL | | -| Type | enum('non','asg','prj','cfe','exa','ses','gam','mch','rub','doc','mrk','att','for','svy') | NO | PRI | non | | -| Cod | int | NO | PRI | -1 | | -| CopyTime | timestamp | YES | MUL | NULL | | -+----------+-------------------------------------------------------------------------------------------+------+-----+---------+-------+ ++----------+-------------------------------------------------------------------------------+------+-----+---------+-------+ +| Field | Type | Null | Key | Default | Extra | ++----------+-------------------------------------------------------------------------------+------+-----+---------+-------+ +| UsrCod | int | NO | PRI | NULL | | +| CrsCod | int | NO | PRI | NULL | | +| Type | enum('non','asg','prj','cfe','exa','gam','rub','doc','mrk','att','for','svy') | NO | PRI | non | | +| Cod | int | NO | PRI | -1 | | +| CopyTime | timestamp | YES | MUL | NULL | | ++----------+-------------------------------------------------------------------------------+------+-----+---------+-------+ 5 rows in set (0,00 sec) */ DB_CreateTable ("CREATE TABLE IF NOT EXISTS prg_clipboards (" "UsrCod INT NOT NULL," "CrsCod INT NOT NULL," - "Type ENUM('non','asg','prj','cfe','exa','ses','gam','mch','rub','doc','mrk','att','for','svy') NOT NULL DEFAULT 'non'," + "Type ENUM('non','asg','prj','cfe','exa','gam','rub','doc','mrk','att','for','svy') NOT NULL DEFAULT 'non'," "Cod INT NOT NULL DEFAULT -1," "CopyTime TIMESTAMP," "UNIQUE INDEX(UsrCod,CrsCod,Type,Cod)," @@ -2552,17 +2552,17 @@ mysql> DESCRIBE prg_items; /***** Table prg_resources *****/ /* mysql> DESCRIBE prg_resources; -+--------+-------------------------------------------------------------------------------------------+------+-----+---------+----------------+ -| Field | Type | Null | Key | Default | Extra | -+--------+-------------------------------------------------------------------------------------------+------+-----+---------+----------------+ -| RscCod | int | NO | PRI | NULL | auto_increment | -| ItmCod | int | NO | MUL | -1 | | -| RscInd | int | NO | | 0 | | -| Hidden | enum('N','Y') | NO | | N | | -| Type | enum('non','asg','prj','cfe','exa','ses','gam','mch','rub','doc','mrk','att','for','svy') | NO | | non | | -| Cod | int | NO | | -1 | | -| Title | varchar(2047) | NO | | NULL | | -+--------+-------------------------------------------------------------------------------------------+------+-----+---------+----------------+ ++--------+-------------------------------------------------------------------------------+------+-----+---------+----------------+ +| Field | Type | Null | Key | Default | Extra | ++--------+-------------------------------------------------------------------------------+------+-----+---------+----------------+ +| RscCod | int | NO | PRI | NULL | auto_increment | +| ItmCod | int | NO | MUL | -1 | | +| RscInd | int | NO | | 0 | | +| Hidden | enum('N','Y') | NO | | N | | +| Type | enum('non','asg','prj','cfe','exa','gam','rub','doc','mrk','att','for','svy') | NO | | non | | +| Cod | int | NO | | -1 | | +| Title | varchar(2047) | NO | | NULL | | ++--------+-------------------------------------------------------------------------------+------+-----+---------+----------------+ 7 rows in set (0,00 sec) */ DB_CreateTable ("CREATE TABLE IF NOT EXISTS prg_resources (" @@ -2570,7 +2570,7 @@ mysql> DESCRIBE prg_resources; "ItmCod INT NOT NULL DEFAULT -1," "RscInd INT NOT NULL DEFAULT 0," "Hidden ENUM('N','Y') NOT NULL DEFAULT 'N'," - "Type ENUM('non','asg','prj','cfe','exa','ses','gam','mch','rub','doc','mrk','att','for','svy') NOT NULL DEFAULT 'non'," + "Type ENUM('non','asg','prj','cfe','exa','gam','rub','doc','mrk','att','for','svy') NOT NULL DEFAULT 'non'," "Title VARCHAR(2047) NOT NULL," // Rsc_MAX_BYTES_RESOURCE_TITLE "UNIQUE INDEX(RscCod)," "UNIQUE INDEX(ItmCod,RscInd))"); @@ -2779,26 +2779,26 @@ mysql> DESCRIBE roo_check_in; /***** Table rub_criteria *****/ /* mysql> DESCRIBE rub_criteria; -+--------+-------------------------------------------------------------------------------------------+------+-----+---------+----------------+ -| Field | Type | Null | Key | Default | Extra | -+--------+-------------------------------------------------------------------------------------------+------+-----+---------+----------------+ -| CriCod | int | NO | PRI | NULL | auto_increment | -| RubCod | int | NO | MUL | NULL | | -| CriInd | int | NO | | NULL | | -| Type | enum('non','asg','prj','cfe','exa','ses','gam','mch','rub','doc','mrk','att','for','svy') | NO | | non | | -| Cod | int | NO | | -1 | | -| MinVal | double | NO | | 0 | | -| MaxVal | double | NO | | 1 | | -| Weight | double | NO | | 1 | | -| Title | varchar(2047) | NO | | NULL | | -+--------+-------------------------------------------------------------------------------------------+------+-----+---------+----------------+ ++--------+-------------------------------------------------------------------------------+------+-----+---------+----------------+ +| Field | Type | Null | Key | Default | Extra | ++--------+-------------------------------------------------------------------------------+------+-----+---------+----------------+ +| CriCod | int | NO | PRI | NULL | auto_increment | +| RubCod | int | NO | MUL | NULL | | +| CriInd | int | NO | | NULL | | +| Type | enum('non','asg','prj','cfe','exa','gam','rub','doc','mrk','att','for','svy') | NO | | non | | +| Cod | int | NO | | -1 | | +| MinVal | double | NO | | 0 | | +| MaxVal | double | NO | | 1 | | +| Weight | double | NO | | 1 | | +| Title | varchar(2047) | NO | | NULL | | ++--------+-------------------------------------------------------------------------------+------+-----+---------+----------------+ 9 rows in set (0,00 sec) */ DB_CreateTable ("CREATE TABLE IF NOT EXISTS rub_criteria (" "CriCod INT NOT NULL AUTO_INCREMENT," "RubCod INT NOT NULL," "CriInd INT NOT NULL," - "Type ENUM('non','asg','prj','cfe','exa','ses','gam','mch','rub','doc','mrk','att','for','svy')," + "Type ENUM('non','asg','prj','cfe','exa','gam','rub','doc','mrk','att','for','svy')," "Cod INT NOT NULL DEFAULT -1," "MinVal DOUBLE PRECISION NOT NULL DEFAULT 0," "MaxVal DOUBLE PRECISION NOT NULL DEFAULT 1," diff --git a/swad_exam_database.c b/swad_exam_database.c index b60fb1bc..030c6ad2 100644 --- a/swad_exam_database.c +++ b/swad_exam_database.c @@ -1484,6 +1484,24 @@ unsigned Exa_DB_GetSessionDataByCod (MYSQL_RES **mysql_res,long SesCod) Gbl.Hierarchy.Crs.CrsCod); } +/*****************************************************************************/ +/******************* Get exam session title from database ********************/ +/*****************************************************************************/ + +void Exa_DB_GetSessionTitle (long SesCod,char Title[ExaSes_MAX_BYTES_TITLE + 1]) + { + DB_QuerySELECTString (Title,Exa_MAX_BYTES_TITLE,"can not get session title", + "SELECT Title" // row[0] + " FROM exa_sessions" + " WHERE SesCod=%ld" + " AND ExaCod IN" // Extra check + " (SELECT ExaCod" + " FROM exa_exams" + " WHERE CrsCod=%ld)", + SesCod, + Gbl.Hierarchy.Crs.CrsCod); + } + /*****************************************************************************/ /***************** Toggle visibility of exam session results *****************/ /*****************************************************************************/ diff --git a/swad_exam_database.h b/swad_exam_database.h index 74abcac4..05f9dd00 100644 --- a/swad_exam_database.h +++ b/swad_exam_database.h @@ -115,6 +115,7 @@ unsigned Exa_DB_GetNumSessionsInExam (long ExaCod); unsigned Exa_DB_GetNumOpenSessionsInExam (long ExaCod); unsigned Exa_DB_GetSessions (MYSQL_RES **mysql_res,long ExaCod); unsigned Exa_DB_GetSessionDataByCod (MYSQL_RES **mysql_res,long SesCod); +void Exa_DB_GetSessionTitle (long SesCod,char Title[ExaSes_MAX_BYTES_TITLE + 1]); void Exa_DB_ToggleVisResultsSesUsr (const struct ExaSes_Session *Session); void Exa_DB_HideUnhideSession (const struct ExaSes_Session *Session,bool Hide); void Exa_DB_RemoveSessionFromAllTables (long SesCod); diff --git a/swad_exam_session.c b/swad_exam_session.c index 29442777..4611ebfb 100644 --- a/swad_exam_session.c +++ b/swad_exam_session.c @@ -936,7 +936,7 @@ void ExaSes_PutParsEdit (void *Exams) /*****************************************************************************/ void ExaSes_GetAndCheckPars (struct Exa_Exams *Exams, - struct ExaSes_Session *Session) + struct ExaSes_Session *Session) { /***** Get parameters *****/ Exa_GetPars (Exams,true); diff --git a/swad_exam_session.h b/swad_exam_session.h index aa321ef5..168b53b8 100644 --- a/swad_exam_session.h +++ b/swad_exam_session.h @@ -65,7 +65,7 @@ void ExaSes_UnhideSession (void); void ExaSes_PutParsEdit (void *Exams); void ExaSes_GetAndCheckPars (struct Exa_Exams *Exams, - struct ExaSes_Session *Session); + struct ExaSes_Session *Session); void ExaSes_PutButtonNewSession (struct Exa_Exams *Exams); void ExaSes_ReqCreatOrEditSes (void); diff --git a/swad_resource.c b/swad_resource.c index 1a7a9faa..50a197fc 100644 --- a/swad_resource.c +++ b/swad_resource.c @@ -61,9 +61,7 @@ const char *Rsc_ResourceTypesDB[Rsc_NUM_TYPES] = [Rsc_CALL_FOR_EXAM ] = "cfe", // tst TEST // User selects tags, teacher should select [Rsc_EXAM ] = "exa", - [Rsc_EXAM_SESSION ] = "ses", [Rsc_GAME ] = "gam", - [Rsc_GAME_MATCH ] = "mch", [Rsc_RUBRIC ] = "rub", [Rsc_DOCUMENT ] = "doc", [Rsc_MARKS ] = "mrk", @@ -86,9 +84,7 @@ const char *Rsc_ResourceTypesIcons[Rsc_NUM_TYPES] = [Rsc_CALL_FOR_EXAM ] = "bullhorn.svg", // tst TEST // User selects tags, teacher should select [Rsc_EXAM ] = "file-signature.svg", - [Rsc_EXAM_SESSION ] = "file-signature.svg", [Rsc_GAME ] = "gamepad.svg", - [Rsc_GAME_MATCH ] = "gamepad.svg", [Rsc_RUBRIC ] = "tasks.svg", [Rsc_DOCUMENT ] = "folder-open.svg", [Rsc_MARKS ] = "list-alt.svg", @@ -148,9 +144,7 @@ void Rsc_WriteLinkName (const struct Rsc_Link *Link,bool PutFormToGo, [Rsc_PROJECT ] = PrjRsc_WriteResourceProject, [Rsc_CALL_FOR_EXAM ] = CfeRsc_WriteResourceCallForExam, [Rsc_EXAM ] = ExaRsc_WriteResourceExam, - [Rsc_EXAM_SESSION ] = ExaRsc_WriteResourceExam, // TODO [Rsc_GAME ] = GamRsc_WriteResourceGame, - [Rsc_GAME_MATCH ] = GamRsc_WriteResourceGame, // TODO [Rsc_RUBRIC ] = Rsc_WriteResourceEmpty, // TODO [Rsc_DOCUMENT ] = BrwRsc_WriteResourceDocument, [Rsc_MARKS ] = BrwRsc_WriteResourceMarksFile, @@ -197,9 +191,7 @@ void Rsc_GetResourceTitleFromLink (struct Rsc_Link *Link, [Rsc_PROJECT ] = PrjRsc_GetTitleFromPrjCod, [Rsc_CALL_FOR_EXAM ] = CfeRsc_GetTitleFromExaCod, [Rsc_EXAM ] = ExaRsc_GetTitleFromExaCod, - [Rsc_EXAM_SESSION ] = ExaRsc_GetTitleFromExaCod, // TODO [Rsc_GAME ] = GamRsc_GetTitleFromGamCod, - [Rsc_GAME_MATCH ] = GamRsc_GetTitleFromGamCod, // TODO [Rsc_RUBRIC ] = NULL, // TODO [Rsc_DOCUMENT ] = BrwRsc_GetTitleFromDocFilCod, [Rsc_MARKS ] = BrwRsc_GetTitleFromMrkFilCod, diff --git a/swad_resource.h b/swad_resource.h index 40522354..c7c1d99d 100644 --- a/swad_resource.h +++ b/swad_resource.h @@ -38,7 +38,7 @@ #define Rsc_MAX_CHARS_RESOURCE_TITLE (128 - 1) // 127 #define Rsc_MAX_BYTES_RESOURCE_TITLE ((Rsc_MAX_CHARS_RESOURCE_TITLE + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047 -#define Rsc_NUM_TYPES 14 +#define Rsc_NUM_TYPES 12 typedef enum { Rsc_NONE, @@ -52,9 +52,7 @@ typedef enum Rsc_CALL_FOR_EXAM, // tst TEST // User selects tags, teacher should select Rsc_EXAM, - Rsc_EXAM_SESSION, Rsc_GAME, - Rsc_GAME_MATCH, Rsc_RUBRIC, Rsc_DOCUMENT, Rsc_MARKS, diff --git a/swad_text.c b/swad_text.c index 5651e8bb..8e444497 100644 --- a/swad_text.c +++ b/swad_text.c @@ -36522,29 +36522,6 @@ const char *Txt_RESOURCE_TYPES[Rsc_NUM_TYPES] = "Exame" #elif L==10 // tr "Sınav" -#endif - , - [Rsc_EXAM_SESSION] = -#if L==1 // ca - "Sessió d'examen" -#elif L==2 // de - "Prüfungssitzung" -#elif L==3 // en - "Exam session" -#elif L==4 // es - "Sesión de examen" -#elif L==5 // fr - "Session d'examen" -#elif L==6 // gn - "Sesión de examen" // Okoteve traducción -#elif L==7 // it - "Sessione d'esame" -#elif L==8 // pl - "Sesja egzaminacyjna" -#elif L==9 // pt - "Sessão de exame" -#elif L==10 // tr - "Sınav oturumu" #endif , [Rsc_GAME] = @@ -36568,29 +36545,6 @@ const char *Txt_RESOURCE_TYPES[Rsc_NUM_TYPES] = "Jogo" #elif L==10 // tr "Oyun" -#endif - , - [Rsc_GAME_MATCH] = -#if L==1 // ca - "Partida" -#elif L==2 // de - "Spiel" -#elif L==3 // en - "Match" -#elif L==4 // es - "Partida" -#elif L==5 // fr - "Match" -#elif L==6 // gn - "Ñes&etilde;ha" -#elif L==7 // it - "Partita" -#elif L==8 // pl - "Mecz" -#elif L==9 // pt - "Jogo" -#elif L==10 // tr - "Maç" #endif , [Rsc_RUBRIC] =