From 1568e5b96556bdcca970811f964a9d31658a5d56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ca=C3=B1as=20Vargas?= Date: Sun, 13 Nov 2016 20:18:49 +0100 Subject: [PATCH] Version 16.56 --- swad_changelog.h | 4 +- swad_help.c | 3 + swad_test.c | 50 +++++--- swad_test_import.c | 284 ++++++++++++++++++++++----------------------- 4 files changed, 182 insertions(+), 159 deletions(-) diff --git a/swad_changelog.h b/swad_changelog.h index d8b0382b..bddc18b4 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -156,13 +156,15 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 16.55 (2016-11-13)" +#define Log_PLATFORM_VERSION "SWAD 16.56 (2016-11-13)" #define CSS_FILE "swad16.51.css" #define JS_FILE "swad16.46.1.js" // Number of lines (includes comments but not blank lines) has been got with the following command: // nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1 /* + Version 16.56: Nov 13, 2016 Contextual help on tests. + Change in layout of test import. (206935 lines) Version 16.55: Nov 13, 2016 Contextual help on file zones. (206912 lines) Version 16.54.23: Nov 13, 2016 Contextual help on pending institutions, centres, degrees and courses. (206846 lines) Version 16.54.22: Nov 13, 2016 Contextual help on course information. (206832 lines) diff --git a/swad_help.c b/swad_help.c index 744af084..19ee403e 100644 --- a/swad_help.c +++ b/swad_help.c @@ -84,6 +84,9 @@ const char *Hlp_COURSE_Shared = WIKI "COURSE.Shared"; /***** ASSESSMENT tab *****/ const char *Hlp_ASSESSMENT_Works = WIKI "ASSESSMENT.Works"; + +const char *Hlp_ASSESSMENT_Tests = WIKI "ASSESSMENT.Tests"; + const char *Hlp_ASSESSMENT_Marks = WIKI "ASSESSMENT.Marks"; /***** STATS tab *****/ diff --git a/swad_test.c b/swad_test.c index ea0f4195..30d846f6 100644 --- a/swad_test.c +++ b/swad_test.c @@ -275,6 +275,7 @@ static void Tst_GetExamQuestionsFromDB (long TstCod); void Tst_ShowFormAskTst (void) { + extern const char *Hlp_ASSESSMENT_Tests; extern const char *The_ClassForm[The_NUM_THEMES]; extern const char *Txt_Take_a_test; extern const char *Txt_No_of_questions; @@ -301,7 +302,8 @@ void Tst_ShowFormAskTst (void) } /***** Start frame *****/ - Lay_StartRoundFrame (NULL,Txt_Take_a_test,Tst_PutIconsTests,NULL); + Lay_StartRoundFrame (NULL,Txt_Take_a_test, + Tst_PutIconsTests,Hlp_ASSESSMENT_Tests); /***** Get tags *****/ if ((NumRows = Tst_GetEnabledTagsFromThisCrs (&mysql_res)) != 0) @@ -380,6 +382,7 @@ static void Tst_PutFormToSeeResultsOfUsersTests (Act_Action_t Action) void Tst_ShowNewTestExam (void) { + extern const char *Hlp_ASSESSMENT_Tests; extern const char *The_ClassForm[The_NUM_THEMES]; extern const char *Txt_No_questions_found_matching_your_search_criteria; extern const char *Txt_Test; @@ -411,7 +414,7 @@ void Tst_ShowNewTestExam (void) Tst_UpdateMyNumAccessTst (NumAccessesTst); /***** Start frame *****/ - Lay_StartRoundFrame (NULL,Txt_Test,NULL,NULL); + Lay_StartRoundFrame (NULL,Txt_Test,NULL,Hlp_ASSESSMENT_Tests); Lay_WriteHeaderClassPhoto (false,false, Gbl.CurrentIns.Ins.InsCod, Gbl.CurrentDeg.Deg.DegCod, @@ -471,6 +474,7 @@ void Tst_ShowNewTestExam (void) void Tst_AssessTestExam (void) { + extern const char *Hlp_ASSESSMENT_Tests; extern const char *Txt_Test_result; extern const char *Txt_Test_No_X_that_you_make_in_this_course; extern const char *Txt_The_test_X_has_already_been_assessed_previously; @@ -506,7 +510,7 @@ void Tst_AssessTestExam (void) TstCod = Tst_CreateTestExamInDB (); /***** Start frame *****/ - Lay_StartRoundFrame (NULL,Txt_Test_result,NULL,NULL); + Lay_StartRoundFrame (NULL,Txt_Test_result,NULL,Hlp_ASSESSMENT_Tests); Lay_WriteHeaderClassPhoto (false,false, Gbl.CurrentIns.Ins.InsCod, Gbl.CurrentDeg.Deg.DegCod, @@ -612,6 +616,7 @@ static void Tst_ShowTstTotalMark (double TotalScore) static bool Tst_CheckIfNextTstAllowed (void) { + extern const char *Hlp_ASSESSMENT_Tests; extern const char *Txt_Test; extern const char *Txt_You_can_not_make_a_new_test_in_the_course_X_until; extern const char *Txt_Today; @@ -653,7 +658,7 @@ static bool Tst_CheckIfNextTstAllowed (void) if (NumSecondsFromNowToNextAccTst > 0) { /***** Start frame *****/ - Lay_StartRoundFrame (NULL,Txt_Test,NULL,NULL); + Lay_StartRoundFrame (NULL,Txt_Test,NULL,Hlp_ASSESSMENT_Tests); Lay_WriteHeaderClassPhoto (false,false, Gbl.CurrentIns.Ins.InsCod, Gbl.CurrentDeg.Deg.DegCod, @@ -1236,6 +1241,7 @@ void Tst_SetIniEndDates (void) void Tst_ShowFormAskEditTsts (void) { + extern const char *Hlp_ASSESSMENT_Tests; extern const char *Txt_No_test_questions; extern const char *Txt_List_edit_questions; extern const char *Txt_Show_questions; @@ -1248,7 +1254,8 @@ void Tst_ShowFormAskEditTsts (void) fprintf (Gbl.F.Out,""); /***** Start frame *****/ - Lay_StartRoundFrame (NULL,Txt_List_edit_questions,Tst_PutIconsTests,NULL); + Lay_StartRoundFrame (NULL,Txt_List_edit_questions, + Tst_PutIconsTests,Hlp_ASSESSMENT_Tests); /***** Get tags already present in the table of questions *****/ if ((NumRows = Tst_GetAllTagsFromCurrentCrs (&mysql_res))) @@ -1689,6 +1696,7 @@ static void Tst_ShowFormSelTags (unsigned long NumRows,MYSQL_RES *mysql_res, static void Tst_ShowFormEditTags (void) { + extern const char *Hlp_ASSESSMENT_Tests; extern const char *Txt_No_test_questions; extern const char *Txt_Tags; MYSQL_RES *mysql_res; @@ -1700,7 +1708,8 @@ static void Tst_ShowFormEditTags (void) if ((NumRows = Tst_GetAllTagsFromCurrentCrs (&mysql_res))) { /***** Start table *****/ - Lay_StartRoundFrameTable (NULL,2,Txt_Tags); + Lay_StartRoundFrame (NULL,Txt_Tags,NULL,Hlp_ASSESSMENT_Tests); + fprintf (Gbl.F.Out,""); /***** Show tags *****/ for (NumRow = 0; @@ -1792,6 +1801,7 @@ static void Tst_PutIconDisable (long TagCod,const char *TagTxt) static void Tst_ShowFormConfigTst (void) { + extern const char *Hlp_ASSESSMENT_Tests; extern const char *The_ClassForm[The_NUM_THEMES]; extern const char *Txt_Configure_tests; extern const char *Txt_Plugins; @@ -1811,7 +1821,8 @@ static void Tst_ShowFormConfigTst (void) Tst_GetConfigTstFromDB (); /***** Start frame *****/ - Lay_StartRoundFrame (NULL,Txt_Configure_tests,Tst_PutIconsTests,NULL); + Lay_StartRoundFrame (NULL,Txt_Configure_tests, + Tst_PutIconsTests,Hlp_ASSESSMENT_Tests); /***** Start form *****/ Act_FormStart (ActRcvCfgTst); @@ -2640,6 +2651,7 @@ static bool Tst_GetOneQuestionByCod (long QstCod,MYSQL_RES **mysql_res) static void Tst_ListOneOrMoreQuestionsToEdit (unsigned long NumRows,MYSQL_RES *mysql_res) { + extern const char *Hlp_ASSESSMENT_Tests; extern const char *Txt_Questions; extern const char *Txt_No_INDEX; extern const char *Txt_Code; @@ -2662,7 +2674,8 @@ static void Tst_ListOneOrMoreQuestionsToEdit (unsigned long NumRows,MYSQL_RES *m double TotalScoreThisQst; /***** Table start *****/ - Lay_StartRoundFrame (NULL,Txt_Questions,Tst_PutIconsTests,NULL); + Lay_StartRoundFrame (NULL,Txt_Questions, + Tst_PutIconsTests,Hlp_ASSESSMENT_Tests); /***** Write the heading *****/ fprintf (Gbl.F.Out,"
" @@ -4408,6 +4421,7 @@ void Tst_ShowFormEditOneQst (void) static void Tst_PutFormEditOneQst (char *Stem,char *Feedback) { + extern const char *Hlp_ASSESSMENT_Tests; extern const char *The_ClassForm[The_NUM_THEMES]; extern const char *Txt_Question_code_X; extern const char *Txt_New_question; @@ -4445,10 +4459,11 @@ static void Tst_PutFormEditOneQst (char *Stem,char *Feedback) if (Gbl.Test.QstCod > 0) // The question already has assigned a code { sprintf (Title,Txt_Question_code_X,Gbl.Test.QstCod); - Lay_StartRoundFrame (NULL,Title,Tst_PutIconToRemoveOneQst,NULL); + Lay_StartRoundFrame (NULL,Title, + Tst_PutIconToRemoveOneQst,Hlp_ASSESSMENT_Tests); } else - Lay_StartRoundFrame (NULL,Txt_New_question,NULL,NULL); + Lay_StartRoundFrame (NULL,Txt_New_question,NULL,Hlp_ASSESSMENT_Tests); /***** Start form *****/ Act_FormStart (ActRcvTstQst); @@ -6917,6 +6932,7 @@ void Tst_SelUsrsToSeeUsrsExams (void) void Tst_SelDatesToSeeMyExams (void) { + extern const char *Hlp_ASSESSMENT_Tests; extern const char *Txt_Exams; extern const char *Txt_See_exams; @@ -6924,7 +6940,8 @@ void Tst_SelDatesToSeeMyExams (void) Act_FormStart (ActSeeMyTstExa); /***** Starting and ending dates in the search *****/ - Lay_StartRoundFrameTable (NULL,2,Txt_Exams); + Lay_StartRoundFrame (NULL,Txt_Exams,NULL,Hlp_ASSESSMENT_Tests); + fprintf (Gbl.F.Out,"
"); Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (); /***** Send button and end frame *****/ @@ -6979,6 +6996,7 @@ static void Tst_StoreScoreOfTestExamInDB (long TstCod, void Tst_ShowUsrsExams (void) { + extern const char *Hlp_ASSESSMENT_Tests; extern const char *Txt_Exams; extern const char *Txt_You_must_select_one_ore_more_users; const char *Ptr; @@ -6993,7 +7011,8 @@ void Tst_ShowUsrsExams (void) if (Usr_CountNumUsrsInListOfSelectedUsrs ()) // If some users are selected... { /***** Header of the table with the list of users *****/ - Lay_StartRoundFrameTable (NULL,2,Txt_Exams); + Lay_StartRoundFrame (NULL,Txt_Exams,NULL,Hlp_ASSESSMENT_Tests); + fprintf (Gbl.F.Out,"
"); Tst_ShowHeaderTestResults (); /***** List the assignments and works of the selected users *****/ @@ -7079,13 +7098,15 @@ static void Tst_ShowHeaderTestResults (void) void Tst_ShowMyExams (void) { + extern const char *Hlp_ASSESSMENT_Tests; extern const char *Txt_Exams; /***** Get starting and ending dates *****/ Dat_GetIniEndDatesFromForm (); /***** Header of the table with the list of users *****/ - Lay_StartRoundFrameTable (NULL,2,Txt_Exams); + Lay_StartRoundFrame (NULL,Txt_Exams,NULL,Hlp_ASSESSMENT_Tests); + fprintf (Gbl.F.Out,"
"); Tst_ShowHeaderTestResults (); /***** List my results in test exams *****/ @@ -7424,6 +7445,7 @@ static long Tst_GetParamTstCod (void) void Tst_ShowOneExam (void) { + extern const char *Hlp_ASSESSMENT_Tests; extern const char *Txt_Test_result; extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_Date; @@ -7474,7 +7496,7 @@ void Tst_ShowOneExam (void) Tst_GetExamQuestionsFromDB (TstCod); /***** Start frame *****/ - Lay_StartRoundFrame (NULL,Txt_Test_result,NULL,NULL); + Lay_StartRoundFrame (NULL,Txt_Test_result,NULL,Hlp_ASSESSMENT_Tests); Lay_WriteHeaderClassPhoto (false,false, Gbl.CurrentIns.Ins.InsCod, Gbl.CurrentDeg.Deg.DegCod, diff --git a/swad_test_import.c b/swad_test_import.c index 43b57736..d1f5d25e 100644 --- a/swad_test_import.c +++ b/swad_test_import.c @@ -72,7 +72,6 @@ static Tst_AnswerType_t TsI_ConvertFromStrAnsTypXMLToAnsTyp (const char *StrAnsT static bool TsI_CheckIfQuestionExistsInDB (void); static void TsI_GetAnswerFromXML (struct XMLElement *AnswerElem); static void TsI_WriteHeadingListImportedQst (void); -static void TsI_WriteEndingListImportedQst (void); static void TsI_WriteRowImportedQst (struct XMLElement *StemElem, struct XMLElement *FeedbackElem, bool QuestionExists); @@ -129,13 +128,14 @@ void TsI_PutFormToImportQuestions (void) void TsI_ShowFormImportQstsFromXML (void) { + extern const char *Hlp_ASSESSMENT_Tests; extern const char *The_ClassForm[The_NUM_THEMES]; extern const char *Txt_Import_questions; extern const char *Txt_You_need_an_XML_file_containing_a_list_of_questions; extern const char *Txt_XML_file; /***** Start frame *****/ - Lay_StartRoundFrame (NULL,Txt_Import_questions,NULL,NULL); + Lay_StartRoundFrame (NULL,Txt_Import_questions,NULL,Hlp_ASSESSMENT_Tests); /***** Write help message *****/ Lay_ShowAlert (Lay_INFO,Txt_You_need_an_XML_file_containing_a_list_of_questions); @@ -485,6 +485,7 @@ static void TsI_ReadQuestionsFromXMLFileAndStoreInDB (const char *FileNameXML) static void TsI_ImportQuestionsFromXMLBuffer (const char *XMLBuffer) { + extern const char *Hlp_ASSESSMENT_Tests; extern const char *Txt_XML_file_content; extern const char *Txt_Imported_questions; struct XMLElement *RootElem; @@ -504,9 +505,13 @@ static void TsI_ImportQuestionsFromXMLBuffer (const char *XMLBuffer) /***** Allocate and get XML tree *****/ XML_GetTree (XMLBuffer,&RootElem); + /***** Table start *****/ + Lay_StartRoundFrame (NULL,Txt_Imported_questions,NULL,Hlp_ASSESSMENT_Tests); + /***** Print XML tree *****/ Lay_WriteTitle (Txt_XML_file_content); - fprintf (Gbl.F.Out,"
" + fprintf (Gbl.F.Out,"
" "