diff --git a/Makefile b/Makefile
index ed1762bd..b016ec41 100644
--- a/Makefile
+++ b/Makefile
@@ -36,7 +36,8 @@ OBJS = swad_account.o swad_action.o swad_agenda.o swad_alert.o \
swad_database.o swad_date.o swad_degree.o swad_degree_config.o \
swad_degree_type.o swad_department.o swad_duplicate.o \
swad_enrolment.o swad_exam.o swad_exam_announcement.o \
- swad_exam_event.o swad_exam_print.o swad_exam_result.o swad_exam_set.o \
+ swad_exam_print.o swad_exam_result.o swad_exam_session.o \
+ swad_exam_set.o \
swad_figure.o swad_figure_cache.o swad_file.o swad_file_browser.o \
swad_file_extension.o swad_file_MIME.o swad_firewall.o swad_follow.o \
swad_form.o swad_forum.o \
diff --git a/sql/swad.sql b/sql/swad.sql
index 03590f25..a7ac0c5d 100644
--- a/sql/swad.sql
+++ b/sql/swad.sql
@@ -453,21 +453,21 @@ CREATE TABLE IF NOT EXISTS departments (
-- Table exa_groups: stores the groups associated to each event in an exam
--
CREATE TABLE IF NOT EXISTS exa_groups (
- EvtCod INT NOT NULL,
+ SesCod INT NOT NULL,
GrpCod INT NOT NULL,
- UNIQUE INDEX(EvtCod,GrpCod));
+ UNIQUE INDEX(SesCod,GrpCod));
--
--- Table exa_events: stores the events (exams instances) that have already taken place
+-- Table exa_sessions: stores the exam sessions that have already taken place
--
-CREATE TABLE IF NOT EXISTS exa_events (
- EvtCod INT NOT NULL AUTO_INCREMENT,
+CREATE TABLE IF NOT EXISTS exa_sessions (
+ SesCod INT NOT NULL AUTO_INCREMENT,
ExaCod INT NOT NULL,
Hidden ENUM('N','Y') NOT NULL DEFAULT 'N',
UsrCod INT NOT NULL,
StartTime DATETIME NOT NULL,
EndTime DATETIME NOT NULL,
Title VARCHAR(2047) NOT NULL,
- UNIQUE INDEX(EvtCod),
+ UNIQUE INDEX(SesCod),
INDEX(ExaCod));
--
-- Table exa_exams: stores the exams
@@ -500,7 +500,7 @@ CREATE TABLE IF NOT EXISTS exa_print_questions (
--
CREATE TABLE IF NOT EXISTS exa_prints (
PrnCod INT NOT NULL AUTO_INCREMENT,
- EvtCod INT NOT NULL,
+ SesCod INT NOT NULL,
UsrCod INT NOT NULL,
StartTime DATETIME NOT NULL,
EndTime DATETIME NOT NULL,
@@ -509,7 +509,7 @@ CREATE TABLE IF NOT EXISTS exa_prints (
Sent ENUM('N','Y') NOT NULL DEFAULT 'N',
Score DOUBLE PRECISION NOT NULL DEFAULT 0,
UNIQUE INDEX(PrnCod),
- UNIQUE INDEX(EvtCod,UsrCod));
+ UNIQUE INDEX(SesCod,UsrCod));
--
-- Table exa_set_answers: stores the answers of questions in exam sets
--
diff --git a/swad_action.c b/swad_action.c
index 9caa8f56..cdb99728 100644
--- a/swad_action.c
+++ b/swad_action.c
@@ -48,9 +48,9 @@
#include "swad_duplicate.h"
#include "swad_exam.h"
#include "swad_exam_announcement.h"
-#include "swad_exam_event.h"
#include "swad_exam_print.h"
#include "swad_exam_result.h"
+#include "swad_exam_session.h"
#include "swad_exam_set.h"
#include "swad_enrolment.h"
#include "swad_figure.h"
@@ -679,14 +679,14 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActSeeExa ] = {1849,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_SeeOneExam ,NULL},
- [ActReqNewExaEvt ] = {1852,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaEvt_RequestCreatOrEditEvent ,NULL},
- [ActEdiOneExaEvt ] = {1902,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaEvt_RequestCreatOrEditEvent ,NULL},
- [ActNewExaEvt ] = {1853,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaEvt_ReceiveFormEvent ,NULL},
- [ActChgExaEvt ] = {1903,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaEvt_ReceiveFormEvent ,NULL},
- [ActReqRemExaEvt ] = {1850,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaEvt_RequestRemoveEvent ,NULL},
- [ActRemExaEvt ] = {1851,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaEvt_RemoveEvent ,NULL},
- [ActHidExaEvt ] = {1900,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaEvt_HideEvent ,NULL},
- [ActShoExaEvt ] = {1901,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaEvt_UnhideEvent ,NULL},
+ [ActReqNewExaEvt ] = {1852,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_RequestCreatOrEditSession ,NULL},
+ [ActEdiOneExaEvt ] = {1902,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_RequestCreatOrEditSession ,NULL},
+ [ActNewExaEvt ] = {1853,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_ReceiveFormSession ,NULL},
+ [ActChgExaEvt ] = {1903,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_ReceiveFormSession ,NULL},
+ [ActReqRemExaEvt ] = {1850,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_RequestRemoveSession ,NULL},
+ [ActRemExaEvt ] = {1851,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_RemoveSession ,NULL},
+ [ActHidExaEvt ] = {1900,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_HideSession ,NULL},
+ [ActShoExaEvt ] = {1901,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_UnhideSession ,NULL},
[ActSeeMyExaEvtResCrs] = {1867,-1,TabUnk,ActSeeAllExa ,0x208,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaRes_ShowMyExaResultsInCrs ,NULL},
[ActSeeMyExaEvtResExa] = {1868,-1,TabUnk,ActSeeAllExa ,0x208,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaRes_ShowMyExaResultsInExa ,NULL},
@@ -699,7 +699,7 @@ const struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
[ActSeeAllExaEvtResEvt] = {1874,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaRes_ShowAllExaResultsInEvt ,NULL},
[ActSeeOneExaEvtResOth] = {1875,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaRes_ShowOneExaResult ,NULL},
- [ActChgVisResExaEvtUsr] = {1876,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaEvt_ToggleVisResultsEvtUsr ,NULL},
+ [ActChgVisResExaEvtUsr] = {1876,-1,TabUnk,ActSeeAllExa ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,ExaSes_ToggleVisResultsSesUsr ,NULL},
[ActFrmNewExa ] = {1877,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_RequestCreatOrEditExam ,NULL},
[ActEdiOneExa ] = {1878,-1,TabUnk,ActSeeAllExa ,0x238,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Exa_RequestCreatOrEditExam ,NULL},
diff --git a/swad_changelog.h b/swad_changelog.h
index d6a395b7..34031090 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -472,6 +472,15 @@ contiene una de las que yo imparto. As
// TODO: ¿Añadir dos columnas a resultados de juegos entre "Preguntas contestadas" y "Puntuación total": Preguntas "Correctas" y Preguntas "Erróneas"?
// Problema: sólo es aplicable a tipo test
+// TODO: En los avisos amarillos aparecen enlaces, pero en las copias de ellos en el timeline
+// no se insertan los hipervínculos de los avisos.
+// No los añadí en su momento porque se copian los primeros caracteres del mensaje,
+// pudiendo cortarse en mitad de un enlace.
+// Es decir, porque es complicadillo de hacer.
+// Lo mejor sería limitar la longitud máximoa de los avisos a N caracteres,
+// igual que los posts del timeline, y así ponerlos completos siempre, con enlaces y todo.
+// De camino evitaría los avisos kilométricos.
+
// TODO: Si hay accesos a un centro y el centro se elimina, al clicar en el acceso sale un mensaje de "Usted no tiene permiso para realizar esta acción." en lugar de "No existe el centro"
// TODO: Poner en swad.cfg varias líneas de swad_config.h para que sea más configurable
@@ -548,14 +557,29 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
-#define Log_PLATFORM_VERSION "SWAD 19.232.1 (2020-05-16)"
+#define Log_PLATFORM_VERSION "SWAD 19.233 (2020-05-17)"
#define CSS_FILE "swad19.230.1.css"
#define JS_FILE "swad19.230.3.js"
/*
TODO: Comprobar si el directorio público que devuelve Ses_GetPublicDirFromCache sigue existiendo.
// Si no existe, hay que crear un nuevo directorio y meterlo en cache
- Version 19.232.1: May 16, 2020 Changes in contextual icons in bank of questions and test. (301004 lines)
+ Version 19.233: May 17, 2020 Exam event is renamed as exam session. (301028 lines)
+ 7 changes necessary in database:
+RENAME TABLE exa_events TO exa_sessions;
+ALTER TABLE exa_groups CHANGE COLUMN EvtCod SesCod INT NOT NULL;
+ALTER TABLE exa_prints CHANGE COLUMN EvtCod SesCod INT NOT NULL;
+ALTER TABLE exa_sessions CHANGE COLUMN EvtCod SesCod INT NOT NULL AUTO_INCREMENT;
+ALTER TABLE exa_groups DROP INDEX EvtCod,ADD UNIQUE INDEX(SesCod,GrpCod);
+ALTER TABLE exa_prints DROP INDEX EvtCod,ADD UNIQUE INDEX(SesCod,UsrCod);
+ALTER TABLE exa_sessions DROP INDEX EvtCod,ADD UNIQUE INDEX(SesCod);
+
+ Version 19.232.2: May 16, 2020 When a new tag is created, it is marked as hidden. (301007 lines)
+ Version 19.232.1: May 16, 2020 Changes in contextual icons in bank of questions and test. (301006 lines)
+ Copy the following 2 icons to icon public directory:
+sudo cp icon/iconset/nuvola/house-user.svg /var/www/html/swad/icon/iconset/nuvola/
+sudo cp icon/iconset/nuvola/tasks.png /var/www/html/swad/icon/iconset/nuvola/
+
Version 19.232: May 16, 2020 New option to edit questions separated from tests. (301000 lines)
Version 19.231: May 16, 2020 Fixed bugs and code refactoring in exam results. (300956 lines)
Version 19.230.3: May 15, 2020 Update maths in exam prints when user answers. (301037 lines)
@@ -728,7 +752,7 @@ ALTER TABLE crs_usr DROP COLUMN LastDowGrpCod, DROP COLUMN LastComGrpCod, DROP C
ALTER TABLE crs_usr_last ENGINE=MyISAM;
OPTIMIZE TABLE crs_usr_last;
OPTIMIZE TABLE crs_usr;
---------------
+
Version 19.206.3: Apr 30, 2020 Added indexes on database table. (300244 lines)
10 changes necessary in database:
RENAME TABLE crs_usr TO crs_usr_old;
diff --git a/swad_database.c b/swad_database.c
index 7961e057..aa0d71fd 100644
--- a/swad_database.c
+++ b/swad_database.c
@@ -1005,44 +1005,15 @@ mysql> DESCRIBE exa_groups;
+--------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+--------+---------+------+-----+---------+-------+
-| EvtCod | int(11) | NO | PRI | NULL | |
+| SesCod | int(11) | NO | PRI | NULL | |
| GrpCod | int(11) | NO | PRI | NULL | |
+--------+---------+------+-----+---------+-------+
-2 rows in set (0.01 sec)
+2 rows in set (0.00 sec)
*/
DB_CreateTable ("CREATE TABLE IF NOT EXISTS exa_groups ("
- "EvtCod INT NOT NULL,"
+ "SesCod INT NOT NULL,"
"GrpCod INT NOT NULL,"
- "UNIQUE INDEX(EvtCod,GrpCod))");
-
- /***** Table exa_events *****/
-/*
-mysql> DESCRIBE exa_events;
-+----------------+---------------+------+-----+---------+----------------+
-| Field | Type | Null | Key | Default | Extra |
-+----------------+---------------+------+-----+---------+----------------+
-| EvtCod | int(11) | NO | PRI | NULL | auto_increment |
-| ExaCod | int(11) | NO | MUL | NULL | |
-| Hidden | enum('N','Y') | NO | | N | |
-| UsrCod | int(11) | NO | | NULL | |
-| StartTime | datetime | NO | | NULL | |
-| EndTime | datetime | NO | | NULL | |
-| Title | varchar(2047) | NO | | NULL | |
-| ShowUsrResults | enum('N','Y') | NO | | N | |
-+----------------+---------------+------+-----+---------+----------------+
-8 rows in set (0.00 sec)
-*/
- DB_CreateTable ("CREATE TABLE IF NOT EXISTS exa_events ("
- "EvtCod INT NOT NULL AUTO_INCREMENT,"
- "ExaCod INT NOT NULL,"
- "Hidden ENUM('N','Y') NOT NULL DEFAULT 'N',"
- "UsrCod INT NOT NULL,"
- "StartTime DATETIME NOT NULL,"
- "EndTime DATETIME NOT NULL,"
- "Title VARCHAR(2047) NOT NULL," // ExaEvt_MAX_BYTES_TITLE
- "ShowUsrResults ENUM('N','Y') NOT NULL DEFAULT 'N',"
- "UNIQUE INDEX(EvtCod),"
- "INDEX(ExaCod))");
+ "UNIQUE INDEX(SesCod,GrpCod))");
/***** Table exa_exams *****/
/*
@@ -1106,7 +1077,7 @@ mysql> DESCRIBE exa_prints;
| Field | Type | Null | Key | Default | Extra |
+-----------------+---------------+------+-----+---------+----------------+
| PrnCod | int(11) | NO | PRI | NULL | auto_increment |
-| EvtCod | int(11) | NO | MUL | NULL | |
+| SesCod | int(11) | NO | MUL | NULL | |
| UsrCod | int(11) | NO | | NULL | |
| StartTime | datetime | NO | | NULL | |
| EndTime | datetime | NO | | NULL | |
@@ -1119,7 +1090,7 @@ mysql> DESCRIBE exa_prints;
*/
DB_CreateTable ("CREATE TABLE IF NOT EXISTS exa_prints ("
"PrnCod INT NOT NULL AUTO_INCREMENT,"
- "EvtCod INT NOT NULL,"
+ "SesCod INT NOT NULL,"
"UsrCod INT NOT NULL,"
"StartTime DATETIME NOT NULL,"
"EndTime DATETIME NOT NULL,"
@@ -1128,7 +1099,36 @@ mysql> DESCRIBE exa_prints;
"Sent ENUM('N','Y') NOT NULL DEFAULT 'N',"
"Score DOUBLE PRECISION NOT NULL DEFAULT 0,"
"UNIQUE INDEX(PrnCod),"
- "UNIQUE INDEX(EvtCod,UsrCod))");
+ "UNIQUE INDEX(SesCod,UsrCod))");
+
+ /***** Table exa_sessions *****/
+/*
+mysql> DESCRIBE exa_sessions;
++----------------+---------------+------+-----+---------+----------------+
+| Field | Type | Null | Key | Default | Extra |
++----------------+---------------+------+-----+---------+----------------+
+| SesCod | int(11) | NO | PRI | NULL | auto_increment |
+| ExaCod | int(11) | NO | MUL | NULL | |
+| Hidden | enum('N','Y') | NO | | N | |
+| UsrCod | int(11) | NO | | NULL | |
+| StartTime | datetime | NO | | NULL | |
+| EndTime | datetime | NO | | NULL | |
+| Title | varchar(2047) | NO | | NULL | |
+| ShowUsrResults | enum('N','Y') | NO | | N | |
++----------------+---------------+------+-----+---------+----------------+
+8 rows in set (0.00 sec)
+*/
+ DB_CreateTable ("CREATE TABLE IF NOT EXISTS exa_sessions ("
+ "SesCod INT NOT NULL AUTO_INCREMENT,"
+ "ExaCod INT NOT NULL,"
+ "Hidden ENUM('N','Y') NOT NULL DEFAULT 'N',"
+ "UsrCod INT NOT NULL,"
+ "StartTime DATETIME NOT NULL,"
+ "EndTime DATETIME NOT NULL,"
+ "Title VARCHAR(2047) NOT NULL," // ExaSes_MAX_BYTES_TITLE
+ "ShowUsrResults ENUM('N','Y') NOT NULL DEFAULT 'N',"
+ "UNIQUE INDEX(SesCod),"
+ "INDEX(ExaCod))");
/***** Table exa_set_answers *****/
/*
diff --git a/swad_exam.c b/swad_exam.c
index 173b5621..a796fe68 100644
--- a/swad_exam.c
+++ b/swad_exam.c
@@ -36,8 +36,8 @@
#include "swad_database.h"
#include "swad_exam.h"
-#include "swad_exam_event.h"
#include "swad_exam_result.h"
+#include "swad_exam_session.h"
#include "swad_exam_set.h"
#include "swad_exam_type.h"
#include "swad_figure.h"
@@ -157,7 +157,7 @@ void Exa_ResetExams (struct Exa_Exams *Exams)
Exams->ListQuestions = NULL;
Exams->ExaCodsSelected = NULL; // String with selected exam codes separated by separator multiple
Exams->ExaCod = -1L; // Selected/current exam code
- Exams->EvtCod = -1L; // Selected/current event code
+ Exams->SesCod = -1L; // Selected/current session code
Exams->SetInd = 0; // Current set index
Exams->QstCod = -1L; // Current question code
}
@@ -180,8 +180,8 @@ void Exa_ResetExam (struct Exa_Exam *Exam)
Exam->Hidden = false;
Exam->NumSets = 0;
Exam->NumQsts = 0;
- Exam->NumEvts = 0;
- Exam->NumOpenEvts = 0;
+ Exam->NumSess = 0;
+ Exam->NumOpenSess = 0;
}
/*****************************************************************************/
@@ -212,7 +212,7 @@ static void Exa_ListAllExams (struct Exa_Exams *Exams)
extern const char *Txt_Exams;
extern const char *Txt_EXAMS_ORDER_HELP[Exa_NUM_ORDERS];
extern const char *Txt_EXAMS_ORDER[Exa_NUM_ORDERS];
- extern const char *Txt_Events;
+ extern const char *Txt_Sessions;
extern const char *Txt_No_exams;
Exa_Order_t Order;
struct Pagination Pagination;
@@ -271,7 +271,7 @@ static void Exa_ListAllExams (struct Exa_Exams *Exams)
HTM_TH_End ();
}
- HTM_TH (1,1,"RM",Txt_Events);
+ HTM_TH (1,1,"RM",Txt_Sessions);
HTM_TR_End ();
@@ -341,7 +341,7 @@ static void Exa_PutIconsListExams (void *Exams)
if (Exa_CheckIfICanEditExams ())
Exa_PutIconToCreateNewExam ((struct Exa_Exams *) Exams);
- /***** Put icon to view events results *****/
+ /***** Put icon to view sessions results *****/
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_STD:
@@ -411,12 +411,12 @@ void Exa_SeeOneExam (void)
{
struct Exa_Exams Exams;
struct Exa_Exam Exam;
- struct ExaEvt_Event Event;
+ struct ExaSes_Session Session;
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
Exa_ResetExam (&Exam);
- ExaEvt_ResetEvent (&Event);
+ ExaSes_ResetSession (&Session);
/***** Get parameters *****/
Exa_GetParams (&Exams);
@@ -429,8 +429,8 @@ void Exa_SeeOneExam (void)
Exams.ExaCod = Exam.ExaCod;
/***** Show exam *****/
- Exa_ShowOnlyOneExam (&Exams,&Exam,&Event,
- false); // Do not put form for event
+ Exa_ShowOnlyOneExam (&Exams,&Exam,&Session,
+ false); // Do not put form for session
}
/*****************************************************************************/
@@ -439,17 +439,17 @@ void Exa_SeeOneExam (void)
void Exa_ShowOnlyOneExam (struct Exa_Exams *Exams,
struct Exa_Exam *Exam,
- struct ExaEvt_Event *Event,
- bool PutFormEvent)
+ struct ExaSes_Session *Session,
+ bool PutFormSession)
{
- Exa_ShowOnlyOneExamBegin (Exams,Exam,Event,PutFormEvent);
+ Exa_ShowOnlyOneExamBegin (Exams,Exam,Session,PutFormSession);
Exa_ShowOnlyOneExamEnd ();
}
void Exa_ShowOnlyOneExamBegin (struct Exa_Exams *Exams,
struct Exa_Exam *Exam,
- struct ExaEvt_Event *Event,
- bool PutFormEvent)
+ struct ExaSes_Session *Session,
+ bool PutFormSession)
{
extern const char *Hlp_ASSESSMENT_Exams;
extern const char *Txt_Exam;
@@ -465,8 +465,8 @@ void Exa_ShowOnlyOneExamBegin (struct Exa_Exams *Exams,
Exam,
true); // Show only this exam
- /***** List events *****/
- ExaEvt_ListEvents (Exams,Exam,Event,PutFormEvent);
+ /***** List sessions *****/
+ ExaSes_ListSessions (Exams,Exam,Session,PutFormSession);
}
void Exa_ShowOnlyOneExamEnd (void)
@@ -482,7 +482,7 @@ static void Exa_ShowOneExam (struct Exa_Exams *Exams,
extern const char *Txt_Sets_of_questions;
extern const char *Txt_Maximum_grade;
extern const char *Txt_Result_visibility;
- extern const char *Txt_Events;
+ extern const char *Txt_Sessions;
char *Anchor;
static unsigned UniqueId = 0;
char *Id;
@@ -522,7 +522,7 @@ static void Exa_ShowOneExam (struct Exa_Exams *Exams,
{
if (asprintf (&Id,"exa_date_%u_%u",(unsigned) StartEndTime,UniqueId) < 0)
Lay_NotEnoughMemoryExit ();
- Color = Exam->NumOpenEvts ? (Exam->Hidden ? "DATE_GREEN_LIGHT":
+ Color = Exam->NumOpenSess ? (Exam->Hidden ? "DATE_GREEN_LIGHT":
"DATE_GREEN") :
(Exam->Hidden ? "DATE_RED_LIGHT":
"DATE_RED");
@@ -573,7 +573,7 @@ static void Exa_ShowOneExam (struct Exa_Exams *Exams,
TstVis_ShowVisibilityIcons (Exam->Visibility,Exam->Hidden);
HTM_DIV_End ();
- /***** Number of events in exam *****/
+ /***** Number of sessions in exam *****/
if (ShowOnlyThisExam)
HTM_TD_Begin ("class=\"RT\"");
else
@@ -582,13 +582,13 @@ static void Exa_ShowOneExam (struct Exa_Exams *Exams,
Exams->ExaCod = Exam->ExaCod;
Frm_StartForm (ActSeeExa);
Exa_PutParams (Exams);
- HTM_BUTTON_SUBMIT_Begin (Txt_Events,
+ HTM_BUTTON_SUBMIT_Begin (Txt_Sessions,
Exam->Hidden ? "BT_LINK LT ASG_TITLE_LIGHT" :
"BT_LINK LT ASG_TITLE",
NULL);
if (ShowOnlyThisExam)
- HTM_TxtColonNBSP (Txt_Events);
- HTM_Unsigned (Exam->NumEvts);
+ HTM_TxtColonNBSP (Txt_Sessions);
+ HTM_Unsigned (Exam->NumSess);
HTM_BUTTON_End ();
Frm_EndForm ();
@@ -637,14 +637,14 @@ static void Exa_ShowOneExam (struct Exa_Exams *Exams,
}
/*****************************************************************************/
-/************* Put icon to show results of events in an exam *****************/
+/************ Put icon to show results of sessions in an exam ****************/
/*****************************************************************************/
static void Exa_PutIconToShowResultsOfExam (void *Exams)
{
if (Exams)
{
- /***** Put icon to view events results *****/
+ /***** Put icon to view sessions results *****/
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_STD:
@@ -828,11 +828,11 @@ void Exa_GetListExams (struct Exa_Exams *Exams,Exa_Order_t SelectedOrder)
/***** Get list of exams from database *****/
NumRows = DB_QuerySELECT (&mysql_res,"can not get exams",
"SELECT exa_exams.ExaCod," // row[0]
- "MIN(exa_events.StartTime) AS StartTime," // row[1]
- "MAX(exa_events.EndTime) AS EndTime" // row[2]
+ "MIN(exa_sessions.StartTime) AS StartTime," // row[1]
+ "MAX(exa_sessions.EndTime) AS EndTime" // row[2]
" FROM exa_exams"
- " LEFT JOIN exa_events"
- " ON exa_exams.ExaCod=exa_events.ExaCod"
+ " LEFT JOIN exa_sessions"
+ " ON exa_exams.ExaCod=exa_sessions.ExaCod"
" WHERE exa_exams.CrsCod=%ld"
"%s"
" GROUP BY exa_exams.ExaCod"
@@ -873,7 +873,7 @@ void Exa_GetListExams (struct Exa_Exams *Exams,Exa_Order_t SelectedOrder)
}
/*****************************************************************************/
-/********************* Get list of exam events selected **********************/
+/******************** Get list of exam sessions selected *********************/
/*****************************************************************************/
void Exa_GetListSelectedExaCods (struct Exa_Exams *Exams)
@@ -962,8 +962,8 @@ void Exa_GetDataOfExamByCod (struct Exa_Exam *Exam)
"exa_exams.Visibility," // row[5]
"exa_exams.Title" // row[6]
" FROM exa_exams"
- " LEFT JOIN exa_events"
- " ON exa_exams.ExaCod=exa_events.ExaCod"
+ " LEFT JOIN exa_sessions"
+ " ON exa_exams.ExaCod=exa_sessions.ExaCod"
" WHERE exa_exams.ExaCod=%ld",
Exam->ExaCod);
if (NumRows) // Exam found...
@@ -1001,11 +1001,11 @@ void Exa_GetDataOfExamByCod (struct Exa_Exam *Exam)
/* Get number of questions */
Exam->NumQsts = ExaSet_GetNumQstsExam (Exam->ExaCod);
- /* Get number of events */
- Exam->NumEvts = ExaEvt_GetNumEventsInExam (Exam->ExaCod);
+ /* Get number of sessions */
+ Exam->NumSess = ExaSes_GetNumSessionsInExam (Exam->ExaCod);
- /* Get number of open events */
- Exam->NumOpenEvts = ExaEvt_GetNumOpenEventsInExam (Exam->ExaCod);
+ /* Get number of open sessions */
+ Exam->NumOpenSess = ExaSes_GetNumOpenSessionsInExam (Exam->ExaCod);
}
else
/* Initialize to empty exam */
@@ -1020,7 +1020,7 @@ void Exa_GetDataOfExamByCod (struct Exa_Exam *Exam)
NumRows = DB_QuerySELECT (&mysql_res,"can not get exam data",
"SELECT UNIX_TIMESTAMP(MIN(StartTime))," // row[0]
"UNIX_TIMESTAMP(MAX(EndTime))" // row[1]
- " FROM exa_events"
+ " FROM exa_sessions"
" WHERE ExaCod=%ld",
Exam->ExaCod);
if (NumRows)
@@ -1178,8 +1178,8 @@ void Exa_RemoveExam (void)
static void Exa_RemoveExamFromAllTables (long ExaCod)
{
- /***** Remove all events in this exam *****/
- ExaEvt_RemoveEventsInExamFromAllTables (ExaCod);
+ /***** Remove all sessions in this exam *****/
+ ExaSes_RemoveSessionsInExamFromAllTables (ExaCod);
/***** Remove exam questions *****/
DB_QueryDELETE ("can not remove exam questions",
@@ -1207,8 +1207,8 @@ static void Exa_RemoveExamFromAllTables (long ExaCod)
void Exa_RemoveExamsCrs (long CrsCod)
{
- /***** Remove all events in this course *****/
- ExaEvt_RemoveEventInCourseFromAllTables (CrsCod);
+ /***** Remove all sessions in this course *****/
+ ExaSes_RemoveSessionInCourseFromAllTables (CrsCod);
/***** Remove the questions in exams *****/
DB_QueryDELETE ("can not remove questions in course exams",
@@ -1756,7 +1756,7 @@ unsigned Exa_GetNextQuestionIndexInExam (long ExaCod,unsigned QstInd)
{
MYSQL_RES *mysql_res;
MYSQL_ROW row;
- unsigned NextQstInd = ExaEvt_AFTER_LAST_QUESTION; // End of questions has been reached
+ unsigned NextQstInd = ExaSes_AFTER_LAST_QUESTION; // End of questions has been reached
/***** Get next question index in an exam from database *****/
// Although indexes are always continuous...
@@ -1793,15 +1793,15 @@ static void Exa_PutParamSetCod (void *SetCod) // Should be a pointer to long
*/
/*****************************************************************************/
-/*********** Get number of events and check is edition is possible **********/
+/********** Get number of sessions and check is edition is possible **********/
/*****************************************************************************/
-// Before calling this function, number of events must be calculated
+// Before calling this function, number of sessions must be calculated
bool Exa_CheckIfEditable (const struct Exa_Exam *Exam)
{
if (Exa_CheckIfICanEditExams ())
- /***** Questions are editable only if exam has no events *****/
- return (bool) (Exam->NumEvts == 0); // Exams with events should not be edited
+ /***** Questions are editable only if exam has no sessions *****/
+ return (bool) (Exam->NumSess == 0); // Exams with sessions should not be edited
else
return false; // Questions are not editable
}
diff --git a/swad_exam.h b/swad_exam.h
index 0c24ba0d..59a89328 100644
--- a/swad_exam.h
+++ b/swad_exam.h
@@ -28,10 +28,7 @@
/********************************* Headers ***********************************/
/*****************************************************************************/
-// #include "swad_date.h"
-// #include "swad_exam_event.h"
#include "swad_exam_type.h"
-// #include "swad_scope.h"
/*****************************************************************************/
/************************** Public types and constants ***********************/
@@ -51,12 +48,12 @@ bool Exa_CheckIfICanEditExams (void);
void Exa_SeeOneExam (void);
void Exa_ShowOnlyOneExam (struct Exa_Exams *Exams,
struct Exa_Exam *Exam,
- struct ExaEvt_Event *Event,
- bool PutFormEvent);
+ struct ExaSes_Session *Session,
+ bool PutFormSession);
void Exa_ShowOnlyOneExamBegin (struct Exa_Exams *Exams,
struct Exa_Exam *Exam,
- struct ExaEvt_Event *Event,
- bool PutFormEvent);
+ struct ExaSes_Session *Session,
+ bool PutFormSession);
void Exa_ShowOnlyOneExamEnd (void);
void Exa_SetCurrentExaCod (long ExaCod);
diff --git a/swad_exam_print.c b/swad_exam_print.c
index cfafdc5d..5263730e 100644
--- a/swad_exam_print.c
+++ b/swad_exam_print.c
@@ -1,4 +1,4 @@
-// swad_exam_print.c: exam prints (each copy of an exam in an event for a student)
+// swad_exam_print.c: exam prints (each copy of an exam in a session for a student)
/*
SWAD (Shared Workspace At a Distance),
@@ -35,9 +35,9 @@
#include "swad_box.h"
#include "swad_database.h"
#include "swad_exam.h"
-#include "swad_exam_event.h"
#include "swad_exam_print.h"
#include "swad_exam_result.h"
+#include "swad_exam_session.h"
#include "swad_exam_set.h"
#include "swad_exam_type.h"
#include "swad_form.h"
@@ -140,7 +140,7 @@ static void ExaPrn_UpdatePrintInDB (const struct ExaPrn_Print *Print);
void ExaPrn_ResetPrint (struct ExaPrn_Print *Print)
{
- Print->EvtCod = -1L;
+ Print->SesCod = -1L;
Print->UsrCod = -1L;
ExaPrn_ResetPrintExceptEvtCodAndUsrCod (Print);
}
@@ -148,7 +148,6 @@ void ExaPrn_ResetPrint (struct ExaPrn_Print *Print)
static void ExaPrn_ResetPrintExceptEvtCodAndUsrCod (struct ExaPrn_Print *Print)
{
Print->PrnCod = -1L;
- // Print->ExaCod = -1L;
Print->TimeUTC[Dat_START_TIME] =
Print->TimeUTC[Dat_END_TIME ] = (time_t) 0;
Print->NumQsts =
@@ -158,32 +157,32 @@ static void ExaPrn_ResetPrintExceptEvtCodAndUsrCod (struct ExaPrn_Print *Print)
}
/*****************************************************************************/
-/********************** Show print of an exam in an event ********************/
+/********************** Show print of an exam in a session *******************/
/*****************************************************************************/
void ExaPrn_ShowExamPrint (void)
{
struct Exa_Exams Exams;
struct Exa_Exam Exam;
- struct ExaEvt_Event Event;
+ struct ExaSes_Session Session;
struct ExaPrn_Print Print;
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
Exa_ResetExam (&Exam);
- ExaEvt_ResetEvent (&Event);
+ ExaSes_ResetSession (&Session);
ExaPrn_ResetPrint (&Print);
/***** Get and check parameters *****/
- ExaEvt_GetAndCheckParameters (&Exams,&Exam,&Event);
+ ExaSes_GetAndCheckParameters (&Exams,&Exam,&Session);
- /***** Check if I can access to this event *****/
- if (ExaEvt_CheckIfICanAnswerThisEvent (&Event))
+ /***** Check if I can access to this session *****/
+ if (ExaSes_CheckIfICanAnswerThisSession (&Session))
{
/***** Get print data from database *****/
- Print.EvtCod = Event.EvtCod;
+ Print.SesCod = Session.SesCod;
Print.UsrCod = Gbl.Usrs.Me.UsrDat.UsrCod;
- ExaPrn_GetPrintDataByEvtCodAndUsrCod (&Print);
+ ExaPrn_GetPrintDataBySesCodAndUsrCod (&Print);
if (Print.PrnCod > 0) // Print exists and I can access to it
/***** Get questions and user's answers of exam print from database *****/
@@ -209,10 +208,10 @@ void ExaPrn_ShowExamPrint (void)
}
/*****************************************************************************/
-/********* Get data of an exam print using event code and user code **********/
+/******** Get data of an exam print using session code and user code *********/
/*****************************************************************************/
-void ExaPrn_GetPrintDataByEvtCodAndUsrCod (struct ExaPrn_Print *Print)
+void ExaPrn_GetPrintDataBySesCodAndUsrCod (struct ExaPrn_Print *Print)
{
MYSQL_RES *mysql_res;
MYSQL_ROW row;
@@ -227,9 +226,9 @@ void ExaPrn_GetPrintDataByEvtCodAndUsrCod (struct ExaPrn_Print *Print)
"Sent," // row[5]
"Score" // row[6]
" FROM exa_prints"
- " WHERE EvtCod=%ld"
+ " WHERE SesCod=%ld"
" AND UsrCod=%ld",
- Print->EvtCod,
+ Print->SesCod,
Print->UsrCod) == 1)
{
row = mysql_fetch_row (mysql_res);
@@ -490,10 +489,10 @@ static void ExaPrn_CreatePrintInDB (struct ExaPrn_Print *Print)
Print->PrnCod =
DB_QueryINSERTandReturnCode ("can not create new exam print",
"INSERT INTO exa_prints"
- " (EvtCod,UsrCod,StartTime,EndTime,NumQsts,NumQstsNotBlank,Sent,Score)"
+ " (SesCod,UsrCod,StartTime,EndTime,NumQsts,NumQstsNotBlank,Sent,Score)"
" VALUES"
" (%ld,%ld,NOW(),NOW(),%u,0,'N',0)",
- Print->EvtCod,
+ Print->SesCod,
Gbl.Usrs.Me.UsrDat.UsrCod,
Print->NumQsts);
}
@@ -588,8 +587,8 @@ static void ExaPrn_ShowExamPrintToFillIt (const char *Title,
/***** Form to end/close this exam print *****/
Frm_StartForm (ActEndExaPrn);
- // ExaEvt_PutParamEvtCod (Print->EvtCod);
- Btn_PutCreateButton ("He terminado"); // TODO: Translate!!!
+ // ExaSes_PutParamSesCod (Print->SesCod);
+ Btn_PutCreateButton ("He terminado"); // TODO: Need translations!!!
Frm_EndForm ();
}
@@ -744,10 +743,10 @@ static void ExaPrn_WriteIntAnsToFill (const struct ExaPrn_Print *Print,
Id,
Print->PrintedQuestions[NumQst].StrAnswers);
HTM_TxtF (" onchange=\"updateExamPrint('examprint','%s','Ans',"
- "'act=%ld&ses=%s&EvtCod=%ld&NumQst=%u');"
+ "'act=%ld&ses=%s&SesCod=%ld&NumQst=%u');"
" return false;\" />", // return false is necessary to not submit form
Id,
- Act_GetActCod (ActAnsExaPrn),Gbl.Session.Id,Print->EvtCod,NumQst);
+ Act_GetActCod (ActAnsExaPrn),Gbl.Session.Id,Print->SesCod,NumQst);
}
/*****************************************************************************/
@@ -768,10 +767,10 @@ static void ExaPrn_WriteFloatAnsToFill (const struct ExaPrn_Print *Print,
Id,Tst_MAX_BYTES_FLOAT_ANSWER,
Print->PrintedQuestions[NumQst].StrAnswers);
HTM_TxtF (" onchange=\"updateExamPrint('examprint','%s','Ans',"
- "'act=%ld&ses=%s&EvtCod=%ld&NumQst=%u');"
+ "'act=%ld&ses=%s&SesCod=%ld&NumQst=%u');"
" return false;\" />", // return false is necessary to not submit form
Id,
- Act_GetActCod (ActAnsExaPrn),Gbl.Session.Id,Print->EvtCod,NumQst);
+ Act_GetActCod (ActAnsExaPrn),Gbl.Session.Id,Print->SesCod,NumQst);
}
/*****************************************************************************/
@@ -793,11 +792,11 @@ static void ExaPrn_WriteTFAnsToFill (const struct ExaPrn_Print *Print,
NumQst);
HTM_TxtF ("", // return false is necessary to not submit form
Id,
Act_GetActCod (ActAnsExaPrn),
- Gbl.Session.Id,Print->EvtCod,NumQst);
+ Gbl.Session.Id,Print->SesCod,NumQst);
HTM_OPTION (HTM_Type_STRING,"" ,Print->PrintedQuestions[NumQst].StrAnswers[0] == '\0',false," ");
HTM_OPTION (HTM_Type_STRING,"T",Print->PrintedQuestions[NumQst].StrAnswers[0] == 'T' ,false,"%s",Txt_TF_QST[0]);
HTM_OPTION (HTM_Type_STRING,"F",Print->PrintedQuestions[NumQst].StrAnswers[0] == 'F' ,false,"%s",Txt_TF_QST[1]);
@@ -850,10 +849,10 @@ static void ExaPrn_WriteChoiceAnsToFill (struct ExaPrn_Print *Print,
UsrAnswers[Indexes[NumOpt]] ? " checked=\"checked\"" :
"");
HTM_TxtF (" onclick=\"updateExamPrint('examprint','%s_%u','Ans',"
- "'act=%ld&ses=%s&EvtCod=%ld&NumQst=%u');"
+ "'act=%ld&ses=%s&SesCod=%ld&NumQst=%u');"
" return false;\" />", // return false is necessary to not submit form
Id,NumOpt,
- Act_GetActCod (ActAnsExaPrn),Gbl.Session.Id,Print->EvtCod,NumQst);
+ Act_GetActCod (ActAnsExaPrn),Gbl.Session.Id,Print->SesCod,NumQst);
HTM_TD_End ();
HTM_TD_Begin ("class=\"LT\"");
@@ -897,10 +896,10 @@ static void ExaPrn_WriteTextAnsToFill (const struct ExaPrn_Print *Print,
Id,Tst_MAX_CHARS_ANSWERS_ONE_QST,
Print->PrintedQuestions[NumQst].StrAnswers);
HTM_TxtF (" onchange=\"updateExamPrint('examprint','%s','Ans',"
- "'act=%ld&ses=%s&EvtCod=%ld&NumQst=%u');"
+ "'act=%ld&ses=%s&SesCod=%ld&NumQst=%u');"
" return false;\" />", // return false is necessary to not submit form
Id,
- Act_GetActCod (ActAnsExaPrn),Gbl.Session.Id,Print->EvtCod,NumQst);
+ Act_GetActCod (ActAnsExaPrn),Gbl.Session.Id,Print->SesCod,NumQst);
}
/*****************************************************************************/
@@ -915,15 +914,15 @@ void ExaPrn_ReceivePrintAnswer (void)
/***** Reset print *****/
ExaPrn_ResetPrint (&Print);
- /***** Get event code *****/
- Print.EvtCod = ExaEvt_GetParamEvtCod ();
+ /***** Get session code *****/
+ Print.SesCod = ExaSes_GetParamSesCod ();
- /***** Check if event if visible and open *****/
- if (ExaEvt_CheckIfEventIsVisibleAndOpen (Print.EvtCod))
+ /***** Check if session if visible and open *****/
+ if (ExaSes_CheckIfSessionIsVisibleAndOpen (Print.SesCod))
{
/***** Get print data *****/
Print.UsrCod = Gbl.Usrs.Me.UsrDat.UsrCod;
- ExaPrn_GetPrintDataByEvtCodAndUsrCod (&Print);
+ ExaPrn_GetPrintDataBySesCodAndUsrCod (&Print);
if (Print.PrnCod <= 0)
Lay_WrongExamExit ();
@@ -1388,13 +1387,13 @@ static void ExaPrn_UpdatePrintInDB (const struct ExaPrn_Print *Print)
"Sent='%c',"
"Score='%.15lg'"
" WHERE PrnCod=%ld"
- " AND EvtCod=%ld AND UsrCod=%ld", // Extra checks
+ " AND SesCod=%ld AND UsrCod=%ld", // Extra checks
Print->NumQstsNotBlank,
Print->Sent ? 'Y' :
'N',
Print->Score,
Print->PrnCod,
- Print->EvtCod,Gbl.Usrs.Me.UsrDat.UsrCod);
+ Print->SesCod,Gbl.Usrs.Me.UsrDat.UsrCod);
Str_SetDecimalPointToLocal (); // Return to local system
}
diff --git a/swad_exam_print.h b/swad_exam_print.h
index 25a8ed12..65d97163 100644
--- a/swad_exam_print.h
+++ b/swad_exam_print.h
@@ -1,4 +1,4 @@
-// swad_exam_print.h: exam prints (each copy of an exam in an event for a student)
+// swad_exam_print.h: exam prints (each copy of an exam in a session for a student)
#ifndef _SWAD_EXA_PRN
#define _SWAD_EXA_PRN
@@ -27,6 +27,8 @@
/********************************** Headers **********************************/
/*****************************************************************************/
+#include "swad_test_print.h"
+
/*****************************************************************************/
/************************* Public types and constants ************************/
/*****************************************************************************/
@@ -36,7 +38,7 @@
struct ExaPrn_Print
{
long PrnCod; // Exam print code
- long EvtCod; // Event code associated to this print
+ long SesCod; // Session code associated to this print
long UsrCod; // User who answered the exam print
time_t TimeUTC[Dat_NUM_START_END_TIME];
unsigned NumQsts; // Number of questions
@@ -55,7 +57,7 @@ void ExaPrn_ResetPrint (struct ExaPrn_Print *Print);
void ExaPrn_ShowExamPrint (void);
-void ExaPrn_GetPrintDataByEvtCodAndUsrCod (struct ExaPrn_Print *Print);
+void ExaPrn_GetPrintDataBySesCodAndUsrCod (struct ExaPrn_Print *Print);
void ExaPrn_GetPrintQuestionsFromDB (struct ExaPrn_Print *Print);
diff --git a/swad_exam_result.c b/swad_exam_result.c
index 5a19b91c..f010a16b 100644
--- a/swad_exam_result.c
+++ b/swad_exam_result.c
@@ -36,9 +36,9 @@
#include "swad_database.h"
#include "swad_date.h"
#include "swad_exam.h"
-#include "swad_exam_event.h"
#include "swad_exam_print.h"
#include "swad_exam_result.h"
+#include "swad_exam_session.h"
#include "swad_exam_set.h"
#include "swad_exam_type.h"
#include "swad_form.h"
@@ -78,13 +78,13 @@ extern struct Globals Gbl;
static void ExaRes_PutFormToSelUsrsToViewEvtResults (void *Exams);
-static void ExaRes_ListMyEvtResultsInCrs (struct Exa_Exams *Exams);
-static void ExaRes_ListMyEvtResultsInExa (struct Exa_Exams *Exams,long ExaCod);
-static void ExaRes_ListMyEvtResultsInEvt (struct Exa_Exams *Exams,long EvtCod);
-static void ExaRes_ShowAllEvtResultsInSelectedExams (void *Exams);
-static void ExaRes_ListAllEvtResultsInSelectedExams (struct Exa_Exams *Exams);
-static void ExaRes_ListAllEvtResultsInExa (struct Exa_Exams *Exams,long ExaCod);
-static void ExaRes_ListAllEvtResultsInEvt (struct Exa_Exams *Exams,long EvtCod);
+static void ExaRes_ListMySesResultsInCrs (struct Exa_Exams *Exams);
+static void ExaRes_ListMySesResultsInExa (struct Exa_Exams *Exams,long ExaCod);
+static void ExaRes_ListMySesResultsInSes (struct Exa_Exams *Exams,long SesCod);
+static void ExaRes_ShowAllSesResultsInSelectedExams (void *Exams);
+static void ExaRes_ListAllSesResultsInSelectedExams (struct Exa_Exams *Exams);
+static void ExaRes_ListAllSesResultsInExa (struct Exa_Exams *Exams,long ExaCod);
+static void ExaRes_ListAllSesResultsInSes (struct Exa_Exams *Exams,long SesCod);
static void ExaRes_ShowResultsBegin (struct Exa_Exams *Exams,
const char *Title,bool ListExamsToSelect);
@@ -95,9 +95,9 @@ static void ExaRes_ShowHeaderEvtResults (Usr_MeOrOther_t MeOrOther);
static void ExaRes_BuildExamsSelectedCommas (struct Exa_Exams *Exams,
char **ExamsSelectedCommas);
-static void ExaRes_ShowEvtResults (struct Exa_Exams *Exams,
+static void ExaRes_ShowSesResults (struct Exa_Exams *Exams,
Usr_MeOrOther_t MeOrOther,
- long EvtCod, // <= 0 ==> any
+ long SesCod, // <= 0 ==> any
long ExaCod, // <= 0 ==> any
const char *ExamsSelectedCommas);
static void ExaRes_ShowEvtResultsSummaryRow (unsigned NumResults,
@@ -106,7 +106,7 @@ static void ExaRes_ShowEvtResultsSummaryRow (unsigned NumResults,
double TotalScoreOfAllResults,
double TotalGrade);
-static bool ExaRes_CheckIfICanSeePrintResult (struct ExaEvt_Event *Event,long UsrCod);
+static bool ExaRes_CheckIfICanSeePrintResult (struct ExaSes_Session *Session,long UsrCod);
static bool ExaRes_CheckIfICanViewScore (bool ICanViewResult,unsigned Visibility);
static void ExaRes_ShowExamAnswers (struct UsrData *UsrDat,
@@ -119,7 +119,7 @@ static void ExaRes_WriteQstAndAnsExam (struct UsrData *UsrDat,
unsigned Visibility);
/*****************************************************************************/
-/*************************** Show my events results **************************/
+/*************************** Show my sessions results **************************/
/*****************************************************************************/
void ExaRes_ShowMyExaResultsInCrs (void)
@@ -134,9 +134,9 @@ void ExaRes_ShowMyExaResultsInCrs (void)
Exa_GetListExams (&Exams,Exa_ORDER_BY_TITLE);
Exa_GetListSelectedExaCods (&Exams);
- /***** List my events results in the current course *****/
+ /***** List my sessions results in the current course *****/
ExaRes_ShowResultsBegin (&Exams,Txt_Results,true); // List exams to select
- ExaRes_ListMyEvtResultsInCrs (&Exams);
+ ExaRes_ListMySesResultsInCrs (&Exams);
ExaRes_ShowResultsEnd ();
/***** Free list of exams *****/
@@ -144,22 +144,22 @@ void ExaRes_ShowMyExaResultsInCrs (void)
Exa_FreeListExams (&Exams);
}
-static void ExaRes_ListMyEvtResultsInCrs (struct Exa_Exams *Exams)
+static void ExaRes_ListMySesResultsInCrs (struct Exa_Exams *Exams)
{
char *ExamsSelectedCommas = NULL; // Initialized to avoid warning
/***** Table header *****/
ExaRes_ShowHeaderEvtResults (Usr_ME);
- /***** List my events results in the current course *****/
+ /***** List my sessions results in the current course *****/
TstCfg_GetConfigFromDB (); // Get feedback type
ExaRes_BuildExamsSelectedCommas (Exams,&ExamsSelectedCommas);
- ExaRes_ShowEvtResults (Exams,Usr_ME,-1L,-1L,ExamsSelectedCommas);
+ ExaRes_ShowSesResults (Exams,Usr_ME,-1L,-1L,ExamsSelectedCommas);
free (ExamsSelectedCommas);
}
/*****************************************************************************/
-/***************** Show my events results in a given exam *******************/
+/***************** Show my sessions results in a given exam *******************/
/*****************************************************************************/
void ExaRes_ShowMyExaResultsInExa (void)
@@ -167,12 +167,12 @@ void ExaRes_ShowMyExaResultsInExa (void)
extern const char *Txt_Results_of_exam_X;
struct Exa_Exams Exams;
struct Exa_Exam Exam;
- struct ExaEvt_Event Event;
+ struct ExaSes_Session Session;
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
Exa_ResetExam (&Exam);
- ExaEvt_ResetEvent (&Event);
+ ExaSes_ResetSession (&Session);
/***** Get parameters *****/
Exa_GetParams (&Exams);
@@ -185,85 +185,85 @@ void ExaRes_ShowMyExaResultsInExa (void)
Exams.ExaCod = Exam.ExaCod;
/***** Exam begin *****/
- Exa_ShowOnlyOneExamBegin (&Exams,&Exam,&Event,
- false); // Do not put form to start new event
+ Exa_ShowOnlyOneExamBegin (&Exams,&Exam,&Session,
+ false); // Do not put form to start new session
- /***** List my events results in exam *****/
+ /***** List my sessions results in exam *****/
ExaRes_ShowResultsBegin (&Exams,
Str_BuildStringStr (Txt_Results_of_exam_X,Exam.Title),
false); // Do not list exams to select
Str_FreeString ();
- ExaRes_ListMyEvtResultsInExa (&Exams,Exam.ExaCod);
+ ExaRes_ListMySesResultsInExa (&Exams,Exam.ExaCod);
ExaRes_ShowResultsEnd ();
/***** Exam end *****/
Exa_ShowOnlyOneExamEnd ();
}
-static void ExaRes_ListMyEvtResultsInExa (struct Exa_Exams *Exams,long ExaCod)
+static void ExaRes_ListMySesResultsInExa (struct Exa_Exams *Exams,long ExaCod)
{
/***** Table header *****/
ExaRes_ShowHeaderEvtResults (Usr_ME);
- /***** List my events results in exam *****/
+ /***** List my sessions results in exam *****/
TstCfg_GetConfigFromDB (); // Get feedback type
- ExaRes_ShowEvtResults (Exams,Usr_ME,-1L,ExaCod,NULL);
+ ExaRes_ShowSesResults (Exams,Usr_ME,-1L,ExaCod,NULL);
}
/*****************************************************************************/
-/***************** Show my events results in a given event ******************/
+/***************** Show my sessions results in a given session ******************/
/*****************************************************************************/
void ExaRes_ShowMyExaResultsInEvt (void)
{
- extern const char *Txt_Results_of_event_X;
+ extern const char *Txt_Results_of_session_X;
struct Exa_Exams Exams;
struct Exa_Exam Exam;
- struct ExaEvt_Event Event;
+ struct ExaSes_Session Session;
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
Exa_ResetExam (&Exam);
- ExaEvt_ResetEvent (&Event);
+ ExaSes_ResetSession (&Session);
/***** Get parameters *****/
Exa_GetParams (&Exams);
if (Exams.ExaCod <= 0)
Lay_WrongExamExit ();
Exam.ExaCod = Exams.ExaCod;
- if ((Event.EvtCod = ExaEvt_GetParamEvtCod ()) <= 0)
- Lay_WrongEventExit ();
+ if ((Session.SesCod = ExaSes_GetParamSesCod ()) <= 0)
+ Lay_WrongExamSessionExit ();
Exa_GetDataOfExamByCod (&Exam);
Exams.ExaCod = Exam.ExaCod;
- ExaEvt_GetDataOfEventByCod (&Event);
+ ExaSes_GetDataOfSessionByCod (&Session);
/***** Exam begin *****/
- Exa_ShowOnlyOneExamBegin (&Exams,&Exam,&Event,
- false); // Do not put form to start new event
+ Exa_ShowOnlyOneExamBegin (&Exams,&Exam,&Session,
+ false); // Do not put form to start new session
- /***** List my events results in event *****/
- ExaRes_ShowResultsBegin (&Exams,Str_BuildStringStr (Txt_Results_of_event_X,Event.Title),
+ /***** List my sessions results in session *****/
+ ExaRes_ShowResultsBegin (&Exams,Str_BuildStringStr (Txt_Results_of_session_X,Session.Title),
false); // Do not list exams to select
Str_FreeString ();
- ExaRes_ListMyEvtResultsInEvt (&Exams,Event.EvtCod);
+ ExaRes_ListMySesResultsInSes (&Exams,Session.SesCod);
ExaRes_ShowResultsEnd ();
/***** Exam end *****/
Exa_ShowOnlyOneExamEnd ();
}
-static void ExaRes_ListMyEvtResultsInEvt (struct Exa_Exams *Exams,long EvtCod)
+static void ExaRes_ListMySesResultsInSes (struct Exa_Exams *Exams,long SesCod)
{
/***** Table header *****/
ExaRes_ShowHeaderEvtResults (Usr_ME);
- /***** List my events results in exam *****/
+ /***** List my sessions results in exam *****/
TstCfg_GetConfigFromDB (); // Get feedback type
- ExaRes_ShowEvtResults (Exams,Usr_ME,EvtCod,-1L,NULL);
+ ExaRes_ShowSesResults (Exams,Usr_ME,SesCod,-1L,NULL);
}
/*****************************************************************************/
-/****************** Get users and show their events results *****************/
+/****************** Get users and show their sessions results *****************/
/*****************************************************************************/
void ExaRes_ShowAllExaResultsInCrs (void)
@@ -273,17 +273,17 @@ void ExaRes_ShowAllExaResultsInCrs (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
- /***** Get users and show their events results *****/
+ /***** Get users and show their sessions results *****/
Usr_GetSelectedUsrsAndGoToAct (&Gbl.Usrs.Selected,
- ExaRes_ShowAllEvtResultsInSelectedExams,&Exams,
+ ExaRes_ShowAllSesResultsInSelectedExams,&Exams,
ExaRes_PutFormToSelUsrsToViewEvtResults,&Exams);
}
/*****************************************************************************/
-/****************** Show events results for several users *******************/
+/****************** Show sessions results for several users *******************/
/*****************************************************************************/
-static void ExaRes_ShowAllEvtResultsInSelectedExams (void *Exams)
+static void ExaRes_ShowAllSesResultsInSelectedExams (void *Exams)
{
extern const char *Txt_Results;
@@ -294,11 +294,11 @@ static void ExaRes_ShowAllEvtResultsInSelectedExams (void *Exams)
Exa_GetListExams ((struct Exa_Exams *) Exams,Exa_ORDER_BY_TITLE);
Exa_GetListSelectedExaCods ((struct Exa_Exams *) Exams);
- /***** List the events results of the selected users *****/
+ /***** List the sessions results of the selected users *****/
ExaRes_ShowResultsBegin ((struct Exa_Exams *) Exams,
Txt_Results,
true); // List exams to select
- ExaRes_ListAllEvtResultsInSelectedExams ((struct Exa_Exams *) Exams);
+ ExaRes_ListAllSesResultsInSelectedExams ((struct Exa_Exams *) Exams);
ExaRes_ShowResultsEnd ();
/***** Free list of exams *****/
@@ -306,7 +306,7 @@ static void ExaRes_ShowAllEvtResultsInSelectedExams (void *Exams)
Exa_FreeListExams ((struct Exa_Exams *) Exams);
}
-static void ExaRes_ListAllEvtResultsInSelectedExams (struct Exa_Exams *Exams)
+static void ExaRes_ListAllSesResultsInSelectedExams (struct Exa_Exams *Exams)
{
char *ExamsSelectedCommas = NULL; // Initialized to avoid warning
const char *Ptr;
@@ -314,7 +314,7 @@ static void ExaRes_ListAllEvtResultsInSelectedExams (struct Exa_Exams *Exams)
/***** Table head *****/
ExaRes_ShowHeaderEvtResults (Usr_OTHER);
- /***** List the events results of the selected users *****/
+ /***** List the sessions results of the selected users *****/
ExaRes_BuildExamsSelectedCommas (Exams,&ExamsSelectedCommas);
Ptr = Gbl.Usrs.Selected.List[Rol_UNK];
while (*Ptr)
@@ -325,16 +325,16 @@ static void ExaRes_ListAllEvtResultsInSelectedExams (struct Exa_Exams *Exams)
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat,Usr_DONT_GET_PREFS))
if (Usr_CheckIfICanViewTstExaMchResult (&Gbl.Usrs.Other.UsrDat))
{
- /***** Show events results *****/
+ /***** Show sessions results *****/
Gbl.Usrs.Other.UsrDat.Accepted = Usr_CheckIfUsrHasAcceptedInCurrentCrs (&Gbl.Usrs.Other.UsrDat);
- ExaRes_ShowEvtResults (Exams,Usr_OTHER,-1L,-1L,ExamsSelectedCommas);
+ ExaRes_ShowSesResults (Exams,Usr_OTHER,-1L,-1L,ExamsSelectedCommas);
}
}
free (ExamsSelectedCommas);
}
/*****************************************************************************/
-/**************** Select users to show their events results *****************/
+/**************** Select users to show their sessions results *****************/
/*****************************************************************************/
void ExaRes_SelUsrsToViewExaResults (void)
@@ -365,7 +365,7 @@ static void ExaRes_PutFormToSelUsrsToViewEvtResults (void *Exams)
}
/*****************************************************************************/
-/*** Show events results of a exam for the users who answered in that exam **/
+/*** Show sessions results of a exam for the users who answered in that exam **/
/*****************************************************************************/
void ExaRes_ShowAllExaResultsInExa (void)
@@ -373,12 +373,12 @@ void ExaRes_ShowAllExaResultsInExa (void)
extern const char *Txt_Results_of_exam_X;
struct Exa_Exams Exams;
struct Exa_Exam Exam;
- struct ExaEvt_Event Event;
+ struct ExaSes_Session Session;
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
Exa_ResetExam (&Exam);
- ExaEvt_ResetEvent (&Event);
+ ExaSes_ResetSession (&Session);
/***** Get parameters *****/
Exa_GetParams (&Exams);
@@ -389,22 +389,22 @@ void ExaRes_ShowAllExaResultsInExa (void)
Exams.ExaCod = Exam.ExaCod;
/***** Exam begin *****/
- Exa_ShowOnlyOneExamBegin (&Exams,&Exam,&Event,
- false); // Do not put form to start new event
+ Exa_ShowOnlyOneExamBegin (&Exams,&Exam,&Session,
+ false); // Do not put form to start new session
- /***** List events results in exam *****/
+ /***** List sessions results in exam *****/
ExaRes_ShowResultsBegin (&Exams,
Str_BuildStringStr (Txt_Results_of_exam_X,Exam.Title),
false); // Do not list exams to select
Str_FreeString ();
- ExaRes_ListAllEvtResultsInExa (&Exams,Exam.ExaCod);
+ ExaRes_ListAllSesResultsInExa (&Exams,Exam.ExaCod);
ExaRes_ShowResultsEnd ();
/***** Exam end *****/
Exa_ShowOnlyOneExamEnd ();
}
-static void ExaRes_ListAllEvtResultsInExa (struct Exa_Exams *Exams,long ExaCod)
+static void ExaRes_ListAllSesResultsInExa (struct Exa_Exams *Exams,long ExaCod)
{
MYSQL_RES *mysql_res;
MYSQL_ROW row;
@@ -414,14 +414,14 @@ static void ExaRes_ListAllEvtResultsInExa (struct Exa_Exams *Exams,long ExaCod)
/***** Table head *****/
ExaRes_ShowHeaderEvtResults (Usr_OTHER);
- /***** Get all users who have answered any event question in this exam *****/
+ /***** Get all users who have answered any session question in this exam *****/
NumUsrs = DB_QuerySELECT (&mysql_res,"can not get users in exam",
"SELECT users.UsrCod FROM"
" (SELECT DISTINCT exa_prints.UsrCod AS UsrCod" // row[0]
- " FROM exa_prints,exa_events,exa_exams"
- " WHERE exa_events.ExaCod=%ld"
- " AND exa_events.EvtCod=exa_prints.EvtCod"
- " AND exa_events.ExaCod=exa_exams.ExaCod"
+ " FROM exa_prints,exa_sessions,exa_exams"
+ " WHERE exa_sessions.ExaCod=%ld"
+ " AND exa_sessions.SesCod=exa_prints.SesCod"
+ " AND exa_sessions.ExaCod=exa_exams.ExaCod"
" AND exa_exams.CrsCod=%ld)" // Extra check
" AS users,usr_data"
" WHERE users.UsrCod=usr_data.UsrCod"
@@ -432,21 +432,21 @@ static void ExaRes_ListAllEvtResultsInExa (struct Exa_Exams *Exams,long ExaCod)
Gbl.Hierarchy.Crs.CrsCod);
if (NumUsrs)
{
- /***** List events results for each user *****/
+ /***** List sessions results for each user *****/
for (NumUsr = 0;
NumUsr < NumUsrs;
NumUsr++)
{
row = mysql_fetch_row (mysql_res);
- /* Get event code (row[0]) */
+ /* Get session code (row[0]) */
if ((Gbl.Usrs.Other.UsrDat.UsrCod = Str_ConvertStrCodToLongCod (row[0])) > 0)
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat,Usr_DONT_GET_PREFS))
if (Usr_CheckIfICanViewTstExaMchResult (&Gbl.Usrs.Other.UsrDat))
{
- /***** Show events results *****/
+ /***** Show sessions results *****/
Gbl.Usrs.Other.UsrDat.Accepted = Usr_CheckIfUsrHasAcceptedInCurrentCrs (&Gbl.Usrs.Other.UsrDat);
- ExaRes_ShowEvtResults (Exams,Usr_OTHER,-1L,ExaCod,NULL);
+ ExaRes_ShowSesResults (Exams,Usr_OTHER,-1L,ExaCod,NULL);
}
}
}
@@ -456,51 +456,51 @@ static void ExaRes_ListAllEvtResultsInExa (struct Exa_Exams *Exams,long ExaCod)
}
/*****************************************************************************/
-/** Show events results of a event for the users who answered in that event */
+/** Show sessions results of a session for the users who answered in that session */
/*****************************************************************************/
void ExaRes_ShowAllExaResultsInEvt (void)
{
- extern const char *Txt_Results_of_event_X;
+ extern const char *Txt_Results_of_session_X;
struct Exa_Exams Exams;
struct Exa_Exam Exam;
- struct ExaEvt_Event Event;
+ struct ExaSes_Session Session;
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
Exa_ResetExam (&Exam);
- ExaEvt_ResetEvent (&Event);
+ ExaSes_ResetSession (&Session);
/***** Get parameters *****/
Exa_GetParams (&Exams);
if (Exams.ExaCod <= 0)
Lay_WrongExamExit ();
Exam.ExaCod = Exams.ExaCod;
- if ((Event.EvtCod = ExaEvt_GetParamEvtCod ()) <= 0)
- Lay_WrongEventExit ();
+ if ((Session.SesCod = ExaSes_GetParamSesCod ()) <= 0)
+ Lay_WrongExamSessionExit ();
- /***** Get exam data and event *****/
+ /***** Get exam data and session *****/
Exa_GetDataOfExamByCod (&Exam);
Exams.ExaCod = Exam.ExaCod;
- ExaEvt_GetDataOfEventByCod (&Event);
+ ExaSes_GetDataOfSessionByCod (&Session);
/***** Exam begin *****/
- Exa_ShowOnlyOneExamBegin (&Exams,&Exam,&Event,
- false); // Do not put form to start new event
+ Exa_ShowOnlyOneExamBegin (&Exams,&Exam,&Session,
+ false); // Do not put form to start new session
- /***** List events results in event *****/
+ /***** List sessions results in session *****/
ExaRes_ShowResultsBegin (&Exams,
- Str_BuildStringStr (Txt_Results_of_event_X,Event.Title),
+ Str_BuildStringStr (Txt_Results_of_session_X,Session.Title),
false); // Do not list exams to select
Str_FreeString ();
- ExaRes_ListAllEvtResultsInEvt (&Exams,Event.EvtCod);
+ ExaRes_ListAllSesResultsInSes (&Exams,Session.SesCod);
ExaRes_ShowResultsEnd ();
/***** Exam end *****/
Exa_ShowOnlyOneExamEnd ();
}
-static void ExaRes_ListAllEvtResultsInEvt (struct Exa_Exams *Exams,long EvtCod)
+static void ExaRes_ListAllSesResultsInSes (struct Exa_Exams *Exams,long SesCod)
{
MYSQL_RES *mysql_res;
MYSQL_ROW row;
@@ -510,39 +510,39 @@ static void ExaRes_ListAllEvtResultsInEvt (struct Exa_Exams *Exams,long EvtCod)
/***** Table head *****/
ExaRes_ShowHeaderEvtResults (Usr_OTHER);
- /***** Get all users who have answered any event question in this exam *****/
- NumUsrs = DB_QuerySELECT (&mysql_res,"can not get users in event",
+ /***** Get all users who have answered any session question in this exam *****/
+ NumUsrs = DB_QuerySELECT (&mysql_res,"can not get users in session",
"SELECT users.UsrCod FROM"
" (SELECT exa_prints.UsrCod AS UsrCod" // row[0]
- " FROM exa_prints,exa_events,exa_exams"
- " WHERE exa_prints.EvtCod=%ld"
- " AND exa_prints.EvtCod=exa_events.EvtCod"
- " AND exa_events.ExaCod=exa_exams.ExaCod"
+ " FROM exa_prints,exa_sessions,exa_exams"
+ " WHERE exa_prints.SesCod=%ld"
+ " AND exa_prints.SesCod=exa_sessions.SesCod"
+ " AND exa_sessions.ExaCod=exa_exams.ExaCod"
" AND exa_exams.CrsCod=%ld)" // Extra check
" AS users,usr_data"
" WHERE users.UsrCod=usr_data.UsrCod"
" ORDER BY usr_data.Surname1,"
"usr_data.Surname2,"
"usr_data.FirstName",
- EvtCod,
+ SesCod,
Gbl.Hierarchy.Crs.CrsCod);
if (NumUsrs)
{
- /***** List events results for each user *****/
+ /***** List sessions results for each user *****/
for (NumUsr = 0;
NumUsr < NumUsrs;
NumUsr++)
{
row = mysql_fetch_row (mysql_res);
- /* Get event code (row[0]) */
+ /* Get session code (row[0]) */
if ((Gbl.Usrs.Other.UsrDat.UsrCod = Str_ConvertStrCodToLongCod (row[0])) > 0)
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat,Usr_DONT_GET_PREFS))
if (Usr_CheckIfICanViewTstExaMchResult (&Gbl.Usrs.Other.UsrDat))
{
- /***** Show events results *****/
+ /***** Show sessions results *****/
Gbl.Usrs.Other.UsrDat.Accepted = Usr_CheckIfUsrHasAcceptedInCurrentCrs (&Gbl.Usrs.Other.UsrDat);
- ExaRes_ShowEvtResults (Exams,Usr_OTHER,EvtCod,-1L,NULL);
+ ExaRes_ShowSesResults (Exams,Usr_OTHER,SesCod,-1L,NULL);
}
}
}
@@ -570,14 +570,14 @@ static void ExaRes_ShowResultsBegin (struct Exa_Exams *Exams,
if (ListExamsToSelect)
ExaRes_ListExamsToSelect (Exams);
- /***** Begin event results table *****/
+ /***** Begin session results table *****/
HTM_SECTION_Begin (ExaRes_RESULTS_TABLE_ID);
HTM_TABLE_BeginWidePadding (2);
}
static void ExaRes_ShowResultsEnd (void)
{
- /***** End event results table *****/
+ /***** End session results table *****/
HTM_TABLE_End ();
HTM_SECTION_End ();
@@ -587,7 +587,7 @@ static void ExaRes_ShowResultsEnd (void)
}
/*****************************************************************************/
-/********** Write list of those attendance events that have students *********/
+/********** Write list of those attendance sessions that have students *********/
/*****************************************************************************/
static void ExaRes_ListExamsToSelect (struct Exa_Exams *Exams)
@@ -626,7 +626,7 @@ static void ExaRes_ListExamsToSelect (struct Exa_Exams *Exams)
HTM_TR_End ();
- /***** List the events *****/
+ /***** List the sessions *****/
for (NumExam = 0, UniqueId = 1, Gbl.RowEvenOdd = 0;
NumExam < Exams->Num;
NumExam++, UniqueId++, Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd)
@@ -636,7 +636,7 @@ static void ExaRes_ListExamsToSelect (struct Exa_Exams *Exams)
Exa_GetDataOfExamByCod (&Exam);
Exams->ExaCod = Exam.ExaCod;
- /* Write a row for this event */
+ /* Write a row for this session */
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"DAT CT COLOR%u\"",Gbl.RowEvenOdd);
@@ -684,13 +684,13 @@ static void ExaRes_ListExamsToSelect (struct Exa_Exams *Exams)
}
/*****************************************************************************/
-/********************* Show header of my events results *********************/
+/********************* Show header of my sessions results *********************/
/*****************************************************************************/
static void ExaRes_ShowHeaderEvtResults (Usr_MeOrOther_t MeOrOther)
{
extern const char *Txt_User[Usr_NUM_SEXS];
- extern const char *Txt_Event;
+ extern const char *Txt_Session;
extern const char *Txt_START_END_TIME[Dat_NUM_START_END_TIME];
extern const char *Txt_Questions;
extern const char *Txt_Non_blank_BR_questions;
@@ -704,7 +704,7 @@ static void ExaRes_ShowHeaderEvtResults (Usr_MeOrOther_t MeOrOther)
Usr_SEX_UNKNOWN]);
HTM_TH (1,1,"LT",Txt_START_END_TIME[Dat_START_TIME]);
HTM_TH (1,1,"LT",Txt_START_END_TIME[Dat_END_TIME ]);
- HTM_TH (1,1,"LT",Txt_Event);
+ HTM_TH (1,1,"LT",Txt_Session);
HTM_TH (1,1,"RT",Txt_Questions);
HTM_TH (1,1,"RT",Txt_Non_blank_BR_questions);
HTM_TH (1,1,"RT",Txt_Score);
@@ -747,16 +747,16 @@ static void ExaRes_BuildExamsSelectedCommas (struct Exa_Exams *Exams,
}
/*****************************************************************************/
-/********* Show the events results of a user in the current course **********/
+/********* Show the sessions results of a user in the current course *********/
/*****************************************************************************/
-static void ExaRes_ShowEvtResults (struct Exa_Exams *Exams,
+static void ExaRes_ShowSesResults (struct Exa_Exams *Exams,
Usr_MeOrOther_t MeOrOther,
- long EvtCod, // <= 0 ==> any
+ long SesCod, // <= 0 ==> any
long ExaCod, // <= 0 ==> any
const char *ExamsSelectedCommas)
{
- extern const char *Txt_Event_result;
+ extern const char *Txt_Result;
char *EvtSubQuery;
char *ExaSubQuery;
MYSQL_RES *mysql_res;
@@ -768,7 +768,7 @@ static void ExaRes_ShowEvtResults (struct Exa_Exams *Exams,
unsigned NumResult;
static unsigned UniqueId = 0;
char *Id;
- struct ExaEvt_Event Event;
+ struct ExaSes_Session Session;
Dat_StartEndTime_t StartEndTime;
unsigned NumQstsInThisResult;
unsigned NumQstsNotBlankInThisResult;
@@ -782,17 +782,17 @@ static void ExaRes_ShowEvtResults (struct Exa_Exams *Exams,
unsigned Visibility;
time_t TimeUTC[Dat_NUM_START_END_TIME];
- /***** Reset event *****/
- ExaEvt_ResetEvent (&Event);
+ /***** Reset session *****/
+ ExaSes_ResetSession (&Session);
/***** Set user *****/
UsrDat = (MeOrOther == Usr_ME) ? &Gbl.Usrs.Me.UsrDat :
&Gbl.Usrs.Other.UsrDat;
- /***** Build events subquery *****/
- if (EvtCod > 0)
+ /***** Build sessions subquery *****/
+ if (SesCod > 0)
{
- if (asprintf (&EvtSubQuery," AND exa_prints.EvtCod=%ld",EvtCod) < 0)
+ if (asprintf (&EvtSubQuery," AND exa_prints.SesCod=%ld",SesCod) < 0)
Lay_NotEnoughMemoryExit ();
}
else
@@ -804,14 +804,14 @@ static void ExaRes_ShowEvtResults (struct Exa_Exams *Exams,
/***** Build exams subquery *****/
if (ExaCod > 0)
{
- if (asprintf (&ExaSubQuery," AND exa_events.ExaCod=%ld",ExaCod) < 0)
+ if (asprintf (&ExaSubQuery," AND exa_sessions.ExaCod=%ld",ExaCod) < 0)
Lay_NotEnoughMemoryExit ();
}
else if (ExamsSelectedCommas)
{
if (ExamsSelectedCommas[0])
{
- if (asprintf (&ExaSubQuery," AND exa_events.ExaCod IN (%s)",
+ if (asprintf (&ExaSubQuery," AND exa_sessions.ExaCod IN (%s)",
ExamsSelectedCommas) < 0)
Lay_NotEnoughMemoryExit ();
}
@@ -829,8 +829,8 @@ static void ExaRes_ShowEvtResults (struct Exa_Exams *Exams,
/***** Make database query *****/
NumResults =
- (unsigned) DB_QuerySELECT (&mysql_res,"can not get events results",
- "SELECT exa_prints.EvtCod," // row[0]
+ (unsigned) DB_QuerySELECT (&mysql_res,"can not get sessions results",
+ "SELECT exa_prints.SesCod," // row[0]
"UNIX_TIMESTAMP(exa_prints.StartTime)," // row[1]
"UNIX_TIMESTAMP(exa_prints.EndTime)," // row[2]
"exa_prints.NumQsts," // row[3]
@@ -838,14 +838,14 @@ static void ExaRes_ShowEvtResults (struct Exa_Exams *Exams,
"exa_prints.Score," // row[5]
"exa_exams.MaxGrade," // row[6]
"exa_exams.Visibility" // row[7]
- " FROM exa_prints,exa_events,exa_exams"
+ " FROM exa_prints,exa_sessions,exa_exams"
" WHERE exa_prints.UsrCod=%ld"
- "%s" // Event subquery
- " AND exa_prints.EvtCod=exa_events.EvtCod"
+ "%s" // Session subquery
+ " AND exa_prints.SesCod=exa_sessions.SesCod"
"%s" // Exams subquery
- " AND exa_events.ExaCod=exa_exams.ExaCod"
+ " AND exa_sessions.ExaCod=exa_exams.ExaCod"
" AND exa_exams.CrsCod=%ld" // Extra check
- " ORDER BY exa_events.Title",
+ " ORDER BY exa_sessions.Title",
UsrDat->UsrCod,
EvtSubQuery,
ExaSubQuery,
@@ -857,7 +857,7 @@ static void ExaRes_ShowEvtResults (struct Exa_Exams *Exams,
HTM_TR_Begin (NULL);
Usr_ShowTableCellWithUsrData (UsrDat,NumResults);
- /***** Get and print events results *****/
+ /***** Get and print sessions results *****/
if (NumResults)
{
for (NumResult = 0;
@@ -866,16 +866,16 @@ static void ExaRes_ShowEvtResults (struct Exa_Exams *Exams,
{
row = mysql_fetch_row (mysql_res);
- /* Get event code (row[0]) */
- if ((Event.EvtCod = Str_ConvertStrCodToLongCod (row[0])) < 0)
- Lay_ShowErrorAndExit ("Wrong code of event.");
- ExaEvt_GetDataOfEventByCod (&Event);
+ /* Get session code (row[0]) */
+ if ((Session.SesCod = Str_ConvertStrCodToLongCod (row[0])) < 0)
+ Lay_ShowErrorAndExit ("Wrong code of session.");
+ ExaSes_GetDataOfSessionByCod (&Session);
/* Get visibility (row[7]) */
Visibility = TstVis_GetVisibilityFromStr (row[7]);
- /* Show event result? */
- ICanViewResult = ExaRes_CheckIfICanSeePrintResult (&Event,UsrDat->UsrCod);
+ /* Show session result? */
+ ICanViewResult = ExaRes_CheckIfICanSeePrintResult (&Session,UsrDat->UsrCod);
ICanViewScore = ExaRes_CheckIfICanViewScore (ICanViewResult,Visibility);
if (NumResult)
@@ -899,9 +899,9 @@ static void ExaRes_ShowEvtResults (struct Exa_Exams *Exams,
free (Id);
}
- /* Write event title */
+ /* Write session title */
HTM_TD_Begin ("class=\"DAT LT COLOR%u\"",Gbl.RowEvenOdd);
- HTM_Txt (Event.Title);
+ HTM_Txt (Session.Title);
HTM_TD_End ();
if (ICanViewScore)
@@ -980,21 +980,21 @@ static void ExaRes_ShowEvtResults (struct Exa_Exams *Exams,
HTM_TD_Begin ("class=\"RT COLOR%u\"",Gbl.RowEvenOdd);
if (ICanViewResult)
{
- Exams->ExaCod = Event.ExaCod;
- Exams->EvtCod = Event.EvtCod;
+ Exams->ExaCod = Session.ExaCod;
+ Exams->SesCod = Session.SesCod;
switch (MeOrOther)
{
case Usr_ME:
Frm_StartForm (ActSeeOneExaEvtResMe);
- ExaEvt_PutParamsEdit (Exams);
+ ExaSes_PutParamsEdit (Exams);
break;
case Usr_OTHER:
Frm_StartForm (ActSeeOneExaEvtResOth);
- ExaEvt_PutParamsEdit (Exams);
+ ExaSes_PutParamsEdit (Exams);
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod);
break;
}
- Ico_PutIconLink ("tasks.svg",Txt_Event_result);
+ Ico_PutIconLink ("tasks.svg",Txt_Result);
Frm_EndForm ();
}
else
@@ -1023,7 +1023,7 @@ static void ExaRes_ShowEvtResults (struct Exa_Exams *Exams,
}
/*****************************************************************************/
-/************** Show row with summary of user's events results **************/
+/************** Show row with summary of user's sessions results **************/
/*****************************************************************************/
static void ExaRes_ShowEvtResultsSummaryRow (unsigned NumResults,
@@ -1032,14 +1032,14 @@ static void ExaRes_ShowEvtResultsSummaryRow (unsigned NumResults,
double TotalScoreOfAllResults,
double TotalGrade)
{
- extern const char *Txt_Events;
+ extern const char *Txt_Sessions;
/***** Start row *****/
HTM_TR_Begin (NULL);
/***** Row title *****/
HTM_TD_Begin ("colspan=\"3\" class=\"DAT_N_LINE_TOP RM COLOR%u\"",Gbl.RowEvenOdd);
- HTM_TxtColonNBSP (Txt_Events);
+ HTM_TxtColonNBSP (Txt_Sessions);
HTM_Unsigned (NumResults);
HTM_TD_End ();
@@ -1081,7 +1081,7 @@ static void ExaRes_ShowEvtResultsSummaryRow (unsigned NumResults,
}
/*****************************************************************************/
-/******************* Show one event result of another user *******************/
+/******************* Show one session result of another user *******************/
/*****************************************************************************/
void ExaRes_ShowOneExaResult (void)
@@ -1096,7 +1096,7 @@ void ExaRes_ShowOneExaResult (void)
extern const char *Txt_Grade;
struct Exa_Exams Exams;
struct Exa_Exam Exam;
- struct ExaEvt_Event Event;
+ struct ExaSes_Session Session;
Usr_MeOrOther_t MeOrOther;
struct UsrData *UsrDat;
Dat_StartEndTime_t StartEndTime;
@@ -1110,10 +1110,10 @@ void ExaRes_ShowOneExaResult (void)
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
Exa_ResetExam (&Exam);
- ExaEvt_ResetEvent (&Event);
+ ExaSes_ResetSession (&Session);
/***** Get and check parameters *****/
- ExaEvt_GetAndCheckParameters (&Exams,&Exam,&Event);
+ ExaSes_GetAndCheckParameters (&Exams,&Exam,&Session);
/***** Pointer to user's data *****/
MeOrOther = (Gbl.Action.Act == ActSeeOneExaEvtResMe) ? Usr_ME :
@@ -1130,17 +1130,17 @@ void ExaRes_ShowOneExaResult (void)
break;
}
- /***** Get event result data *****/
+ /***** Get session result data *****/
ExaPrn_ResetPrint (&Print);
- Print.EvtCod = Event.EvtCod;
+ Print.SesCod = Session.SesCod;
Print.UsrCod = UsrDat->UsrCod;
- ExaPrn_GetPrintDataByEvtCodAndUsrCod (&Print);
+ ExaPrn_GetPrintDataBySesCodAndUsrCod (&Print);
/***** Check if I can view this print result *****/
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_STD:
- ICanViewResult = ExaRes_CheckIfICanSeePrintResult (&Event,UsrDat->UsrCod);
+ ICanViewResult = ExaRes_CheckIfICanSeePrintResult (&Session,UsrDat->UsrCod);
if (ICanViewResult)
ICanViewScore = TstVis_IsVisibleTotalScore (Exam.Visibility);
else
@@ -1161,13 +1161,13 @@ void ExaRes_ShowOneExaResult (void)
break;
}
- if (ICanViewResult) // I am allowed to view this event result
+ if (ICanViewResult) // I am allowed to view this session result
{
/***** Get questions and user's answers of exam print from database *****/
ExaPrn_GetPrintQuestionsFromDB (&Print);
/***** Begin box *****/
- Box_BoxBegin (NULL,Event.Title,
+ Box_BoxBegin (NULL,Session.Title,
NULL,NULL,
Hlp_ASSESSMENT_Exams_results,Box_NOT_CLOSABLE);
Lay_WriteHeaderClassPhoto (false,false,
@@ -1179,7 +1179,7 @@ void ExaRes_ShowOneExaResult (void)
HTM_TABLE_BeginWideMarginPadding (5);
/***** Header row *****/
- /* Get data of the user who answer the event */
+ /* Get data of the user who answer the session */
if (!Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (UsrDat,Usr_DONT_GET_PREFS))
Lay_ShowErrorAndExit (Txt_The_user_does_not_exist);
if (!Usr_CheckIfICanViewTstExaMchResult (UsrDat))
@@ -1208,7 +1208,7 @@ void ExaRes_ShowOneExaResult (void)
HTM_TR_End ();
- /* Start/end time (for user in this event) */
+ /* Start/end time (for user in this session) */
for (StartEndTime = (Dat_StartEndTime_t) 0;
StartEndTime <= (Dat_StartEndTime_t) (Dat_NUM_START_END_TIME - 1);
StartEndTime++)
@@ -1285,7 +1285,7 @@ void ExaRes_ShowOneExaResult (void)
/***** End table *****/
HTM_TABLE_End ();
- /***** Write total mark of event result *****/
+ /***** Write total mark of session result *****/
if (ICanViewScore)
{
HTM_DIV_Begin ("class=\"DAT_N_BOLD CM\"");
@@ -1301,15 +1301,15 @@ void ExaRes_ShowOneExaResult (void)
/***** End box *****/
Box_BoxEnd ();
}
- else // I am not allowed to view this event result
+ else // I am not allowed to view this session result
Lay_NoPermissionExit ();
}
/*****************************************************************************/
-/********************** Get if I can see event result ************************/
+/********************** Get if I can see session result ************************/
/*****************************************************************************/
-static bool ExaRes_CheckIfICanSeePrintResult (struct ExaEvt_Event *Event,long UsrCod)
+static bool ExaRes_CheckIfICanSeePrintResult (struct ExaSes_Session *Session,long UsrCod)
{
bool ItsMe;
@@ -1317,8 +1317,8 @@ static bool ExaRes_CheckIfICanSeePrintResult (struct ExaEvt_Event *Event,long Us
{
case Rol_STD:
ItsMe = Usr_ItsMe (UsrCod);
- if (ItsMe && Event->ShowUsrResults)
- return ExaEvt_CheckIfICanListThisEventBasedOnGrps (Event->EvtCod);
+ if (ItsMe && Session->ShowUsrResults)
+ return ExaSes_CheckIfICanListThisSessionBasedOnGrps (Session->SesCod);
return false;
case Rol_NET:
case Rol_TCH:
@@ -1333,7 +1333,7 @@ static bool ExaRes_CheckIfICanSeePrintResult (struct ExaEvt_Event *Event,long Us
}
/*****************************************************************************/
-/********************** Get if I can see event result ************************/
+/********************** Get if I can see session result ************************/
/*****************************************************************************/
static bool ExaRes_CheckIfICanViewScore (bool ICanViewResult,unsigned Visibility)
diff --git a/swad_exam_event.c b/swad_exam_session.c
similarity index 52%
rename from swad_exam_event.c
rename to swad_exam_session.c
index 07ed5e31..283cac53 100644
--- a/swad_exam_event.c
+++ b/swad_exam_session.c
@@ -1,4 +1,4 @@
-// swad_exam_event.c: exam events (each ocurrence of an exam)
+// swad_exam_session.c: exam sessions (each ocurrence of an exam)
/*
SWAD (Shared Workspace At a Distance),
@@ -35,9 +35,9 @@
#include "swad_database.h"
#include "swad_date.h"
#include "swad_exam.h"
-#include "swad_exam_event.h"
#include "swad_exam_print.h"
#include "swad_exam_result.h"
+#include "swad_exam_session.h"
#include "swad_exam_set.h"
#include "swad_exam_type.h"
#include "swad_form.h"
@@ -57,27 +57,10 @@ extern struct Globals Gbl;
/***************************** Private constants *****************************/
/*****************************************************************************/
-#define ExaEvt_ICON_CLOSE "fas fa-times"
-#define ExaEvt_ICON_PLAY "fas fa-play"
-#define ExaEvt_ICON_PAUSE "fas fa-pause"
-#define ExaEvt_ICON_PREVIOUS "fas fa-step-backward"
-#define ExaEvt_ICON_NEXT "fas fa-step-forward"
-#define ExaEvt_ICON_RESULTS "fas fa-chart-bar"
-
-#define ExaEvt_COUNTDOWN_SECONDS_LARGE 60
-#define ExaEvt_COUNTDOWN_SECONDS_MEDIUM 30
-#define ExaEvt_COUNTDOWN_SECONDS_SMALL 10
-
/*****************************************************************************/
/******************************* Private types *******************************/
/*****************************************************************************/
-typedef enum
- {
- ExaEvt_CHANGE_STATUS_BY_STUDENT,
- ExaEvt_REFRESH_STATUS_BY_SERVER,
- } ExaEvt_Update_t;
-
/*****************************************************************************/
/***************************** Private constants *****************************/
/*****************************************************************************/
@@ -90,102 +73,103 @@ typedef enum
/***************************** Private prototypes ****************************/
/*****************************************************************************/
-static void ExaEvt_PutIconsInListOfEvents (void *Exams);
-static void ExaEvt_PutIconToCreateNewEvent (struct Exa_Exams *Exams);
+static void ExaSes_PutIconsInListOfSessions (void *Exams);
+static void ExaSes_PutIconToCreateNewSession (struct Exa_Exams *Exams);
-static void ExaEvt_ListOneOrMoreEvents (struct Exa_Exams *Exams,
- const struct Exa_Exam *Exam,
- long EvtCodToBeEdited,
- unsigned NumEvents,
- MYSQL_RES *mysql_res);
-static void ExaEvt_ListOneOrMoreEventsHeading (bool ICanEditEvents);
-static bool ExaEvt_CheckIfICanEditEvents (void);
-static bool ExaEvt_CheckIfICanEditThisEvent (const struct ExaEvt_Event *Event);
-static void ExaEvt_ListOneOrMoreEventsIcons (struct Exa_Exams *Exams,
- const struct ExaEvt_Event *Event,
- const char *Anchor);
-static void ExaEvt_ListOneOrMoreEventsAuthor (const struct ExaEvt_Event *Event);
-static void ExaEvt_ListOneOrMoreEventsTimes (const struct ExaEvt_Event *Event,unsigned UniqueId);
-static void ExaEvt_ListOneOrMoreEventsTitleGrps (struct Exa_Exams *Exams,
- const struct ExaEvt_Event *Event,
- const char *Anchor);
-static void ExaEvt_GetAndWriteNamesOfGrpsAssociatedToEvent (const struct ExaEvt_Event *Event);
-static void ExaEvt_ListOneOrMoreEventsResult (struct Exa_Exams *Exams,
- const struct ExaEvt_Event *Event);
-static void ExaEvt_ListOneOrMoreEventsResultStd (struct Exa_Exams *Exams,
- const struct ExaEvt_Event *Event);
-static void ExaEvt_ListOneOrMoreEventsResultTch (struct Exa_Exams *Exams,
- const struct ExaEvt_Event *Event);
+static void ExaSes_ListOneOrMoreSessions (struct Exa_Exams *Exams,
+ const struct Exa_Exam *Exam,
+ long EvtCodToBeEdited,
+ unsigned NumSessions,
+ MYSQL_RES *mysql_res);
+static void ExaSes_ListOneOrMoreSessionsHeading (bool ICanEditSessions);
+static bool ExaSes_CheckIfICanEditSessions (void);
+static bool ExaSes_CheckIfICanEditThisSession (const struct ExaSes_Session *Session);
+static void ExaSes_ListOneOrMoreSessionsIcons (struct Exa_Exams *Exams,
+ const struct ExaSes_Session *Session,
+ const char *Anchor);
+static void ExaSes_ListOneOrMoreSessionsAuthor (const struct ExaSes_Session *Session);
+static void ExaSes_ListOneOrMoreSessionsTimes (const struct ExaSes_Session *Session,
+ unsigned UniqueId);
+static void ExaSes_ListOneOrMoreSessionsTitleGrps (struct Exa_Exams *Exams,
+ const struct ExaSes_Session *Session,
+ const char *Anchor);
+static void ExaSes_GetAndWriteNamesOfGrpsAssociatedToSession (const struct ExaSes_Session *Session);
+static void ExaSes_ListOneOrMoreSessionsResult (struct Exa_Exams *Exams,
+ const struct ExaSes_Session *Session);
+static void ExaSes_ListOneOrMoreSessionsResultStd (struct Exa_Exams *Exams,
+ const struct ExaSes_Session *Session);
+static void ExaSes_ListOneOrMoreSessionsResultTch (struct Exa_Exams *Exams,
+ const struct ExaSes_Session *Session);
-static void ExaEvt_GetEventDataFromRow (MYSQL_RES *mysql_res,
- struct ExaEvt_Event *Event);
+static void ExaSes_GetSessionDataFromRow (MYSQL_RES *mysql_res,
+ struct ExaSes_Session *Session);
-static void ExaEvt_RemoveEventFromAllTables (long EvtCod);
-static void ExaEvt_RemoveEventFromTable (long EvtCod,const char *TableName);
-static void ExaEvt_RemoveEventsInExamFromTable (long ExaCod,const char *TableName);
-static void ExaEvt_RemoveEventInCourseFromTable (long CrsCod,const char *TableName);
-static void ExaEvt_RemoveUsrEvtResultsInCrs (long UsrCod,long CrsCod,const char *TableName);
+static void ExaSes_RemoveSessionFromAllTables (long SesCod);
+static void ExaSes_RemoveSessionFromTable (long SesCod,const char *TableName);
+static void ExaSes_RemoveSessionsInExamFromTable (long ExaCod,const char *TableName);
+static void ExaSes_RemoveSessionInCourseFromTable (long CrsCod,const char *TableName);
+static void ExaSes_RemoveUsrSesResultsInCrs (long UsrCod,long CrsCod,const char *TableName);
-static void ExaEvt_PutParamEvtCod (long EvtCod);
+static void ExaSes_PutParamSesCod (long SesCod);
-static void ExaEvt_PutFormEvent (const struct ExaEvt_Event *Event);
-static void ExaEvt_ShowLstGrpsToCreateEvent (long EvtCod);
+static void ExaSes_PutFormSession (const struct ExaSes_Session *Session);
+static void ExaSes_ShowLstGrpsToCreateSession (long SesCod);
-static void ExaEvt_CreateEvent (struct ExaEvt_Event *Event);
-static void ExaEvt_UpdateEvent (struct ExaEvt_Event *Event);
+static void ExaSes_CreateSession (struct ExaSes_Session *Session);
+static void ExaSes_UpdateSession (struct ExaSes_Session *Session);
-static void ExaEvt_CreateGrps (long EvtCod);
-static void ExaEvt_RemoveGroups (long EvtCod);
+static void ExaSes_CreateGrps (long SesCod);
+static void ExaSes_RemoveGroups (long SesCod);
/*****************************************************************************/
-/****************************** Reset exam event *****************************/
+/***************************** Reset exam session ****************************/
/*****************************************************************************/
-void ExaEvt_ResetEvent (struct ExaEvt_Event *Event)
+void ExaSes_ResetSession (struct ExaSes_Session *Session)
{
Dat_StartEndTime_t StartEndTime;
/***** Initialize to empty match *****/
- Event->EvtCod = -1L;
- Event->ExaCod = -1L;
- Event->UsrCod = -1L;
+ Session->SesCod = -1L;
+ Session->ExaCod = -1L;
+ Session->UsrCod = -1L;
for (StartEndTime = (Dat_StartEndTime_t) 0;
StartEndTime <= (Dat_StartEndTime_t) (Dat_NUM_START_END_TIME - 1);
StartEndTime++)
- Event->TimeUTC[StartEndTime] = (time_t) 0;
- Event->Title[0] = '\0';
- Event->Hidden = false;
- Event->Open = false;
- Event->ShowUsrResults = false;
+ Session->TimeUTC[StartEndTime] = (time_t) 0;
+ Session->Title[0] = '\0';
+ Session->Hidden = false;
+ Session->Open = false;
+ Session->ShowUsrResults = false;
};
/*****************************************************************************/
-/************************* List the events of an exam ************************/
+/************************ List the sessions of an exam ***********************/
/*****************************************************************************/
-void ExaEvt_ListEvents (struct Exa_Exams *Exams,
+void ExaSes_ListSessions (struct Exa_Exams *Exams,
struct Exa_Exam *Exam,
- struct ExaEvt_Event *Event,
- bool PutFormEvent)
+ struct ExaSes_Session *Session,
+ bool PutFormSession)
{
- extern const char *Hlp_ASSESSMENT_Exams_events;
- extern const char *Txt_Events;
+ extern const char *Hlp_ASSESSMENT_Exams_sessions;
+ extern const char *Txt_Sessions;
char *SubQuery;
MYSQL_RES *mysql_res;
- unsigned NumEvents;
- long EvtCodToBeEdited;
- bool PutFormNewEvent;
+ unsigned NumSessions;
+ long SesCodToBeEdited;
+ bool PutFormNewSession;
- /***** Get data of events from database *****/
+ /***** Get data of sessions from database *****/
/* Fill subquery for exam */
if (Gbl.Crs.Grps.WhichGrps == Grp_MY_GROUPS)
{
if (asprintf (&SubQuery," AND"
- "(EvtCod NOT IN"
- " (SELECT EvtCod FROM exa_groups)"
+ "(SesCod NOT IN"
+ " (SELECT SesCod FROM exa_groups)"
" OR"
- " EvtCod IN"
- " (SELECT exa_groups.EvtCod"
+ " SesCod IN"
+ " (SELECT exa_groups.SesCod"
" FROM exa_groups,crs_grp_usr"
" WHERE crs_grp_usr.UsrCod=%ld"
" AND exa_groups.GrpCod=crs_grp_usr.GrpCod))",
@@ -197,9 +181,9 @@ void ExaEvt_ListEvents (struct Exa_Exams *Exams,
Lay_NotEnoughMemoryExit ();
/* Make query */
- NumEvents = (unsigned)
- DB_QuerySELECT (&mysql_res,"can not get events",
- "SELECT EvtCod," // row[0]
+ NumSessions = (unsigned)
+ DB_QuerySELECT (&mysql_res,"can not get sessions",
+ "SELECT SesCod," // row[0]
"ExaCod," // row[1]
"Hidden," // row[2]
"UsrCod," // row[3]
@@ -208,9 +192,9 @@ void ExaEvt_ListEvents (struct Exa_Exams *Exams,
"NOW() BETWEEN StartTime AND EndTime," // row[6]
"Title," // row[7]
"ShowUsrResults" // row[8]
- " FROM exa_events"
+ " FROM exa_sessions"
" WHERE ExaCod=%ld%s"
- " ORDER BY EvtCod",
+ " ORDER BY SesCod",
Exam->ExaCod,
SubQuery);
@@ -219,9 +203,9 @@ void ExaEvt_ListEvents (struct Exa_Exams *Exams,
/***** Begin box *****/
Exams->ExaCod = Exam->ExaCod;
- Box_BoxBegin ("100%",Txt_Events,
- ExaEvt_PutIconsInListOfEvents,Exams,
- Hlp_ASSESSMENT_Exams_events,Box_NOT_CLOSABLE);
+ Box_BoxBegin ("100%",Txt_Sessions,
+ ExaSes_PutIconsInListOfSessions,Exams,
+ Hlp_ASSESSMENT_Exams_sessions,Box_NOT_CLOSABLE);
/***** Select whether show only my groups or all groups *****/
switch (Gbl.Usrs.Me.Role.Logged)
@@ -241,39 +225,39 @@ void ExaEvt_ListEvents (struct Exa_Exams *Exams,
break;
}
- /***** Show the table with the events *****/
- if (NumEvents)
+ /***** Show the table with the sessions *****/
+ if (NumSessions)
{
- EvtCodToBeEdited = PutFormEvent && Event->EvtCod > 0 ? Event->EvtCod :
- -1L;
- ExaEvt_ListOneOrMoreEvents (Exams,Exam,EvtCodToBeEdited,NumEvents,mysql_res);
+ SesCodToBeEdited = PutFormSession && Session->SesCod > 0 ? Session->SesCod :
+ -1L;
+ ExaSes_ListOneOrMoreSessions (Exams,Exam,SesCodToBeEdited,NumSessions,mysql_res);
}
/***** Free structure that stores the query result *****/
DB_FreeMySQLResult (&mysql_res);
- /***** Put button to create a new exam event in this exam *****/
+ /***** Put button to create a new exam session in this exam *****/
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_NET:
case Rol_TCH:
case Rol_SYS_ADM:
- PutFormNewEvent = PutFormEvent && Event->EvtCod <= 0;
- if (PutFormNewEvent)
+ PutFormNewSession = PutFormSession && Session->SesCod <= 0;
+ if (PutFormNewSession)
{
- /* Reset event */
- ExaEvt_ResetEvent (Event);
- Event->ExaCod = Exam->ExaCod;
- Event->TimeUTC[Dat_START_TIME] = Gbl.StartExecutionTimeUTC; // Now
- Event->TimeUTC[Dat_END_TIME ] = Gbl.StartExecutionTimeUTC + (1 * 60 * 60); // Now + 1 hour
- Str_Copy (Event->Title,Exam->Title,
- ExaEvt_MAX_BYTES_TITLE);
+ /* Reset session */
+ ExaSes_ResetSession (Session);
+ Session->ExaCod = Exam->ExaCod;
+ Session->TimeUTC[Dat_START_TIME] = Gbl.StartExecutionTimeUTC; // Now
+ Session->TimeUTC[Dat_END_TIME ] = Gbl.StartExecutionTimeUTC + (1 * 60 * 60); // Now + 1 hour
+ Str_Copy (Session->Title,Exam->Title,
+ ExaSes_MAX_BYTES_TITLE);
- /* Put form to create new event */
- ExaEvt_PutFormEvent (Event); // Form to create event
+ /* Put form to create new session */
+ ExaSes_PutFormSession (Session); // Form to create session
}
else
- ExaEvt_PutButtonNewEvent (Exams,Exam->ExaCod); // Button to create a new exam event
+ ExaSes_PutButtonNewSession (Exams,Exam->ExaCod); // Button to create a new exam session
break;
default:
break;
@@ -284,26 +268,26 @@ void ExaEvt_ListEvents (struct Exa_Exams *Exams,
}
/*****************************************************************************/
-/******************** Get exam event data using its code *********************/
+/******************* Get exam session data using its code ********************/
/*****************************************************************************/
-void ExaEvt_GetDataOfEventByCod (struct ExaEvt_Event *Event)
+void ExaSes_GetDataOfSessionByCod (struct ExaSes_Session *Session)
{
MYSQL_RES *mysql_res;
unsigned long NumRows;
/***** Trivial check *****/
- if (Event->EvtCod <= 0)
+ if (Session->SesCod <= 0)
{
- /* Initialize to empty exam event */
- ExaEvt_ResetEvent (Event);
+ /* Initialize to empty exam session */
+ ExaSes_ResetSession (Session);
return;
}
- /***** Get exam data event from database *****/
+ /***** Get exam data session from database *****/
NumRows = (unsigned)
- DB_QuerySELECT (&mysql_res,"can not get events",
- "SELECT EvtCod," // row[0]
+ DB_QuerySELECT (&mysql_res,"can not get sessions",
+ "SELECT SesCod," // row[0]
"ExaCod," // row[1]
"Hidden," // row[2]
"UsrCod," // row[3]
@@ -312,146 +296,146 @@ void ExaEvt_GetDataOfEventByCod (struct ExaEvt_Event *Event)
"NOW() BETWEEN StartTime AND EndTime," // row[6]
"Title," // row[7]
"ShowUsrResults" // row[8]
- " FROM exa_events"
- " WHERE EvtCod=%ld"
+ " FROM exa_sessions"
+ " WHERE SesCod=%ld"
" AND ExaCod IN" // Extra check
" (SELECT ExaCod FROM exa_exams"
" WHERE CrsCod='%ld')",
- Event->EvtCod,
+ Session->SesCod,
Gbl.Hierarchy.Crs.CrsCod);
- if (NumRows) // Event found...
- /* Get exam event data from row */
- ExaEvt_GetEventDataFromRow (mysql_res,Event);
+ if (NumRows) // Session found...
+ /* Get exam session data from row */
+ ExaSes_GetSessionDataFromRow (mysql_res,Session);
else
- /* Initialize to empty exam event */
- ExaEvt_ResetEvent (Event);
+ /* Initialize to empty exam session */
+ ExaSes_ResetSession (Session);
/***** Free structure that stores the query result *****/
DB_FreeMySQLResult (&mysql_res);
}
/*****************************************************************************/
-/***************** Check if exam event is visible and open *******************/
+/***************** Check if exam session is visible and open *****************/
/*****************************************************************************/
-bool ExaEvt_CheckIfEventIsVisibleAndOpen (long EvtCod)
+bool ExaSes_CheckIfSessionIsVisibleAndOpen (long SesCod)
{
/***** Trivial check *****/
- if (EvtCod < 0) // A non-existing event...
+ if (SesCod < 0) // A non-existing session...
return false; // ...is not visible or open
- /***** Check if exam event is visible and open from database *****/
- return (DB_QueryCOUNT ("can not check if event is visible and open",
- "SELECT COUNT(*) FROM exa_events"
- " WHERE EvtCod=%ld"
+ /***** Check if exam session is visible and open from database *****/
+ return (DB_QueryCOUNT ("can not check if session is visible and open",
+ "SELECT COUNT(*) FROM exa_sessions"
+ " WHERE SesCod=%ld"
" AND Hidden='N'" // Visible
" AND NOW() BETWEEN StartTime AND EndTime", // Open
- EvtCod) != 0);
+ SesCod) != 0);
}
/*****************************************************************************/
-/****************** Put icons in list of events of an exam *******************/
+/***************** Put icons in list of sessions of an exam ******************/
/*****************************************************************************/
-static void ExaEvt_PutIconsInListOfEvents (void *Exams)
+static void ExaSes_PutIconsInListOfSessions (void *Exams)
{
- bool ICanEditEvents;
+ bool ICanEditSessions;
if (Exams)
{
- /***** Put icon to create a new exam event in current exam *****/
- ICanEditEvents = ExaEvt_CheckIfICanEditEvents ();
- if (ICanEditEvents)
- ExaEvt_PutIconToCreateNewEvent ((struct Exa_Exams *) Exams);
+ /***** Put icon to create a new exam session in current exam *****/
+ ICanEditSessions = ExaSes_CheckIfICanEditSessions ();
+ if (ICanEditSessions)
+ ExaSes_PutIconToCreateNewSession ((struct Exa_Exams *) Exams);
}
}
/*****************************************************************************/
-/******************* Put icon to create a new exam event *********************/
+/******************* Put icon to create a new exam session *******************/
/*****************************************************************************/
-static void ExaEvt_PutIconToCreateNewEvent (struct Exa_Exams *Exams)
+static void ExaSes_PutIconToCreateNewSession (struct Exa_Exams *Exams)
{
- extern const char *Txt_New_event;
+ extern const char *Txt_New_session;
- /***** Put form to create a new exam event *****/
- Ico_PutContextualIconToAdd (ActReqNewExaEvt,ExaEvt_NEW_EVENT_SECTION_ID,
+ /***** Put form to create a new exam session *****/
+ Ico_PutContextualIconToAdd (ActReqNewExaEvt,ExaSes_NEW_SESSION_SECTION_ID,
Exa_PutParams,Exams,
- Txt_New_event);
+ Txt_New_session);
}
/*****************************************************************************/
-/*********************** List exam events for edition ************************/
+/********************** List exam sessions for edition ***********************/
/*****************************************************************************/
-static void ExaEvt_ListOneOrMoreEvents (struct Exa_Exams *Exams,
- const struct Exa_Exam *Exam,
- long EvtCodToBeEdited,
- unsigned NumEvents,
- MYSQL_RES *mysql_res)
+static void ExaSes_ListOneOrMoreSessions (struct Exa_Exams *Exams,
+ const struct Exa_Exam *Exam,
+ long EvtCodToBeEdited,
+ unsigned NumSessions,
+ MYSQL_RES *mysql_res)
{
- unsigned NumEvent;
+ unsigned NumSession;
unsigned UniqueId;
char *Anchor;
- struct ExaEvt_Event Event;
- bool ICanEditEvents = ExaEvt_CheckIfICanEditEvents ();
+ struct ExaSes_Session Session;
+ bool ICanEditSessions = ExaSes_CheckIfICanEditSessions ();
/***** Trivial check *****/
- if (!NumEvents)
+ if (!NumSessions)
return;
- /***** Reset event *****/
- ExaEvt_ResetEvent (&Event);
+ /***** Reset session *****/
+ ExaSes_ResetSession (&Session);
/***** Write the heading *****/
HTM_TABLE_BeginWidePadding (2);
- ExaEvt_ListOneOrMoreEventsHeading (ICanEditEvents);
+ ExaSes_ListOneOrMoreSessionsHeading (ICanEditSessions);
/***** Write rows *****/
- for (NumEvent = 0, UniqueId = 1;
- NumEvent < NumEvents;
- NumEvent++, UniqueId++)
+ for (NumSession = 0, UniqueId = 1;
+ NumSession < NumSessions;
+ NumSession++, UniqueId++)
{
- Gbl.RowEvenOdd = NumEvent % 2;
+ Gbl.RowEvenOdd = NumSession % 2;
- /***** Get exam event data from row *****/
- ExaEvt_GetEventDataFromRow (mysql_res,&Event);
+ /***** Get exam session data from row *****/
+ ExaSes_GetSessionDataFromRow (mysql_res,&Session);
- if (ExaEvt_CheckIfICanListThisEventBasedOnGrps (Event.EvtCod))
+ if (ExaSes_CheckIfICanListThisSessionBasedOnGrps (Session.SesCod))
{
/***** Build anchor string *****/
- if (asprintf (&Anchor,"evt_%ld_%ld",Exam->ExaCod,Event.EvtCod) < 0)
+ if (asprintf (&Anchor,"evt_%ld_%ld",Exam->ExaCod,Session.SesCod) < 0)
Lay_NotEnoughMemoryExit ();
- /***** Begin row for this exam event ****/
+ /***** Begin row for this exam session ****/
HTM_TR_Begin (NULL);
/* Icons */
- if (ICanEditEvents)
- if (ExaEvt_CheckIfICanEditThisEvent (&Event))
- ExaEvt_ListOneOrMoreEventsIcons (Exams,&Event,Anchor);
+ if (ICanEditSessions)
+ if (ExaSes_CheckIfICanEditThisSession (&Session))
+ ExaSes_ListOneOrMoreSessionsIcons (Exams,&Session,Anchor);
- /* Event participant */
- ExaEvt_ListOneOrMoreEventsAuthor (&Event);
+ /* Session participant */
+ ExaSes_ListOneOrMoreSessionsAuthor (&Session);
/* Start/end date/time */
- ExaEvt_ListOneOrMoreEventsTimes (&Event,UniqueId);
+ ExaSes_ListOneOrMoreSessionsTimes (&Session,UniqueId);
/* Title and groups */
- ExaEvt_ListOneOrMoreEventsTitleGrps (Exams,&Event,Anchor);
+ ExaSes_ListOneOrMoreSessionsTitleGrps (Exams,&Session,Anchor);
- /* Event result visible? */
- ExaEvt_ListOneOrMoreEventsResult (Exams,&Event);
+ /* Session result visible? */
+ ExaSes_ListOneOrMoreSessionsResult (Exams,&Session);
- /***** End row for this event ****/
+ /***** End row for this session ****/
HTM_TR_End ();
- /***** For to edit this event ****/
- if (Event.EvtCod == EvtCodToBeEdited)
+ /***** For to edit this session ****/
+ if (Session.SesCod == EvtCodToBeEdited)
{
HTM_TR_Begin (NULL);
HTM_TD_Begin ("colspan=\"6\" class=\"CT COLOR%u\"",Gbl.RowEvenOdd);
- ExaEvt_PutFormEvent (&Event); // Form to edit existing event
+ ExaSes_PutFormSession (&Session); // Form to edit existing session
HTM_TD_End ();
HTM_TR_End ();
}
@@ -466,28 +450,28 @@ static void ExaEvt_ListOneOrMoreEvents (struct Exa_Exams *Exams,
}
/*****************************************************************************/
-/************** Put a column for exam event start and end times **************/
+/************* Put a column for exam session start and end times *************/
/*****************************************************************************/
-static void ExaEvt_ListOneOrMoreEventsHeading (bool ICanEditEvents)
+static void ExaSes_ListOneOrMoreSessionsHeading (bool ICanEditSessions)
{
extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
extern const char *Txt_START_END_TIME[Dat_NUM_START_END_TIME];
- extern const char *Txt_Event;
+ extern const char *Txt_Session;
extern const char *Txt_Results;
/***** Start row *****/
HTM_TR_Begin (NULL);
/***** Column for icons *****/
- if (ICanEditEvents)
+ if (ICanEditSessions)
HTM_TH_Empty (1);
/***** The rest of columns *****/
HTM_TH (1,1,"LT",Txt_ROLES_SINGUL_Abc[Rol_TCH][Usr_SEX_UNKNOWN]);
HTM_TH (1,1,"LT",Txt_START_END_TIME[Exa_ORDER_BY_START_DATE]);
HTM_TH (1,1,"LT",Txt_START_END_TIME[Exa_ORDER_BY_END_DATE ]);
- HTM_TH (1,1,"LT",Txt_Event);
+ HTM_TH (1,1,"LT",Txt_Session);
HTM_TH (1,1,"CT",Txt_Results);
/***** End row *****/
@@ -495,10 +479,10 @@ static void ExaEvt_ListOneOrMoreEventsHeading (bool ICanEditEvents)
}
/*****************************************************************************/
-/*********************** Check if I can edit events **************************/
+/********************** Check if I can edit sessions *************************/
/*****************************************************************************/
-static bool ExaEvt_CheckIfICanEditEvents (void)
+static bool ExaSes_CheckIfICanEditSessions (void)
{
switch (Gbl.Usrs.Me.Role.Logged)
{
@@ -512,15 +496,15 @@ static bool ExaEvt_CheckIfICanEditEvents (void)
}
/*****************************************************************************/
-/************** Check if I can edit (remove/resume) an exam event ************/
+/************ Check if I can edit (remove/resume) an exam session ************/
/*****************************************************************************/
-static bool ExaEvt_CheckIfICanEditThisEvent (const struct ExaEvt_Event *Event)
+static bool ExaSes_CheckIfICanEditThisSession (const struct ExaSes_Session *Session)
{
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_NET:
- return (Event->UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod); // Only if I am the creator
+ return (Session->UsrCod == Gbl.Usrs.Me.UsrDat.UsrCod); // Only if I am the creator
case Rol_TCH:
case Rol_SYS_ADM:
return true;
@@ -533,55 +517,56 @@ static bool ExaEvt_CheckIfICanEditThisEvent (const struct ExaEvt_Event *Event)
/************************* Put a column for icons ****************************/
/*****************************************************************************/
-static void ExaEvt_ListOneOrMoreEventsIcons (struct Exa_Exams *Exams,
- const struct ExaEvt_Event *Event,
+static void ExaSes_ListOneOrMoreSessionsIcons (struct Exa_Exams *Exams,
+ const struct ExaSes_Session *Session,
const char *Anchor)
{
/***** Begin cell *****/
HTM_TD_Begin ("class=\"BT%u\"",Gbl.RowEvenOdd);
- Exams->ExaCod = Event->ExaCod;
- Exams->EvtCod = Event->EvtCod;
+ Exams->ExaCod = Session->ExaCod;
+ Exams->SesCod = Session->SesCod;
- /***** Icon to remove the exam event *****/
+ /***** Icon to remove the exam session *****/
Frm_StartForm (ActReqRemExaEvt);
- ExaEvt_PutParamsEdit (Exams);
+ ExaSes_PutParamsEdit (Exams);
Ico_PutIconRemove ();
Frm_EndForm ();
- /***** Icon to hide/unhide the exam event *****/
- if (Event->Hidden)
+ /***** Icon to hide/unhide the exam session *****/
+ if (Session->Hidden)
Ico_PutContextualIconToUnhide (ActShoExaEvt,Anchor,
- ExaEvt_PutParamsEdit,Exams);
+ ExaSes_PutParamsEdit,Exams);
else
Ico_PutContextualIconToHide (ActHidExaEvt,Anchor,
- ExaEvt_PutParamsEdit,Exams);
+ ExaSes_PutParamsEdit,Exams);
- /***** Icon to edit the exam event *****/
+ /***** Icon to edit the exam session *****/
Ico_PutContextualIconToEdit (ActEdiOneExaEvt,Anchor,
- ExaEvt_PutParamsEdit,Exams);
+ ExaSes_PutParamsEdit,Exams);
/***** End cell *****/
HTM_TD_End ();
}
/*****************************************************************************/
-/*********** Put a column for teacher who created the exam event *************/
+/********** Put a column for teacher who created the exam session ************/
/*****************************************************************************/
-static void ExaEvt_ListOneOrMoreEventsAuthor (const struct ExaEvt_Event *Event)
+static void ExaSes_ListOneOrMoreSessionsAuthor (const struct ExaSes_Session *Session)
{
- /***** Event author (teacher) *****/
+ /***** Session author (teacher) *****/
HTM_TD_Begin ("class=\"LT COLOR%u\"",Gbl.RowEvenOdd);
- Usr_WriteAuthor1Line (Event->UsrCod,Event->Hidden);
+ Usr_WriteAuthor1Line (Session->UsrCod,Session->Hidden);
HTM_TD_End ();
}
/*****************************************************************************/
-/*************** Put a column for exam event start and end times *************/
+/************* Put a column for exam session start and end times *************/
/*****************************************************************************/
-static void ExaEvt_ListOneOrMoreEventsTimes (const struct ExaEvt_Event *Event,unsigned UniqueId)
+static void ExaSes_ListOneOrMoreSessionsTimes (const struct ExaSes_Session *Session,
+ unsigned UniqueId)
{
Dat_StartEndTime_t StartEndTime;
const char *Color;
@@ -591,16 +576,16 @@ static void ExaEvt_ListOneOrMoreEventsTimes (const struct ExaEvt_Event *Event,un
StartEndTime <= (Dat_StartEndTime_t) (Dat_NUM_START_END_TIME - 1);
StartEndTime++)
{
- Color = Event->Open ? (Event->Hidden ? "DATE_GREEN_LIGHT":
+ Color = Session->Open ? (Session->Hidden ? "DATE_GREEN_LIGHT":
"DATE_GREEN") :
- (Event->Hidden ? "DATE_RED_LIGHT":
+ (Session->Hidden ? "DATE_RED_LIGHT":
"DATE_RED");
if (asprintf (&Id,"exa_time_%u_%u",(unsigned) StartEndTime,UniqueId) < 0)
Lay_NotEnoughMemoryExit ();
HTM_TD_Begin ("id=\"%s\" class=\"%s LT COLOR%u\"",
Id,Color,Gbl.RowEvenOdd);
- Dat_WriteLocalDateHMSFromUTC (Id,Event->TimeUTC[StartEndTime],
+ Dat_WriteLocalDateHMSFromUTC (Id,Session->TimeUTC[StartEndTime],
Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK,
true,true,true,0x6);
HTM_TD_End ();
@@ -609,11 +594,11 @@ static void ExaEvt_ListOneOrMoreEventsTimes (const struct ExaEvt_Event *Event,un
}
/*****************************************************************************/
-/*************** Put a column for exam event title and grous *****************/
+/************** Put a column for exam session title and grous ****************/
/*****************************************************************************/
-static void ExaEvt_ListOneOrMoreEventsTitleGrps (struct Exa_Exams *Exams,
- const struct ExaEvt_Event *Event,
+static void ExaSes_ListOneOrMoreSessionsTitleGrps (struct Exa_Exams *Exams,
+ const struct ExaSes_Session *Session,
const char *Anchor)
{
extern const char *Txt_Play;
@@ -621,43 +606,43 @@ static void ExaEvt_ListOneOrMoreEventsTitleGrps (struct Exa_Exams *Exams,
HTM_TD_Begin ("class=\"LT COLOR%u\"",Gbl.RowEvenOdd);
- /***** Event title *****/
+ /***** Session title *****/
HTM_ARTICLE_Begin (Anchor);
- if (ExaEvt_CheckIfICanAnswerThisEvent (Event))
+ if (ExaSes_CheckIfICanAnswerThisSession (Session))
{
Frm_StartForm (ActSeeExaPrn);
Exa_PutParams (Exams);
- ExaEvt_PutParamEvtCod (Event->EvtCod);
+ ExaSes_PutParamSesCod (Session->SesCod);
HTM_BUTTON_SUBMIT_Begin (Gbl.Usrs.Me.Role.Logged == Rol_STD ? Txt_Play :
Txt_Resume,
- Event->Hidden ? "BT_LINK LT ASG_TITLE_LIGHT":
+ Session->Hidden ? "BT_LINK LT ASG_TITLE_LIGHT":
"BT_LINK LT ASG_TITLE",
NULL);
- HTM_Txt (Event->Title);
+ HTM_Txt (Session->Title);
HTM_BUTTON_End ();
Frm_EndForm ();
}
else
{
- HTM_SPAN_Begin ("class=\"%s\"",Event->Hidden ? "LT ASG_TITLE_LIGHT":
+ HTM_SPAN_Begin ("class=\"%s\"",Session->Hidden ? "LT ASG_TITLE_LIGHT":
"LT ASG_TITLE");
- HTM_Txt (Event->Title);
+ HTM_Txt (Session->Title);
HTM_SPAN_End ();
}
HTM_ARTICLE_End ();
- /***** Groups whose students can answer this exam event *****/
+ /***** Groups whose students can answer this exam session *****/
if (Gbl.Crs.Grps.NumGrps)
- ExaEvt_GetAndWriteNamesOfGrpsAssociatedToEvent (Event);
+ ExaSes_GetAndWriteNamesOfGrpsAssociatedToSession (Session);
HTM_TD_End ();
}
/*****************************************************************************/
-/********** Get and write the names of the groups of an exam event ***********/
+/********* Get and write the names of the groups of an exam session **********/
/*****************************************************************************/
-static void ExaEvt_GetAndWriteNamesOfGrpsAssociatedToEvent (const struct ExaEvt_Event *Event)
+static void ExaSes_GetAndWriteNamesOfGrpsAssociatedToSession (const struct ExaSes_Session *Session)
{
extern const char *Txt_Group;
extern const char *Txt_Groups;
@@ -668,19 +653,20 @@ static void ExaEvt_GetAndWriteNamesOfGrpsAssociatedToEvent (const struct ExaEvt_
unsigned long NumRow;
unsigned long NumRows;
- /***** Get groups associated to an exam event from database *****/
- NumRows = DB_QuerySELECT (&mysql_res,"can not get groups of an exam event",
- "SELECT crs_grp_types.GrpTypName,crs_grp.GrpName"
+ /***** Get groups associated to an exam session from database *****/
+ NumRows = DB_QuerySELECT (&mysql_res,"can not get groups of an exam session",
+ "SELECT crs_grp_types.GrpTypName," // row[0]
+ "crs_grp.GrpName" // row[1]
" FROM exa_groups,crs_grp,crs_grp_types"
- " WHERE exa_groups.EvtCod=%ld"
+ " WHERE exa_groups.SesCod=%ld"
" AND exa_groups.GrpCod=crs_grp.GrpCod"
" AND crs_grp.GrpTypCod=crs_grp_types.GrpTypCod"
" ORDER BY crs_grp_types.GrpTypName,crs_grp.GrpName",
- Event->EvtCod);
+ Session->SesCod);
/***** Write heading *****/
- HTM_DIV_Begin ("class=\"%s\"",Event->Hidden ? "ASG_GRP_LIGHT":
- "ASG_GRP");
+ HTM_DIV_Begin ("class=\"%s\"",Session->Hidden ? "ASG_GRP_LIGHT":
+ "ASG_GRP");
HTM_TxtColonNBSP (NumRows == 1 ? Txt_Group :
Txt_Groups);
@@ -718,23 +704,23 @@ static void ExaEvt_GetAndWriteNamesOfGrpsAssociatedToEvent (const struct ExaEvt_
}
/*****************************************************************************/
-/************* Put a column for visibility of exam event result **************/
+/************ Put a column for visibility of exam session result *************/
/*****************************************************************************/
-static void ExaEvt_ListOneOrMoreEventsResult (struct Exa_Exams *Exams,
- const struct ExaEvt_Event *Event)
+static void ExaSes_ListOneOrMoreSessionsResult (struct Exa_Exams *Exams,
+ const struct ExaSes_Session *Session)
{
HTM_TD_Begin ("class=\"DAT CT COLOR%u\"",Gbl.RowEvenOdd);
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_STD:
- ExaEvt_ListOneOrMoreEventsResultStd (Exams,Event);
+ ExaSes_ListOneOrMoreSessionsResultStd (Exams,Session);
break;
case Rol_NET:
case Rol_TCH:
case Rol_SYS_ADM:
- ExaEvt_ListOneOrMoreEventsResultTch (Exams,Event);
+ ExaSes_ListOneOrMoreSessionsResultTch (Exams,Session);
break;
default:
Rol_WrongRoleExit ();
@@ -744,19 +730,19 @@ static void ExaEvt_ListOneOrMoreEventsResult (struct Exa_Exams *Exams,
HTM_TD_End ();
}
-static void ExaEvt_ListOneOrMoreEventsResultStd (struct Exa_Exams *Exams,
- const struct ExaEvt_Event *Event)
+static void ExaSes_ListOneOrMoreSessionsResultStd (struct Exa_Exams *Exams,
+ const struct ExaSes_Session *Session)
{
extern const char *Txt_Results;
- /***** Is exam event result visible or hidden? *****/
- if (Event->ShowUsrResults)
+ /***** Is exam session result visible or hidden? *****/
+ if (Session->ShowUsrResults)
{
/* Result is visible by me */
- Exams->ExaCod = Event->ExaCod;
- Exams->EvtCod = Event->EvtCod;
+ Exams->ExaCod = Session->ExaCod;
+ Exams->SesCod = Session->SesCod;
Lay_PutContextualLinkOnlyIcon (ActSeeMyExaEvtResEvt,ExaRes_RESULTS_BOX_ID,
- ExaEvt_PutParamsEdit,Exams,
+ ExaSes_PutParamsEdit,Exams,
"trophy.svg",
Txt_Results);
}
@@ -765,92 +751,92 @@ static void ExaEvt_ListOneOrMoreEventsResultStd (struct Exa_Exams *Exams,
Ico_PutIconNotVisible ();
}
-static void ExaEvt_ListOneOrMoreEventsResultTch (struct Exa_Exams *Exams,
- const struct ExaEvt_Event *Event)
+static void ExaSes_ListOneOrMoreSessionsResultTch (struct Exa_Exams *Exams,
+ const struct ExaSes_Session *Session)
{
extern const char *Txt_Visible_results;
extern const char *Txt_Hidden_results;
extern const char *Txt_Results;
- /***** Can I edit exam event vivibility? *****/
- if (ExaEvt_CheckIfICanEditThisEvent (Event))
+ /***** Can I edit exam session vivibility? *****/
+ if (ExaSes_CheckIfICanEditThisSession (Session))
{
- Exams->ExaCod = Event->ExaCod;
- Exams->EvtCod = Event->EvtCod;
+ Exams->ExaCod = Session->ExaCod;
+ Exams->SesCod = Session->SesCod;
- /* Show exam event results */
+ /* Show exam session results */
Lay_PutContextualLinkOnlyIcon (ActSeeAllExaEvtResEvt,ExaRes_RESULTS_BOX_ID,
- ExaEvt_PutParamsEdit,Exams,
+ ExaSes_PutParamsEdit,Exams,
"trophy.svg",
Txt_Results);
/* I can edit visibility */
Lay_PutContextualLinkOnlyIcon (ActChgVisResExaEvtUsr,NULL,
- ExaEvt_PutParamsEdit,Exams,
- Event->ShowUsrResults ? "eye-green.svg" :
- "eye-slash-red.svg",
- Event->ShowUsrResults ? Txt_Visible_results :
- Txt_Hidden_results);
+ ExaSes_PutParamsEdit,Exams,
+ Session->ShowUsrResults ? "eye-green.svg" :
+ "eye-slash-red.svg",
+ Session->ShowUsrResults ? Txt_Visible_results :
+ Txt_Hidden_results);
}
else
/* I can not edit visibility */
- Ico_PutIconOff (Event->ShowUsrResults ? "eye-green.svg" :
- "eye-slash-red.svg",
- Event->ShowUsrResults ? Txt_Visible_results :
- Txt_Hidden_results);
+ Ico_PutIconOff (Session->ShowUsrResults ? "eye-green.svg" :
+ "eye-slash-red.svg",
+ Session->ShowUsrResults ? Txt_Visible_results :
+ Txt_Hidden_results);
}
/*****************************************************************************/
-/****************** Toggle visibility of exam event results ******************/
+/***************** Toggle visibility of exam session results *****************/
/*****************************************************************************/
-void ExaEvt_ToggleVisResultsEvtUsr (void)
+void ExaSes_ToggleVisResultsSesUsr (void)
{
struct Exa_Exams Exams;
struct Exa_Exam Exam;
- struct ExaEvt_Event Event;
+ struct ExaSes_Session Session;
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
Exa_ResetExam (&Exam);
- ExaEvt_ResetEvent (&Event);
+ ExaSes_ResetSession (&Session);
/***** Get and check parameters *****/
- ExaEvt_GetAndCheckParameters (&Exams,&Exam,&Event);
+ ExaSes_GetAndCheckParameters (&Exams,&Exam,&Session);
/***** Check if I have permission to change visibility *****/
- if (!ExaEvt_CheckIfICanEditThisEvent (&Event))
+ if (!ExaSes_CheckIfICanEditThisSession (&Session))
Lay_NoPermissionExit ();
- /***** Toggle visibility of exam event results *****/
- Event.ShowUsrResults = !Event.ShowUsrResults;
- DB_QueryUPDATE ("can not toggle visibility of exam event results",
- "UPDATE exa_events"
+ /***** Toggle visibility of exam session results *****/
+ Session.ShowUsrResults = !Session.ShowUsrResults;
+ DB_QueryUPDATE ("can not toggle visibility of session results",
+ "UPDATE exa_sessions"
" SET ShowUsrResults='%c'"
- " WHERE EvtCod=%ld",
- Event.ShowUsrResults ? 'Y' :
+ " WHERE SesCod=%ld",
+ Session.ShowUsrResults ? 'Y' :
'N',
- Event.EvtCod);
+ Session.SesCod);
/***** Show current exam *****/
- Exa_ShowOnlyOneExam (&Exams,&Exam,&Event,
- false); // Do not put form for event
+ Exa_ShowOnlyOneExam (&Exams,&Exam,&Session,
+ false); // Do not put form for session
}
/*****************************************************************************/
/******************** Get exam data from a database row **********************/
/*****************************************************************************/
-static void ExaEvt_GetEventDataFromRow (MYSQL_RES *mysql_res,
- struct ExaEvt_Event *Event)
+static void ExaSes_GetSessionDataFromRow (MYSQL_RES *mysql_res,
+ struct ExaSes_Session *Session)
{
MYSQL_ROW row;
Dat_StartEndTime_t StartEndTime;
- /***** Get exam event data *****/
+ /***** Get exam session data *****/
row = mysql_fetch_row (mysql_res);
/*
- row[0] EvtCod
+ row[0] SesCod
row[1] ExaCod
row[2] Hidden
row[3] UsrCod
@@ -860,162 +846,162 @@ static void ExaEvt_GetEventDataFromRow (MYSQL_RES *mysql_res,
row[7] Title
row[8] ShowUsrResults
*/
- /***** Get event data *****/
- /* Code of the event (row[0]) */
- if ((Event->EvtCod = Str_ConvertStrCodToLongCod (row[0])) <= 0)
- Lay_ShowErrorAndExit ("Wrong code of exam event.");
+ /***** Get session data *****/
+ /* Code of the session (row[0]) */
+ if ((Session->SesCod = Str_ConvertStrCodToLongCod (row[0])) <= 0)
+ Lay_ShowErrorAndExit ("Wrong code of exam session.");
/* Code of the exam (row[1]) */
- if ((Event->ExaCod = Str_ConvertStrCodToLongCod (row[1])) <= 0)
+ if ((Session->ExaCod = Str_ConvertStrCodToLongCod (row[1])) <= 0)
Lay_ShowErrorAndExit ("Wrong code of exam.");
- /* Get whether the event is hidden (row[2]) */
- Event->Hidden = (row[2][0] == 'Y');
+ /* Get whether the session is hidden (row[2]) */
+ Session->Hidden = (row[2][0] == 'Y');
- /* Get event teacher (row[3]) */
- Event->UsrCod = Str_ConvertStrCodToLongCod (row[3]);
+ /* Get session teacher (row[3]) */
+ Session->UsrCod = Str_ConvertStrCodToLongCod (row[3]);
/* Get start/end times (row[4], row[5] hold start/end UTC times) */
for (StartEndTime = (Dat_StartEndTime_t) 0;
StartEndTime <= (Dat_StartEndTime_t) (Dat_NUM_START_END_TIME - 1);
StartEndTime++)
- Event->TimeUTC[StartEndTime] = Dat_GetUNIXTimeFromStr (row[4 + StartEndTime]);
+ Session->TimeUTC[StartEndTime] = Dat_GetUNIXTimeFromStr (row[4 + StartEndTime]);
- /* Get whether the event is open or closed (row(6)) */
- Event->Open = (row[6][0] == '1');
+ /* Get whether the session is open or closed (row(6)) */
+ Session->Open = (row[6][0] == '1');
- /* Get the title of the event (row[7]) */
+ /* Get the title of the session (row[7]) */
if (row[7])
- Str_Copy (Event->Title,row[7],
- ExaEvt_MAX_BYTES_TITLE);
+ Str_Copy (Session->Title,row[7],
+ ExaSes_MAX_BYTES_TITLE);
else
- Event->Title[0] = '\0';
+ Session->Title[0] = '\0';
/* Get whether to show user results or not (row(8)) */
- Event->ShowUsrResults = (row[8][0] == 'Y');
+ Session->ShowUsrResults = (row[8][0] == 'Y');
}
/*****************************************************************************/
-/*********** Request the removal of an exam event (exam instance) ************/
+/********** Request the removal of an exam session (exam instance) ***********/
/*****************************************************************************/
-void ExaEvt_RequestRemoveEvent (void)
+void ExaSes_RequestRemoveSession (void)
{
extern const char *Txt_Do_you_really_want_to_remove_the_event_X;
extern const char *Txt_Remove_event;
struct Exa_Exams Exams;
struct Exa_Exam Exam;
- struct ExaEvt_Event Event;
+ struct ExaSes_Session Session;
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
Exa_ResetExam (&Exam);
- ExaEvt_ResetEvent (&Event);
+ ExaSes_ResetSession (&Session);
/***** Get and check parameters *****/
- ExaEvt_GetAndCheckParameters (&Exams,&Exam,&Event);
+ ExaSes_GetAndCheckParameters (&Exams,&Exam,&Session);
/***** Show question and button to remove question *****/
- Exams.ExaCod = Event.ExaCod;
- Exams.EvtCod = Event.EvtCod;
+ Exams.ExaCod = Session.ExaCod;
+ Exams.SesCod = Session.SesCod;
Ale_ShowAlertAndButton (ActRemExaEvt,NULL,NULL,
- ExaEvt_PutParamsEdit,&Exams,
+ ExaSes_PutParamsEdit,&Exams,
Btn_REMOVE_BUTTON,Txt_Remove_event,
Ale_QUESTION,Txt_Do_you_really_want_to_remove_the_event_X,
- Event.Title);
+ Session.Title);
/***** Show current exam *****/
- Exa_ShowOnlyOneExam (&Exams,&Exam,&Event,
- false); // Do not put form for event
+ Exa_ShowOnlyOneExam (&Exams,&Exam,&Session,
+ false); // Do not put form for session
}
/*****************************************************************************/
-/******************* Remove an exam event (exam instance) ********************/
+/****************** Remove an exam session (exam instance) *******************/
/*****************************************************************************/
-void ExaEvt_RemoveEvent (void)
+void ExaSes_RemoveSession (void)
{
- extern const char *Txt_Event_X_removed;
+ extern const char *Txt_Session_X_removed;
struct Exa_Exams Exams;
struct Exa_Exam Exam;
- struct ExaEvt_Event Event;
+ struct ExaSes_Session Session;
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
Exa_ResetExam (&Exam);
- ExaEvt_ResetEvent (&Event);
+ ExaSes_ResetSession (&Session);
/***** Get and check parameters *****/
- ExaEvt_GetAndCheckParameters (&Exams,&Exam,&Event);
+ ExaSes_GetAndCheckParameters (&Exams,&Exam,&Session);
- /***** Check if I can remove this exam event *****/
- if (!ExaEvt_CheckIfICanEditThisEvent (&Event))
+ /***** Check if I can remove this exam session *****/
+ if (!ExaSes_CheckIfICanEditThisSession (&Session))
Lay_NoPermissionExit ();
- /***** Remove the exam event from all database tables *****/
- ExaEvt_RemoveEventFromAllTables (Event.EvtCod);
+ /***** Remove the exam session from all database tables *****/
+ ExaSes_RemoveSessionFromAllTables (Session.SesCod);
/***** Write message *****/
- Ale_ShowAlert (Ale_SUCCESS,Txt_Event_X_removed,
- Event.Title);
+ Ale_ShowAlert (Ale_SUCCESS,Txt_Session_X_removed,
+ Session.Title);
- /***** Get exam data again to update it after changes in event *****/
+ /***** Get exam data again to update it after changes in session *****/
Exa_GetDataOfExamByCod (&Exam);
/***** Show current exam *****/
- Exa_ShowOnlyOneExam (&Exams,&Exam,&Event,
- false); // Do not put form for event
+ Exa_ShowOnlyOneExam (&Exams,&Exam,&Session,
+ false); // Do not put form for session
}
/*****************************************************************************/
-/******************** Remove exam event from all tables **********************/
+/******************* Remove exam session from all tables *********************/
/*****************************************************************************/
/*
mysql> SELECT table_name FROM information_schema.tables WHERE table_name LIKE 'exa%';
*/
-static void ExaEvt_RemoveEventFromAllTables (long EvtCod)
+static void ExaSes_RemoveSessionFromAllTables (long SesCod)
{
- /***** Remove exam event from secondary tables *****/
- ExaEvt_RemoveEventFromTable (EvtCod,"exa_groups");
+ /***** Remove exam session from secondary tables *****/
+ ExaSes_RemoveSessionFromTable (SesCod,"exa_groups");
- /***** Remove exam event from main table *****/
- DB_QueryDELETE ("can not remove exam event",
- "DELETE FROM exa_events WHERE EvtCod=%ld",
- EvtCod);
+ /***** Remove exam session from main table *****/
+ DB_QueryDELETE ("can not remove exam session",
+ "DELETE FROM exa_sessions WHERE SesCod=%ld",
+ SesCod);
}
-static void ExaEvt_RemoveEventFromTable (long EvtCod,const char *TableName)
+static void ExaSes_RemoveSessionFromTable (long SesCod,const char *TableName)
{
- /***** Remove exam event from secondary table *****/
- DB_QueryDELETE ("can not remove exam event from table",
- "DELETE FROM %s WHERE EvtCod=%ld",
+ /***** Remove exam session from secondary table *****/
+ DB_QueryDELETE ("can not remove exam session from table",
+ "DELETE FROM %s WHERE SesCod=%ld",
TableName,
- EvtCod);
+ SesCod);
}
/*****************************************************************************/
-/****************** Remove exam event in exam from all tables ****************/
+/**************** Remove exam session in exam from all tables ****************/
/*****************************************************************************/
-void ExaEvt_RemoveEventsInExamFromAllTables (long ExaCod)
+void ExaSes_RemoveSessionsInExamFromAllTables (long ExaCod)
{
- /***** Remove events from secondary tables *****/
- ExaEvt_RemoveEventsInExamFromTable (ExaCod,"exa_groups");
+ /***** Remove sessions from secondary tables *****/
+ ExaSes_RemoveSessionsInExamFromTable (ExaCod,"exa_groups");
- /***** Remove events from main table *****/
- DB_QueryDELETE ("can not remove events of an exam",
- "DELETE FROM exa_events WHERE ExaCod=%ld",
+ /***** Remove sessions from main table *****/
+ DB_QueryDELETE ("can not remove sessions of an exam",
+ "DELETE FROM exa_sessions WHERE ExaCod=%ld",
ExaCod);
}
-static void ExaEvt_RemoveEventsInExamFromTable (long ExaCod,const char *TableName)
+static void ExaSes_RemoveSessionsInExamFromTable (long ExaCod,const char *TableName)
{
- /***** Remove events in exam from secondary table *****/
- DB_QueryDELETE ("can not remove events of an exam from table",
+ /***** Remove sessions in exam from secondary table *****/
+ DB_QueryDELETE ("can not remove sessions of an exam from table",
"DELETE FROM %s"
- " USING exa_events,%s"
- " WHERE exa_events.ExaCod=%ld"
- " AND exa_events.EvtCod=%s.EvtCod",
+ " USING exa_sessions,%s"
+ " WHERE exa_sessions.ExaCod=%ld"
+ " AND exa_sessions.SesCod=%s.SesCod",
TableName,
TableName,
ExaCod,
@@ -1023,32 +1009,32 @@ static void ExaEvt_RemoveEventsInExamFromTable (long ExaCod,const char *TableNam
}
/*****************************************************************************/
-/***************** Remove exam event in course from all tables ***************/
+/*************** Remove exam session in course from all tables ***************/
/*****************************************************************************/
-void ExaEvt_RemoveEventInCourseFromAllTables (long CrsCod)
+void ExaSes_RemoveSessionInCourseFromAllTables (long CrsCod)
{
- /***** Remove events from secondary tables *****/
- ExaEvt_RemoveEventInCourseFromTable (CrsCod,"exa_groups");
+ /***** Remove sessions from secondary tables *****/
+ ExaSes_RemoveSessionInCourseFromTable (CrsCod,"exa_groups");
- /***** Remove events from main table *****/
- DB_QueryDELETE ("can not remove events of a course",
- "DELETE FROM exa_events"
- " USING exa_exams,exa_events"
+ /***** Remove sessions from main table *****/
+ DB_QueryDELETE ("can not remove sessions of a course",
+ "DELETE FROM exa_sessions"
+ " USING exa_exams,exa_sessions"
" WHERE exa_exams.CrsCod=%ld"
- " AND exa_exams.ExaCod=exa_events.ExaCod",
+ " AND exa_exams.ExaCod=exa_sessions.ExaCod",
CrsCod);
}
-static void ExaEvt_RemoveEventInCourseFromTable (long CrsCod,const char *TableName)
+static void ExaSes_RemoveSessionInCourseFromTable (long CrsCod,const char *TableName)
{
- /***** Remove events in course from secondary table *****/
- DB_QueryDELETE ("can not remove events of a course from table",
+ /***** Remove sessions in course from secondary table *****/
+ DB_QueryDELETE ("can not remove sessions of a course from table",
"DELETE FROM %s"
- " USING exa_exams,exa_events,%s"
+ " USING exa_exams,exa_sessions,%s"
" WHERE exa_exams.CrsCod=%ld"
- " AND exa_exams.ExaCod=exa_events.ExaCod"
- " AND exa_events.EvtCod=%s.EvtCod",
+ " AND exa_exams.ExaCod=exa_sessions.ExaCod"
+ " AND exa_sessions.SesCod=%s.SesCod",
TableName,
TableName,
CrsCod,
@@ -1056,24 +1042,24 @@ static void ExaEvt_RemoveEventInCourseFromTable (long CrsCod,const char *TableNa
}
/*****************************************************************************/
-/************** Remove user from secondary exam event tables *****************/
+/************* Remove user from secondary exam session tables ****************/
/*****************************************************************************/
-void ExaEvt_RemoveUsrFromEventTablesInCrs (long UsrCod,long CrsCod)
+void ExaSes_RemoveUsrFromSessionTablesInCrs (long UsrCod,long CrsCod)
{
/***** Remove student from secondary tables *****/
- ExaEvt_RemoveUsrEvtResultsInCrs (UsrCod,CrsCod,"exa_prints");
+ ExaSes_RemoveUsrSesResultsInCrs (UsrCod,CrsCod,"exa_prints");
}
-static void ExaEvt_RemoveUsrEvtResultsInCrs (long UsrCod,long CrsCod,const char *TableName)
+static void ExaSes_RemoveUsrSesResultsInCrs (long UsrCod,long CrsCod,const char *TableName)
{
- /***** Remove events in course from secondary table *****/
- DB_QueryDELETE ("can not remove events of a user from table",
+ /***** Remove sessions in course from secondary table *****/
+ DB_QueryDELETE ("can not remove sessions of a user from table",
"DELETE FROM %s"
- " USING exa_exams,exa_events,%s"
+ " USING exa_exams,exa_sessions,%s"
" WHERE exa_exams.CrsCod=%ld"
- " AND exa_exams.ExaCod=exa_events.ExaCod"
- " AND exa_events.EvtCod=%s.EvtCod"
+ " AND exa_exams.ExaCod=exa_sessions.ExaCod"
+ " AND exa_sessions.SesCod=%s.SesCod"
" AND %s.UsrCod=%ld",
TableName,
TableName,
@@ -1084,102 +1070,102 @@ static void ExaEvt_RemoveUsrEvtResultsInCrs (long UsrCod,long CrsCod,const char
}
/*****************************************************************************/
-/******************************** Hide an event ******************************/
+/******************************* Hide an session *****************************/
/*****************************************************************************/
-void ExaEvt_HideEvent (void)
+void ExaSes_HideSession (void)
{
struct Exa_Exams Exams;
struct Exa_Exam Exam;
- struct ExaEvt_Event Event;
+ struct ExaSes_Session Session;
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
Exa_ResetExam (&Exam);
- ExaEvt_ResetEvent (&Event);
+ ExaSes_ResetSession (&Session);
/***** Get and check parameters *****/
- ExaEvt_GetAndCheckParameters (&Exams,&Exam,&Event);
+ ExaSes_GetAndCheckParameters (&Exams,&Exam,&Session);
- /***** Check if I can remove this exam event *****/
- if (!ExaEvt_CheckIfICanEditThisEvent (&Event))
+ /***** Check if I can remove this exam session *****/
+ if (!ExaSes_CheckIfICanEditThisSession (&Session))
Lay_NoPermissionExit ();
- /***** Hide event *****/
- DB_QueryUPDATE ("can not hide exam event",
- "UPDATE exa_events SET Hidden='Y'"
- " WHERE EvtCod=%ld"
+ /***** Hide session *****/
+ DB_QueryUPDATE ("can not hide exam sessions",
+ "UPDATE exa_sessions SET Hidden='Y'"
+ " WHERE SesCod=%ld"
" AND ExaCod=%ld", // Extra check
- Event.EvtCod,Event.ExaCod);
+ Session.SesCod,Session.ExaCod);
/***** Show current exam *****/
- Exa_ShowOnlyOneExam (&Exams,&Exam,&Event,
- false); // Do not put form for event
+ Exa_ShowOnlyOneExam (&Exams,&Exam,&Session,
+ false); // Do not put form for session
}
/*****************************************************************************/
-/****************************** Unhide an event ******************************/
+/***************************** Unhide an session *****************************/
/*****************************************************************************/
-void ExaEvt_UnhideEvent (void)
+void ExaSes_UnhideSession (void)
{
struct Exa_Exams Exams;
struct Exa_Exam Exam;
- struct ExaEvt_Event Event;
+ struct ExaSes_Session Session;
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
Exa_ResetExam (&Exam);
- ExaEvt_ResetEvent (&Event);
+ ExaSes_ResetSession (&Session);
/***** Get and check parameters *****/
- ExaEvt_GetAndCheckParameters (&Exams,&Exam,&Event);
+ ExaSes_GetAndCheckParameters (&Exams,&Exam,&Session);
- /***** Check if I can remove this exam event *****/
- if (!ExaEvt_CheckIfICanEditThisEvent (&Event))
+ /***** Check if I can remove this exam session *****/
+ if (!ExaSes_CheckIfICanEditThisSession (&Session))
Lay_NoPermissionExit ();
- /***** Unhide event *****/
- DB_QueryUPDATE ("can not unhide exam event",
- "UPDATE exa_events SET Hidden='N'"
- " WHERE EvtCod=%ld"
+ /***** Unhide session *****/
+ DB_QueryUPDATE ("can not unhide exam session",
+ "UPDATE exa_sessions SET Hidden='N'"
+ " WHERE SesCod=%ld"
" AND ExaCod=%ld", // Extra check
- Event.EvtCod,Event.ExaCod);
+ Session.SesCod,Session.ExaCod);
/***** Show current exam *****/
- Exa_ShowOnlyOneExam (&Exams,&Exam,&Event,
- false); // Do not put form for event
+ Exa_ShowOnlyOneExam (&Exams,&Exam,&Session,
+ false); // Do not put form for session
}
/*****************************************************************************/
-/******************** Params used to edit an exam event **********************/
+/******************* Params used to edit an exam session *********************/
/*****************************************************************************/
-void ExaEvt_PutParamsEdit (void *Exams)
+void ExaSes_PutParamsEdit (void *Exams)
{
if (Exams)
{
Exa_PutParams (Exams);
- ExaEvt_PutParamEvtCod (((struct Exa_Exams *) Exams)->EvtCod);
+ ExaSes_PutParamSesCod (((struct Exa_Exams *) Exams)->SesCod);
}
}
/*****************************************************************************/
-/***************** Write parameter with code of exam event *******************/
+/**************** Write parameter with code of exam session ******************/
/*****************************************************************************/
-static void ExaEvt_PutParamEvtCod (long EvtCod)
+static void ExaSes_PutParamSesCod (long SesCod)
{
- Par_PutHiddenParamLong (NULL,"EvtCod",EvtCod);
+ Par_PutHiddenParamLong (NULL,"SesCod",SesCod);
}
/*****************************************************************************/
/************************** Get and check parameters *************************/
/*****************************************************************************/
-void ExaEvt_GetAndCheckParameters (struct Exa_Exams *Exams,
+void ExaSes_GetAndCheckParameters (struct Exa_Exams *Exams,
struct Exa_Exam *Exam,
- struct ExaEvt_Event *Event)
+ struct ExaSes_Session *Session)
{
/***** Get parameters *****/
Exa_GetParams (Exams);
@@ -1187,8 +1173,8 @@ void ExaEvt_GetAndCheckParameters (struct Exa_Exams *Exams,
Lay_WrongExamExit ();
Exam->ExaCod = Exams->ExaCod;
Grp_GetParamWhichGroups ();
- if ((Event->EvtCod = ExaEvt_GetParamEvtCod ()) <= 0)
- Lay_WrongEventExit ();
+ if ((Session->SesCod = ExaSes_GetParamSesCod ()) <= 0)
+ Lay_WrongExamSessionExit ();
/***** Get exam data from database *****/
Exa_GetDataOfExamByCod (Exam);
@@ -1197,29 +1183,29 @@ void ExaEvt_GetAndCheckParameters (struct Exa_Exams *Exams,
Exams->ExaCod = Exam->ExaCod;
/***** Get set data from database *****/
- ExaEvt_GetDataOfEventByCod (Event);
- if (Event->ExaCod != Exam->ExaCod)
+ ExaSes_GetDataOfSessionByCod (Session);
+ if (Session->ExaCod != Exam->ExaCod)
Lay_WrongSetExit ();
- Exams->EvtCod = Event->EvtCod;
+ Exams->SesCod = Session->SesCod;
}
/*****************************************************************************/
-/***************** Get parameter with code of exam event *********************/
+/**************** Get parameter with code of exam session ********************/
/*****************************************************************************/
-long ExaEvt_GetParamEvtCod (void)
+long ExaSes_GetParamSesCod (void)
{
- /***** Get code of exam event *****/
- return Par_GetParToLong ("EvtCod");
+ /***** Get code of exam session *****/
+ return Par_GetParToLong ("SesCod");
}
/*****************************************************************************/
-/* Put a big button to play exam event (start a new exam event) as a teacher */
+/* Put a big button to play exam session (start a new session) as a teacher **/
/*****************************************************************************/
-static void ExaEvt_PutFormEvent (const struct ExaEvt_Event *Event)
+static void ExaSes_PutFormSession (const struct ExaSes_Session *Session)
{
- extern const char *Hlp_ASSESSMENT_Exams_events;
+ extern const char *Hlp_ASSESSMENT_Exams_sessions;
extern const char *Txt_New_event;
extern const char *Txt_Title;
extern const char *Txt_Create_event;
@@ -1229,25 +1215,25 @@ static void ExaEvt_PutFormEvent (const struct ExaEvt_Event *Event)
[Dat_START_TIME] = Dat_HMS_DO_NOT_SET,
[Dat_END_TIME ] = Dat_HMS_DO_NOT_SET
};
- bool ItsANewEvent = Event->EvtCod <= 0;
+ bool ItsANewSession = Session->SesCod <= 0;
- /***** Start section for a new exam event *****/
- HTM_SECTION_Begin (ExaEvt_NEW_EVENT_SECTION_ID);
+ /***** Start section for a new exam session *****/
+ HTM_SECTION_Begin (ExaSes_NEW_SESSION_SECTION_ID);
/***** Begin form *****/
- Frm_StartForm (ItsANewEvent ? ActNewExaEvt : // New event
- ActChgExaEvt); // Existing event
- Exa_PutParamExamCod (Event->ExaCod);
- if (!ItsANewEvent) // Existing event
- ExaEvt_PutParamEvtCod (Event->EvtCod);
+ Frm_StartForm (ItsANewSession ? ActNewExaEvt : // New session
+ ActChgExaEvt); // Existing session
+ Exa_PutParamExamCod (Session->ExaCod);
+ if (!ItsANewSession) // Existing session
+ ExaSes_PutParamSesCod (Session->SesCod);
/***** Begin box and table *****/
- Box_BoxTableBegin (NULL,ItsANewEvent ? Txt_New_event :
- Event->Title,
+ Box_BoxTableBegin (NULL,ItsANewSession ? Txt_New_event :
+ Session->Title,
NULL,NULL,
- Hlp_ASSESSMENT_Exams_events,Box_NOT_CLOSABLE,2);
+ Hlp_ASSESSMENT_Exams_sessions,Box_NOT_CLOSABLE,2);
- /***** Event title *****/
+ /***** Session title *****/
HTM_TR_Begin (NULL);
/* Label */
@@ -1255,7 +1241,7 @@ static void ExaEvt_PutFormEvent (const struct ExaEvt_Event *Event)
/* Data */
HTM_TD_Begin ("class=\"LT\"");
- HTM_INPUT_TEXT ("Title",ExaEvt_MAX_CHARS_TITLE,Event->Title,
+ HTM_INPUT_TEXT ("Title",ExaSes_MAX_CHARS_TITLE,Session->Title,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Title\" size=\"45\" required=\"required\"");
HTM_TD_End ();
@@ -1263,15 +1249,15 @@ static void ExaEvt_PutFormEvent (const struct ExaEvt_Event *Event)
HTM_TR_End ();
/***** Start and end dates *****/
- Dat_PutFormStartEndClientLocalDateTimes (Event->TimeUTC,
+ Dat_PutFormStartEndClientLocalDateTimes (Session->TimeUTC,
Dat_FORM_SECONDS_OFF,
SetHMS);
/***** Groups *****/
- ExaEvt_ShowLstGrpsToCreateEvent (Event->EvtCod);
+ ExaSes_ShowLstGrpsToCreateSession (Session->SesCod);
/***** End table, send button and end box *****/
- if (ItsANewEvent)
+ if (ItsANewSession)
Box_BoxTableWithButtonEnd (Btn_CREATE_BUTTON,Txt_Create_event);
else
Box_BoxTableWithButtonEnd (Btn_CONFIRM_BUTTON,Txt_Save_changes);
@@ -1279,15 +1265,15 @@ static void ExaEvt_PutFormEvent (const struct ExaEvt_Event *Event)
/***** End form *****/
Frm_EndForm ();
- /***** End section for a new exam event *****/
+ /***** End section for a new exam session *****/
HTM_SECTION_End ();
}
/*****************************************************************************/
-/************** Show list of groups to create a new exam event ***************/
+/************* Show list of groups to create a new exam session **************/
/*****************************************************************************/
-static void ExaEvt_ShowLstGrpsToCreateEvent (long EvtCod)
+static void ExaSes_ShowLstGrpsToCreateSession (long SesCod)
{
extern const char *The_ClassFormInBox[The_NUM_THEMES];
extern const char *Txt_Groups;
@@ -1319,7 +1305,7 @@ static void ExaEvt_ShowLstGrpsToCreateEvent (long EvtCod)
HTM_INPUT_CHECKBOX ("WholeCrs",HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"WholeCrs\" value=\"Y\"%s"
" onclick=\"uncheckChildren(this,'GrpCods')\"",
- Grp_CheckIfAssociatedToGrps ("exa_groups","EvtCod",EvtCod) ? "" :
+ Grp_CheckIfAssociatedToGrps ("exa_groups","SesCod",SesCod) ? "" :
" checked=\"checked\"");
HTM_TxtF ("%s %s",Txt_The_whole_course,Gbl.Hierarchy.Crs.ShrtName);
HTM_LABEL_End ();
@@ -1333,8 +1319,8 @@ static void ExaEvt_ShowLstGrpsToCreateEvent (long EvtCod)
NumGrpTyp++)
if (Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].NumGrps)
Grp_ListGrpsToEditAsgAttSvyEvtMch (&Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp],
- EvtCod,
- Grp_EXA_EVENT);
+ SesCod,
+ Grp_EXA_EVENT);
/***** End table and box *****/
Box_BoxTableEnd ();
@@ -1347,35 +1333,35 @@ static void ExaEvt_ShowLstGrpsToCreateEvent (long EvtCod)
}
/*****************************************************************************/
-/********************* Put button to create a new event **********************/
+/******************** Put button to create a new session *********************/
/*****************************************************************************/
-void ExaEvt_PutButtonNewEvent (struct Exa_Exams *Exams,long ExaCod)
+void ExaSes_PutButtonNewSession (struct Exa_Exams *Exams,long ExaCod)
{
extern const char *Txt_New_event;
Exams->ExaCod = ExaCod;
- Frm_StartFormAnchor (ActReqNewExaEvt,ExaEvt_NEW_EVENT_SECTION_ID);
+ Frm_StartFormAnchor (ActReqNewExaEvt,ExaSes_NEW_SESSION_SECTION_ID);
Exa_PutParams (Exams);
Btn_PutConfirmButton (Txt_New_event);
Frm_EndForm ();
}
/*****************************************************************************/
-/******************* Request the creation of a new event *********************/
+/****************** Request the creation of a new session ********************/
/*****************************************************************************/
-void ExaEvt_RequestCreatOrEditEvent (void)
+void ExaSes_RequestCreatOrEditSession (void)
{
struct Exa_Exams Exams;
struct Exa_Exam Exam;
- struct ExaEvt_Event Event;
- bool ItsANewEvent;
+ struct ExaSes_Session Session;
+ bool ItsANewSession;
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
Exa_ResetExam (&Exam);
- ExaEvt_ResetEvent (&Event);
+ ExaSes_ResetSession (&Session);
/***** Get parameters *****/
Exa_GetParams (&Exams);
@@ -1383,8 +1369,8 @@ void ExaEvt_RequestCreatOrEditEvent (void)
Lay_WrongExamExit ();
Exam.ExaCod = Exams.ExaCod;
Grp_GetParamWhichGroups ();
- Event.EvtCod = ExaEvt_GetParamEvtCod ();
- ItsANewEvent = (Event.EvtCod <= 0);
+ Session.SesCod = ExaSes_GetParamSesCod ();
+ ItsANewSession = (Session.SesCod <= 0);
/***** Get exam data from database *****/
Exa_GetDataOfExamByCod (&Exam);
@@ -1392,41 +1378,41 @@ void ExaEvt_RequestCreatOrEditEvent (void)
Lay_WrongExamExit ();
Exams.ExaCod = Exam.ExaCod;
- /***** Get event data *****/
- if (ItsANewEvent)
- /* Initialize to empty event */
- ExaEvt_ResetEvent (&Event);
+ /***** Get session data *****/
+ if (ItsANewSession)
+ /* Initialize to empty session */
+ ExaSes_ResetSession (&Session);
else
{
- /* Get event data from database */
- ExaEvt_GetDataOfEventByCod (&Event);
- if (Exam.ExaCod != Event.ExaCod)
+ /* Get session data from database */
+ ExaSes_GetDataOfSessionByCod (&Session);
+ if (Exam.ExaCod != Session.ExaCod)
Lay_WrongExamExit ();
- Exams.EvtCod = Event.EvtCod;
+ Exams.SesCod = Session.SesCod;
}
/***** Show exam *****/
- Exa_ShowOnlyOneExam (&Exams,&Exam,&Event,
- true); // Put form for event
+ Exa_ShowOnlyOneExam (&Exams,&Exam,&Session,
+ true); // Put form for session
}
/*****************************************************************************/
-/******************* Create a new exam event (by a teacher) ******************/
+/****************** Create a new exam session (by a teacher) *****************/
/*****************************************************************************/
-void ExaEvt_ReceiveFormEvent (void)
+void ExaSes_ReceiveFormSession (void)
{
extern const char *Txt_Created_new_event_X;
extern const char *Txt_The_event_has_been_modified;
struct Exa_Exams Exams;
struct Exa_Exam Exam;
- struct ExaEvt_Event Event;
- bool ItsANewEvent;
+ struct ExaSes_Session Session;
+ bool ItsANewSession;
/***** Reset exams context *****/
Exa_ResetExams (&Exams);
Exa_ResetExam (&Exam);
- ExaEvt_ResetEvent (&Event);
+ ExaSes_ResetSession (&Session);
/***** Get main parameters *****/
Exa_GetParams (&Exams);
@@ -1434,8 +1420,8 @@ void ExaEvt_ReceiveFormEvent (void)
Lay_WrongExamExit ();
Exam.ExaCod = Exams.ExaCod;
Grp_GetParamWhichGroups ();
- Event.EvtCod = ExaEvt_GetParamEvtCod ();
- ItsANewEvent = (Event.EvtCod <= 0);
+ Session.SesCod = ExaSes_GetParamSesCod ();
+ ItsANewSession = (Session.SesCod <= 0);
/***** Get exam data from database *****/
Exa_GetDataOfExamByCod (&Exam);
@@ -1443,67 +1429,67 @@ void ExaEvt_ReceiveFormEvent (void)
Lay_WrongExamExit ();
Exams.ExaCod = Exam.ExaCod;
- /***** Get event data from database *****/
- if (ItsANewEvent)
+ /***** Get session data from database *****/
+ if (ItsANewSession)
{
- /* Initialize to empty event */
- ExaEvt_ResetEvent (&Event);
- Event.ExaCod = Exam.ExaCod;
+ /* Initialize to empty session */
+ ExaSes_ResetSession (&Session);
+ Session.ExaCod = Exam.ExaCod;
}
else
{
- /* Get event data from database */
- ExaEvt_GetDataOfEventByCod (&Event);
- if (Event.ExaCod != Exam.ExaCod)
+ /* Get session data from database */
+ ExaSes_GetDataOfSessionByCod (&Session);
+ if (Session.ExaCod != Exam.ExaCod)
Lay_WrongExamExit ();
- Exams.EvtCod = Event.EvtCod;
+ Exams.SesCod = Session.SesCod;
}
/***** Get parameters from form *****/
- /* Get event title */
- Par_GetParToText ("Title",Event.Title,ExaEvt_MAX_BYTES_TITLE);
+ /* Get session title */
+ Par_GetParToText ("Title",Session.Title,ExaSes_MAX_BYTES_TITLE);
/* Get start/end date-times */
- Event.TimeUTC[Dat_START_TIME] = Dat_GetTimeUTCFromForm ("StartTimeUTC");
- Event.TimeUTC[Dat_END_TIME ] = Dat_GetTimeUTCFromForm ("EndTimeUTC" );
+ Session.TimeUTC[Dat_START_TIME] = Dat_GetTimeUTCFromForm ("StartTimeUTC");
+ Session.TimeUTC[Dat_END_TIME ] = Dat_GetTimeUTCFromForm ("EndTimeUTC" );
- /* Get groups associated to the event */
+ /* Get groups associated to the session */
Grp_GetParCodsSeveralGrps ();
- /***** Create/update event *****/
- if (ItsANewEvent)
- ExaEvt_CreateEvent (&Event);
+ /***** Create/update session *****/
+ if (ItsANewSession)
+ ExaSes_CreateSession (&Session);
else
- ExaEvt_UpdateEvent (&Event);
+ ExaSes_UpdateSession (&Session);
/***** Free memory for list of selected groups *****/
Grp_FreeListCodSelectedGrps ();
/***** Write success message *****/
- if (ItsANewEvent)
+ if (ItsANewSession)
Ale_ShowAlert (Ale_SUCCESS,Txt_Created_new_event_X,
- Event.Title);
+ Session.Title);
else
Ale_ShowAlert (Ale_SUCCESS,Txt_The_event_has_been_modified);
- /***** Get exam data again to update it after changes in event *****/
+ /***** Get exam data again to update it after changes in session *****/
Exa_GetDataOfExamByCod (&Exam);
/***** Show current exam *****/
- Exa_ShowOnlyOneExam (&Exams,&Exam,&Event,
- false); // Do not put form for event
+ Exa_ShowOnlyOneExam (&Exams,&Exam,&Session,
+ false); // Do not put form for session
}
/*****************************************************************************/
-/**************************** Create a new event *****************************/
+/*************************** Create a new session ****************************/
/*****************************************************************************/
-static void ExaEvt_CreateEvent (struct ExaEvt_Event *Event)
+static void ExaSes_CreateSession (struct ExaSes_Session *Session)
{
- /***** Insert this new exam event into database *****/
- Event->EvtCod =
- DB_QueryINSERTandReturnCode ("can not create exam event",
- "INSERT exa_events "
+ /***** Insert this new exam session into database *****/
+ Session->SesCod =
+ DB_QueryINSERTandReturnCode ("can not create exam session",
+ "INSERT exa_sessions "
"(ExaCod,Hidden,UsrCod,StartTime,EndTime,Title,ShowUsrResults)"
" VALUES "
"(%ld," // ExaCod
@@ -1513,106 +1499,103 @@ static void ExaEvt_CreateEvent (struct ExaEvt_Event *Event)
"FROM_UNIXTIME(%ld)," // End time
"'%s'," // Title
"'N')", // ShowUsrResults: Don't show user results initially
- Event->ExaCod,
- Event->Hidden ? 'Y' :
+ Session->ExaCod,
+ Session->Hidden ? 'Y' :
'N',
- Gbl.Usrs.Me.UsrDat.UsrCod, // Event creator
- Event->TimeUTC[Dat_START_TIME], // Start time
- Event->TimeUTC[Dat_END_TIME ], // End time
- Event->Title);
+ Gbl.Usrs.Me.UsrDat.UsrCod, // Session creator
+ Session->TimeUTC[Dat_START_TIME], // Start time
+ Session->TimeUTC[Dat_END_TIME ], // End time
+ Session->Title);
- /***** Create indexes for answers *****/
- // ExaEvt_CreateIndexes (ExaCod,EvtCod);
-
- /***** Create groups associated to the exam event *****/
+ /***** Create groups associated to the exam session *****/
if (Gbl.Crs.Grps.LstGrpsSel.NumGrps)
- ExaEvt_CreateGrps (Event->EvtCod);
+ ExaSes_CreateGrps (Session->SesCod);
}
/*****************************************************************************/
-/************************* Update an existing event **************************/
+/************************ Update an existing session *************************/
/*****************************************************************************/
-static void ExaEvt_UpdateEvent (struct ExaEvt_Event *Event)
+static void ExaSes_UpdateSession (struct ExaSes_Session *Session)
{
- /***** Insert this new exam event into database *****/
- DB_QueryUPDATE ("can not update exam event",
- "UPDATE exa_events,exa_exams"
- " SET exa_events.StartTime=FROM_UNIXTIME(%ld),"
- "exa_events.EndTime=FROM_UNIXTIME(%ld),"
- "exa_events.Title='%s',"
- "exa_events.Hidden='%c'"
- " WHERE exa_events.EvtCod=%ld"
- " AND exa_events.ExaCod=exa_exams.ExaCod"
+ /***** Insert this new exam session into database *****/
+ DB_QueryUPDATE ("can not update exam session",
+ "UPDATE exa_sessions,exa_exams"
+ " SET exa_sessions.StartTime=FROM_UNIXTIME(%ld),"
+ "exa_sessions.EndTime=FROM_UNIXTIME(%ld),"
+ "exa_sessions.Title='%s',"
+ "exa_sessions.Hidden='%c'"
+ " WHERE exa_sessions.SesCod=%ld"
+ " AND exa_sessions.ExaCod=exa_exams.ExaCod"
" AND exa_exams.CrsCod=%ld", // Extra check
- Event->TimeUTC[Dat_START_TIME], // Start time
- Event->TimeUTC[Dat_END_TIME ], // End time
- Event->Title,
- Event->Hidden ? 'Y' :
+ Session->TimeUTC[Dat_START_TIME], // Start time
+ Session->TimeUTC[Dat_END_TIME ], // End time
+ Session->Title,
+ Session->Hidden ? 'Y' :
'N',
- Event->EvtCod,Gbl.Hierarchy.Crs.CrsCod);
+ Session->SesCod,Gbl.Hierarchy.Crs.CrsCod);
- /***** Update groups associated to the exam event *****/
- ExaEvt_RemoveGroups (Event->EvtCod); // Remove all groups associated to this event
+ /***** Update groups associated to the exam session *****/
+ ExaSes_RemoveGroups (Session->SesCod); // Remove all groups associated to this session
if (Gbl.Crs.Grps.LstGrpsSel.NumGrps)
- ExaEvt_CreateGrps (Event->EvtCod); // Associate new groups
+ ExaSes_CreateGrps (Session->SesCod); // Associate new groups
}
/*****************************************************************************/
-/**************** Create groups associated to an exam event ******************/
+/*************** Create groups associated to an exam session *****************/
/*****************************************************************************/
-static void ExaEvt_CreateGrps (long EvtCod)
+static void ExaSes_CreateGrps (long SesCod)
{
unsigned NumGrpSel;
- /***** Create groups associated to the exam event *****/
+ /***** Create groups associated to the exam session *****/
for (NumGrpSel = 0;
NumGrpSel < Gbl.Crs.Grps.LstGrpsSel.NumGrps;
NumGrpSel++)
/* Create group */
- DB_QueryINSERT ("can not associate a group to an exam event",
+ DB_QueryINSERT ("can not associate a group to an exam session",
"INSERT INTO exa_groups"
- " (EvtCod,GrpCod)"
+ " (SesCod,GrpCod)"
" VALUES"
" (%ld,%ld)",
- EvtCod,Gbl.Crs.Grps.LstGrpsSel.GrpCods[NumGrpSel]);
+ SesCod,Gbl.Crs.Grps.LstGrpsSel.GrpCods[NumGrpSel]);
}
/*****************************************************************************/
-/********************* Remove all groups from one event **********************/
+/******************** Remove all groups from one session *********************/
/*****************************************************************************/
-static void ExaEvt_RemoveGroups (long EvtCod)
+static void ExaSes_RemoveGroups (long SesCod)
{
- /***** Remove all groups from one event *****/
- DB_QueryDELETE ("can not remove groups associated to and event",
- "DELETE FROM exa_groups WHERE EvtCod=%ld",
- EvtCod);
+ /***** Remove all groups from one session *****/
+ DB_QueryDELETE ("can not remove groups associated to a session",
+ "DELETE FROM exa_groups WHERE SesCod=%ld",
+ SesCod);
}
/*****************************************************************************/
-/********************* Remove one group from all events **********************/
+/******************** Remove one group from all sessions *********************/
/*****************************************************************************/
-void ExaEvt_RemoveGroup (long GrpCod)
+void ExaSes_RemoveGroup (long GrpCod)
{
- /***** Remove group from all the events *****/
+ /***** Remove group from all the sessions *****/
DB_QueryDELETE ("can not remove group"
- " from the associations between events and groups",
+ " from the associations between sessions and groups",
"DELETE FROM exa_groups WHERE GrpCod=%ld",
GrpCod);
}
/*****************************************************************************/
-/***************** Remove groups of one type from all events *****************/
+/**************** Remove groups of one type from all sessions ****************/
/*****************************************************************************/
-void ExaEvt_RemoveGroupsOfType (long GrpTypCod)
+void ExaSes_RemoveGroupsOfType (long GrpTypCod)
{
- /***** Remove group from all the events *****/
+ /***** Remove group from all the sessions *****/
DB_QueryDELETE ("can not remove groups of a type"
- " from the associations between events and groups",
+ " from the associations between sessions and groups",
"DELETE FROM exa_groups"
" USING crs_grp,exa_groups"
" WHERE crs_grp.GrpTypCod=%ld"
@@ -1621,75 +1604,75 @@ void ExaEvt_RemoveGroupsOfType (long GrpTypCod)
}
/*****************************************************************************/
-/********************** Get number of events in an exam **********************/
+/********************* Get number of sessions in an exam *********************/
/*****************************************************************************/
-unsigned ExaEvt_GetNumEventsInExam (long ExaCod)
+unsigned ExaSes_GetNumSessionsInExam (long ExaCod)
{
/***** Trivial check *****/
if (ExaCod < 0) // A non-existing exam...
- return 0; // ...has no events
+ return 0; // ...has no sessions
- /***** Get number of events in an exam from database *****/
+ /***** Get number of sessions in an exam from database *****/
return
- (unsigned) DB_QueryCOUNT ("can not get number of events of an exam",
- "SELECT COUNT(*) FROM exa_events"
+ (unsigned) DB_QueryCOUNT ("can not get number of sessions of an exam",
+ "SELECT COUNT(*) FROM exa_sessions"
" WHERE ExaCod=%ld",
ExaCod);
}
/*****************************************************************************/
-/****************** Get number of open events in an exam *********************/
+/***************** Get number of open sessions in an exam ********************/
/*****************************************************************************/
-unsigned ExaEvt_GetNumOpenEventsInExam (long ExaCod)
+unsigned ExaSes_GetNumOpenSessionsInExam (long ExaCod)
{
/***** Trivial check *****/
if (ExaCod < 0) // A non-existing exam...
- return 0; // ...has no events
+ return 0; // ...has no sessions
- /***** Get number of open events in an exam from database *****/
+ /***** Get number of open sessions in an exam from database *****/
return
- (unsigned) DB_QueryCOUNT ("can not get number of open events of an exam",
- "SELECT COUNT(*) FROM exa_events"
+ (unsigned) DB_QueryCOUNT ("can not get number of open sessions of an exam",
+ "SELECT COUNT(*) FROM exa_sessions"
" WHERE ExaCod=%ld"
" AND NOW() BETWEEN StartTime AND EndTime",
ExaCod);
}
/*****************************************************************************/
-/********* Check if I belong to any of the groups of an exam event ***********/
+/******** Check if I belong to any of the groups of an exam session **********/
/*****************************************************************************/
-bool ExaEvt_CheckIfICanAnswerThisEvent (const struct ExaEvt_Event *Event)
+bool ExaSes_CheckIfICanAnswerThisSession (const struct ExaSes_Session *Session)
{
- /***** Hidden or closed events are not accesible *****/
- if (Event->Hidden || !Event->Open)
+ /***** Hidden or closed sessions are not accesible *****/
+ if (Session->Hidden || !Session->Open)
return false;
- return ExaEvt_CheckIfICanListThisEventBasedOnGrps (Event->EvtCod);
+ return ExaSes_CheckIfICanListThisSessionBasedOnGrps (Session->SesCod);
}
-bool ExaEvt_CheckIfICanListThisEventBasedOnGrps (long EvtCod)
+bool ExaSes_CheckIfICanListThisSessionBasedOnGrps (long SesCod)
{
switch (Gbl.Usrs.Me.Role.Logged)
{
case Rol_STD:
/***** Check if I belong to any of the groups
- associated to the exam event *****/
- return (DB_QueryCOUNT ("can not check if I can play an exam event",
- "SELECT COUNT(*) FROM exa_events"
- " WHERE EvtCod=%ld"
+ associated to the exam session *****/
+ return (DB_QueryCOUNT ("can not check if I can play an exam session",
+ "SELECT COUNT(*) FROM exa_sessions"
+ " WHERE SesCod=%ld"
" AND"
- "(EvtCod NOT IN"
- " (SELECT EvtCod FROM exa_groups)"
+ "(SesCod NOT IN"
+ " (SELECT SesCod FROM exa_groups)"
" OR"
- " EvtCod IN"
- " (SELECT exa_groups.EvtCod"
+ " SesCod IN"
+ " (SELECT exa_groups.SesCod"
" FROM exa_groups,crs_grp_usr"
" WHERE crs_grp_usr.UsrCod=%ld"
" AND exa_groups.GrpCod=crs_grp_usr.GrpCod))",
- EvtCod,Gbl.Usrs.Me.UsrDat.UsrCod) != 0);
+ SesCod,Gbl.Usrs.Me.UsrDat.UsrCod) != 0);
break;
case Rol_NET:
case Rol_TCH:
@@ -1701,11 +1684,11 @@ bool ExaEvt_CheckIfICanListThisEventBasedOnGrps (long EvtCod)
}
/*****************************************************************************/
-/**** Receive previous question answer in an exam event question from database *****/
+/*** Receive previous question answer in a session question from database ****/
/*****************************************************************************/
-void ExaEvt_GetQstAnsFromDB (long EvtCod,long UsrCod,unsigned QstInd,
- struct ExaEvt_UsrAnswer *UsrAnswer)
+void ExaSes_GetQstAnsFromDB (long SesCod,long UsrCod,unsigned QstInd,
+ struct ExaSes_UsrAnswer *UsrAnswer)
{
MYSQL_RES *mysql_res;
MYSQL_ROW row;
@@ -1716,26 +1699,26 @@ void ExaEvt_GetQstAnsFromDB (long EvtCod,long UsrCod,unsigned QstInd,
UsrAnswer->AnsInd = -1; // < 0 ==> no answer selected
/***** Get student's answer *****/
- NumRows = (unsigned) DB_QuerySELECT (&mysql_res,"can not get user's answer to an exam event question",
+ NumRows = (unsigned) DB_QuerySELECT (&mysql_res,"can not get user's answer to an exam session question",
"SELECT Indexes," // row[0] // TODO: Get correctly
"Answers" // row[1] // TODO: Get correctly
" FROM exa_prints,exa_print_questions"
- " WHERE exa_prints.EvtCod=%ld"
+ " WHERE exa_prints.SesCod=%ld"
" AND exa_prints.UsrCod=%ld"
" AND exa_prints.PrnCod=exa_print_questions.PrnCod"
" AND exa_print_questions.QstInd=%u",
- EvtCod,UsrCod,QstInd);
+ SesCod,UsrCod,QstInd);
if (NumRows) // Answer found...
{
row = mysql_fetch_row (mysql_res);
/***** Get number of option index (row[0]) *****/
if (sscanf (row[0],"%d",&(UsrAnswer->NumOpt)) != 1)
- Lay_ShowErrorAndExit ("Error when getting student's answer to an exam event question.");
+ Lay_ShowErrorAndExit ("Error when getting student's answer to an exam session question.");
/***** Get answer index (row[1]) *****/
if (sscanf (row[1],"%d",&(UsrAnswer->AnsInd)) != 1)
- Lay_ShowErrorAndExit ("Error when getting student's answer to an exam event question.");
+ Lay_ShowErrorAndExit ("Error when getting student's answer to an exam session question.");
}
/***** Free structure that stores the query result *****/
diff --git a/swad_exam_event.h b/swad_exam_session.h
similarity index 51%
rename from swad_exam_event.h
rename to swad_exam_session.h
index eb08ea5f..aa2eaf3f 100644
--- a/swad_exam_event.h
+++ b/swad_exam_session.h
@@ -1,7 +1,7 @@
-// swad_exam_event.h: exam events (each ocurrence of an exam)
+// swad_exam_session.h: exam sessions (each ocurrence of an exam)
-#ifndef _SWAD_EXA_EVE
-#define _SWAD_EXA_EVE
+#ifndef _SWAD_EXA_SES
+#define _SWAD_EXA_SES
/*
SWAD (Shared Workspace At a Distance in Spanish),
is a web platform developed at the University of Granada (Spain),
@@ -34,11 +34,11 @@
/************************** Public types and constants ***********************/
/*****************************************************************************/
-#define ExaEvt_NEW_EVENT_SECTION_ID "new_event"
+#define ExaSes_NEW_SESSION_SECTION_ID "new_session"
-#define ExaEvt_AFTER_LAST_QUESTION ((unsigned)((1UL << 31) - 1)) // 2^31 - 1, don't change this number because it is used in database to indicate that a event is finished
+#define ExaSes_AFTER_LAST_QUESTION ((unsigned)((1UL << 31) - 1)) // 2^31 - 1, don't change this number because it is used in database to indicate that a session is finished
-struct ExaEvt_UsrAnswer
+struct ExaSes_UsrAnswer
{
int NumOpt; // < 0 ==> no answer selected
int AnsInd; // < 0 ==> no answer selected
@@ -48,47 +48,47 @@ struct ExaEvt_UsrAnswer
/***************************** Public prototypes *****************************/
/*****************************************************************************/
-void ExaEvt_ResetEvent (struct ExaEvt_Event *Event);
+void ExaSes_ResetSession (struct ExaSes_Session *Session);
-void ExaEvt_ListEvents (struct Exa_Exams *Exams,
- struct Exa_Exam *Exam,
- struct ExaEvt_Event *Event,
- bool PutFormEvent);
-void ExaEvt_GetDataOfEventByCod (struct ExaEvt_Event *Event);
-bool ExaEvt_CheckIfEventIsVisibleAndOpen (long EvtCod);
+void ExaSes_ListSessions (struct Exa_Exams *Exams,
+ struct Exa_Exam *Exam,
+ struct ExaSes_Session *Session,
+ bool PutFormSession);
+void ExaSes_GetDataOfSessionByCod (struct ExaSes_Session *Session);
+bool ExaSes_CheckIfSessionIsVisibleAndOpen (long SesCod);
-void ExaEvt_ToggleVisResultsEvtUsr (void);
+void ExaSes_ToggleVisResultsSesUsr (void);
-void ExaEvt_RequestRemoveEvent (void);
-void ExaEvt_RemoveEvent (void);
+void ExaSes_RequestRemoveSession (void);
+void ExaSes_RemoveSession (void);
-void ExaEvt_RemoveEventsInExamFromAllTables (long ExaCod);
-void ExaEvt_RemoveEventInCourseFromAllTables (long CrsCod);
-void ExaEvt_RemoveUsrFromEventTablesInCrs (long UsrCod,long CrsCod);
+void ExaSes_RemoveSessionsInExamFromAllTables (long ExaCod);
+void ExaSes_RemoveSessionInCourseFromAllTables (long CrsCod);
+void ExaSes_RemoveUsrFromSessionTablesInCrs (long UsrCod,long CrsCod);
-void ExaEvt_HideEvent (void);
-void ExaEvt_UnhideEvent (void);
+void ExaSes_HideSession (void);
+void ExaSes_UnhideSession (void);
-void ExaEvt_PutParamsEdit (void *Exams);
-void ExaEvt_GetAndCheckParameters (struct Exa_Exams *Exams,
+void ExaSes_PutParamsEdit (void *Exams);
+void ExaSes_GetAndCheckParameters (struct Exa_Exams *Exams,
struct Exa_Exam *Exam,
- struct ExaEvt_Event *Event);
-long ExaEvt_GetParamEvtCod (void);
+ struct ExaSes_Session *Session);
+long ExaSes_GetParamSesCod (void);
-void ExaEvt_PutButtonNewEvent (struct Exa_Exams *Exams,long ExaCod);
-void ExaEvt_RequestCreatOrEditEvent (void);
-void ExaEvt_ReceiveFormEvent (void);
+void ExaSes_PutButtonNewSession (struct Exa_Exams *Exams,long ExaCod);
+void ExaSes_RequestCreatOrEditSession (void);
+void ExaSes_ReceiveFormSession (void);
-void ExaEvt_RemoveGroup (long GrpCod);
-void ExaEvt_RemoveGroupsOfType (long GrpTypCod);
+void ExaSes_RemoveGroup (long GrpCod);
+void ExaSes_RemoveGroupsOfType (long GrpTypCod);
-unsigned ExaEvt_GetNumEventsInExam (long ExaCod);
-unsigned ExaEvt_GetNumOpenEventsInExam (long ExaCod);
+unsigned ExaSes_GetNumSessionsInExam (long ExaCod);
+unsigned ExaSes_GetNumOpenSessionsInExam (long ExaCod);
-bool ExaEvt_CheckIfICanAnswerThisEvent (const struct ExaEvt_Event *Event);
-bool ExaEvt_CheckIfICanListThisEventBasedOnGrps (long EvtCod);
+bool ExaSes_CheckIfICanAnswerThisSession (const struct ExaSes_Session *Session);
+bool ExaSes_CheckIfICanListThisSessionBasedOnGrps (long SesCod);
-void ExaEvt_GetQstAnsFromDB (long EvtCod,long UsrCod,unsigned QstInd,
- struct ExaEvt_UsrAnswer *UsrAnswer);
+void ExaSes_GetQstAnsFromDB (long SesCod,long UsrCod,unsigned QstInd,
+ struct ExaSes_UsrAnswer *UsrAnswer);
#endif
diff --git a/swad_exam_set.c b/swad_exam_set.c
index 1ab69a91..cd8c5b8c 100644
--- a/swad_exam_set.c
+++ b/swad_exam_set.c
@@ -36,8 +36,8 @@
#include "swad_database.h"
#include "swad_exam.h"
-#include "swad_exam_event.h"
#include "swad_exam_result.h"
+#include "swad_exam_session.h"
#include "swad_exam_set.h"
#include "swad_exam_type.h"
#include "swad_figure.h"
@@ -901,7 +901,7 @@ static unsigned ExaSet_GetNextSetIndexInExam (long ExaCod,unsigned SetInd)
{
MYSQL_RES *mysql_res;
MYSQL_ROW row;
- unsigned NextSetInd = ExaEvt_AFTER_LAST_QUESTION; // End of sets has been reached
+ unsigned NextSetInd = ExaSes_AFTER_LAST_QUESTION; // End of sets has been reached
/***** Get next set index in an exam from database *****/
// Although indexes are always continuous...
diff --git a/swad_exam_type.h b/swad_exam_type.h
index 4a4831a4..8ea9ddb4 100644
--- a/swad_exam_type.h
+++ b/swad_exam_type.h
@@ -44,8 +44,8 @@
#define ExaSet_MAX_CHARS_TITLE (128 - 1) // 127
#define ExaSet_MAX_BYTES_TITLE ((ExaSet_MAX_CHARS_TITLE + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
-#define ExaEvt_MAX_CHARS_TITLE (128 - 1) // 127
-#define ExaEvt_MAX_BYTES_TITLE ((ExaEvt_MAX_CHARS_TITLE + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
+#define ExaSes_MAX_CHARS_TITLE (128 - 1) // 127
+#define ExaSes_MAX_BYTES_TITLE ((ExaSes_MAX_CHARS_TITLE + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
#define Exa_NUM_ORDERS 3
typedef enum
@@ -76,20 +76,20 @@ struct Exa_Exams
char *ExaCodsSelected; // String with selected exam codes separated by separator multiple
long ExaCod; // Selected/current exam code
long SetCod; // Selected/current set code
- long EvtCod; // Selected/current match code
+ long SesCod; // Selected/current session code
unsigned SetInd; // Current set index
long QstCod; // Current question code
};
/* Student 1
+----------------+ +-----------+ +--------------+ +--------------+
- | Exam 1 |--+--| Event 1 |--+--| Print 1 | | Result 1 |
+ | Exam 1 |--+--| Session 1 |--+--| Print 1 | | Result 1 |
|+--------------+| | | * Start | | | * Question 2 | | * Question 2 |
|| Set 1 || | | * End | | |--------------|-->|--------------|
|| * Question 1 || | | * Groups | | | * Question 5 | | * Question 5 |
|| * Question 2 || | +-----------+ | | * Question 3 | | * Question 3 |
|+--------------+| | +-----------+ | +--------------+ +--------------+
- |+--------------+| +--| Event 2 | | Student 2
+ |+--------------+| +--| Session 2 | | Student 2
|| Set 2 || | * Start | | +--------------+ +--------------+
|| * Question 3 || | * End | +--| Print 2 | | Result 2 |
|| * Question 4 || | * Groups | | * Question 1 | | * Question 1 |
@@ -113,8 +113,8 @@ struct Exa_Exam
bool Hidden; // Exam is hidden
unsigned NumSets; // Number of sets in the exam
unsigned NumQsts; // Number of questions in the exam
- unsigned NumEvts; // Number of events in the exam
- unsigned NumOpenEvts; // Number of open events in the exam
+ unsigned NumSess; // Number of sessions in the exam
+ unsigned NumOpenSess; // Number of open sessions in the exam
};
struct ExaSet_Set
@@ -127,13 +127,13 @@ struct ExaSet_Set
char Title[ExaSet_MAX_BYTES_TITLE + 1]; // Title of the set
};
-struct ExaEvt_Event
+struct ExaSes_Session
{
- long EvtCod;
+ long SesCod;
long ExaCod;
long UsrCod;
time_t TimeUTC[Dat_NUM_START_END_TIME];
- char Title[ExaEvt_MAX_BYTES_TITLE + 1];
+ char Title[ExaSes_MAX_BYTES_TITLE + 1];
bool Hidden;
bool Open; // If now is between start and end dates
bool ShowUsrResults; // Show exam with results of all questions for the student
diff --git a/swad_group.c b/swad_group.c
index 355b5659..d3dd67e5 100644
--- a/swad_group.c
+++ b/swad_group.c
@@ -35,7 +35,7 @@
#include "swad_attendance.h"
#include "swad_box.h"
#include "swad_database.h"
-#include "swad_exam_event.h"
+#include "swad_exam_session.h"
#include "swad_form.h"
#include "swad_game.h"
#include "swad_global.h"
@@ -1700,7 +1700,7 @@ void Grp_ListGrpsToEditAsgAttSvyEvtMch (struct GroupType *GrpTyp,long Cod,
[Grp_ASSIGNMENT] = {"asg_grp" ,"AsgCod"},
[Grp_ATT_EVENT ] = {"att_grp" ,"AttCod"},
[Grp_SURVEY ] = {"svy_grp" ,"SvyCod"},
- [Grp_EXA_EVENT ] = {"exa_groups","EvtCod"},
+ [Grp_EXA_EVENT ] = {"exa_groups","SesCod"},
[Grp_MATCH ] = {"mch_groups","MchCod"},
};
struct ListCodGrps LstGrpsIBelong;
diff --git a/swad_help_URL.c b/swad_help_URL.c
index 0074833b..f48db739 100644
--- a/swad_help_URL.c
+++ b/swad_help_URL.c
@@ -1474,7 +1474,7 @@ const char *Hlp_ASSESSMENT_Exams_question_sets =
"ASSESSMENT.Exams.en#question-set";
#endif
-const char *Hlp_ASSESSMENT_Exams_events =
+const char *Hlp_ASSESSMENT_Exams_sessions =
#if L==1
"ASSESSMENT.Exams.es#eventos";
#elif L==2
diff --git a/swad_layout.c b/swad_layout.c
index 27165e49..ac1ed23c 100644
--- a/swad_layout.c
+++ b/swad_layout.c
@@ -39,7 +39,7 @@
#include "swad_connected.h"
#include "swad_database.h"
#include "swad_exam_announcement.h"
-#include "swad_exam_event.h"
+#include "swad_exam_session.h"
#include "swad_firewall.h"
#include "swad_follow.h"
#include "swad_form.h"
@@ -1446,12 +1446,12 @@ void Lay_WrongSetExit (void)
}
/*****************************************************************************/
-/************** Write error message and exit when wrong event ****************/
+/*********** Write error message and exit when wrong exam session ************/
/*****************************************************************************/
-void Lay_WrongEventExit (void)
+void Lay_WrongExamSessionExit (void)
{
- Lay_ShowErrorAndExit ("Wrong event.");
+ Lay_ShowErrorAndExit ("Wrong exam session.");
}
/*****************************************************************************/
diff --git a/swad_layout.h b/swad_layout.h
index 80643cfe..feec1bf4 100644
--- a/swad_layout.h
+++ b/swad_layout.h
@@ -76,7 +76,7 @@ void Lay_WrongTypeOfViewExit (void);
void Lay_WrongProjectExit (void);
void Lay_WrongExamExit (void);
void Lay_WrongSetExit (void);
-void Lay_WrongEventExit (void);
+void Lay_WrongExamSessionExit (void);
void Lay_NoPermissionExit (void);
void Lay_ShowErrorAndExit (const char *Txt);
diff --git a/swad_match_result.c b/swad_match_result.c
index 4dc5b4f4..f61cfc65 100644
--- a/swad_match_result.c
+++ b/swad_match_result.c
@@ -735,7 +735,7 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games,
long GamCod, // <= 0 ==> any
const char *GamesSelectedCommas)
{
- extern const char *Txt_Match_result;
+ extern const char *Txt_Result;
char *MchSubQuery;
char *GamSubQuery;
MYSQL_RES *mysql_res;
@@ -973,7 +973,7 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games,
Usr_PutParamOtherUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EncryptedUsrCod);
break;
}
- Ico_PutIconLink ("tasks.svg",Txt_Match_result);
+ Ico_PutIconLink ("tasks.svg",Txt_Result);
Frm_EndForm ();
}
else
diff --git a/swad_test.c b/swad_test.c
index 5d52a437..8af68f44 100644
--- a/swad_test.c
+++ b/swad_test.c
@@ -570,7 +570,7 @@ void Tst_ReceiveTestDraft (void)
void Tst_AssessTest (void)
{
extern const char *Hlp_ASSESSMENT_Tests;
- extern const char *Txt_Test_result;
+ extern const char *Txt_Result;
extern const char *Txt_Test_No_X_that_you_make_in_this_course;
extern const char *Txt_Score;
extern const char *Txt_Grade;
@@ -615,7 +615,7 @@ void Tst_AssessTest (void)
TstPrn_UpdatePrintInDB (&Print);
/***** Begin box *****/
- Box_BoxBegin (NULL,Txt_Test_result,
+ Box_BoxBegin (NULL,Txt_Result,
NULL,NULL,
Hlp_ASSESSMENT_Tests,Box_NOT_CLOSABLE);
Lay_WriteHeaderClassPhoto (false,false,
@@ -5627,7 +5627,7 @@ static long Tst_CreateNewTag (long CrsCod,const char *TagTxt)
"INSERT INTO tst_tags"
" (CrsCod,ChangeTime,TagTxt,TagHidden)"
" VALUES"
- " (%ld,NOW(),'%s','N')",
+ " (%ld,NOW(),'%s','Y')", // Hidden by default
CrsCod,TagTxt);
}
diff --git a/swad_test_print.c b/swad_test_print.c
index 1dc0e233..30a545d2 100644
--- a/swad_test_print.c
+++ b/swad_test_print.c
@@ -1874,7 +1874,7 @@ static void TstPrn_ShowExamsSummaryRow (bool ItsMe,
void TstPrn_ShowOneExam (void)
{
extern const char *Hlp_ASSESSMENT_Tests_results;
- extern const char *Txt_Test_result;
+ extern const char *Txt_Result;
extern const char *Txt_The_user_does_not_exist;
extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
extern const char *Txt_START_END_TIME[Dat_NUM_START_END_TIME];
@@ -1952,7 +1952,7 @@ void TstPrn_ShowOneExam (void)
TstPrn_GetPrintQuestionsFromDB (&Print);
/***** Begin box *****/
- Box_BoxBegin (NULL,Txt_Test_result,
+ Box_BoxBegin (NULL,Txt_Result,
NULL,NULL,
Hlp_ASSESSMENT_Tests_results,Box_NOT_CLOSABLE);
Lay_WriteHeaderClassPhoto (false,false,
diff --git a/swad_text.c b/swad_text.c
index b709eff5..59a8e2a8 100644
--- a/swad_text.c
+++ b/swad_text.c
@@ -11456,27 +11456,6 @@ const char *Txt_Event_X_removed = // Warning: it is very important to include %s
"Evento %s removido.";
#endif
-const char *Txt_Event_result =
-#if L==1 // ca
- "Resultat del esdeveniment";
-#elif L==2 // de
- "Ergebnis der Ereignis";
-#elif L==3 // en
- "Event result";
-#elif L==4 // es
- "Resultado del evento";
-#elif L==5 // fr
- "Résultat de l'événement";
-#elif L==6 // gn
- "Resultado del evento"; // Okoteve traducción
-#elif L==7 // it
- "Risultato dell'evento";
-#elif L==8 // pl
- "Wynik wydarzenia";
-#elif L==9 // pt
- "Resultado do evento";
-#endif
-
const char *Txt_Event_visible_to_the_users_of_your_courses_click_to_make_it_private =
#if L==1 // ca
"Esdeveniment visible pels usuaris de les seves assignatures; feu clic per fer-lo privat";
@@ -18946,27 +18925,6 @@ const char *Txt_MATCH_respond =
"respondem";
#endif
-const char *Txt_Match_result =
-#if L==1 // ca
- "Resultat de la partida";
-#elif L==2 // de
- "Spielergebnis";
-#elif L==3 // en
- "Match result";
-#elif L==4 // es
- "Resultado de la partida";
-#elif L==5 // fr
- "Résultat du match";
-#elif L==6 // gn
- "Resultado de la partida"; // Okoteve traducción
-#elif L==7 // it
- "Risultato della partita";
-#elif L==8 // pl
- "Wynik mecz";
-#elif L==9 // pt
- "Resultado do jogo";
-#endif
-
const char *Txt_Matches = // of a game
#if L==1 // ca
"Partides";
@@ -25493,6 +25451,27 @@ const char *Txt_New_room =
"Nova sala";
#endif
+const char *Txt_New_session =
+#if L==1 // ca
+ "Nova sessió";
+#elif L==2 // de
+ "Neue Sitzung";
+#elif L==3 // en
+ "New session";
+#elif L==4 // es
+ "Nueva sesión";
+#elif L==5 // fr
+ "Nouvelle session";
+#elif L==6 // gn
+ "Nueva sesión"; // Okoteve traducción
+#elif L==7 // it
+ "Nuova sessione";
+#elif L==8 // pl
+ "Nowy sesji";
+#elif L==9 // pt
+ "Nova sessão";
+#endif
+
const char *Txt_New_set_of_questions =
#if L==1 // ca
"Nou conjunt de preguntes";
@@ -34753,6 +34732,48 @@ const char *Txt_Reset_survey =
"Reiniciar inquérito";
#endif
+const char *Txt_Result =
+#if L==1 // ca
+ "Resultat";
+#elif L==2 // de
+ "Ergebnis";
+#elif L==3 // en
+ "Result";
+#elif L==4 // es
+ "Resultado";
+#elif L==5 // fr
+ "Résultat";
+#elif L==6 // gn
+ "Resultado"; // Okoteve traducción
+#elif L==7 // it
+ "Risultato";
+#elif L==8 // pl
+ "Wynik";
+#elif L==9 // pt
+ "Resultado";
+#endif
+
+const char *Txt_Result_visibility =
+#if L==1 // ca
+ "Visibilitat de resultats";
+#elif L==2 // de
+ "Ergebnis Sichtbarkeit";
+#elif L==3 // en
+ "Result visibility";
+#elif L==4 // es
+ "Visibilidad de resultados";
+#elif L==5 // fr
+ "Visibilité des résultats";
+#elif L==6 // gn
+ "Visibilidad de resultados"; // Okoteve traducción
+#elif L==7 // it
+ "Visibilità dei risultati";
+#elif L==8 // pl
+ "Widoczność wyników";
+#elif L==9 // pt
+ "Visibilidade dos resultados";
+#endif
+
const char *Txt_Results =
#if L==1 // ca
"Resultats";
@@ -34795,27 +34816,6 @@ const char *Txt_Results_of_game_X = // Warning: it is very important to include
"Resultados do jogo "%s"";
#endif
-const char *Txt_Results_of_event_X = // Warning: it is very important to include %s in the following sentences
-#if L==1 // ca
- "Resultats del esdeveniment "%s"";
-#elif L==2 // de
- "Ergebnisse von Ereignis "%s"";
-#elif L==3 // en
- "Results of event "%s"";
-#elif L==4 // es
- "Resultados del evento "%s"";
-#elif L==5 // fr
- "Résultats de l'événement "%s"";
-#elif L==6 // gn
- "Resultados del evento "%s""; // Okoteve traducción
-#elif L==7 // it
- "Risultati del evento "%s"";
-#elif L==8 // pl
- "Wyniki wydarzenie "%s"";
-#elif L==9 // pt
- "Resultados do evento "%s"";
-#endif
-
const char *Txt_Results_of_exam_X = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca
"Resultats del examen "%s"";
@@ -34858,6 +34858,27 @@ const char *Txt_Results_of_match_X = // Warning: it is very important to include
"Resultados do jogo "%s"";
#endif
+const char *Txt_Results_of_session_X = // Warning: it is very important to include %s in the following sentences
+#if L==1 // ca
+ "Resultats de la sessió "%s"";
+#elif L==2 // de
+ "Ergebnisse von Sitzung "%s"";
+#elif L==3 // en
+ "Results of session "%s"";
+#elif L==4 // es
+ "Resultados de la sesión "%s"";
+#elif L==5 // fr
+ "Résultats de la session "%s"";
+#elif L==6 // gn
+ "Resultados de la sesión "%s""; // Okoteve traducción
+#elif L==7 // it
+ "Risultati della sessione "%s"";
+#elif L==8 // pl
+ "Wyniki sesji "%s"";
+#elif L==9 // pt
+ "Resultados da sessão "%s"";
+#endif
+
const char *Txt_results_per_page =
#if L==1 // ca
"resultats per pàgina";
@@ -41127,6 +41148,48 @@ const char *Txt_session =
"sessão";
#endif
+const char *Txt_Session_X_removed = // Warning: it is very important to include %s in the following sentences
+#if L==1 // ca
+ "Sessió %s eliminada.";
+#elif L==2 // de
+ "Sitzung %s entfernt.";
+#elif L==3 // en
+ "Session %s removed.";
+#elif L==4 // es
+ "Sesión %s eliminada.";
+#elif L==5 // fr
+ "Session %s supprimé.";
+#elif L==6 // gn
+ "Sesión %s eliminada."; // Okoteve traducción
+#elif L==7 // it
+ "Sessione %s rimossa.";
+#elif L==8 // pl
+ "Sesja %s usunięte.";
+#elif L==9 // pt
+ "Sessão %s removida.";
+#endif
+
+const char *Txt_Sessions =
+#if L==1 // ca
+ "Sessions";
+#elif L==2 // de
+ "Sitzungen";
+#elif L==3 // en
+ "Sessions";
+#elif L==4 // es
+ "Sesiones";
+#elif L==5 // fr
+ "Sessions";
+#elif L==6 // gn
+ "Sesiones"; // Okoteve traducción
+#elif L==7 // it
+ "Sessioni";
+#elif L==8 // pl
+ "Sesje";
+#elif L==9 // pt
+ "Sessões";
+#endif
+
const char *Txt_sessions =
#if L==1 // ca
"sessions";
@@ -41143,7 +41206,7 @@ const char *Txt_sessions =
#elif L==7 // it
"sessioni";
#elif L==8 // pl
- "sessions"; // Potrzebujesz tlumaczenie
+ "sesje";
#elif L==9 // pt
"sessões";
#endif
@@ -45655,27 +45718,6 @@ const char *Txt_Test_No_X_that_you_make_in_this_course = // Warning: it is very
"Teste nº %u que você faz nesta disciplina";
#endif
-const char *Txt_Test_result =
-#if L==1 // ca
- "Resultat del test";
-#elif L==2 // de
- "Testergebnis";
-#elif L==3 // en
- "Test result";
-#elif L==4 // es
- "Resultado del test";
-#elif L==5 // fr
- "Résultat du test";
-#elif L==6 // gn
- "Resultado del test"; // Okoteve traducción
-#elif L==7 // it
- "Risultato del test";
-#elif L==8 // pl
- "Wynik testu";
-#elif L==9 // pt
- "Resultado do teste";
-#endif
-
const char *Txt_Text =
#if L==1 // ca
"Text";
@@ -55962,27 +56004,6 @@ const char *Txt_View_homework =
"Ver trabalhos";
#endif
-const char *Txt_Result_visibility =
-#if L==1 // ca
- "Visibilitat de resultats";
-#elif L==2 // de
- "Ergebnis Sichtbarkeit";
-#elif L==3 // en
- "Result visibility";
-#elif L==4 // es
- "Visibilidad de resultados";
-#elif L==5 // fr
- "Visibilité des résultats";
-#elif L==6 // gn
- "Visibilidad de resultados"; // Okoteve traducción
-#elif L==7 // it
- "Visibilità dei risultati";
-#elif L==8 // pl
- "Widoczność wyników";
-#elif L==9 // pt
- "Visibilidade dos resultados";
-#endif
-
const char *Txt_Visible_by_BR_the_student =
#if L==1 // ca
"¿Visible por
el estudiante?"; // Necessita traduccio