From 3259888ed57030f944f1938cb1a81ee94374d686 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ca=C3=B1as=20Vargas?= Date: Wed, 2 Sep 2015 23:26:18 +0200 Subject: [PATCH] Version 14.124.9 --- swad_changelog.h | 3 +- swad_test.c | 373 ++++++++++++++++++++------------------------- swad_test_import.c | 57 +++---- 3 files changed, 191 insertions(+), 242 deletions(-) diff --git a/swad_changelog.h b/swad_changelog.h index 0a162aa92..f557686aa 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -103,11 +103,12 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 14.124.8 (2015/09/02)" +#define Log_PLATFORM_VERSION "SWAD 14.124.9 (2015/09/02)" // 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 14.124.9: Sep 02, 2015 Changes in styles. (184584 lines) Version 14.124.8: Sep 02, 2015 Changes in styles. (184635 lines) Version 14.124.7: Aug 24, 2015 Changes in styles. (184648 lines) Version 14.124.6: Aug 24, 2015 Changes in styles. (184735 lines) diff --git a/swad_test.c b/swad_test.c index f0d9020be..4335048de 100644 --- a/swad_test.c +++ b/swad_test.c @@ -270,7 +270,7 @@ void Tst_ShowFormAskTst (void) if (Tst_CheckIfNextTstAllowed ()) { Act_FormStart (ActSeeTst); - fprintf (Gbl.F.Out,"
"); + fprintf (Gbl.F.Out,"
"); /***** Selection of tags *****/ Tst_ShowFormSelTags (NumRows,mysql_res,true); @@ -279,7 +279,7 @@ void Tst_ShowFormAskTst (void) Tst_ShowFormAnswerTypes (); /***** Number of questions to generate ****/ - fprintf (Gbl.F.Out,"
" + fprintf (Gbl.F.Out,"
" "" @@ -541,8 +541,7 @@ static void Tst_ShowTstTotalMark (double TotalScore) /***** Write total mark ****/ fprintf (Gbl.F.Out,"" - "" + "" "%s: %.2lf (%.2lf %s %u)" "" "", @@ -727,8 +726,7 @@ static void Tst_WriteTestHead (unsigned NumTst) /***** Header row *****/ fprintf (Gbl.F.Out,"" - "" + "" "%s", Gbl.CurrentAct == ActSeeTst ? Txt_Test : Txt_Test_result); @@ -896,13 +894,14 @@ static void Tst_ShowTstResultAfterAssess (long TstCod,unsigned *NumQstsNotBlank, else /***** Question does not exists *****/ fprintf (Gbl.F.Out,"" - "" + "" "%u. " "" - "" - "" + "" + "" + "" "%s" "" "", @@ -937,8 +936,8 @@ static void Tst_WriteQstAndAnsExam (unsigned NumQst,long QstCod,MYSQL_ROW row, /***** Write number of question *****/ fprintf (Gbl.F.Out,"" - "" + "" "%u. " "", Gbl.ColorRows[Gbl.RowEvenOdd], @@ -946,16 +945,16 @@ static void Tst_WriteQstAndAnsExam (unsigned NumQst,long QstCod,MYSQL_ROW row, /***** Write answer type (row[2]) *****/ Gbl.Test.AnswerType = Tst_ConvertFromStrAnsTypDBToAnsTyp (row[2]); - fprintf (Gbl.F.Out,"" + fprintf (Gbl.F.Out,"" "%s " "", Gbl.ColorRows[Gbl.RowEvenOdd], Txt_TST_STR_ANSWER_TYPES[Gbl.Test.AnswerType]); /***** Write stem (row[4]), answers depending on shuffle (row[3]) and feedback (row[5]) *****/ - fprintf (Gbl.F.Out,"", + fprintf (Gbl.F.Out,"", Gbl.ColorRows[Gbl.RowEvenOdd]); Tst_WriteQstStem (row[4],"TEST_EXA"); if (Gbl.CurrentAct == ActSeeTst) @@ -1099,7 +1098,7 @@ void Tst_ShowFormAskEditTsts (void) unsigned long NumRows; /***** Buttons for edition *****/ - fprintf (Gbl.F.Out,"
"); + fprintf (Gbl.F.Out,"
"); Tst_PutFormToCreateNewTstQst (); // Put link (form) to create a new test question TsI_PutFormToImportQuestions (); // Put link (form) to import questions from XML file Tst_PutFormToConfigure (); // Put form to go to test configuration @@ -1117,7 +1116,7 @@ void Tst_ShowFormAskEditTsts (void) Act_FormStart (ActLstTstQst); Par_PutHiddenParamUnsigned ("Order",(unsigned) Tst_ORDER_STEM); - fprintf (Gbl.F.Out,"
"); + fprintf (Gbl.F.Out,"
"); /***** Selection of tags *****/ Tst_ShowFormSelTags (NumRows,mysql_res,false); @@ -1417,7 +1416,7 @@ static void Tst_ShowFormSelTags (unsigned long NumRows,MYSQL_RES *mysql_res,bool if (!ShowOnlyEnabledTags) { TagHidden = (Str_ConvertToUpperLetter (row[2][0]) == 'Y'); - fprintf (Gbl.F.Out,"" + fprintf (Gbl.F.Out,"" "" ""); } - fprintf (Gbl.F.Out,"" + fprintf (Gbl.F.Out,"" ""); + fprintf (Gbl.F.Out,""); Act_FormStart (ActRenTag); Par_PutHiddenParamString ("OldTagTxt",row[1]); fprintf (Gbl.F.Out,"" "%s:" "" - "", + "", The_ClassForm[Gbl.Prefs.Theme], Txt_Plugins); for (Pluggable = Tst_PLUGGABLE_NO; @@ -1618,17 +1616,17 @@ static void Tst_ShowFormConfigTst (void) "" "%s:" "" - "" + "" "", The_ClassForm[Gbl.Prefs.Theme], Txt_No_of_questions); /* Minimum number of questions in a test exam */ fprintf (Gbl.F.Out,"" - "" - "" "", @@ -1636,10 +1634,10 @@ static void Tst_ShowFormConfigTst (void) /* Default number of questions in a test exam */ fprintf (Gbl.F.Out,"" - "" - "" "", @@ -1647,10 +1645,10 @@ static void Tst_ShowFormConfigTst (void) /* Maximum number of questions in a test exam */ fprintf (Gbl.F.Out,"" - "" - "" "" @@ -1664,7 +1662,7 @@ static void Tst_ShowFormConfigTst (void) "" - "" "", @@ -1677,7 +1675,7 @@ static void Tst_ShowFormConfigTst (void) "" - "" - "" "" - "" - "" - "" - "" - "" - "", Txt_No_INDEX, @@ -2452,8 +2443,7 @@ static void Tst_ListOneOrMoreQuestionsToEdit (unsigned long NumRows,MYSQL_RES *m Order < (Tst_QuestionsOrder_t) Tst_NUM_TYPES_ORDER_QST; Order++) { - fprintf (Gbl.F.Out,"", Gbl.ColorRows[Gbl.RowEvenOdd],NumRow + 1); /* Write question code */ - fprintf (Gbl.F.Out,"", Gbl.ColorRows[Gbl.RowEvenOdd],QstCod); /* Write the date (row[1] has the date in format YYYYMMDDHHMMSS) */ - fprintf (Gbl.F.Out,""); /* Write the question tags */ - fprintf (Gbl.F.Out,""); /* Write the question type (row[2]) */ Gbl.Test.AnswerType = Tst_ConvertFromStrAnsTypDBToAnsTyp (row[2]); - fprintf (Gbl.F.Out,"", Gbl.ColorRows[Gbl.RowEvenOdd], Txt_TST_STR_ANSWER_TYPES[Gbl.Test.AnswerType]); /* Write if shuffle is enabled (row[3]) */ - fprintf (Gbl.F.Out,""); /* Write the stem (row[4]), the feedback (row[5]) and the answers */ - fprintf (Gbl.F.Out,"", Gbl.ColorRows[Gbl.RowEvenOdd],NumHitsThisQst); /* Write average score */ - fprintf (Gbl.F.Out,""); /* Write number of times this question has been answered (not blank) */ - fprintf (Gbl.F.Out,"", Gbl.ColorRows[Gbl.RowEvenOdd], NumHitsNotBlankThisQst); /* Write average score (not blank) */ - fprintf (Gbl.F.Out,""); /* Write the number of option */ - fprintf (Gbl.F.Out,"", 'a' + (char) NumOpt); /* Write the text of the answer */ - fprintf (Gbl.F.Out,"" - ""); /***** Write the correct answer *****/ - fprintf (Gbl.F.Out,"" - "",NumQst,Index); - fprintf (Gbl.F.Out,"", 'a' + (char) NumOpt); /***** Write the option text *****/ - fprintf (Gbl.F.Out,"" - ""); /* Answer letter (a, b, c,...) */ - fprintf (Gbl.F.Out,"", 'a' + (char) NumOpt); /* Answer text and feedback */ - fprintf (Gbl.F.Out,"" - ""); @@ -3444,22 +3426,20 @@ static void Tst_WriteTextAnsAssessExam (unsigned NumQst,MYSQL_RES *mysql_res, if (Gbl.Test.Config.FeedbackType == Tst_FEEDBACK_EACH_GOOD_BAD || Gbl.Test.Config.FeedbackType == Tst_FEEDBACK_FULL_FEEDBACK) { - fprintf (Gbl.F.Out,"" ""); @@ -3557,11 +3536,11 @@ static void Tst_WriteIntAnsAssessExam (unsigned NumQst,MYSQL_RES *mysql_res, /***** Write the user answer *****/ fprintf (Gbl.F.Out,"" - ""); /***** Write the correct answer *****/ - fprintf (Gbl.F.Out,"" - ""); /***** Write the correct answer *****/ - fprintf (Gbl.F.Out,"" - "", Txt_User,Txt_TST_Correct_ANSWER); @@ -3767,8 +3746,7 @@ static void Tst_WriteScoreStart (unsigned ColSpan) extern const char *Txt_Score; fprintf (Gbl.F.Out,"" - "" - "" "", @@ -4241,7 +4217,7 @@ static void Tst_PutFormEditOneQst (char *Stem,char *Feedback) "" - "
" + "" "%s" "" + "" "" "
" + "" "%s" "" + "" "" "
" + "" "%s" "" + "" "" "
" "%s:" "" + "" "" "
" "%s:" "", + "", The_ClassForm[Gbl.Prefs.Theme],Txt_Feedback_to_students); for (FeedbTyp = (Tst_Feedback_t) 0; FeedbTyp < Tst_NUM_TYPES_FEEDBACK; @@ -2018,8 +2016,7 @@ static void Tst_ShowFormAnswerTypes (void) AnsType++) { fprintf (Gbl.F.Out,"
" + "" ""); + fprintf (Gbl.F.Out,"
"); Tst_PutFormToCreateNewTstQst (); // Put link (form) to create a new test question if (Gbl.Test.XML.CreateXML) TsI_CreateXML (NumRows,mysql_res); // Create XML file for exporting questions and put a link to download it @@ -2339,7 +2336,7 @@ static void Tst_ListOneQstToEdit (void) if (Tst_GetOneQuestionByCod (Gbl.Test.QstCod,&mysql_res)) { /***** Button to create a new question *****/ - fprintf (Gbl.F.Out,"
"); + fprintf (Gbl.F.Out,"
"); Tst_PutFormToCreateNewTstQst (); // Put link (form) to create a new test question fprintf (Gbl.F.Out,"
"); @@ -2414,28 +2411,22 @@ static void Tst_ListOneOrMoreQuestionsToEdit (unsigned long NumRows,MYSQL_RES *m /***** Write the heading *****/ fprintf (Gbl.F.Out,"
" + "" "%s" "" + "" "%s" "" + "" "%s" "" + "" "%s" "" + "" "%s" "" + "" "%s" ""); + fprintf (Gbl.F.Out,""); if (NumRows > 1) { Act_FormStart (ActLstTstQst); @@ -2520,22 +2510,22 @@ static void Tst_ListOneOrMoreQuestionsToEdit (unsigned long NumRows,MYSQL_RES *m fprintf (Gbl.F.Out,""); /* Write number of question */ - fprintf (Gbl.F.Out,"" + fprintf (Gbl.F.Out,"" "%lu " "" + fprintf (Gbl.F.Out,"" "%ld " "", + fprintf (Gbl.F.Out,"", Gbl.ColorRows[Gbl.RowEvenOdd]); Dat_WriteDate (row[1]); fprintf (Gbl.F.Out,"
"); @@ -2543,24 +2533,24 @@ static void Tst_ListOneOrMoreQuestionsToEdit (unsigned long NumRows,MYSQL_RES *m fprintf (Gbl.F.Out,"
", + fprintf (Gbl.F.Out,"", Gbl.ColorRows[Gbl.RowEvenOdd]); Tst_GetAndWriteTagsQst (QstCod); fprintf (Gbl.F.Out,"" + fprintf (Gbl.F.Out,"" "%s " "", + fprintf (Gbl.F.Out,"", Gbl.ColorRows[Gbl.RowEvenOdd]); if (Gbl.Test.AnswerType == Tst_ANS_UNIQUE_CHOICE || Gbl.Test.AnswerType == Tst_ANS_MULTIPLE_CHOICE) @@ -2583,8 +2573,8 @@ static void Tst_ListOneOrMoreQuestionsToEdit (unsigned long NumRows,MYSQL_RES *m fprintf (Gbl.F.Out,"", + fprintf (Gbl.F.Out,"", Gbl.ColorRows[Gbl.RowEvenOdd]); Tst_WriteQstStem (row[4],"TEST_EDI"); Tst_WriteQstFeedback (row[5],"TEST_EDI_LIGHT"); @@ -2606,15 +2596,15 @@ static void Tst_ListOneOrMoreQuestionsToEdit (unsigned long NumRows,MYSQL_RES *m setlocale (LC_NUMERIC,"es_ES.utf8"); // Return to spanish system (TODO: this should be internationalized!!!!!!!) /* Write number of times this question has been answered */ - fprintf (Gbl.F.Out,"" + fprintf (Gbl.F.Out,"" "%lu" "", + fprintf (Gbl.F.Out,"", Gbl.ColorRows[Gbl.RowEvenOdd]); if (NumHitsThisQst) fprintf (Gbl.F.Out,"%.2f",TotalScoreThisQst / @@ -2624,16 +2614,16 @@ static void Tst_ListOneOrMoreQuestionsToEdit (unsigned long NumRows,MYSQL_RES *m fprintf (Gbl.F.Out,"" + fprintf (Gbl.F.Out,"" "%lu" "", + fprintf (Gbl.F.Out,"", Gbl.ColorRows[Gbl.RowEvenOdd]); if (NumHitsNotBlankThisQst) fprintf (Gbl.F.Out,"%.2f",TotalScoreThisQst / @@ -2786,16 +2776,13 @@ static void Tst_WriteAnswersOfAQstEdit (long QstCod) fprintf (Gbl.F.Out,"" + fprintf (Gbl.F.Out,"" "%c) " "" + fprintf (Gbl.F.Out,"" "
" "%s" "
" @@ -2803,9 +2790,7 @@ static void Tst_WriteAnswersOfAQstEdit (long QstCod) Answer); /* Write the text of the feedback */ - fprintf (Gbl.F.Out,"
"); + fprintf (Gbl.F.Out,""); if (LengthFeedback) fprintf (Gbl.F.Out,"
" "%s" @@ -2982,7 +2967,7 @@ static void Tst_WriteTFAnsAssessExam (unsigned NumQst,MYSQL_RES *mysql_res, /***** Write the user answer *****/ fprintf (Gbl.F.Out,"
", + "", (Gbl.Test.Config.FeedbackType == Tst_FEEDBACK_EACH_GOOD_BAD || Gbl.Test.Config.FeedbackType == Tst_FEEDBACK_FULL_FEEDBACK) ? (AnsTF == row[1][0] ? "ANS_OK" : @@ -2992,7 +2977,7 @@ static void Tst_WriteTFAnsAssessExam (unsigned NumQst,MYSQL_RES *mysql_res, fprintf (Gbl.F.Out,""); + fprintf (Gbl.F.Out,""); if (Gbl.Test.Config.FeedbackType == Tst_FEEDBACK_EACH_GOOD_BAD || Gbl.Test.Config.FeedbackType == Tst_FEEDBACK_FULL_FEEDBACK) Tst_WriteAnsTF (row[1][0]); @@ -3068,7 +3053,7 @@ static void Tst_WriteChoiceAnsSeeExam (unsigned NumQst,long QstCod,bool Shuffle) /***** Write selectors and letter of this option *****/ fprintf (Gbl.F.Out,"
"); + ""); sprintf (ParamName,"Ind%06u",NumQst); Par_PutHiddenParamUnsigned (ParamName,Index); fprintf (Gbl.F.Out," " + fprintf (Gbl.F.Out,"" "%c) " "" + fprintf (Gbl.F.Out,"" "
" "%s" "
" @@ -3211,8 +3194,7 @@ static void Tst_WriteChoiceAnsAssessExam (unsigned NumQst,MYSQL_RES *mysql_res, { /* Draw icon depending on user's answer */ fprintf (Gbl.F.Out,"
"); + ""); if (AnswersUsr[Indexes[NumOpt]] == true) // This answer has been selected by the user fprintf (Gbl.F.Out,"\"%s\""); /* Draw icon that indicates whether the answer is correct */ - fprintf (Gbl.F.Out,""); + fprintf (Gbl.F.Out,""); if (Gbl.Test.Config.FeedbackType == Tst_FEEDBACK_EACH_GOOD_BAD || Gbl.Test.Config.FeedbackType == Tst_FEEDBACK_FULL_FEEDBACK) { @@ -3246,22 +3227,23 @@ static void Tst_WriteChoiceAnsAssessExam (unsigned NumQst,MYSQL_RES *mysql_res, fprintf (Gbl.F.Out,"" + fprintf (Gbl.F.Out,"" "%c) " "" - "
" + fprintf (Gbl.F.Out,"
" + "
" "%s" "
", Gbl.Test.Answer.Options[Indexes[NumOpt]].Text); if (Gbl.Test.Config.FeedbackType == Tst_FEEDBACK_FULL_FEEDBACK) if (Gbl.Test.Answer.Options[Indexes[NumOpt]].Feedback) if (Gbl.Test.Answer.Options[Indexes[NumOpt]].Feedback[0]) - fprintf (Gbl.F.Out,"
" + fprintf (Gbl.F.Out,"
" "%s" "
", Gbl.Test.Answer.Options[Indexes[NumOpt]].Feedback); @@ -3403,7 +3385,7 @@ static void Tst_WriteTextAnsAssessExam (unsigned NumQst,MYSQL_RES *mysql_res, /***** Write the user answer *****/ fprintf (Gbl.F.Out,"
" + fprintf (Gbl.F.Out,"%s CENTER_TOP\">" " %s ", (Gbl.Test.Config.FeedbackType == Tst_FEEDBACK_EACH_GOOD_BAD || Gbl.Test.Config.FeedbackType == Tst_FEEDBACK_FULL_FEEDBACK) ? @@ -3436,7 +3418,7 @@ static void Tst_WriteTextAnsAssessExam (unsigned NumQst,MYSQL_RES *mysql_res, Gbl.Test.StrAnswersOneQst[NumQst]); } else // If user has omitted the answer - fprintf (Gbl.F.Out," class=\"ANS\">" + fprintf (Gbl.F.Out,"ANS CENTER_TOP\">" " "); fprintf (Gbl.F.Out,"" + fprintf (Gbl.F.Out,"" ""); for (NumOpt = 0; NumOpt < Gbl.Test.Answer.NumOptions; NumOpt++) { /* Answer letter (a, b, c,...) */ - fprintf (Gbl.F.Out,"", 'a' + (char) NumOpt); /* Answer text and feedback */ - fprintf (Gbl.F.Out,"
" + fprintf (Gbl.F.Out,"" "%c) " "" + fprintf (Gbl.F.Out,"" "
" "%s" "
", @@ -3478,8 +3458,7 @@ static void Tst_WriteTextAnsAssessExam (unsigned NumQst,MYSQL_RES *mysql_res, fprintf (Gbl.F.Out,"
"); } else - fprintf (Gbl.F.Out,"
" + fprintf (Gbl.F.Out,"" "?"); fprintf (Gbl.F.Out,"
" + fprintf (Gbl.F.Out,"%s CENTER_MIDDLE\">" " %ld ", (Gbl.Test.Config.FeedbackType == Tst_FEEDBACK_EACH_GOOD_BAD || Gbl.Test.Config.FeedbackType == Tst_FEEDBACK_FULL_FEEDBACK) ? @@ -3572,16 +3551,16 @@ static void Tst_WriteIntAnsAssessExam (unsigned NumQst,MYSQL_RES *mysql_res, else { Gbl.Test.StrAnswersOneQst[NumQst][0] = '\0'; - fprintf (Gbl.F.Out," class=\"ANS\">" + fprintf (Gbl.F.Out,"ANS CENTER_MIDDLE\">" "?"); } } else // If user has omitted the answer - fprintf (Gbl.F.Out," class=\"ANS\"> "); + fprintf (Gbl.F.Out,"ANS CENTER_MIDDLE\"> "); fprintf (Gbl.F.Out,""); + fprintf (Gbl.F.Out,""); if (Gbl.Test.Config.FeedbackType == Tst_FEEDBACK_EACH_GOOD_BAD || Gbl.Test.Config.FeedbackType == Tst_FEEDBACK_FULL_FEEDBACK) fprintf (Gbl.F.Out," %ld ",IntAnswerCorr); @@ -3674,12 +3653,12 @@ static void Tst_WriteFloatAnsAssessExam (unsigned NumQst,MYSQL_RES *mysql_res, /***** Write the user answer *****/ fprintf (Gbl.F.Out,"
 %lg ", + fprintf (Gbl.F.Out,"%s CENTER_MIDDLE\"> %lg ", (Gbl.Test.Config.FeedbackType == Tst_FEEDBACK_EACH_GOOD_BAD || Gbl.Test.Config.FeedbackType == Tst_FEEDBACK_FULL_FEEDBACK) ? ((FloatAnsUsr >= FloatAnsCorr[0] && @@ -3688,14 +3667,14 @@ static void Tst_WriteFloatAnsAssessExam (unsigned NumQst,MYSQL_RES *mysql_res, "ANS", FloatAnsUsr); else // Not a floating point number - fprintf (Gbl.F.Out," class=\"ANS\">?"); + fprintf (Gbl.F.Out,"ANS CENTER_MIDDLE\">?"); } else // If user has omitted the answer - fprintf (Gbl.F.Out," class=\"ANS\"> "); + fprintf (Gbl.F.Out,"ANS CENTER_MIDDLE\"> "); fprintf (Gbl.F.Out,""); + fprintf (Gbl.F.Out,""); if (Gbl.Test.Config.FeedbackType == Tst_FEEDBACK_EACH_GOOD_BAD || Gbl.Test.Config.FeedbackType == Tst_FEEDBACK_FULL_FEEDBACK) fprintf (Gbl.F.Out," [%lg; %lg] ",FloatAnsCorr[0],FloatAnsCorr[1]); @@ -3749,10 +3728,10 @@ static void Tst_WriteHeadUserCorrect (void) extern const char *Txt_User; extern const char *Txt_TST_Correct_ANSWER; - fprintf (Gbl.F.Out,"" + fprintf (Gbl.F.Out,"" " %s " "" + "" " %s " "
" + "" "%s: " - "" + "" " • " "" + "" "%s" "
" "%s:" "" + "" "", The_ClassForm[Gbl.Prefs.Theme],Txt_Tags); for (NumTag = 0; @@ -4251,7 +4227,7 @@ static void Tst_PutFormEditOneQst (char *Stem,char *Feedback) fprintf (Gbl.F.Out,""); /***** Write the tags already existing in a selector *****/ - fprintf (Gbl.F.Out,"", @@ -4302,7 +4278,7 @@ static void Tst_PutFormEditOneQst (char *Stem,char *Feedback) "" - "" - "" "" - "" - "" - "" - "" - "" "", @@ -1023,7 +1018,7 @@ static void TsI_WriteRowImportedQst (struct XMLElement *StemElem, /***** Put icon to indicate that a question does not exist in database *****/ fprintf (Gbl.F.Out,"" - ""); /***** Write the question tags *****/ - fprintf (Gbl.F.Out,"" - "" - "" "", @@ -1077,16 +1070,16 @@ static void TsI_WriteRowImportedQst (struct XMLElement *StemElem, fprintf (Gbl.F.Out,""); /***** Write the question type *****/ - fprintf (Gbl.F.Out,"", ClassData,Gbl.ColorRows[Gbl.RowEvenOdd], Txt_TST_STR_ANSWER_TYPES[Gbl.Test.AnswerType]); /***** Write if shuffle is enabled *****/ - fprintf (Gbl.F.Out,""); /***** Write the stem and the answers *****/ - fprintf (Gbl.F.Out,""); /* Write the number of option */ - fprintf (Gbl.F.Out,"", ClassData,'a' + (char) NumOpt); /* Write the text and the feedback of the answer */ - fprintf (Gbl.F.Out,"
" + fprintf (Gbl.F.Out,"" "" + fprintf (Gbl.F.Out,"" "" "" "%s:" "" + "" "" @@ -4317,7 +4293,7 @@ static void Tst_PutFormEditOneQst (char *Stem,char *Feedback) "" "%s:" "" + "" "" @@ -950,24 +950,19 @@ static void TsI_WriteHeadingListImportedQst (void) /***** Write the heading *****/ fprintf (Gbl.F.Out,"
" + "" "%s" "" + "" "%s" "" + "" "%s" "" + "" "%s" "" + "" "%s" "
" + "" "\"%s\"" @@ -1038,16 +1033,16 @@ static void TsI_WriteRowImportedQst (struct XMLElement *StemElem, Txt_New_question); /***** Write number of question *****/ - fprintf (Gbl.F.Out,"", + fprintf (Gbl.F.Out,"", ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); if (!QuestionExists) fprintf (Gbl.F.Out,"%u ",++NumNonExistingQst); fprintf (Gbl.F.Out,"", + fprintf (Gbl.F.Out,"", Gbl.ColorRows[Gbl.RowEvenOdd]); if (Gbl.Test.NumTags) { @@ -1057,12 +1052,10 @@ static void TsI_WriteRowImportedQst (struct XMLElement *StemElem, NumTag < Gbl.Test.NumTags; NumTag++) fprintf (Gbl.F.Out,"
" + "" " • " "" + "" "%s" "
" + fprintf (Gbl.F.Out,"" "%s " "", + fprintf (Gbl.F.Out,"", Gbl.ColorRows[Gbl.RowEvenOdd]); if (Gbl.Test.AnswerType == Tst_ANS_UNIQUE_CHOICE || Gbl.Test.AnswerType == Tst_ANS_MULTIPLE_CHOICE) @@ -1103,8 +1096,8 @@ static void TsI_WriteRowImportedQst (struct XMLElement *StemElem, fprintf (Gbl.F.Out,"", + fprintf (Gbl.F.Out,"", Gbl.ColorRows[Gbl.RowEvenOdd]); Tst_WriteQstStem (Stem,ClassStem); Tst_WriteQstFeedback (Feedback,"TEST_EDI_LIGHT"); @@ -1172,15 +1165,13 @@ static void TsI_WriteRowImportedQst (struct XMLElement *StemElem, fprintf (Gbl.F.Out,"" + fprintf (Gbl.F.Out,"" "%c) " "" + fprintf (Gbl.F.Out,"" "

" "%s" "

",