Version19.61.6

This commit is contained in:
Antonio Cañas Vargas 2019-11-10 16:41:47 +01:00
parent a08ce37965
commit 9c1ed5c283
23 changed files with 71 additions and 45 deletions

View File

@ -73,6 +73,7 @@ static unsigned HTM_BUTTON_NestingLevel = 0;
static unsigned HTM_TEXTAREA_NestingLevel = 0; static unsigned HTM_TEXTAREA_NestingLevel = 0;
static unsigned HTM_SELECT_NestingLevel = 0; static unsigned HTM_SELECT_NestingLevel = 0;
static unsigned HTM_OPTGROUP_NestingLevel = 0; static unsigned HTM_OPTGROUP_NestingLevel = 0;
static unsigned HTM_U_NestingLevel = 0;
/*****************************************************************************/ /*****************************************************************************/
/***************************** Private prototypes ****************************/ /***************************** Private prototypes ****************************/
@ -1496,6 +1497,27 @@ void HTM_IMG (const char *URL,const char *Icon,const char *Title,
fprintf (Gbl.F.Out," />"); fprintf (Gbl.F.Out," />");
} }
/*****************************************************************************/
/******************************* Underlines **********************************/
/*****************************************************************************/
void HTM_U_Begin (void)
{
HTM_U_Begin ();
HTM_U_NestingLevel++;
}
void HTM_U_End (void)
{
if (HTM_U_NestingLevel == 0) // No U open
Ale_ShowAlert (Ale_ERROR,"Trying to close unopened U.");
HTM_U_End ();
HTM_U_NestingLevel--;
}
/*****************************************************************************/ /*****************************************************************************/
/****************************** Breaking lines *******************************/ /****************************** Breaking lines *******************************/
/*****************************************************************************/ /*****************************************************************************/

View File

@ -147,6 +147,9 @@ void HTM_OPTION (HTM_Type_t Type,const void *ValuePtr,bool Selected,bool Disable
void HTM_IMG (const char *URL,const char *Icon,const char *Title, void HTM_IMG (const char *URL,const char *Icon,const char *Title,
const char *fmt,...); const char *fmt,...);
void HTM_U_Begin (void);
void HTM_U_End (void);
void HTM_BR (void); void HTM_BR (void);
void HTM_Txt (const char *Txt); void HTM_Txt (const char *Txt);

View File

@ -591,10 +591,10 @@ static void Agd_WriteHeaderListEvents (Agd_AgendaType_t AgendaType)
Frm_LinkFormSubmit (Txt_START_END_TIME_HELP[Order],"TIT_TBL",NULL); Frm_LinkFormSubmit (Txt_START_END_TIME_HELP[Order],"TIT_TBL",NULL);
if (Order == Gbl.Agenda.SelectedOrder) if (Order == Gbl.Agenda.SelectedOrder)
fprintf (Gbl.F.Out,"<u>"); HTM_U_Begin ();
HTM_Txt (Txt_START_END_TIME[Order]); HTM_Txt (Txt_START_END_TIME[Order]);
if (Order == Gbl.Agenda.SelectedOrder) if (Order == Gbl.Agenda.SelectedOrder)
fprintf (Gbl.F.Out,"</u>"); HTM_U_End ();
Frm_LinkFormEnd (); Frm_LinkFormEnd ();
Frm_EndForm (); Frm_EndForm ();

View File

@ -221,13 +221,13 @@ static void Asg_PutHeadForSeeing (bool PrintView)
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order); Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order);
Frm_LinkFormSubmit (Txt_START_END_TIME_HELP[Order],"TIT_TBL",NULL); Frm_LinkFormSubmit (Txt_START_END_TIME_HELP[Order],"TIT_TBL",NULL);
if (Order == Gbl.Asgs.SelectedOrder) if (Order == Gbl.Asgs.SelectedOrder)
fprintf (Gbl.F.Out,"<u>"); HTM_U_Begin ();
} }
HTM_Txt (Txt_START_END_TIME[Order]); HTM_Txt (Txt_START_END_TIME[Order]);
if (!PrintView) if (!PrintView)
{ {
if (Order == Gbl.Asgs.SelectedOrder) if (Order == Gbl.Asgs.SelectedOrder)
fprintf (Gbl.F.Out,"</u>"); HTM_U_End ();
Frm_LinkFormEnd (); Frm_LinkFormEnd ();
Frm_EndForm (); Frm_EndForm ();
} }

View File

@ -255,10 +255,10 @@ static void Att_ShowAllAttEvents (void)
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order); Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order);
Frm_LinkFormSubmit (Txt_START_END_TIME_HELP[Order],"TIT_TBL",NULL); Frm_LinkFormSubmit (Txt_START_END_TIME_HELP[Order],"TIT_TBL",NULL);
if (Order == Gbl.AttEvents.SelectedOrder) if (Order == Gbl.AttEvents.SelectedOrder)
fprintf (Gbl.F.Out,"<u>"); HTM_U_Begin ();
HTM_Txt (Txt_START_END_TIME[Order]); HTM_Txt (Txt_START_END_TIME[Order]);
if (Order == Gbl.AttEvents.SelectedOrder) if (Order == Gbl.AttEvents.SelectedOrder)
fprintf (Gbl.F.Out,"</u>"); HTM_U_End ();
Frm_LinkFormEnd (); Frm_LinkFormEnd ();
Frm_EndForm (); Frm_EndForm ();

View File

@ -2588,13 +2588,13 @@ static void Ctr_PutHeadCentresForSeeing (bool OrderSelectable)
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order); Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order);
Frm_LinkFormSubmit (Txt_CENTRES_HELP_ORDER[Order],"TIT_TBL",NULL); Frm_LinkFormSubmit (Txt_CENTRES_HELP_ORDER[Order],"TIT_TBL",NULL);
if (Order == Gbl.Hierarchy.Ins.Ctrs.SelectedOrder) if (Order == Gbl.Hierarchy.Ins.Ctrs.SelectedOrder)
fprintf (Gbl.F.Out,"<u>"); HTM_U_Begin ();
} }
HTM_Txt (Txt_CENTRES_ORDER[Order]); HTM_Txt (Txt_CENTRES_ORDER[Order]);
if (OrderSelectable) if (OrderSelectable)
{ {
if (Order == Gbl.Hierarchy.Ins.Ctrs.SelectedOrder) if (Order == Gbl.Hierarchy.Ins.Ctrs.SelectedOrder)
fprintf (Gbl.F.Out,"</u>"); HTM_U_End ();
Frm_LinkFormEnd (); Frm_LinkFormEnd ();
Frm_EndForm (); Frm_EndForm ();
} }

View File

@ -487,7 +487,7 @@ 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.61.5 (2019-11-10)" #define Log_PLATFORM_VERSION "SWAD 19.61.6 (2019-11-10)"
#define CSS_FILE "swad19.47.css" #define CSS_FILE "swad19.47.css"
#define JS_FILE "swad19.39.js" #define JS_FILE "swad19.39.js"
/* /*
@ -495,6 +495,7 @@ ps2pdf source.ps destination.pdf
// TODO: Impedir la creación y edición de proyectos si no son editables. // TODO: Impedir la creación y edición de proyectos si no son editables.
// TODO: Importante: filtrar proyectos por usuarios (igual que en trabajos o en asistencia) // TODO: Importante: filtrar proyectos por usuarios (igual que en trabajos o en asistencia)
Version 19.61.6: Nov 10, 2019 Code refactoring in HTML underlines. (246327 lines)
Version 19.61.5: Nov 10, 2019 Code refactoring in HTML text printing. (246308 lines) Version 19.61.5: Nov 10, 2019 Code refactoring in HTML text printing. (246308 lines)
Version 19.61.4: Nov 10, 2019 Code refactoring in HTML text printing. (246303 lines) Version 19.61.4: Nov 10, 2019 Code refactoring in HTML text printing. (246303 lines)
Version 19.61.3: Nov 10, 2019 Code refactoring in HTML long printing. (246297 lines) Version 19.61.3: Nov 10, 2019 Code refactoring in HTML long printing. (246297 lines)

View File

@ -126,10 +126,10 @@ void Cla_SeeClassrooms (void)
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order); Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order);
Frm_LinkFormSubmit (Txt_CLASSROOMS_HELP_ORDER[Order],"TIT_TBL",NULL); Frm_LinkFormSubmit (Txt_CLASSROOMS_HELP_ORDER[Order],"TIT_TBL",NULL);
if (Order == Gbl.Classrooms.SelectedOrder) if (Order == Gbl.Classrooms.SelectedOrder)
fprintf (Gbl.F.Out,"<u>"); HTM_U_Begin ();
HTM_Txt (Txt_CLASSROOMS_ORDER[Order]); HTM_Txt (Txt_CLASSROOMS_ORDER[Order]);
if (Order == Gbl.Classrooms.SelectedOrder) if (Order == Gbl.Classrooms.SelectedOrder)
fprintf (Gbl.F.Out,"</u>"); HTM_U_End ();
Frm_LinkFormEnd (); Frm_LinkFormEnd ();
Frm_EndForm (); Frm_EndForm ();
HTM_TH_End (); HTM_TH_End ();

View File

@ -666,13 +666,13 @@ static void Cty_PutHeadCountriesForSeeing (bool OrderSelectable)
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order); Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order);
Frm_LinkFormSubmit (Txt_COUNTRIES_HELP_ORDER[Order],"TIT_TBL",NULL); Frm_LinkFormSubmit (Txt_COUNTRIES_HELP_ORDER[Order],"TIT_TBL",NULL);
if (Order == Gbl.Hierarchy.Sys.Ctys.SelectedOrder) if (Order == Gbl.Hierarchy.Sys.Ctys.SelectedOrder)
fprintf (Gbl.F.Out,"<u>"); HTM_U_Begin ();
} }
HTM_Txt (Txt_COUNTRIES_ORDER[Order]); HTM_Txt (Txt_COUNTRIES_ORDER[Order]);
if (OrderSelectable) if (OrderSelectable)
{ {
if (Order == Gbl.Hierarchy.Sys.Ctys.SelectedOrder) if (Order == Gbl.Hierarchy.Sys.Ctys.SelectedOrder)
fprintf (Gbl.F.Out,"</u>"); HTM_U_End ();
Frm_LinkFormEnd (); Frm_LinkFormEnd ();
Frm_EndForm (); Frm_EndForm ();
} }

View File

@ -518,10 +518,10 @@ static void DT_PutHeadDegreeTypesForSeeing (Act_Action_t NextAction,DT_Order_t S
/* Link with the head of this column */ /* Link with the head of this column */
Frm_LinkFormSubmit (Txt_DEGREE_TYPES_HELP_ORDER[Order],"TIT_TBL",NULL); Frm_LinkFormSubmit (Txt_DEGREE_TYPES_HELP_ORDER[Order],"TIT_TBL",NULL);
if (Order == SelectedOrder) if (Order == SelectedOrder)
fprintf (Gbl.F.Out,"<u>"); HTM_U_Begin ();
HTM_Txt (Txt_DEGREE_TYPES_ORDER[Order]); HTM_Txt (Txt_DEGREE_TYPES_ORDER[Order]);
if (Order == SelectedOrder) if (Order == SelectedOrder)
fprintf (Gbl.F.Out,"</u>"); HTM_U_End ();
Frm_LinkFormEnd (); Frm_LinkFormEnd ();
/* End form */ /* End form */

View File

@ -131,10 +131,10 @@ void Dpt_SeeDepts (void)
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order); Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order);
Frm_LinkFormSubmit (Txt_DEPARTMENTS_HELP_ORDER[Order],"TIT_TBL",NULL); Frm_LinkFormSubmit (Txt_DEPARTMENTS_HELP_ORDER[Order],"TIT_TBL",NULL);
if (Order == Gbl.Dpts.SelectedOrder) if (Order == Gbl.Dpts.SelectedOrder)
fprintf (Gbl.F.Out,"<u>"); HTM_U_Begin ();
HTM_Txt (Txt_DEPARTMENTS_ORDER[Order]); HTM_Txt (Txt_DEPARTMENTS_ORDER[Order]);
if (Order == Gbl.Dpts.SelectedOrder) if (Order == Gbl.Dpts.SelectedOrder)
fprintf (Gbl.F.Out,"</u>"); HTM_U_End ();
Frm_LinkFormEnd (); Frm_LinkFormEnd ();
Frm_EndForm (); Frm_EndForm ();

View File

@ -2553,10 +2553,10 @@ static void For_ShowForumThreadsHighlightingOneThread (long ThrCodHighlighted,
-1L); -1L);
Frm_LinkFormSubmit (Txt_FORUM_THREAD_HELP_ORDER[Order],"TIT_TBL",NULL); Frm_LinkFormSubmit (Txt_FORUM_THREAD_HELP_ORDER[Order],"TIT_TBL",NULL);
if (Order == Gbl.Forum.ThreadsOrder) if (Order == Gbl.Forum.ThreadsOrder)
fprintf (Gbl.F.Out,"<u>"); HTM_U_Begin ();
HTM_Txt (Txt_FORUM_THREAD_ORDER[Order]); HTM_Txt (Txt_FORUM_THREAD_ORDER[Order]);
if (Order == Gbl.Forum.ThreadsOrder) if (Order == Gbl.Forum.ThreadsOrder)
fprintf (Gbl.F.Out,"</u>"); HTM_U_End ();
Frm_LinkFormEnd (); Frm_LinkFormEnd ();
Frm_EndForm (); Frm_EndForm ();

View File

@ -226,10 +226,10 @@ static void Gam_ListAllGames (void)
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order); Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order);
Frm_LinkFormSubmit (Txt_GAMES_ORDER_HELP[Order],"TIT_TBL",NULL); Frm_LinkFormSubmit (Txt_GAMES_ORDER_HELP[Order],"TIT_TBL",NULL);
if (Order == Gbl.Games.SelectedOrder) if (Order == Gbl.Games.SelectedOrder)
fprintf (Gbl.F.Out,"<u>"); HTM_U_Begin ();
HTM_Txt (Txt_GAMES_ORDER[Order]); HTM_Txt (Txt_GAMES_ORDER[Order]);
if (Order == Gbl.Games.SelectedOrder) if (Order == Gbl.Games.SelectedOrder)
fprintf (Gbl.F.Out,"</u>"); HTM_U_End ();
Frm_LinkFormEnd (); Frm_LinkFormEnd ();
Frm_EndForm (); Frm_EndForm ();

View File

@ -201,7 +201,7 @@ void Grp_WriteNamesOfSelectedGrps (void)
fprintf (Gbl.F.Out," %s ",Txt_and); fprintf (Gbl.F.Out," %s ",Txt_and);
if (Gbl.Crs.Grps.LstGrpsSel.NumGrps >= 3) if (Gbl.Crs.Grps.LstGrpsSel.NumGrps >= 3)
if (NumGrpSel < Gbl.Crs.Grps.LstGrpsSel.NumGrps-2) if (NumGrpSel < Gbl.Crs.Grps.LstGrpsSel.NumGrps-2)
fprintf (Gbl.F.Out,", "); HTM_Txt (", ");
} }
} }
} }

View File

@ -127,10 +127,10 @@ void Hld_SeeHolidays (void)
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order); Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order);
Frm_LinkFormSubmit (Txt_HOLIDAYS_HELP_ORDER[Order],"TIT_TBL",NULL); Frm_LinkFormSubmit (Txt_HOLIDAYS_HELP_ORDER[Order],"TIT_TBL",NULL);
if (Order == Gbl.Hlds.SelectedOrder) if (Order == Gbl.Hlds.SelectedOrder)
fprintf (Gbl.F.Out,"<u>"); HTM_U_Begin ();
HTM_Txt (Txt_HOLIDAYS_ORDER[Order]); HTM_Txt (Txt_HOLIDAYS_ORDER[Order]);
if (Order == Gbl.Hlds.SelectedOrder) if (Order == Gbl.Hlds.SelectedOrder)
fprintf (Gbl.F.Out,"</u>"); HTM_U_End ();
Frm_LinkFormEnd (); Frm_LinkFormEnd ();
Frm_EndForm (); Frm_EndForm ();

View File

@ -861,13 +861,13 @@ static void Ins_PutHeadInstitutionsForSeeing (bool OrderSelectable)
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order); Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order);
Frm_LinkFormSubmit (Txt_INSTITUTIONS_HELP_ORDER[Order],"TIT_TBL",NULL); Frm_LinkFormSubmit (Txt_INSTITUTIONS_HELP_ORDER[Order],"TIT_TBL",NULL);
if (Order == Gbl.Hierarchy.Cty.Inss.SelectedOrder) if (Order == Gbl.Hierarchy.Cty.Inss.SelectedOrder)
fprintf (Gbl.F.Out,"<u>"); HTM_U_Begin ();
} }
HTM_Txt (Txt_INSTITUTIONS_ORDER[Order]); HTM_Txt (Txt_INSTITUTIONS_ORDER[Order]);
if (OrderSelectable) if (OrderSelectable)
{ {
if (Order == Gbl.Hierarchy.Cty.Inss.SelectedOrder) if (Order == Gbl.Hierarchy.Cty.Inss.SelectedOrder)
fprintf (Gbl.F.Out,"</u>"); HTM_U_End ();
Frm_LinkFormEnd (); Frm_LinkFormEnd ();
Frm_EndForm (); Frm_EndForm ();
} }

View File

@ -139,10 +139,10 @@ void Mai_SeeMailDomains (void)
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order); Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order);
Frm_LinkFormSubmit (Txt_EMAIL_DOMAIN_HELP_ORDER[Order],"TIT_TBL",NULL); Frm_LinkFormSubmit (Txt_EMAIL_DOMAIN_HELP_ORDER[Order],"TIT_TBL",NULL);
if (Order == Gbl.Mails.SelectedOrder) if (Order == Gbl.Mails.SelectedOrder)
fprintf (Gbl.F.Out,"<u>"); HTM_U_Begin ();
HTM_Txt (Txt_EMAIL_DOMAIN_ORDER[Order]); HTM_Txt (Txt_EMAIL_DOMAIN_ORDER[Order]);
if (Order == Gbl.Mails.SelectedOrder) if (Order == Gbl.Mails.SelectedOrder)
fprintf (Gbl.F.Out,"</u>"); HTM_U_End ();
Frm_LinkFormEnd (); Frm_LinkFormEnd ();
Frm_EndForm (); Frm_EndForm ();
@ -941,7 +941,7 @@ static void Mai_ListEmails (void)
{ {
if (NumAcceptedUsrsWithEmail > 0) if (NumAcceptedUsrsWithEmail > 0)
{ {
fprintf (Gbl.F.Out,", "); HTM_Txt (", ");
LengthStrAddr ++; LengthStrAddr ++;
if (LengthStrAddr > Mai_MAX_BYTES_STR_ADDR) if (LengthStrAddr > Mai_MAX_BYTES_STR_ADDR)
Lay_ShowErrorAndExit ("The space allocated to store email addresses is full."); Lay_ShowErrorAndExit ("The space allocated to store email addresses is full.");

View File

@ -634,7 +634,7 @@ static void Mch_GetAndWriteNamesOfGrpsAssociatedToMatch (const struct Match *Mat
fprintf (Gbl.F.Out," %s ",Txt_and); fprintf (Gbl.F.Out," %s ",Txt_and);
if (NumRows >= 3) if (NumRows >= 3)
if (NumRow < NumRows-2) if (NumRow < NumRows-2)
fprintf (Gbl.F.Out,", "); HTM_Txt (", ");
} }
} }
} }

View File

@ -125,10 +125,10 @@ void Plc_SeePlaces (void)
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order); Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order);
Frm_LinkFormSubmit (Txt_PLACES_HELP_ORDER[Order],"TIT_TBL",NULL); Frm_LinkFormSubmit (Txt_PLACES_HELP_ORDER[Order],"TIT_TBL",NULL);
if (Order == Gbl.Plcs.SelectedOrder) if (Order == Gbl.Plcs.SelectedOrder)
fprintf (Gbl.F.Out,"<u>"); HTM_U_Begin ();
HTM_Txt (Txt_PLACES_ORDER[Order]); HTM_Txt (Txt_PLACES_ORDER[Order]);
if (Order == Gbl.Plcs.SelectedOrder) if (Order == Gbl.Plcs.SelectedOrder)
fprintf (Gbl.F.Out,"</u>"); HTM_U_End ();
Frm_LinkFormEnd (); Frm_LinkFormEnd ();
Frm_EndForm (); Frm_EndForm ();

View File

@ -814,10 +814,10 @@ static void Prj_ShowProjectsHead (Prj_ProjectView_t ProjectView)
-1L); -1L);
Frm_LinkFormSubmit (Txt_PROJECT_ORDER_HELP[Order],"TIT_TBL",NULL); Frm_LinkFormSubmit (Txt_PROJECT_ORDER_HELP[Order],"TIT_TBL",NULL);
if (Order == Gbl.Prjs.SelectedOrder) if (Order == Gbl.Prjs.SelectedOrder)
fprintf (Gbl.F.Out,"<u>"); HTM_U_Begin ();
HTM_Txt (Txt_PROJECT_ORDER[Order]); HTM_Txt (Txt_PROJECT_ORDER[Order]);
if (Order == Gbl.Prjs.SelectedOrder) if (Order == Gbl.Prjs.SelectedOrder)
fprintf (Gbl.F.Out,"</u>"); HTM_U_End ();
Frm_LinkFormEnd (); Frm_LinkFormEnd ();
Frm_EndForm (); Frm_EndForm ();
break; break;

View File

@ -3197,7 +3197,7 @@ static void Sta_ShowNumHitsPerPlugin (unsigned long NumRows,
if (Plg_GetDataOfPluginByCod (&Plg)) if (Plg_GetDataOfPluginByCod (&Plg))
HTM_Txt (Plg.Name); HTM_Txt (Plg.Name);
else else
fprintf (Gbl.F.Out,"?"); HTM_Txt ("?");
HTM_NBSP (); HTM_NBSP ();
HTM_TD_End (); HTM_TD_End ();

View File

@ -262,10 +262,10 @@ static void Svy_ListAllSurveys (struct SurveyQuestion *SvyQst)
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order); Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order);
Frm_LinkFormSubmit (Txt_START_END_TIME_HELP[Order],"TIT_TBL",NULL); Frm_LinkFormSubmit (Txt_START_END_TIME_HELP[Order],"TIT_TBL",NULL);
if (Order == Gbl.Svys.SelectedOrder) if (Order == Gbl.Svys.SelectedOrder)
fprintf (Gbl.F.Out,"<u>"); HTM_U_Begin ();
HTM_Txt (Txt_START_END_TIME[Order]); HTM_Txt (Txt_START_END_TIME[Order]);
if (Order == Gbl.Svys.SelectedOrder) if (Order == Gbl.Svys.SelectedOrder)
fprintf (Gbl.F.Out,"</u>"); HTM_U_End ();
Frm_LinkFormEnd (); Frm_LinkFormEnd ();
Frm_EndForm (); Frm_EndForm ();
@ -2488,7 +2488,7 @@ static void Svy_GetAndWriteNamesOfGrpsAssociatedToSvy (struct Survey *Svy)
fprintf (Gbl.F.Out," %s ",Txt_and); fprintf (Gbl.F.Out," %s ",Txt_and);
if (NumRows >= 3) if (NumRows >= 3)
if (NumRow < NumRows-2) if (NumRow < NumRows-2)
fprintf (Gbl.F.Out,", "); HTM_Txt (", ");
} }
} }
} }

View File

@ -2832,13 +2832,13 @@ static void Tst_ListOneOrMoreQuestionsForEdition (unsigned long NumRows,
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order); Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order);
Frm_LinkFormSubmit (Txt_TST_STR_ORDER_FULL[Order],"TIT_TBL",NULL); Frm_LinkFormSubmit (Txt_TST_STR_ORDER_FULL[Order],"TIT_TBL",NULL);
if (Order == Gbl.Test.SelectedOrder) if (Order == Gbl.Test.SelectedOrder)
fprintf (Gbl.F.Out,"<u>"); HTM_U_Begin ();
} }
HTM_Txt (Txt_TST_STR_ORDER_SHORT[Order]); HTM_Txt (Txt_TST_STR_ORDER_SHORT[Order]);
if (NumRows > 1) if (NumRows > 1)
{ {
if (Order == Gbl.Test.SelectedOrder) if (Order == Gbl.Test.SelectedOrder)
fprintf (Gbl.F.Out,"</u>"); HTM_U_End ();
Frm_LinkFormEnd (); Frm_LinkFormEnd ();
Frm_EndForm (); Frm_EndForm ();
} }
@ -3615,7 +3615,7 @@ static void Tst_WriteTFAnsAssessTest (struct UsrData *UsrDat,
Gbl.Test.Config.Feedback == Tst_FEEDBACK_FULL_FEEDBACK) Gbl.Test.Config.Feedback == Tst_FEEDBACK_FULL_FEEDBACK)
Tst_WriteAnsTF (row[1][0]); Tst_WriteAnsTF (row[1][0]);
else else
fprintf (Gbl.F.Out,"?"); HTM_Txt ("?");
HTM_TD_End (); HTM_TD_End ();
HTM_TR_End (); HTM_TR_End ();
@ -3856,7 +3856,7 @@ static void Tst_WriteChoiceAnsAssessTest (struct UsrData *UsrDat,
else else
{ {
HTM_TD_Begin ("class=\"ANS_0 CT\""); HTM_TD_Begin ("class=\"ANS_0 CT\"");
fprintf (Gbl.F.Out,"?"); HTM_Txt ("?");
HTM_TD_End (); HTM_TD_End ();
} }
@ -4504,7 +4504,7 @@ static void Tst_WriteIntAnsAssessTest (struct UsrData *UsrDat,
{ {
Gbl.Test.StrAnswersOneQst[NumQst][0] = '\0'; Gbl.Test.StrAnswersOneQst[NumQst][0] = '\0';
HTM_TD_Begin ("class=\"ANS_0 CM\""); HTM_TD_Begin ("class=\"ANS_0 CM\"");
fprintf (Gbl.F.Out,"?"); HTM_Txt ("?");
HTM_TD_End (); HTM_TD_End ();
} }
} }
@ -4646,7 +4646,7 @@ static void Tst_WriteFloatAnsAssessTest (struct UsrData *UsrDat,
else // Not a floating point number else // Not a floating point number
{ {
HTM_TD_Begin ("class=\"ANS_0 CM\""); HTM_TD_Begin ("class=\"ANS_0 CM\"");
fprintf (Gbl.F.Out,"?"); HTM_Txt ("?");
} }
} }
else // If user has omitted the answer else // If user has omitted the answer
@ -4659,7 +4659,7 @@ static void Tst_WriteFloatAnsAssessTest (struct UsrData *UsrDat,
Gbl.Test.Config.Feedback == Tst_FEEDBACK_FULL_FEEDBACK) Gbl.Test.Config.Feedback == Tst_FEEDBACK_FULL_FEEDBACK)
fprintf (Gbl.F.Out,"[%lg; %lg]",FloatAnsCorr[0],FloatAnsCorr[1]); fprintf (Gbl.F.Out,"[%lg; %lg]",FloatAnsCorr[0],FloatAnsCorr[1]);
else else
fprintf (Gbl.F.Out,"?"); HTM_Txt ("?");
HTM_TD_End (); HTM_TD_End ();
HTM_TR_End (); HTM_TR_End ();