diff --git a/swad_API.c b/swad_API.c
index c96984158..4939073b9 100644
--- a/swad_API.c
+++ b/swad_API.c
@@ -4303,10 +4303,10 @@ static int API_GetTstQuestions (struct soap *soap,
/* Get answer type (row[1]) */
AnswerType = Qst_ConvertFromStrAnsTypDBToAnsTyp (row[1]);
getTestsOut->questionsArray.__ptr[NumRow].answerType =
- soap_malloc (soap,Tst_MAX_BYTES_ANSWER_TYPE + 1);
+ soap_malloc (soap,Qst_MAX_BYTES_ANSWER_TYPE + 1);
Str_Copy (getTestsOut->questionsArray.__ptr[NumRow].answerType,
Tst_StrAnswerTypesXML[AnswerType],
- Tst_MAX_BYTES_ANSWER_TYPE);
+ Qst_MAX_BYTES_ANSWER_TYPE);
/* Get shuffle (row[2]) */
getTestsOut->questionsArray.__ptr[NumRow].shuffle = (row[2][0] == 'Y') ? 1 :
@@ -4651,9 +4651,9 @@ int swad__getTrivialQuestion (struct soap *soap,
/* Get answer type (row[1]) */
AnswerType = Qst_ConvertFromStrAnsTypDBToAnsTyp (row[1]);
getTrivialQuestionOut->question.answerType =
- soap_malloc (soap,Tst_MAX_BYTES_ANSWER_TYPE + 1);
+ soap_malloc (soap,Qst_MAX_BYTES_ANSWER_TYPE + 1);
Str_Copy (getTrivialQuestionOut->question.answerType,
- Tst_StrAnswerTypesXML[AnswerType],Tst_MAX_BYTES_ANSWER_TYPE);
+ Tst_StrAnswerTypesXML[AnswerType],Qst_MAX_BYTES_ANSWER_TYPE);
/* Get shuffle (row[2]) */
getTrivialQuestionOut->question.shuffle = (row[2][0] == 'Y') ? 1 :
diff --git a/swad_changelog.h b/swad_changelog.h
index 719e7cdd9..ce945ed1a 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -602,13 +602,14 @@ TODO: FIX BUG, URGENT! En las fechas como par
TODO: En las encuestas, que los estudiantes no puedan ver los resultados hasta que no finalice el plazo.
*/
-#define Log_PLATFORM_VERSION "SWAD 21.42.1 (2021-10-25)"
+#define Log_PLATFORM_VERSION "SWAD 21.42.2 (2021-10-25)"
#define CSS_FILE "swad20.45.css"
#define JS_FILE "swad20.69.1.js"
/*
TODO: Rename CENTRE to CENTER in help wiki.
TODO: Rename ASSESSMENT.Announcements to ASSESSMENT.Calls_for_exams
+ Version 21.42.2: Oct 25, 2021 Code refactoring in test questions. (320795 lines)
Version 21.42.1: Oct 25, 2021 Code refactoring in test questions. (320784 lines)
Version 21.42: Oct 24, 2021 Code refactoring in test questions. (320782 lines)
Version 21.41.2: Oct 24, 2021 Query moved to module swad_setting_database. (320777 lines)
diff --git a/swad_course.c b/swad_course.c
index cb6706679..85d315ceb 100644
--- a/swad_course.c
+++ b/swad_course.c
@@ -1841,6 +1841,9 @@ static void Crs_EmptyCourseCompletely (long CrsCod)
/***** Remove all tests in the course *****/
Tst_RemoveCrsTests (CrsCod);
+ /***** Remove all questions in the course *****/
+ Qst_RemoveCrsQsts (CrsCod);
+
/***** Remove groups in the course *****/
Grp_DB_RemoveCrsGrps (CrsCod);
diff --git a/swad_exam_database.h b/swad_exam_database.h
index 644436d7a..af68e06fb 100644
--- a/swad_exam_database.h
+++ b/swad_exam_database.h
@@ -31,7 +31,7 @@
#include "swad_exam_print.h"
#include "swad_exam_session.h"
#include "swad_exam_set.h"
-#include "swad_test_type.h"
+#include "swad_question_type.h"
/*****************************************************************************/
/************************* Public types and constants ************************/
diff --git a/swad_exam_set.h b/swad_exam_set.h
index 671766520..0897a03f6 100644
--- a/swad_exam_set.h
+++ b/swad_exam_set.h
@@ -29,7 +29,7 @@
/*****************************************************************************/
#include "swad_exam_type.h"
-#include "swad_test_type.h"
+#include "swad_question_type.h"
/*****************************************************************************/
/************************** Public types and constants ***********************/
diff --git a/swad_test_type.h b/swad_question_type.h
similarity index 93%
rename from swad_test_type.h
rename to swad_question_type.h
index 49b6f3a7d..e1b7d0c83 100644
--- a/swad_test_type.h
+++ b/swad_question_type.h
@@ -1,7 +1,7 @@
-// swad_test_type.h: definition of types for tests
+// swad_question_type.h: definition of types for questions
-#ifndef _SWAD_TST_TYP
-#define _SWAD_TST_TYP
+#ifndef _SWAD_QST_TYP
+#define _SWAD_QST_TYP
/*
SWAD (Shared Workspace At a Distance in Spanish),
is a web platform developed at the University of Granada (Spain),
@@ -43,8 +43,6 @@
#define Qst_MAX_CHARS_ANSWERS_ONE_QST (128 - 1) // 127
#define Qst_MAX_BYTES_ANSWERS_ONE_QST ((Qst_MAX_CHARS_ANSWERS_ONE_QST + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 2047
-#define Tst_SCORE_MAX 10 // Maximum score of a test (10 in Spain). Must be unsigned! // TODO: Make this configurable by teachers
-
/*****************************************************************************/
/******************************* Public types ********************************/
/*****************************************************************************/
diff --git a/swad_test.c b/swad_test.c
index 9e19cdd3c..e417de19d 100644
--- a/swad_test.c
+++ b/swad_test.c
@@ -66,7 +66,7 @@
/***************************** Public constants ******************************/
/*****************************************************************************/
-// strings are limited to Tst_MAX_BYTES_ANSWER_TYPE characters
+// strings are limited to Qst_MAX_BYTES_ANSWER_TYPE characters
const char *Tst_StrAnswerTypesXML[Qst_NUM_ANS_TYPES] =
{
[Qst_ANS_INT ] = "int",
@@ -148,7 +148,7 @@ static void Tst_ShowFormConfigTst (void);
static void Tst_PutInputFieldNumQst (const char *Field,const char *Label,
unsigned Value);
-static void Tst_ShowFormAnswerTypes (const struct Tst_AnswerTypes *AnswerTypes);
+static void Tst_ShowFormAnswerTypes (const struct Qst_AnswerTypes *AnswerTypes);
static void Qst_GetQuestions (struct Tst_Test *Test,MYSQL_RES **mysql_res);
static void Tst_GetQuestionsForNewTestFromDB (struct Tst_Test *Test,
struct TstPrn_Print *Print);
@@ -192,7 +192,7 @@ static bool Tst_GetParamsTst (struct Tst_Test *Test,
static unsigned Tst_GetParamNumTst (void);
static unsigned Tst_GetParamNumQsts (void);
static unsigned Tst_CountNumTagsInList (const struct Tag_Tags *Tags);
-static int Tst_CountNumAnswerTypesInList (const struct Tst_AnswerTypes *AnswerTypes);
+static int Tst_CountNumAnswerTypesInList (const struct Qst_AnswerTypes *AnswerTypes);
static void Qst_PutFormEditOneQst (struct Qst_Question *Question);
static void Qst_PutFloatInputField (const char *Label,const char *Field,
@@ -266,7 +266,7 @@ static void Tst_Constructor (struct Tst_Test *Test)
Test->AnswerTypes.List[0] = '\0';
/***** Reset selected order *****/
- Test->SelectedOrder = Tst_DEFAULT_ORDER;
+ Test->SelectedOrder = Qst_DEFAULT_ORDER;
/***** Question constructor *****/
Qst_QstConstructor (&Test->Question);
@@ -990,7 +990,7 @@ static void Qst_ShowFormRequestEditQsts (struct Tst_Test *Test)
if ((Test->Tags.Num = Tag_DB_GetAllTagsFromCurrentCrs (&mysql_res)))
{
Frm_BeginForm (ActLstTstQst);
- Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Tst_DEFAULT_ORDER);
+ Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Qst_DEFAULT_ORDER);
HTM_TABLE_BeginPadding (2);
@@ -1533,7 +1533,7 @@ static void Tst_PutInputFieldNumQst (const char *Field,const char *Label,
/***************** Show form for select the types of answers *****************/
/*****************************************************************************/
-static void Tst_ShowFormAnswerTypes (const struct Tst_AnswerTypes *AnswerTypes)
+static void Tst_ShowFormAnswerTypes (const struct Qst_AnswerTypes *AnswerTypes)
{
extern const char *The_ClassFormInBox[The_NUM_THEMES];
extern const char *Txt_Types_of_answers;
@@ -1619,7 +1619,7 @@ void Qst_ListQuestionsToEdit (void)
Tst_Constructor (&Test);
/***** Get parameters, query the database and list the questions *****/
- if (Tst_GetParamsTst (&Test,Tst_EDIT_TEST)) // Get parameters from the form
+ if (Tst_GetParamsTst (&Test,Tst_EDIT_QUESTIONS)) // Get parameters from the form
{
/***** Get question codes from database *****/
Qst_GetQuestions (&Test,&mysql_res); // Query database
@@ -1814,27 +1814,27 @@ static void Qst_GetQuestions (struct Tst_Test *Test,MYSQL_RES **mysql_res)
switch (Test->SelectedOrder)
{
- case Tst_ORDER_STEM:
+ case Qst_ORDER_STEM:
Str_Concat (Query," ORDER BY tst_questions.Stem",
Tst_MAX_BYTES_QUERY_TEST);
break;
- case Tst_ORDER_NUM_HITS:
+ case Qst_ORDER_NUM_HITS:
Str_Concat (Query," ORDER BY tst_questions.NumHits DESC,"
"tst_questions.Stem",
Tst_MAX_BYTES_QUERY_TEST);
break;
- case Tst_ORDER_AVERAGE_SCORE:
+ case Qst_ORDER_AVERAGE_SCORE:
Str_Concat (Query," ORDER BY tst_questions.Score/tst_questions.NumHits DESC,"
"tst_questions.NumHits DESC,"
"tst_questions.Stem",
Tst_MAX_BYTES_QUERY_TEST);
break;
- case Tst_ORDER_NUM_HITS_NOT_BLANK:
+ case Qst_ORDER_NUM_HITS_NOT_BLANK:
Str_Concat (Query," ORDER BY tst_questions.NumHitsNotBlank DESC,"
"tst_questions.Stem",
Tst_MAX_BYTES_QUERY_TEST);
break;
- case Tst_ORDER_AVERAGE_SCORE_NOT_BLANK:
+ case Qst_ORDER_AVERAGE_SCORE_NOT_BLANK:
Str_Concat (Query," ORDER BY tst_questions.Score/tst_questions.NumHitsNotBlank DESC,"
"tst_questions.NumHitsNotBlank DESC,"
"tst_questions.Stem",
@@ -2182,9 +2182,9 @@ static void Qst_WriteHeadingRowQuestionsForEdition (struct Tst_Test *Test)
extern const char *Txt_Date;
extern const char *Txt_Tags;
extern const char *Txt_Shuffle;
- extern const char *Txt_TST_STR_ORDER_FULL[Tst_NUM_TYPES_ORDER_QST];
- extern const char *Txt_TST_STR_ORDER_SHORT[Tst_NUM_TYPES_ORDER_QST];
- Tst_QuestionsOrder_t Order;
+ extern const char *Txt_TST_STR_ORDER_FULL[Qst_NUM_TYPES_ORDER_QST];
+ extern const char *Txt_TST_STR_ORDER_SHORT[Qst_NUM_TYPES_ORDER_QST];
+ Qst_QuestionsOrder_t Order;
/***** Begin row *****/
HTM_TR_Begin (NULL);
@@ -2201,8 +2201,8 @@ static void Qst_WriteHeadingRowQuestionsForEdition (struct Tst_Test *Test)
/* Stem and answers of question */
/* Number of times that the question has been answered */
/* Average score */
- for (Order = (Tst_QuestionsOrder_t) 0;
- Order <= (Tst_QuestionsOrder_t) (Tst_NUM_TYPES_ORDER_QST - 1);
+ for (Order = (Qst_QuestionsOrder_t) 0;
+ Order <= (Qst_QuestionsOrder_t) (Qst_NUM_TYPES_ORDER_QST - 1);
Order++)
{
HTM_TH_Begin (1,1,"LT");
@@ -2926,7 +2926,7 @@ static bool Tst_GetParamsTst (struct Tst_Test *Test,
switch (ActionToDoWithQuestions)
{
case Tst_SHOW_TEST_TO_ANSWER:
- case Tst_EDIT_TEST:
+ case Tst_EDIT_QUESTIONS:
case Tst_SELECT_QUESTIONS_FOR_EXAM:
/* Get parameter that indicates if all types of answer are selected */
Test->AnswerTypes.All = Par_GetParToBool ("AllAnsTypes");
@@ -2964,18 +2964,18 @@ static bool Tst_GetParamsTst (struct Tst_Test *Test,
Error = true;
}
break;
- case Tst_EDIT_TEST:
+ case Tst_EDIT_QUESTIONS:
/* Get starting and ending dates */
Dat_GetIniEndDatesFromForm ();
/* Get ordering criteria */
Par_GetParMultiToText ("Order",UnsignedStr,Cns_MAX_DECIMAL_DIGITS_UINT);
if (sscanf (UnsignedStr,"%u",&UnsignedNum) == 1)
- Test->SelectedOrder = (Tst_QuestionsOrder_t)
- ((UnsignedNum < Tst_NUM_TYPES_ORDER_QST) ? UnsignedNum :
+ Test->SelectedOrder = (Qst_QuestionsOrder_t)
+ ((UnsignedNum < Qst_NUM_TYPES_ORDER_QST) ? UnsignedNum :
0);
else
- Test->SelectedOrder = (Tst_QuestionsOrder_t) 0;
+ Test->SelectedOrder = (Qst_QuestionsOrder_t) 0;
break;
case Tst_SELECT_QUESTIONS_FOR_EXAM:
case Tst_SELECT_QUESTIONS_FOR_GAME:
@@ -2983,7 +2983,7 @@ static bool Tst_GetParamsTst (struct Tst_Test *Test,
Dat_GetIniEndDatesFromForm ();
/* Order question by stem */
- Test->SelectedOrder = Tst_ORDER_STEM;
+ Test->SelectedOrder = Qst_ORDER_STEM;
break;
default:
break;
@@ -3041,7 +3041,7 @@ static unsigned Tst_CountNumTagsInList (const struct Tag_Tags *Tags)
/**** Count the number of types of answers in the list of types of answers ***/
/*****************************************************************************/
-static int Tst_CountNumAnswerTypesInList (const struct Tst_AnswerTypes *AnswerTypes)
+static int Tst_CountNumAnswerTypesInList (const struct Qst_AnswerTypes *AnswerTypes)
{
const char *Ptr;
int NumAnsTypes = 0;
@@ -4593,7 +4593,7 @@ void Qst_RequestRemoveSelectedQsts (void)
Tst_Constructor (&Test);
/***** Get parameters *****/
- if (Tst_GetParamsTst (&Test,Tst_EDIT_TEST)) // Get parameters from the form
+ if (Tst_GetParamsTst (&Test,Tst_EDIT_QUESTIONS)) // Get parameters from the form
{
/***** Show question and button to remove question *****/
Ale_ShowAlertAndButton (ActRemSevTstQst,NULL,NULL,
@@ -4628,7 +4628,7 @@ void Qst_RemoveSelectedQsts (void)
Tst_Constructor (&Test);
/***** Get parameters *****/
- if (Tst_GetParamsTst (&Test,Tst_EDIT_TEST)) // Get parameters
+ if (Tst_GetParamsTst (&Test,Tst_EDIT_QUESTIONS)) // Get parameters
{
/***** Get question codes *****/
Qst_GetQuestions (&Test,&mysql_res); // Query database
@@ -4694,7 +4694,7 @@ void Qst_RequestRemoveOneQst (void)
/* Get other parameters */
if (!EditingOnlyThisQst)
- if (!Tst_GetParamsTst (&Test,Tst_EDIT_TEST))
+ if (!Tst_GetParamsTst (&Test,Tst_EDIT_QUESTIONS))
Err_ShowErrorAndExit ("Wrong test parameters.");
/***** Show question and button to remove question *****/
@@ -5036,7 +5036,7 @@ static void Qst_InsertAnswersIntoDB (struct Qst_Question *Question)
/*********************** Update the score of a question **********************/
/*****************************************************************************/
-void Tst_UpdateQstScoreInDB (struct TstPrn_PrintedQuestion *PrintedQuestion)
+void Qst_UpdateQstScoreInDB (struct TstPrn_PrintedQuestion *PrintedQuestion)
{
/***** Update number of clicks and score of the question *****/
Str_SetDecimalPointToUS (); // To print the floating point as a dot
@@ -5059,7 +5059,7 @@ void Tst_UpdateQstScoreInDB (struct TstPrn_PrintedQuestion *PrintedQuestion)
}
/*****************************************************************************/
-/**************** Remove all tests and questions in a course *****************/
+/************************* Remove all tests in a course **********************/
/*****************************************************************************/
void Tst_RemoveCrsTests (long CrsCod)
@@ -5072,7 +5072,14 @@ void Tst_RemoveCrsTests (long CrsCod)
"DELETE FROM tst_config"
" WHERE CrsCod=%ld",
CrsCod);
+ }
+/*****************************************************************************/
+/********************* Remove all questions in a course **********************/
+/*****************************************************************************/
+
+void Qst_RemoveCrsQsts (long CrsCod)
+ {
/***** Remove associations between test questions
and test tags in the course *****/
DB_QueryDELETE ("can not remove tags associated"
@@ -5133,13 +5140,14 @@ static void Qst_RemoveMediaFromStemOfQst (long CrsCod,long QstCod)
unsigned NumMedia;
/***** Get media code associated to stem of test question from database *****/
- NumMedia =
- (unsigned) DB_QuerySELECT (&mysql_res,"can not get media",
- "SELECT MedCod"
- " FROM tst_questions"
- " WHERE QstCod=%ld"
- " AND CrsCod=%ld", // Extra check
- QstCod,CrsCod);
+ NumMedia = (unsigned)
+ DB_QuerySELECT (&mysql_res,"can not get media",
+ "SELECT MedCod"
+ " FROM tst_questions"
+ " WHERE QstCod=%ld"
+ " AND CrsCod=%ld", // Extra check
+ QstCod,
+ CrsCod);
/***** Go over result removing media *****/
Med_RemoveMediaFromAllRows (NumMedia,mysql_res);
diff --git a/swad_test.h b/swad_test.h
index 7b2f41084..cf49d7130 100644
--- a/swad_test.h
+++ b/swad_test.h
@@ -30,9 +30,9 @@
#include "swad_exam.h"
#include "swad_game.h"
#include "swad_media.h"
+#include "swad_question_type.h"
#include "swad_test_config.h"
#include "swad_test_print.h"
-#include "swad_test_type.h"
/*****************************************************************************/
/***************************** Public constants ******************************/
@@ -41,34 +41,36 @@
#define Tst_MAX_CHARS_ANSWER_OR_FEEDBACK (1024 - 1) // 1023
#define Tst_MAX_BYTES_ANSWER_OR_FEEDBACK ((Tst_MAX_CHARS_ANSWER_OR_FEEDBACK + 1) * Str_MAX_BYTES_PER_CHAR - 1) // 16383
-#define Tst_MAX_BYTES_ANSWER_TYPE 32
+#define Qst_MAX_BYTES_ANSWER_TYPE 32
+
+#define Tst_SCORE_MAX 10 // Maximum score of a test (10 in Spain). Must be unsigned! // TODO: Make this configurable by teachers
/*****************************************************************************/
/******************************* Public types ********************************/
/*****************************************************************************/
-struct Tst_AnswerTypes
+struct Qst_AnswerTypes
{
bool All;
char List[Qst_MAX_BYTES_LIST_ANSWER_TYPES + 1];
};
-#define Tst_NUM_TYPES_ORDER_QST 5
+#define Qst_NUM_TYPES_ORDER_QST 5
typedef enum
{
- Tst_ORDER_STEM = 0,
- Tst_ORDER_NUM_HITS = 1,
- Tst_ORDER_AVERAGE_SCORE = 2,
- Tst_ORDER_NUM_HITS_NOT_BLANK = 3,
- Tst_ORDER_AVERAGE_SCORE_NOT_BLANK = 4,
- } Tst_QuestionsOrder_t;
-#define Tst_DEFAULT_ORDER Tst_ORDER_STEM
+ Qst_ORDER_STEM = 0,
+ Qst_ORDER_NUM_HITS = 1,
+ Qst_ORDER_AVERAGE_SCORE = 2,
+ Qst_ORDER_NUM_HITS_NOT_BLANK = 3,
+ Qst_ORDER_AVERAGE_SCORE_NOT_BLANK = 4,
+ } Qst_QuestionsOrder_t;
+#define Qst_DEFAULT_ORDER Qst_ORDER_STEM
struct Tst_Test
{
struct Tag_Tags Tags; // Selected tags
- struct Tst_AnswerTypes AnswerTypes; // Selected answer types
- Tst_QuestionsOrder_t SelectedOrder; // Order for listing questions
+ struct Qst_AnswerTypes AnswerTypes; // Selected answer types
+ Qst_QuestionsOrder_t SelectedOrder; // Order for listing questions
unsigned NumQsts; // Number of questions
struct Qst_Question Question; // Selected / editing question
};
@@ -77,7 +79,7 @@ typedef enum
{
Tst_SHOW_TEST_TO_ANSWER, // Showing a test to a student
Tst_SHOW_TEST_RESULT, // Showing the assessment of a test
- Tst_EDIT_TEST, // Editing test questions
+ Tst_EDIT_QUESTIONS, // Editing test questions
Tst_SELECT_QUESTIONS_FOR_EXAM, // Selecting test questions for a set of questions in an exam
Tst_SELECT_QUESTIONS_FOR_GAME, // Selecting test questions for a game
} Tst_ActionToDoWithQuestions_t;
@@ -173,9 +175,10 @@ void Qst_PutParamQstCod (void *QstCod);
void Qst_InsertOrUpdateQstTagsAnsIntoDB (struct Qst_Question *Question);
-void Tst_UpdateQstScoreInDB (struct TstPrn_PrintedQuestion *PrintedQuestion);
+void Qst_UpdateQstScoreInDB (struct TstPrn_PrintedQuestion *PrintedQuestion);
void Tst_RemoveCrsTests (long CrsCod);
+void Qst_RemoveCrsQsts (long CrsCod);
void Tst_GetTestStats (Qst_AnswerType_t AnsType,struct Tst_Stats *Stats);
diff --git a/swad_test_print.c b/swad_test_print.c
index 3ce2bcf2e..3fe3329dd 100644
--- a/swad_test_print.c
+++ b/swad_test_print.c
@@ -633,7 +633,7 @@ void TstPrn_ShowPrintAfterAssess (struct TstPrn_Print *Print)
/***** Update the number of accesses and the score of this question *****/
if (Gbl.Usrs.Me.Role.Logged == Rol_STD)
- Tst_UpdateQstScoreInDB (&Print->PrintedQuestions[QstInd]);
+ Qst_UpdateQstScoreInDB (&Print->PrintedQuestions[QstInd]);
/***** Destroy test question *****/
Qst_QstDestructor (&Question);
@@ -795,7 +795,7 @@ void TstPrn_ComputeScoresAndStoreQuestionsOfPrint (struct TstPrn_Print *Print,
/* Update the number of hits and the score of this question in tests database */
if (UpdateQstScore)
- Tst_UpdateQstScoreInDB (&Print->PrintedQuestions[QstInd]);
+ Qst_UpdateQstScoreInDB (&Print->PrintedQuestions[QstInd]);
}
}
diff --git a/swad_test_print.h b/swad_test_print.h
index d9fc0cd48..c466c8595 100644
--- a/swad_test_print.h
+++ b/swad_test_print.h
@@ -27,8 +27,8 @@
/********************************* Headers ***********************************/
/*****************************************************************************/
+#include "swad_question_type.h"
#include "swad_test_config.h"
-#include "swad_test_type.h"
#include "swad_test_visibility.h"
#include "swad_user.h"
diff --git a/swad_text.c b/swad_text.c
index 69329d3e5..d31ee5858 100644
--- a/swad_text.c
+++ b/swad_text.c
@@ -53951,9 +53951,9 @@ const char *Txt_TST_STR_ANSWER_TYPES[Qst_NUM_ANS_TYPES] =
#endif
};
-const char *Txt_TST_STR_ORDER_FULL[Tst_NUM_TYPES_ORDER_QST] =
+const char *Txt_TST_STR_ORDER_FULL[Qst_NUM_TYPES_ORDER_QST] =
{
- [Tst_ORDER_STEM] =
+ [Qst_ORDER_STEM] =
#if L==1 // ca
"Ordenar por enunciado de la pregunta" // Necessita traduccio
#elif L==2 // de
@@ -53974,7 +53974,7 @@ const char *Txt_TST_STR_ORDER_FULL[Tst_NUM_TYPES_ORDER_QST] =
"Classificar por formulação da pergunta"
#endif
,
- [Tst_ORDER_NUM_HITS] =
+ [Qst_ORDER_NUM_HITS] =
#if L==1 // ca
"Ordenar por nº de veces que se ha respondido la pregunta" // Necessita traduccio
#elif L==2 // de
@@ -53995,7 +53995,7 @@ const char *Txt_TST_STR_ORDER_FULL[Tst_NUM_TYPES_ORDER_QST] =
"Classificar por nº de vezes que a pergunta foi respondida"
#endif
,
- [Tst_ORDER_AVERAGE_SCORE] =
+ [Qst_ORDER_AVERAGE_SCORE] =
#if L==1 // ca
"Ordenar por puntuación media" // Necessita traduccio
#elif L==2 // de
@@ -54016,7 +54016,7 @@ const char *Txt_TST_STR_ORDER_FULL[Tst_NUM_TYPES_ORDER_QST] =
"Classificar por pontuação média"
#endif
,
- [Tst_ORDER_NUM_HITS_NOT_BLANK] =
+ [Qst_ORDER_NUM_HITS_NOT_BLANK] =
#if L==1 // ca
"Ordenar por nº de veces que se ha respondido"
" la pregunta (excluyendo respuestas en blanco)" // Necessita traduccio
@@ -54046,7 +54046,7 @@ const char *Txt_TST_STR_ORDER_FULL[Tst_NUM_TYPES_ORDER_QST] =
" que a pergunta foi respondida (não em branco)"
#endif
,
- [Tst_ORDER_AVERAGE_SCORE_NOT_BLANK] =
+ [Qst_ORDER_AVERAGE_SCORE_NOT_BLANK] =
#if L==1 // ca
"Ordenar por puntuación media (excluyendo respuestas en blanco)" // Necessita traduccio
#elif L==2 // de
@@ -54068,9 +54068,9 @@ const char *Txt_TST_STR_ORDER_FULL[Tst_NUM_TYPES_ORDER_QST] =
#endif
};
-const char *Txt_TST_STR_ORDER_SHORT[Tst_NUM_TYPES_ORDER_QST] =
+const char *Txt_TST_STR_ORDER_SHORT[Qst_NUM_TYPES_ORDER_QST] =
{
- [Tst_ORDER_STEM] =
+ [Qst_ORDER_STEM] =
#if L==1 // ca
"Pregunta"
#elif L==2 // de
@@ -54091,7 +54091,7 @@ const char *Txt_TST_STR_ORDER_SHORT[Tst_NUM_TYPES_ORDER_QST] =
"Pergunta"
#endif
,
- [Tst_ORDER_NUM_HITS] =
+ [Qst_ORDER_NUM_HITS] =
#if L==1 // ca
"N.º
resp." // Necessita traduccio
#elif L==2 // de
@@ -54112,7 +54112,7 @@ const char *Txt_TST_STR_ORDER_SHORT[Tst_NUM_TYPES_ORDER_QST] =
"N.º
resp."
#endif
,
- [Tst_ORDER_AVERAGE_SCORE] =
+ [Qst_ORDER_AVERAGE_SCORE] =
#if L==1 // ca
"Puntuación
media" // Necessita traduccio
#elif L==2 // de
@@ -54133,7 +54133,7 @@ const char *Txt_TST_STR_ORDER_SHORT[Tst_NUM_TYPES_ORDER_QST] =
"Pontuação
média"
#endif
,
- [Tst_ORDER_NUM_HITS_NOT_BLANK] =
+ [Qst_ORDER_NUM_HITS_NOT_BLANK] =
#if L==1 // ca
"N.º
resp.
no en
blanco" // Necessita traduccio
#elif L==2 // de
@@ -54154,7 +54154,7 @@ const char *Txt_TST_STR_ORDER_SHORT[Tst_NUM_TYPES_ORDER_QST] =
"N.º
resp.
não em
branco"
#endif
,
- [Tst_ORDER_AVERAGE_SCORE_NOT_BLANK] =
+ [Qst_ORDER_AVERAGE_SCORE_NOT_BLANK] =
#if L==1 // ca
"Puntuación
media
no en
blanco" // Necessita traduccio
#elif L==2 // de