mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-19 23:17:07 +02:00
Version19.10.3
This commit is contained in:
parent
3406d8be51
commit
1e67b5d3e5
|
@ -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)
|
||||||
|
|
13
swad_match.c
13
swad_match.c
|
@ -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 ();
|
||||||
|
|
27
swad_test.c
27
swad_test.c
|
@ -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)
|
||||||
|
|
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user