Version 16.198.8

This commit is contained in:
Antonio Cañas Vargas 2017-05-01 21:17:38 +02:00
parent 8c70bd432b
commit 34a8d3b3b5
13 changed files with 160 additions and 145 deletions

View File

@ -1571,13 +1571,13 @@ static void Ctr_ListCentresForEdition (void)
/* Centre requester */
UsrDat.UsrCod = Ctr->RequesterUsrCod;
Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat);
fprintf (Gbl.F.Out,"<td class=\"INPUT_REQUESTER LEFT_TOP\">"
"<table class=\"INPUT_REQUESTER CELLS_PAD_2\">"
"<tr>");
fprintf (Gbl.F.Out,"<td class=\"INPUT_REQUESTER LEFT_TOP\">");
Lay_StartTable (2);
fprintf (Gbl.F.Out,"<tr>");
Msg_WriteMsgAuthor (&UsrDat,"DAT",true,NULL);
fprintf (Gbl.F.Out,"</tr>"
"</table>"
"</td>");
fprintf (Gbl.F.Out,"</tr>");
Lay_EndTable ();
fprintf (Gbl.F.Out,"</td>");
/* Centre status */
StatusTxt = Ctr_GetStatusTxtFromStatusBits (Ctr->Status);
@ -2516,13 +2516,13 @@ static void Ctr_PutFormToCreateCentre (void)
"</td>");
/***** Centre requester *****/
fprintf (Gbl.F.Out,"<td class=\"INPUT_REQUESTER LEFT_TOP\">"
"<table class=\"INPUT_REQUESTER CELLS_PAD_2\">"
"<tr>");
fprintf (Gbl.F.Out,"<td class=\"INPUT_REQUESTER LEFT_TOP\">");
Lay_StartTable (2);
fprintf (Gbl.F.Out,"<tr>");
Msg_WriteMsgAuthor (&Gbl.Usrs.Me.UsrDat,"DAT",true,NULL);
fprintf (Gbl.F.Out,"</tr>"
"</table>"
"</td>");
fprintf (Gbl.F.Out,"</tr>");
Lay_EndTable ();
fprintf (Gbl.F.Out,"</td>");
/***** Centre status *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"

View File

@ -219,17 +219,20 @@
// TODO: Icon to view en "Fuente de información"
// TODO: Print view of an assignment (suggested by Sandra Daniela Tazzioli Barroso).
// TODO: Buscar Msg_WriteMsgAuthor y ver si la tabla que hay alrededor se puede meter dentro de la función
/*****************************************************************************/
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 16.198.7 (2017-05-01)"
#define Log_PLATFORM_VERSION "SWAD 16.198.8 (2017-05-01)"
#define CSS_FILE "swad16.195.8.css"
#define JS_FILE "swad16.181.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.198.8: May 01, 2017 Code refactoring related to tables. (218323 lines)
Version 16.198.7: May 01, 2017 Code refactoring related to tables. (218319 lines)
Version 16.198.6: May 01, 2017 Code refactoring related to tables. (218312 lines)
Version 16.198.5: May 01, 2017 Code refactoring related to tables. (218302 lines)

View File

@ -1517,13 +1517,13 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
/* Course requester */
UsrDat.UsrCod = Crs->RequesterUsrCod;
Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat);
fprintf (Gbl.F.Out,"<td class=\"INPUT_REQUESTER LEFT_TOP\">"
"<table class=\"INPUT_REQUESTER CELLS_PAD_2\">"
"<tr>");
fprintf (Gbl.F.Out,"<td class=\"INPUT_REQUESTER LEFT_TOP\">");
Lay_StartTable (2);
fprintf (Gbl.F.Out,"<tr>");
Msg_WriteMsgAuthor (&UsrDat,"DAT",true,NULL);
fprintf (Gbl.F.Out,"</tr>"
"</table>"
"</td>");
fprintf (Gbl.F.Out,"</tr>");
Lay_EndTable ();
fprintf (Gbl.F.Out,"</td>");
/* Course status */
StatusTxt = Crs_GetStatusTxtFromStatusBits (Crs->Status);
@ -1695,13 +1695,13 @@ static void Crs_PutFormToCreateCourse (void)
"</td>");
/***** Course requester *****/
fprintf (Gbl.F.Out,"<td class=\"INPUT_REQUESTER LEFT_TOP\">"
"<table class=\"INPUT_REQUESTER CELLS_PAD_2\">"
"<tr>");
fprintf (Gbl.F.Out,"<td class=\"INPUT_REQUESTER LEFT_TOP\">");
Lay_StartTable (2);
fprintf (Gbl.F.Out,"<tr>");
Msg_WriteMsgAuthor (&Gbl.Usrs.Me.UsrDat,"DAT",true,NULL);
fprintf (Gbl.F.Out,"</tr>"
"</table>"
"</td>");
fprintf (Gbl.F.Out,"</tr>");
Lay_EndTable ();
fprintf (Gbl.F.Out,"</td>");
/***** Course status *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"

View File

@ -337,18 +337,14 @@ void Dat_PutFormStartEndClientLocalDateTimes (time_t TimeUTC[2],
StartEndTime <= Dat_END_TIME;
StartEndTime++)
{
/* Date-time */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
"<label class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">"
"<table class=\"CELLS_PAD_2\">"
"<tr>"
"<td class=\"LEFT_TOP\">",
"<td class=\"LEFT_MIDDLE\">",
The_ClassForm[Gbl.Prefs.Theme],
Txt_START_END_TIME[StartEndTime]);
/* Date-time */
Dat_WriteFormClientLocalDateTimeFromTimeUTC (Id[StartEndTime],
Id[StartEndTime],
TimeUTC[StartEndTime],
@ -358,9 +354,6 @@ void Dat_PutFormStartEndClientLocalDateTimes (time_t TimeUTC[2],
Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second
false); // Don't submit on change
fprintf (Gbl.F.Out,"</td>"
"</tr>"
"</table>"
"</td>"
"</tr>");
}
}

View File

@ -817,13 +817,13 @@ static void Deg_ListDegreesForEdition (void)
/* Degree requester */
UsrDat.UsrCod = Deg->RequesterUsrCod;
Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat);
fprintf (Gbl.F.Out,"<td class=\"INPUT_REQUESTER LEFT_TOP\">"
"<table class=\"INPUT_REQUESTER CELLS_PAD_2\">"
"<tr>");
fprintf (Gbl.F.Out,"<td class=\"INPUT_REQUESTER LEFT_TOP\">");
Lay_StartTable (2);
fprintf (Gbl.F.Out,"<tr>");
Msg_WriteMsgAuthor (&UsrDat,"DAT",true,NULL);
fprintf (Gbl.F.Out,"</tr>"
"</table>"
"</td>");
fprintf (Gbl.F.Out,"</tr>");
Lay_EndTable ();
fprintf (Gbl.F.Out,"</td>");
/* Degree status */
StatusTxt = Deg_GetStatusTxtFromStatusBits (Deg->Status);
@ -1002,13 +1002,13 @@ static void Deg_PutFormToCreateDegree (void)
"</td>");
/***** Degree requester *****/
fprintf (Gbl.F.Out,"<td class=\"INPUT_REQUESTER LEFT_TOP\">"
"<table class=\"INPUT_REQUESTER CELLS_PAD_2\">"
"<tr>");
fprintf (Gbl.F.Out,"<td class=\"INPUT_REQUESTER LEFT_TOP\">");
Lay_StartTable (2);
fprintf (Gbl.F.Out,"<tr>");
Msg_WriteMsgAuthor (&Gbl.Usrs.Me.UsrDat,"DAT",true,NULL);
fprintf (Gbl.F.Out,"</tr>"
"</table>"
"</td>");
fprintf (Gbl.F.Out,"</tr>");
Lay_EndTable ();
fprintf (Gbl.F.Out,"</td>");
/***** Degree status *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"

View File

@ -1319,9 +1319,9 @@ static void For_ShowAForumPost (unsigned PstNum,long PstCod,
/***** Write author *****/
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"LEFT_TOP\""
" style=\"width:150px;\">"
"<table class=\"CELLS_PAD_2\" style=\"width:150px;\">"
"<tr>");
" style=\"width:150px;\">");
Lay_StartTable (2);
fprintf (Gbl.F.Out,"<tr>");
Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat);
Msg_WriteMsgAuthor (&UsrDat,"AUTHOR_TXT",Enabled,NULL);
fprintf (Gbl.F.Out,"</tr>");
@ -1332,8 +1332,8 @@ static void For_ShowAForumPost (unsigned PstNum,long PstCod,
For_WriteNumberOfPosts (UsrDat.UsrCod);
fprintf (Gbl.F.Out,"</tr>");
}
fprintf (Gbl.F.Out,"</table>"
"</td>");
Lay_EndTable ();
fprintf (Gbl.F.Out,"</td>");
/***** Write post content *****/
fprintf (Gbl.F.Out,"<td class=\"MSG_TXT LEFT_TOP\">");

View File

@ -2250,9 +2250,9 @@ static void Grp_PutFormToCreateGroupType (void)
Txt_A_student_can_belong_to_several_groups);
/***** Open time *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<table class=\"CELLS_PAD_2\">"
"<tr>"
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
Lay_StartTable (2);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LEFT_MIDDLE\" style=\"width:20px;\">"
"<img src=\"%s/%s16x16.gif\""
" alt=\"%s\" title=\"%s\""
@ -2275,9 +2275,9 @@ static void Grp_PutFormToCreateGroupType (void)
Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second
false); // Don't submit on change
fprintf (Gbl.F.Out,"</td>"
"</tr>"
"</table>"
"</td>");
"</tr>");
Lay_EndTable ();
fprintf (Gbl.F.Out,"</td>");
/***** Number of groups of this type *****/
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\">"

View File

@ -1538,13 +1538,13 @@ static void Ins_ListInstitutionsForEdition (void)
/* Institution requester */
UsrDat.UsrCod = Ins->RequesterUsrCod;
Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat);
fprintf (Gbl.F.Out,"<td class=\"INPUT_REQUESTER LEFT_TOP\">"
"<table class=\"INPUT_REQUESTER CELLS_PAD_2\">"
"<tr>");
fprintf (Gbl.F.Out,"<td class=\"INPUT_REQUESTER LEFT_TOP\">");
Lay_StartTable (2);
fprintf (Gbl.F.Out,"<tr>");
Msg_WriteMsgAuthor (&UsrDat,"DAT",true,NULL);
fprintf (Gbl.F.Out,"</tr>"
"</table>"
"</td>");
fprintf (Gbl.F.Out,"</tr>");
Lay_EndTable ();
fprintf (Gbl.F.Out,"</td>");
/* Institution status */
StatusTxt = Ins_GetStatusTxtFromStatusBits (Ins->Status);
@ -2232,13 +2232,13 @@ static void Ins_PutFormToCreateInstitution (void)
"</td>");
/***** Institution requester *****/
fprintf (Gbl.F.Out,"<td class=\"INPUT_REQUESTER LEFT_TOP\">"
"<table class=\"INPUT_REQUESTER CELLS_PAD_2\">"
"<tr>");
fprintf (Gbl.F.Out,"<td class=\"INPUT_REQUESTER LEFT_TOP\">");
Lay_StartTable (2);
fprintf (Gbl.F.Out,"<tr>");
Msg_WriteMsgAuthor (&Gbl.Usrs.Me.UsrDat,"DAT",true,NULL);
fprintf (Gbl.F.Out,"</tr>"
"</table>"
"</td>");
fprintf (Gbl.F.Out,"</tr>");
Lay_EndTable ();
fprintf (Gbl.F.Out,"</td>");
/***** Institution status *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"

View File

@ -1552,6 +1552,14 @@ void Lay_EndRoundFrame (void)
"</div>");
}
void Lay_StartTable (unsigned CellPadding)
{
fprintf (Gbl.F.Out,"<table");
if (CellPadding)
fprintf (Gbl.F.Out," class=\"CELLS_PAD_%u\"",CellPadding); // CellPadding must be 0, 1, 2, 5 or 10
fprintf (Gbl.F.Out,">");
}
void Lay_StartTableCenter (unsigned CellPadding)
{
fprintf (Gbl.F.Out,"<table class=\"FRAME_TBL_CENTER");

View File

@ -123,6 +123,7 @@ void Lay_EndRoundFrameTableWithButton (Lay_Button_t Button,const char *TxtButton
void Lay_EndRoundFrameWithButton (Lay_Button_t Button,const char *TxtButton);
void Lay_EndRoundFrame (void);
void Lay_StartTable (unsigned CellPadding);
void Lay_StartTableCenter (unsigned CellPadding);
void Lay_StartTableWide (unsigned CellPadding);
void Lay_StartTableWideMargin (unsigned CellPadding);

View File

@ -2974,8 +2974,8 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
if (Expanded)
{
fprintf (Gbl.F.Out,"<tr>"
"<td rowspan=\"3\" colspan=\"3\" class=\"LEFT_TOP\">"
"<table class=\"CELLS_PAD_2\">");
"<td rowspan=\"3\" colspan=\"3\" class=\"LEFT_TOP\">");
Lay_StartTable (2);
/***** Write course origin of message *****/
fprintf (Gbl.F.Out,"<tr>"
@ -2992,9 +2992,10 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
// Guests (users without courses) can read messages but not reply them
Msg_WriteFormToReply (MsgCod,CrsCod,FromThisCrs,Replied,&UsrDat);
fprintf (Gbl.F.Out,"</td>"
"</tr>"
"</table>"
"</td>");
"</tr>");
Lay_EndTable ();
fprintf (Gbl.F.Out,"</td>");
/***** Write "From:" *****/
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP MSG_TIT\">"

View File

@ -2697,9 +2697,8 @@ static void Svy_ShowFormEditOneQst (long SvyCod,struct SurveyQuestion *SvyQst,
/* Unique or multiple choice answers */
fprintf (Gbl.F.Out,"<tr>"
"<td></td>"
"<td class=\"LEFT_TOP\">"
"<table class=\"CELLS_PAD_2\">");
"<td class=\"LEFT_TOP\">");
Lay_StartTable (2);
for (NumAns = 0;
NumAns < Svy_MAX_ANSWERS_PER_QUESTION;
NumAns++)
@ -2722,8 +2721,8 @@ static void Svy_ShowFormEditOneQst (long SvyCod,struct SurveyQuestion *SvyQst,
"</td>"
"</tr>");
}
fprintf (Gbl.F.Out,"</table>"
"</td>"
Lay_EndTable ();
fprintf (Gbl.F.Out,"</td>"
"</tr>");
/***** End table *****/
@ -3355,7 +3354,7 @@ static void Svy_WriteAnswersOfAQst (struct Survey *Svy,struct SurveyQuestion *Sv
/***** Write the answers *****/
if (NumAnswers)
{
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_5\">");
Lay_StartTable (5);
for (NumAns = 0;
NumAns < NumAnswers;
NumAns++)
@ -3419,7 +3418,7 @@ static void Svy_WriteAnswersOfAQst (struct Survey *Svy,struct SurveyQuestion *Sv
/* Free memory allocated for the answer */
free ((void *) Answer);
}
fprintf (Gbl.F.Out,"</table>");
Lay_EndTable ();
}
/***** Free structure that stores the query result *****/

View File

@ -324,7 +324,8 @@ void Tst_ShowFormAskTst (void)
if (Tst_CheckIfNextTstAllowed ())
{
Act_FormStart (ActSeeTst);
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_2\">");
Lay_StartTable (2);
/***** Selection of tags *****/
Tst_ShowFormSelTags (NumRows,mysql_res,true,1);
@ -351,8 +352,9 @@ void Tst_ShowFormAskTst (void)
fprintf (Gbl.F.Out," disabled=\"disabled\"");
fprintf (Gbl.F.Out," />"
"</td>"
"</tr>"
"</table>");
"</tr>");
Lay_EndTable ();
/***** Send button *****/
Lay_PutConfirmButton (Txt_Generate_test);
@ -1279,7 +1281,7 @@ void Tst_ShowFormAskEditTsts (void)
Act_FormStart (ActLstTstQst);
Par_PutHiddenParamUnsigned ("Order",(unsigned) Tst_ORDER_STEM);
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_2\">");
Lay_StartTable (2);
/***** Selection of tags *****/
Tst_ShowFormSelTags (NumRows,mysql_res,false,2);
@ -1289,7 +1291,8 @@ void Tst_ShowFormAskEditTsts (void)
/***** Starting and ending dates in the search *****/
Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (false);
fprintf (Gbl.F.Out,"</table>");
Lay_EndTable ();
/***** Send button *****/
Lay_PutConfirmButton (Txt_Show_questions);
@ -1638,9 +1641,9 @@ static void Tst_ShowFormSelTags (unsigned long NumRows,MYSQL_RES *mysql_res,
fprintf (Gbl.F.Out,"<td");
if (NumCols > 1)
fprintf (Gbl.F.Out," colspan=\"%u\"",NumCols);
fprintf (Gbl.F.Out," class=\"LEFT_TOP\">"
"<table class=\"CELLS_PAD_2\">"
"<tr>");
fprintf (Gbl.F.Out," class=\"LEFT_TOP\">");
Lay_StartTable (2);
fprintf (Gbl.F.Out,"<tr>");
if (!ShowOnlyEnabledTags)
fprintf (Gbl.F.Out,"<td></td>");
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
@ -1702,8 +1705,8 @@ static void Tst_ShowFormSelTags (unsigned long NumRows,MYSQL_RES *mysql_res,
row[1]);
}
fprintf (Gbl.F.Out,"</table>"
"</td>"
Lay_EndTable ();
fprintf (Gbl.F.Out,"</td>"
"</tr>");
}
@ -1844,8 +1847,8 @@ static void Tst_ShowFormConfigTst (void)
Act_FormStart (ActRcvCfgTst);
/***** Tests are visible from plugins? *****/
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_2\">"
"<tr>"
Lay_StartTable (2);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_TOP\">"
"%s:"
"</td>"
@ -1874,18 +1877,18 @@ static void Tst_ShowFormConfigTst (void)
"<td class=\"%s RIGHT_TOP\">"
"%s:"
"</td>"
"<td class=\"LEFT_BOTTOM\">"
"<table style=\"border-spacing:2px;\">",
"<td class=\"LEFT_BOTTOM\">",
The_ClassForm[Gbl.Prefs.Theme],
Txt_No_of_questions);
Lay_StartTable (2);
Tst_PutInputFieldNumQst ("NumQstMin",Txt_minimum,
Gbl.Test.Config.Min); // Minimum number of questions
Tst_PutInputFieldNumQst ("NumQstDef",Txt_default,
Gbl.Test.Config.Def); // Default number of questions
Tst_PutInputFieldNumQst ("NumQstMax",Txt_maximum,
Gbl.Test.Config.Max); // Maximum number of questions
fprintf (Gbl.F.Out,"</table>"
"</td>"
Lay_EndTable ();
fprintf (Gbl.F.Out,"</td>"
"</tr>");
/***** Minimum time between consecutive tests, per question *****/
@ -1928,8 +1931,8 @@ static void Tst_ShowFormConfigTst (void)
Txt_TST_STR_FEEDBACK[FeedbTyp]);
}
fprintf (Gbl.F.Out,"</td>"
"</tr>"
"</table>");
"</tr>");
Lay_EndTable ();
/***** Send button *****/
Lay_PutConfirmButton (Txt_Save);
@ -2253,9 +2256,9 @@ static void Tst_ShowFormAnswerTypes (unsigned NumCols)
fprintf (Gbl.F.Out,"<td");
if (NumCols > 1)
fprintf (Gbl.F.Out," colspan=\"%u\"",NumCols);
fprintf (Gbl.F.Out," class=\"LEFT_TOP\">"
"<table class=\"CELLS_PAD_2\">"
"<tr>"
fprintf (Gbl.F.Out," class=\"LEFT_TOP\">");
Lay_StartTable (2);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LEFT_MIDDLE\">"
"<label class=\"%s\">"
"<input type=\"checkbox\" name=\"AllAnsTypes\" value=\"Y\"",
@ -2294,8 +2297,8 @@ static void Tst_ShowFormAnswerTypes (unsigned NumCols)
Txt_TST_STR_ANSWER_TYPES[AnsType]);
}
fprintf (Gbl.F.Out,"</table>"
"</td>"
Lay_EndTable ();
fprintf (Gbl.F.Out,"</td>"
"</tr>");
}
@ -3074,7 +3077,7 @@ static void Tst_WriteAnswersOfAQstEdit (long QstCod)
case Tst_ANS_UNIQUE_CHOICE:
case Tst_ANS_MULTIPLE_CHOICE:
case Tst_ANS_TEXT:
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_2\">");
Lay_StartTable (2);
for (NumOpt = 0;
NumOpt < Gbl.Test.Answer.NumOptions;
NumOpt++)
@ -3150,7 +3153,7 @@ static void Tst_WriteAnswersOfAQstEdit (long QstCod)
if (LengthFeedback)
free ((void *) Feedback);
}
fprintf (Gbl.F.Out,"</table>");
Lay_EndTable ();
break;
default:
break;
@ -3322,8 +3325,8 @@ static void Tst_WriteTFAnsAssessTest (unsigned NumQst,MYSQL_RES *mysql_res,
}
/***** Header with the title of each column *****/
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_2\">"
"<tr>");
Lay_StartTable (2);
fprintf (Gbl.F.Out,"<tr>");
Tst_WriteHeadUserCorrect ();
fprintf (Gbl.F.Out,"</tr>");
@ -3363,7 +3366,7 @@ static void Tst_WriteTFAnsAssessTest (unsigned NumQst,MYSQL_RES *mysql_res,
Tst_WriteScoreEnd ();
}
fprintf (Gbl.F.Out,"</table>");
Lay_EndTable ();
}
/*****************************************************************************/
@ -3391,8 +3394,8 @@ static void Tst_WriteChoiceAnsViewTest (unsigned NumQst,long QstCod,bool Shuffle
row[ 6] Correct
*/
/***** Start of table *****/
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_2\">");
/***** Start table *****/
Lay_StartTable (2);
for (NumOpt = 0;
NumOpt < Gbl.Test.Answer.NumOptions;
@ -3465,8 +3468,8 @@ static void Tst_WriteChoiceAnsViewTest (unsigned NumQst,long QstCod,bool Shuffle
"</tr>");
}
/***** End of table *****/
fprintf (Gbl.F.Out,"</table>");
/***** End table *****/
Lay_EndTable ();
/***** Free structure that stores the query result *****/
DB_FreeMySQLResult (&mysql_res);
@ -3571,9 +3574,9 @@ static void Tst_WriteChoiceAnsAssessTest (unsigned NumQst,MYSQL_RES *mysql_res,
AnswersUsr[AnsUsr] = true;
}
/***** Start of table *****/
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_2\">"
"<tr>");
/***** Start table *****/
Lay_StartTable (2);
fprintf (Gbl.F.Out,"<tr>");
Tst_WriteHeadUserCorrect ();
fprintf (Gbl.F.Out,"<td></td>"
"<td></td>"
@ -3709,7 +3712,7 @@ static void Tst_WriteChoiceAnsAssessTest (unsigned NumQst,MYSQL_RES *mysql_res,
}
/***** End of table *****/
fprintf (Gbl.F.Out,"</table>");
Lay_EndTable ();
}
/*****************************************************************************/
@ -3781,8 +3784,8 @@ static void Tst_WriteTextAnsAssessTest (unsigned NumQst,MYSQL_RES *mysql_res,
}
/***** Header with the title of each column *****/
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_2\">"
"<tr>");
Lay_StartTable (2);
fprintf (Gbl.F.Out,"<tr>");
Tst_WriteHeadUserCorrect ();
fprintf (Gbl.F.Out,"</tr>");
@ -3835,8 +3838,9 @@ static void Tst_WriteTextAnsAssessTest (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,"<td class=\"CENTER_TOP\">"
"<table class=\"CELLS_PAD_2\">");
fprintf (Gbl.F.Out,"<td class=\"CENTER_TOP\">");
Lay_StartTable (2);
for (NumOpt = 0;
NumOpt < Gbl.Test.Answer.NumOptions;
NumOpt++)
@ -3863,7 +3867,8 @@ static void Tst_WriteTextAnsAssessTest (unsigned NumQst,MYSQL_RES *mysql_res,
fprintf (Gbl.F.Out,"</td>"
"</tr>");
}
fprintf (Gbl.F.Out,"</table>");
Lay_EndTable ();
}
else
fprintf (Gbl.F.Out,"<td class=\"ANS CENTER_TOP\">"
@ -3901,7 +3906,7 @@ static void Tst_WriteTextAnsAssessTest (unsigned NumQst,MYSQL_RES *mysql_res,
Tst_WriteScoreEnd ();
}
fprintf (Gbl.F.Out,"</table>");
Lay_EndTable ();
}
/*****************************************************************************/
@ -3943,8 +3948,8 @@ static void Tst_WriteIntAnsAssessTest (unsigned NumQst,MYSQL_RES *mysql_res,
Lay_ShowErrorAndExit ("Wrong integer answer.");
/***** Header with the title of each column *****/
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_2\">"
"<tr>");
Lay_StartTable (2);
fprintf (Gbl.F.Out,"<tr>");
Tst_WriteHeadUserCorrect ();
fprintf (Gbl.F.Out,"</tr>");
@ -4013,7 +4018,7 @@ static void Tst_WriteIntAnsAssessTest (unsigned NumQst,MYSQL_RES *mysql_res,
Tst_WriteScoreEnd ();
}
fprintf (Gbl.F.Out,"</table>");
Lay_EndTable ();
}
/*****************************************************************************/
@ -4069,8 +4074,8 @@ static void Tst_WriteFloatAnsAssessTest (unsigned NumQst,MYSQL_RES *mysql_res,
}
/***** Header with the title of each column *****/
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_2\">"
"<tr>");
Lay_StartTable (2);
fprintf (Gbl.F.Out,"<tr>");
Tst_WriteHeadUserCorrect ();
fprintf (Gbl.F.Out,"</tr>");
@ -4138,7 +4143,7 @@ static void Tst_WriteFloatAnsAssessTest (unsigned NumQst,MYSQL_RES *mysql_res,
Tst_WriteScoreEnd ();
}
fprintf (Gbl.F.Out,"</table>");
Lay_EndTable ();
}
/*****************************************************************************/
@ -4235,7 +4240,8 @@ static void Tst_GetAndWriteTagsQst (long QstCod)
if ((NumRows = Tst_GetTagsQst (QstCod,&mysql_res))) // Result: TagTxt
{
/***** Write the tags *****/
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_2\">");
Lay_StartTable (2);
for (NumRow = 0;
NumRow < NumRows;
NumRow++)
@ -4251,7 +4257,8 @@ static void Tst_GetAndWriteTagsQst (long QstCod)
"</tr>",
row[0]);
}
fprintf (Gbl.F.Out,"</table>");
Lay_EndTable ();
}
else
fprintf (Gbl.F.Out,"<span class=\"DAT_SMALL\">&nbsp;(%s)&nbsp;</span>",
@ -4515,7 +4522,7 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
Tst_PutParamQstCod ();
/***** Start table *****/
fprintf (Gbl.F.Out,"<table class=\"CELLS_PAD_2\">");
Lay_StartTable (2); // Table for this question
/***** Help for text editor *****/
fprintf (Gbl.F.Out,"<tr>"
@ -4532,9 +4539,10 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
"<td class=\"RIGHT_TOP %s\">"
"%s:"
"</td>"
"<td class=\"LEFT_TOP\">"
"<table class=\"CELLS_PAD_2\">",
"<td class=\"LEFT_TOP\">",
The_ClassForm[Gbl.Prefs.Theme],Txt_Tags);
Lay_StartTable (2); // Table for tags
for (NumTag = 0;
NumTag < Tst_MAX_TAGS_PER_QUESTION;
NumTag++)
@ -4582,8 +4590,9 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
fprintf (Gbl.F.Out,"</tr>");
}
fprintf (Gbl.F.Out,"</table>"
"</td>"
Lay_EndTable (); // Table for tags
fprintf (Gbl.F.Out,"</td>"
"</tr>");
/* Free structure that stores the query result */
@ -4711,8 +4720,9 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
/* Simple or multiple choice answers */
fprintf (Gbl.F.Out,"<tr>"
"<td></td>"
"<td class=\"LEFT_TOP\">"
"<table class=\"CELLS_PAD_2\">");
"<td class=\"LEFT_TOP\">");
Lay_StartTable (2); // Table with choice answers
OptionsDisabled = Gbl.Test.AnswerType != Tst_ANS_UNIQUE_CHOICE &&
Gbl.Test.AnswerType != Tst_ANS_MULTIPLE_CHOICE &&
Gbl.Test.AnswerType != Tst_ANS_TEXT;
@ -4836,12 +4846,12 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
"</td>"
"</tr>");
}
fprintf (Gbl.F.Out,"</table>"
"</td>"
Lay_EndTable (); // Table with choice answers
fprintf (Gbl.F.Out,"</td>"
"</tr>");
/***** End table *****/
fprintf (Gbl.F.Out,"</table>");
Lay_EndTable (); // Table for this question
/***** Send button *****/
if (Gbl.Test.QstCod > 0) // The question already has assigned a code
@ -6986,14 +6996,14 @@ void Tst_SelUsrsToSeeUsrsTestResults (void)
"<td class=\"%s RIGHT_TOP\">"
"%s:"
"</td>"
"<td colspan=\"2\" class=\"%s LEFT_TOP\">"
"<table class=\"CELLS_PAD_2\">",
"<td colspan=\"2\" class=\"%s LEFT_TOP\">",
The_ClassForm[Gbl.Prefs.Theme],Txt_Users,
The_ClassForm[Gbl.Prefs.Theme]);
Lay_StartTable (2);
Usr_ListUsersToSelect (Rol_TEACHER);
Usr_ListUsersToSelect (Rol_STUDENT);
fprintf (Gbl.F.Out,"</table>"
"</td>"
Lay_EndTable ();
fprintf (Gbl.F.Out,"</td>"
"</tr>");
/***** Starting and ending dates in the search *****/