From a352ee40ead9652beb9012dd32e546807c8caea6 Mon Sep 17 00:00:00 2001 From: acanas Date: Wed, 22 Apr 2020 03:48:38 +0200 Subject: [PATCH] Version19.192.1 --- icon/iconset/awesome/file-signature.svg | 1 + icon/iconset/nuvola/file-signature.png | Bin 0 -> 10563 bytes swad_action.c | 2 +- swad_changelog.h | 7 ++++- swad_exam.c | 2 +- swad_exam.h | 2 +- swad_exam_event.c | 34 ++++++++++++------------ swad_exam_result.c | 2 +- 8 files changed, 28 insertions(+), 22 deletions(-) create mode 100644 icon/iconset/awesome/file-signature.svg create mode 100644 icon/iconset/nuvola/file-signature.png diff --git a/icon/iconset/awesome/file-signature.svg b/icon/iconset/awesome/file-signature.svg new file mode 100644 index 00000000..bddd6af1 --- /dev/null +++ b/icon/iconset/awesome/file-signature.svg @@ -0,0 +1 @@ + diff --git a/icon/iconset/nuvola/file-signature.png b/icon/iconset/nuvola/file-signature.png new file mode 100644 index 0000000000000000000000000000000000000000..10354feb73db8960a647853d46ce361a170180f9 GIT binary patch literal 10563 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 // Button to create a new exam event + Exa_PutButtonNewEvent (Exams,Exam->ExaCod); // Button to create a new exam event break; default: break; @@ -875,8 +875,8 @@ void ExaEvt_ToggleVisibilResultsEvtUsr (void) struct Exa_Exam Exam; struct ExaEvt_Event Event; - /***** Reset games *****/ - Gam_ResetGames (&Exams); + /***** Reset exams *****/ + Exa_ResetExams (&Exams); /***** Get and check parameters *****/ ExaEvt_GetAndCheckParameters (&Exams,&Exam,&Event); @@ -896,7 +896,7 @@ void ExaEvt_ToggleVisibilResultsEvtUsr (void) Event.EvtCod); /***** Show current exam *****/ - Gam_ShowOnlyOneGame (&Exams,&Exam, + Exa_ShowOnlyOneExam (&Exams,&Exam, false, // Do not list exam questions false); // Do not put form to start new exam event } @@ -1017,8 +1017,8 @@ void ExaEvt_RequestRemoveEvent (void) struct Exa_Exam Exam; struct ExaEvt_Event Event; - /***** Reset games *****/ - Gam_ResetGames (&Exams); + /***** Reset exams *****/ + Exa_ResetExams (&Exams); /***** Get and check parameters *****/ ExaEvt_GetAndCheckParameters (&Exams,&Exam,&Event); @@ -1033,7 +1033,7 @@ void ExaEvt_RequestRemoveEvent (void) Event.Title); /***** Show current exam *****/ - Gam_ShowOnlyOneGame (&Exams,&Exam, + Exa_ShowOnlyOneExam (&Exams,&Exam, false, // Do not list exam questions false); // Do not put form to start new exam event } @@ -1049,8 +1049,8 @@ void ExaEvt_RemoveEvent (void) struct Exa_Exam Exam; struct ExaEvt_Event Event; - /***** Reset games *****/ - Gam_ResetGames (&Exams); + /***** Reset exams *****/ + Exa_ResetExams (&Exams); /***** Get and check parameters *****/ ExaEvt_GetAndCheckParameters (&Exams,&Exam,&Event); @@ -1067,7 +1067,7 @@ void ExaEvt_RemoveEvent (void) Event.Title); /***** Show current exam *****/ - Gam_ShowOnlyOneGame (&Exams,&Exam, + Exa_ShowOnlyOneExam (&Exams,&Exam, false, // Do not list exam questions false); // Do not put form to start new exam event } @@ -1253,10 +1253,10 @@ void ExaEvt_GetAndCheckParameters (struct Exa_Exams *Exams, { /***** Get parameters *****/ /* Get parameters of exam */ - if ((Exam->ExaCod = Gam_GetParams (Exams)) <= 0) + if ((Exam->ExaCod = Exa_GetParams (Exams)) <= 0) Lay_ShowErrorAndExit ("Code of exam is missing."); Grp_GetParamWhichGroups (); - Gam_GetDataOfGameByCod (Exam); + Exa_GetDataOfExamByCod (Exam); /* Get exam event code */ if ((Event->EvtCod = ExaEvt_GetParamEvtCod ()) <= 0) @@ -1284,7 +1284,7 @@ long ExaEvt_GetParamEvtCod (void) /* Put a big button to play exam event (start a new exam event) as a teacher */ /*****************************************************************************/ -static void ExaEvt_PutFormNewMatch (const struct Exa_Exam *Exam) +static void ExaEvt_PutFormNewEvent (const struct Exa_Exam *Exam) { extern const char *Hlp_ASSESSMENT_Games_matches; extern const char *Txt_New_match; @@ -1416,7 +1416,7 @@ void ExaEvt_CreateNewEventTch (void) /* Get exam event title */ Par_GetParToText ("Title",Title,Exa_MAX_BYTES_TITLE); - /* Get groups for this games */ + /* Get groups for this exams */ Grp_GetParCodsSeveralGrps (); /***** Create a new exam event *****/ @@ -3129,7 +3129,7 @@ static bool ExaEvt_ShowQuestionAndAnswersStd (const struct ExaEvt_Event *Event, unsigned NumOpt; char *Class; - /***** Trivial check: this question must be valid for games *****/ + /***** Trivial check: this question must be valid for exams *****/ if (!Tst_CheckIfQuestionIsValidForGame (Event->Status.QstCod)) return false; diff --git a/swad_exam_result.c b/swad_exam_result.c index 0d81ad85..c9993f76 100644 --- a/swad_exam_result.c +++ b/swad_exam_result.c @@ -1122,7 +1122,7 @@ void ExaRes_ShowOneExaResult (void) { /***** Get questions and user's answers of the event result from database *****/ ExaRes_GetExamResultQuestionsFromDB (Event.EvtCod,UsrDat->UsrCod, - &Exam); + &Result); /***** Begin box *****/ Box_BoxBegin (NULL,Event.Title,