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_SELECT_NestingLevel = 0;
static unsigned HTM_OPTGROUP_NestingLevel = 0;
static unsigned HTM_U_NestingLevel = 0;
/*****************************************************************************/
/***************************** Private prototypes ****************************/
@ -1496,6 +1497,27 @@ void HTM_IMG (const char *URL,const char *Icon,const char *Title,
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 *******************************/
/*****************************************************************************/

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,
const char *fmt,...);
void HTM_U_Begin (void);
void HTM_U_End (void);
void HTM_BR (void);
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);
if (Order == Gbl.Agenda.SelectedOrder)
fprintf (Gbl.F.Out,"<u>");
HTM_U_Begin ();
HTM_Txt (Txt_START_END_TIME[Order]);
if (Order == Gbl.Agenda.SelectedOrder)
fprintf (Gbl.F.Out,"</u>");
HTM_U_End ();
Frm_LinkFormEnd ();
Frm_EndForm ();

View File

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

View File

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

View File

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

View File

@ -487,7 +487,7 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD:
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 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: 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.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)

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -201,7 +201,7 @@ void Grp_WriteNamesOfSelectedGrps (void)
fprintf (Gbl.F.Out," %s ",Txt_and);
if (Gbl.Crs.Grps.LstGrpsSel.NumGrps >= 3)
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);
Frm_LinkFormSubmit (Txt_HOLIDAYS_HELP_ORDER[Order],"TIT_TBL",NULL);
if (Order == Gbl.Hlds.SelectedOrder)
fprintf (Gbl.F.Out,"<u>");
HTM_U_Begin ();
HTM_Txt (Txt_HOLIDAYS_ORDER[Order]);
if (Order == Gbl.Hlds.SelectedOrder)
fprintf (Gbl.F.Out,"</u>");
HTM_U_End ();
Frm_LinkFormEnd ();
Frm_EndForm ();

View File

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

View File

@ -139,10 +139,10 @@ void Mai_SeeMailDomains (void)
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order);
Frm_LinkFormSubmit (Txt_EMAIL_DOMAIN_HELP_ORDER[Order],"TIT_TBL",NULL);
if (Order == Gbl.Mails.SelectedOrder)
fprintf (Gbl.F.Out,"<u>");
HTM_U_Begin ();
HTM_Txt (Txt_EMAIL_DOMAIN_ORDER[Order]);
if (Order == Gbl.Mails.SelectedOrder)
fprintf (Gbl.F.Out,"</u>");
HTM_U_End ();
Frm_LinkFormEnd ();
Frm_EndForm ();
@ -941,7 +941,7 @@ static void Mai_ListEmails (void)
{
if (NumAcceptedUsrsWithEmail > 0)
{
fprintf (Gbl.F.Out,", ");
HTM_Txt (", ");
LengthStrAddr ++;
if (LengthStrAddr > Mai_MAX_BYTES_STR_ADDR)
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);
if (NumRows >= 3)
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);
Frm_LinkFormSubmit (Txt_PLACES_HELP_ORDER[Order],"TIT_TBL",NULL);
if (Order == Gbl.Plcs.SelectedOrder)
fprintf (Gbl.F.Out,"<u>");
HTM_U_Begin ();
HTM_Txt (Txt_PLACES_ORDER[Order]);
if (Order == Gbl.Plcs.SelectedOrder)
fprintf (Gbl.F.Out,"</u>");
HTM_U_End ();
Frm_LinkFormEnd ();
Frm_EndForm ();

View File

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

View File

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

View File

@ -262,10 +262,10 @@ static void Svy_ListAllSurveys (struct SurveyQuestion *SvyQst)
Par_PutHiddenParamUnsigned (NULL,"Order",(unsigned) Order);
Frm_LinkFormSubmit (Txt_START_END_TIME_HELP[Order],"TIT_TBL",NULL);
if (Order == Gbl.Svys.SelectedOrder)
fprintf (Gbl.F.Out,"<u>");
HTM_U_Begin ();
HTM_Txt (Txt_START_END_TIME[Order]);
if (Order == Gbl.Svys.SelectedOrder)
fprintf (Gbl.F.Out,"</u>");
HTM_U_End ();
Frm_LinkFormEnd ();
Frm_EndForm ();
@ -2488,7 +2488,7 @@ static void Svy_GetAndWriteNamesOfGrpsAssociatedToSvy (struct Survey *Svy)
fprintf (Gbl.F.Out," %s ",Txt_and);
if (NumRows >= 3)
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);
Frm_LinkFormSubmit (Txt_TST_STR_ORDER_FULL[Order],"TIT_TBL",NULL);
if (Order == Gbl.Test.SelectedOrder)
fprintf (Gbl.F.Out,"<u>");
HTM_U_Begin ();
}
HTM_Txt (Txt_TST_STR_ORDER_SHORT[Order]);
if (NumRows > 1)
{
if (Order == Gbl.Test.SelectedOrder)
fprintf (Gbl.F.Out,"</u>");
HTM_U_End ();
Frm_LinkFormEnd ();
Frm_EndForm ();
}
@ -3615,7 +3615,7 @@ static void Tst_WriteTFAnsAssessTest (struct UsrData *UsrDat,
Gbl.Test.Config.Feedback == Tst_FEEDBACK_FULL_FEEDBACK)
Tst_WriteAnsTF (row[1][0]);
else
fprintf (Gbl.F.Out,"?");
HTM_Txt ("?");
HTM_TD_End ();
HTM_TR_End ();
@ -3856,7 +3856,7 @@ static void Tst_WriteChoiceAnsAssessTest (struct UsrData *UsrDat,
else
{
HTM_TD_Begin ("class=\"ANS_0 CT\"");
fprintf (Gbl.F.Out,"?");
HTM_Txt ("?");
HTM_TD_End ();
}
@ -4504,7 +4504,7 @@ static void Tst_WriteIntAnsAssessTest (struct UsrData *UsrDat,
{
Gbl.Test.StrAnswersOneQst[NumQst][0] = '\0';
HTM_TD_Begin ("class=\"ANS_0 CM\"");
fprintf (Gbl.F.Out,"?");
HTM_Txt ("?");
HTM_TD_End ();
}
}
@ -4646,7 +4646,7 @@ static void Tst_WriteFloatAnsAssessTest (struct UsrData *UsrDat,
else // Not a floating point number
{
HTM_TD_Begin ("class=\"ANS_0 CM\"");
fprintf (Gbl.F.Out,"?");
HTM_Txt ("?");
}
}
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)
fprintf (Gbl.F.Out,"[%lg; %lg]",FloatAnsCorr[0],FloatAnsCorr[1]);
else
fprintf (Gbl.F.Out,"?");
HTM_Txt ("?");
HTM_TD_End ();
HTM_TR_End ();