Version19.10.3

This commit is contained in:
Antonio Cañas Vargas 2019-09-23 20:47:42 +02:00
parent 3406d8be51
commit 1e67b5d3e5
4 changed files with 25 additions and 22 deletions

View File

@ -470,10 +470,11 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD: En OpenSWAD:
ps2pdf source.ps destination.pdf ps2pdf source.ps destination.pdf
*/ */
#define Log_PLATFORM_VERSION "SWAD 19.10.2 (2019-09-23)" #define Log_PLATFORM_VERSION "SWAD 19.10.3 (2019-09-23)"
#define CSS_FILE "swad19.3.css" #define CSS_FILE "swad19.3.css"
#define JS_FILE "swad18.130.2.js" #define JS_FILE "swad18.130.2.js"
/* /*
Version 19.10.3: Sep 23, 2019 View matches results. Not finished. (245815 lines)
Version 19.10.2: Sep 23, 2019 View matches results. Not finished. (245812 lines) Version 19.10.2: Sep 23, 2019 View matches results. Not finished. (245812 lines)
Version 19.10.1: Sep 23, 2019 View matches results. Not finished. (245724 lines) Version 19.10.1: Sep 23, 2019 View matches results. Not finished. (245724 lines)
Version 19.10: Sep 23, 2019 View matches results. Not finished. (245709 lines) Version 19.10: Sep 23, 2019 View matches results. Not finished. (245709 lines)

View File

@ -3133,6 +3133,7 @@ void Mch_ShowOneMchResult (void)
Usr_MeOrOther_t MeOrOther; Usr_MeOrOther_t MeOrOther;
struct UsrData *UsrDat; struct UsrData *UsrDat;
time_t TimeUTC[Dat_NUM_START_END_TIME]; // Match result UTC date-time time_t TimeUTC[Dat_NUM_START_END_TIME]; // Match result UTC date-time
unsigned NumQsts;
unsigned NumQstsNotBlank; unsigned NumQstsNotBlank;
double TotalScore; double TotalScore;
bool ShowPhoto; bool ShowPhoto;
@ -3163,7 +3164,7 @@ void Mch_ShowOneMchResult (void)
/***** Get test result data *****/ /***** Get test result data *****/
Mch_GetMatchResultDataByMchCod (MchCod,UsrDat->UsrCod, Mch_GetMatchResultDataByMchCod (MchCod,UsrDat->UsrCod,
TimeUTC, TimeUTC,
&Gbl.Test.NumQsts, &NumQsts,
&NumQstsNotBlank, &NumQstsNotBlank,
&TotalScore); &TotalScore);
Gbl.Test.Config.Feedback = Tst_FEEDBACK_FULL_FEEDBACK; // Initialize feedback to maximum Gbl.Test.Config.Feedback = Tst_FEEDBACK_FULL_FEEDBACK; // Initialize feedback to maximum
@ -3299,7 +3300,7 @@ void Mch_ShowOneMchResult (void)
"</td>" "</td>"
"</tr>", "</tr>",
Txt_Questions, Txt_Questions,
Gbl.Test.NumQsts,NumQstsNotBlank,Txt_non_blank_QUESTIONS); NumQsts,NumQstsNotBlank,Txt_non_blank_QUESTIONS);
/* Score */ /* Score */
fprintf (Gbl.F.Out,"<tr>" fprintf (Gbl.F.Out,"<tr>"
@ -3311,7 +3312,7 @@ void Mch_ShowOneMchResult (void)
if (ICanViewScore) if (ICanViewScore)
fprintf (Gbl.F.Out,"%.2lf (%.2lf", fprintf (Gbl.F.Out,"%.2lf (%.2lf",
TotalScore, TotalScore,
Gbl.Test.NumQsts ? TotalScore * Tst_SCORE_MAX / (double) Gbl.Test.NumQsts : NumQsts ? TotalScore * Tst_SCORE_MAX / (double) NumQsts :
0.0); 0.0);
else else
fprintf (Gbl.F.Out,"? (?"); // No feedback fprintf (Gbl.F.Out,"? (?"); // No feedback
@ -3320,11 +3321,11 @@ void Mch_ShowOneMchResult (void)
Txt_out_of_PART_OF_A_SCORE,Tst_SCORE_MAX); Txt_out_of_PART_OF_A_SCORE,Tst_SCORE_MAX);
/***** Write answers and solutions *****/ /***** Write answers and solutions *****/
// Tst_ShowTestResult (TstTimeUTC); // TODO: Change to matches results Tst_ShowTestResult (NumQsts,TimeUTC[Dat_START_TIME]);
/***** Write total mark of test *****/ /***** Write total mark of test *****/
// if (ICanViewScore) if (ICanViewScore)
// Tst_ShowTstTotalMark (TotalScore); // TODO: Change to matches results Tst_ShowTstTotalMark (NumQsts,TotalScore);
/***** End table *****/ /***** End table *****/
Tbl_EndTable (); Tbl_EndTable ();

View File

@ -149,7 +149,6 @@ extern struct Globals Gbl;
static void Tst_PutFormToViewTstResults (Act_Action_t Action); static void Tst_PutFormToViewTstResults (Act_Action_t Action);
static void Tst_GetQuestionsAndAnswersFromForm (void); static void Tst_GetQuestionsAndAnswersFromForm (void);
static void Tst_ShowTstTotalMark (double TotalScore);
static bool Tst_CheckIfNextTstAllowed (void); static bool Tst_CheckIfNextTstAllowed (void);
static void Tst_SetTstStatus (unsigned NumTst,Tst_Status_t TstStatus); static void Tst_SetTstStatus (unsigned NumTst,Tst_Status_t TstStatus);
static Tst_Status_t Tst_GetTstStatus (unsigned NumTst); static Tst_Status_t Tst_GetTstStatus (unsigned NumTst);
@ -297,9 +296,8 @@ static void Tst_ShowTestResultsSummaryRow (bool ItsMe,
unsigned NumTotalQsts, unsigned NumTotalQsts,
unsigned NumTotalQstsNotBlank, unsigned NumTotalQstsNotBlank,
double TotalScoreOfAllTests); double TotalScoreOfAllTests);
static void Tst_ShowTestResult (time_t TstTimeUTC);
static void Tst_GetTestResultDataByTstCod (long TstCod,time_t *TstTimeUTC, static void Tst_GetTestResultDataByTstCod (long TstCod,time_t *TstTimeUTC,
unsigned *NumQsts,unsigned *NumQstsNotBlank,double *Score); unsigned *NumQstsNotBlank,double *Score);
static void Tst_StoreOneTestResultQstInDB (long TstCod,long QstCod,unsigned NumQst,double Score); static void Tst_StoreOneTestResultQstInDB (long TstCod,long QstCod,unsigned NumQst,double Score);
static void Tst_GetTestResultQuestionsFromDB (long TstCod); static void Tst_GetTestResultQuestionsFromDB (long TstCod);
@ -575,7 +573,7 @@ void Tst_AssessTest (void)
/***** Write total mark of test *****/ /***** Write total mark of test *****/
if (Gbl.Test.Config.Feedback != Tst_FEEDBACK_NOTHING) if (Gbl.Test.Config.Feedback != Tst_FEEDBACK_NOTHING)
Tst_ShowTstTotalMark (TotalScore); Tst_ShowTstTotalMark (Gbl.Test.NumQsts,TotalScore);
/***** End box *****/ /***** End box *****/
Box_EndBox (); Box_EndBox ();
@ -639,11 +637,11 @@ static void Tst_GetQuestionsAndAnswersFromForm (void)
/************************** Show total mark of a test ************************/ /************************** Show total mark of a test ************************/
/*****************************************************************************/ /*****************************************************************************/
static void Tst_ShowTstTotalMark (double TotalScore) void Tst_ShowTstTotalMark (unsigned NumQsts,double TotalScore)
{ {
extern const char *Txt_Score; extern const char *Txt_Score;
extern const char *Txt_out_of_PART_OF_A_SCORE; extern const char *Txt_out_of_PART_OF_A_SCORE;
double TotalScoreOverSCORE_MAX = TotalScore * Tst_SCORE_MAX / (double) Gbl.Test.NumQsts; double TotalScoreOverSCORE_MAX = TotalScore * Tst_SCORE_MAX / (double) NumQsts;
/***** Write total mark ****/ /***** Write total mark ****/
fprintf (Gbl.F.Out,"<div class=\"DAT CENTER_MIDDLE\"" fprintf (Gbl.F.Out,"<div class=\"DAT CENTER_MIDDLE\""
@ -8040,7 +8038,8 @@ void Tst_ShowOneTstResult (void)
Lay_ShowErrorAndExit ("Code of test is missing."); Lay_ShowErrorAndExit ("Code of test is missing.");
/***** Get test result data *****/ /***** Get test result data *****/
Tst_GetTestResultDataByTstCod (TstCod,&TstTimeUTC,&Gbl.Test.NumQsts,&NumQstsNotBlank,&TotalScore); Tst_GetTestResultDataByTstCod (TstCod,&TstTimeUTC,
&NumQstsNotBlank,&TotalScore);
Gbl.Test.Config.Feedback = Tst_FEEDBACK_FULL_FEEDBACK; // Initialize feedback to maximum Gbl.Test.Config.Feedback = Tst_FEEDBACK_FULL_FEEDBACK; // Initialize feedback to maximum
/***** Check if I can view this test result *****/ /***** Check if I can view this test result *****/
@ -8192,11 +8191,11 @@ void Tst_ShowOneTstResult (void)
"</tr>"); "</tr>");
/***** Write answers and solutions *****/ /***** Write answers and solutions *****/
Tst_ShowTestResult (TstTimeUTC); Tst_ShowTestResult (Gbl.Test.NumQsts,TstTimeUTC);
/***** Write total mark of test *****/ /***** Write total mark of test *****/
if (ICanViewScore) if (ICanViewScore)
Tst_ShowTstTotalMark (TotalScore); Tst_ShowTstTotalMark (Gbl.Test.NumQsts,TotalScore);
/***** End table *****/ /***** End table *****/
Tbl_EndTable (); Tbl_EndTable ();
@ -8212,7 +8211,7 @@ void Tst_ShowOneTstResult (void)
/************************* Show the result of a test *************************/ /************************* Show the result of a test *************************/
/*****************************************************************************/ /*****************************************************************************/
static void Tst_ShowTestResult (time_t TstTimeUTC) void Tst_ShowTestResult (unsigned NumQsts,time_t TstTimeUTC)
{ {
extern const char *Txt_Question_modified; extern const char *Txt_Question_modified;
extern const char *Txt_Question_removed; extern const char *Txt_Question_removed;
@ -8226,7 +8225,7 @@ static void Tst_ShowTestResult (time_t TstTimeUTC)
time_t EditTimeUTC; time_t EditTimeUTC;
for (NumQst = 0; for (NumQst = 0;
NumQst < Gbl.Test.NumQsts; NumQst < NumQsts;
NumQst++) NumQst++)
{ {
Gbl.RowEvenOdd = NumQst % 2; Gbl.RowEvenOdd = NumQst % 2;
@ -8305,7 +8304,7 @@ static void Tst_ShowTestResult (time_t TstTimeUTC)
/*****************************************************************************/ /*****************************************************************************/
static void Tst_GetTestResultDataByTstCod (long TstCod,time_t *TstTimeUTC, static void Tst_GetTestResultDataByTstCod (long TstCod,time_t *TstTimeUTC,
unsigned *NumQsts,unsigned *NumQstsNotBlank,double *Score) unsigned *NumQstsNotBlank,double *Score)
{ {
MYSQL_RES *mysql_res; MYSQL_RES *mysql_res;
MYSQL_ROW row; MYSQL_ROW row;
@ -8336,8 +8335,8 @@ static void Tst_GetTestResultDataByTstCod (long TstCod,time_t *TstTimeUTC,
*TstTimeUTC = Dat_GetUNIXTimeFromStr (row[2]); *TstTimeUTC = Dat_GetUNIXTimeFromStr (row[2]);
/* Get number of questions (row[3]) */ /* Get number of questions (row[3]) */
if (sscanf (row[3],"%u",NumQsts) != 1) if (sscanf (row[3],"%u",&Gbl.Test.NumQsts) != 1)
*NumQsts = 0; Gbl.Test.NumQsts = 0;
/* Get number of questions not blank (row[4]) */ /* Get number of questions not blank (row[4]) */
if (sscanf (row[4],"%u",NumQstsNotBlank) != 1) if (sscanf (row[4],"%u",NumQstsNotBlank) != 1)

View File

@ -142,6 +142,7 @@ struct Tst_Stats
void Tst_ShowFormAskTst (void); void Tst_ShowFormAskTst (void);
void Tst_ShowNewTest (void); void Tst_ShowNewTest (void);
void Tst_AssessTest (void); void Tst_AssessTest (void);
void Tst_ShowTstTotalMark (unsigned NumQsts,double TotalScore);
void Tst_WriteQstStem (const char *Stem,const char *ClassStem); void Tst_WriteQstStem (const char *Stem,const char *ClassStem);
void Tst_WriteQstFeedback (const char *Feedback,const char *ClassFeedback); void Tst_WriteQstFeedback (const char *Feedback,const char *ClassFeedback);
@ -211,6 +212,7 @@ void Tst_SelDatesToSeeMyTstResults (void);
void Tst_ShowMyTstResults (void); void Tst_ShowMyTstResults (void);
void Tst_ShowUsrsTstResults (void); void Tst_ShowUsrsTstResults (void);
void Tst_ShowOneTstResult (void); void Tst_ShowOneTstResult (void);
void Tst_ShowTestResult (unsigned NumQsts,time_t TstTimeUTC);
void Tst_RemoveTestResultsMadeByUsrInAllCrss (long UsrCod); void Tst_RemoveTestResultsMadeByUsrInAllCrss (long UsrCod);
void Tst_RemoveTestResultsMadeByUsrInCrs (long UsrCod,long CrsCod); void Tst_RemoveTestResultsMadeByUsrInCrs (long UsrCod,long CrsCod);
void Tst_RemoveCrsTestResults (long CrsCod); void Tst_RemoveCrsTestResults (long CrsCod);