mirror of https://github.com/acanas/swad-core.git
Version19.61.6
This commit is contained in:
parent
a08ce37965
commit
9c1ed5c283
22
swad_HTML.c
22
swad_HTML.c
|
@ -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 *******************************/
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 ();
|
||||
|
|
|
@ -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 ();
|
||||
}
|
||||
|
|
|
@ -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 ();
|
||||
|
||||
|
|
|
@ -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 ();
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 ();
|
||||
|
|
|
@ -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 ();
|
||||
}
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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 ();
|
||||
|
||||
|
|
|
@ -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 ();
|
||||
|
||||
|
|
|
@ -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 ();
|
||||
|
||||
|
|
|
@ -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 (", ");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 ();
|
||||
|
||||
|
|
|
@ -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 ();
|
||||
}
|
||||
|
|
|
@ -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.");
|
||||
|
|
|
@ -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 (", ");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 ();
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 ();
|
||||
|
||||
|
|
|
@ -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 (", ");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
14
swad_test.c
14
swad_test.c
|
@ -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 ();
|
||||
|
|
Loading…
Reference in New Issue