mirror of https://github.com/acanas/swad-core.git
Version19.32.1
This commit is contained in:
parent
72bcf4e5a2
commit
d36ae6a8cc
|
@ -567,11 +567,12 @@ static void Agd_WriteHeaderListEvents (Agd_AgendaType_t AgendaType)
|
|||
|
||||
/***** Table head *****/
|
||||
Tbl_TR_Begin (NULL);
|
||||
|
||||
for (Order = Agd_ORDER_BY_START_DATE;
|
||||
Order <= Agd_ORDER_BY_END_DATE;
|
||||
Order++)
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">");
|
||||
Tbl_TH_Begin ("class=\"LEFT_MIDDLE\"");
|
||||
switch (AgendaType)
|
||||
{
|
||||
case Agd_MY_AGENDA_TODAY:
|
||||
|
@ -595,16 +596,17 @@ static void Agd_WriteHeaderListEvents (Agd_AgendaType_t AgendaType)
|
|||
fprintf (Gbl.F.Out,"</u>");
|
||||
fprintf (Gbl.F.Out,"</a>");
|
||||
Frm_EndForm ();
|
||||
fprintf (Gbl.F.Out,"</th>");
|
||||
Tbl_TH_End ();
|
||||
}
|
||||
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>",
|
||||
Txt_Event,
|
||||
Txt_Location);
|
||||
|
||||
Tbl_TH_Begin ("class=\"LEFT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_Event);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"LEFT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_Location);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TR_End ();
|
||||
}
|
||||
|
||||
|
|
|
@ -203,12 +203,15 @@ static void Asg_PutHeadForSeeing (bool PrintView)
|
|||
Dat_StartEndTime_t Order;
|
||||
|
||||
Tbl_TR_Begin (NULL);
|
||||
fprintf (Gbl.F.Out,"<th class=\"CONTEXT_COL\"></th>"); // Column for contextual icons
|
||||
|
||||
Tbl_TH_Begin ("class=\"CONTEXT_COL\"");
|
||||
Tbl_TH_End (); // Column for contextual icons
|
||||
|
||||
for (Order = Dat_START_TIME;
|
||||
Order <= Dat_END_TIME;
|
||||
Order++)
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">");
|
||||
Tbl_TH_Begin ("class=\"LEFT_MIDDLE\"");
|
||||
|
||||
if (!PrintView)
|
||||
{
|
||||
|
@ -229,16 +232,15 @@ static void Asg_PutHeadForSeeing (bool PrintView)
|
|||
Frm_EndForm ();
|
||||
}
|
||||
|
||||
fprintf (Gbl.F.Out,"</th>");
|
||||
Tbl_TH_End ();
|
||||
}
|
||||
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>",
|
||||
Txt_Assignment,
|
||||
Txt_Folder);
|
||||
Tbl_TH_Begin ("class=\"LEFT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_Assignment);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"LEFT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_Folder);
|
||||
Tbl_TH_End ();
|
||||
Tbl_TR_End ();
|
||||
}
|
||||
|
||||
|
|
|
@ -239,12 +239,15 @@ static void Att_ShowAllAttEvents (void)
|
|||
/***** Table head *****/
|
||||
Tbl_TABLE_BeginWideMarginPadding (2);
|
||||
Tbl_TR_Begin (NULL);
|
||||
fprintf (Gbl.F.Out,"<th class=\"CONTEXT_COL\"></th>"); // Column for contextual icons
|
||||
|
||||
Tbl_TH_Begin ("class=\"CONTEXT_COL\""); // Column for contextual icons
|
||||
Tbl_TH_End ();
|
||||
|
||||
for (Order = Dat_START_TIME;
|
||||
Order <= Dat_END_TIME;
|
||||
Order++)
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">");
|
||||
Tbl_TH_Begin ("class=\"LEFT_MIDDLE\"");
|
||||
Frm_StartForm (ActSeeAtt);
|
||||
Grp_PutParamWhichGrps ();
|
||||
Pag_PutHiddenParamPagNum (Pag_ATT_EVENTS,Gbl.AttEvents.CurrentPage);
|
||||
|
@ -257,16 +260,17 @@ static void Att_ShowAllAttEvents (void)
|
|||
fprintf (Gbl.F.Out,"</u>");
|
||||
fprintf (Gbl.F.Out,"</a>");
|
||||
Frm_EndForm ();
|
||||
fprintf (Gbl.F.Out,"</th>");
|
||||
Tbl_TH_End ();
|
||||
}
|
||||
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"RIGHT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>",
|
||||
Txt_Event,
|
||||
Txt_ROLES_PLURAL_Abc[Rol_STD][Usr_SEX_UNKNOWN]);
|
||||
|
||||
Tbl_TH_Begin ("class=\"LEFT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_Event);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"RIGHT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_ROLES_PLURAL_Abc[Rol_STD][Usr_SEX_UNKNOWN]);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TR_End ();
|
||||
|
||||
/***** Write all the attendance events *****/
|
||||
|
@ -1897,23 +1901,27 @@ static void Att_ListAttOnlyMeAsStudent (struct AttendanceEvent *Att)
|
|||
|
||||
/* Header */
|
||||
Tbl_TR_Begin (NULL);
|
||||
fprintf (Gbl.F.Out,"<th></th>"
|
||||
"<th></th>"
|
||||
"<th></th>");
|
||||
|
||||
Tbl_TH_Empty (3);
|
||||
|
||||
if (Gbl.Usrs.Listing.WithPhotos)
|
||||
fprintf (Gbl.F.Out,"<th style=\"width:22px;\"></th>");
|
||||
fprintf (Gbl.F.Out,"<th colspan=\"2\" class=\"TIT_TBL LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>",
|
||||
Txt_ROLES_SINGUL_Abc[Rol_STD][Usr_SEX_UNKNOWN],
|
||||
Txt_Student_comment,
|
||||
Txt_Teachers_comment);
|
||||
{
|
||||
Tbl_TH_Begin ("style=\"width:22px;\"");
|
||||
Tbl_TH_End ();
|
||||
}
|
||||
|
||||
Tbl_TH_Begin ("colspan=\"2\" class=\"TIT_TBL LEFT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_ROLES_SINGUL_Abc[Rol_STD][Usr_SEX_UNKNOWN]);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"LEFT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_Student_comment);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"LEFT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_Teachers_comment);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TR_End ();
|
||||
|
||||
/* List of students (only me) */
|
||||
|
@ -1984,23 +1992,27 @@ static void Att_ListAttStudents (struct AttendanceEvent *Att)
|
|||
|
||||
/* Header */
|
||||
Tbl_TR_Begin (NULL);
|
||||
fprintf (Gbl.F.Out,"<th></th>"
|
||||
"<th></th>"
|
||||
"<th></th>");
|
||||
|
||||
Tbl_TH_Empty (3);
|
||||
|
||||
if (Gbl.Usrs.Listing.WithPhotos)
|
||||
fprintf (Gbl.F.Out,"<th style=\"width:22px;\"></th>");
|
||||
fprintf (Gbl.F.Out,"<th colspan=\"2\" class=\"LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>",
|
||||
Txt_ROLES_SINGUL_Abc[Rol_STD][Usr_SEX_UNKNOWN],
|
||||
Txt_Student_comment,
|
||||
Txt_Teachers_comment);
|
||||
{
|
||||
Tbl_TH_Begin ("style=\"width:22px;\"");
|
||||
Tbl_TH_End ();
|
||||
}
|
||||
|
||||
Tbl_TH_Begin ("colspan=\"2\" class=\"LEFT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_ROLES_SINGUL_Abc[Rol_STD][Usr_SEX_UNKNOWN]);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"LEFT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_Student_comment);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"LEFT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_Teachers_comment);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TR_End ();
|
||||
|
||||
/* List of students */
|
||||
|
@ -3118,14 +3130,15 @@ static void Att_ListEventsToSelect (Att_TypeOfView_t TypeOfView)
|
|||
|
||||
/***** Heading row *****/
|
||||
Tbl_TR_Begin (NULL);
|
||||
fprintf (Gbl.F.Out,"<th colspan=\"4\" class=\"LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"RIGHT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>",
|
||||
Txt_Event,
|
||||
Txt_ROLES_PLURAL_Abc[Rol_STD][Usr_SEX_UNKNOWN]);
|
||||
|
||||
Tbl_TH_Begin ("colspan=\"4\" class=\"LEFT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_Event);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"RIGHT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_ROLES_PLURAL_Abc[Rol_STD][Usr_SEX_UNKNOWN]);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TR_End ();
|
||||
|
||||
/***** List the events *****/
|
||||
|
@ -3322,12 +3335,13 @@ static void Att_WriteTableHeadSeveralAttEvents (void)
|
|||
char StrNumAttEvent[10 + 1];
|
||||
|
||||
Tbl_TR_Begin (NULL);
|
||||
fprintf (Gbl.F.Out,"<th colspan=\"%u\" class=\"LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>",
|
||||
Gbl.Usrs.Listing.WithPhotos ? 4 :
|
||||
3,
|
||||
Txt_ROLES_SINGUL_Abc[Rol_USR][Usr_SEX_UNKNOWN]);
|
||||
|
||||
Tbl_TH_Begin ("colspan=\"%u\" class=\"LEFT_MIDDLE\"",
|
||||
Gbl.Usrs.Listing.WithPhotos ? 4 :
|
||||
3);
|
||||
|
||||
fprintf (Gbl.F.Out,"%s",Txt_ROLES_SINGUL_Abc[Rol_USR][Usr_SEX_UNKNOWN]);
|
||||
Tbl_TH_End ();
|
||||
|
||||
for (NumAttEvent = 0;
|
||||
NumAttEvent < Gbl.AttEvents.Num;
|
||||
|
@ -3338,8 +3352,8 @@ static void Att_WriteTableHeadSeveralAttEvents (void)
|
|||
Att_GetDataOfAttEventByCodAndCheckCrs (&Gbl.AttEvents.Lst[NumAttEvent]);
|
||||
|
||||
/***** Put link to this attendance event *****/
|
||||
fprintf (Gbl.F.Out,"<th class=\"CENTER_MIDDLE\" title=\"%s\">",
|
||||
Gbl.AttEvents.Lst[NumAttEvent].Title);
|
||||
Tbl_TH_Begin ("class=\"CENTER_MIDDLE\" title=\"%s\"",
|
||||
Gbl.AttEvents.Lst[NumAttEvent].Title);
|
||||
snprintf (StrNumAttEvent,sizeof (StrNumAttEvent),
|
||||
"%u",
|
||||
NumAttEvent + 1);
|
||||
|
@ -3347,13 +3361,13 @@ static void Att_WriteTableHeadSeveralAttEvents (void)
|
|||
Gbl.AttEvents.Lst[NumAttEvent].Title,
|
||||
StrNumAttEvent,
|
||||
NULL);
|
||||
fprintf (Gbl.F.Out,"</th>");
|
||||
Tbl_TH_End ();
|
||||
}
|
||||
|
||||
fprintf (Gbl.F.Out,"<th class=\"RIGHT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>",
|
||||
Txt_Attendance);
|
||||
Tbl_TH_Begin ("class=\"RIGHT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_Attendance);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TR_End ();
|
||||
}
|
||||
|
||||
|
|
|
@ -933,18 +933,33 @@ static void Ban_PutHeadBanners (void)
|
|||
extern const char *Txt_WWW;
|
||||
|
||||
Tbl_TR_Begin (NULL);
|
||||
fprintf (Gbl.F.Out,"<th class=\"BM\"></th>"
|
||||
"<th class=\"BM\"></th>"
|
||||
"<th class=\"RIGHT_MIDDLE\">%s</th>"
|
||||
"<th class=\"LEFT_MIDDLE\">%s</th>"
|
||||
"<th class=\"LEFT_MIDDLE\">%s</th>"
|
||||
"<th class=\"LEFT_MIDDLE\">%s</th>"
|
||||
"<th class=\"LEFT_MIDDLE\">%s</th>",
|
||||
Txt_Code,
|
||||
Txt_Short_name,
|
||||
Txt_Full_name,
|
||||
Txt_Image,
|
||||
Txt_WWW);
|
||||
|
||||
Tbl_TH_Begin ("class=\"BM\"");
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"BM\"");
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"RIGHT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_Code);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"LEFT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_Short_name);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"LEFT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_Full_name);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"LEFT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_Image);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"LEFT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_WWW);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TR_End ();
|
||||
}
|
||||
|
||||
|
|
150
swad_centre.c
150
swad_centre.c
|
@ -181,14 +181,17 @@ void Ctr_SeeCtrWithPendingDegs (void)
|
|||
|
||||
/***** Wrtie heading *****/
|
||||
Tbl_TR_Begin (NULL);
|
||||
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"RIGHT_MIDDLE\">"
|
||||
"%s"
|
||||
|
||||
Tbl_TH_Begin ("class=\"LEFT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s"
|
||||
"</th>",
|
||||
Txt_Centre);
|
||||
|
||||
Tbl_TH_Begin ("class=\"RIGHT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s"
|
||||
"</th>",
|
||||
Txt_Centre,
|
||||
Txt_Degrees_ABBREVIATION);
|
||||
|
||||
Tbl_TR_End ();
|
||||
|
||||
/***** List the centres *****/
|
||||
|
@ -2624,14 +2627,16 @@ static void Ctr_PutHeadCentresForSeeing (bool OrderSelectable)
|
|||
Ctr_Order_t Order;
|
||||
|
||||
Tbl_TR_Begin (NULL);
|
||||
fprintf (Gbl.F.Out,"<th></th>");
|
||||
|
||||
Tbl_TH_Empty (1);
|
||||
|
||||
for (Order = Ctr_ORDER_BY_CENTRE;
|
||||
Order <= Ctr_ORDER_BY_NUM_TCHS;
|
||||
Order++)
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<th class=\"%s\">",
|
||||
Order == Ctr_ORDER_BY_CENTRE ? "LEFT_MIDDLE" :
|
||||
"RIGHT_MIDDLE");
|
||||
Tbl_TH_Begin ("class=\"%s\"",
|
||||
Order == Ctr_ORDER_BY_CENTRE ? "LEFT_MIDDLE" :
|
||||
"RIGHT_MIDDLE");
|
||||
if (OrderSelectable)
|
||||
{
|
||||
Frm_StartForm (ActSeeCtr);
|
||||
|
@ -2648,27 +2653,30 @@ static void Ctr_PutHeadCentresForSeeing (bool OrderSelectable)
|
|||
fprintf (Gbl.F.Out,"</a>");
|
||||
Frm_EndForm ();
|
||||
}
|
||||
fprintf (Gbl.F.Out,"</th>");
|
||||
Tbl_TH_End ();
|
||||
}
|
||||
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"RIGHT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"RIGHT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"RIGHT_MIDDLE\">"
|
||||
"%s+<br />%s"
|
||||
"</th>"
|
||||
"<th class=\"LEFT_MIDDLE\">"
|
||||
"</th>",
|
||||
Txt_Place,
|
||||
Txt_Degrees_ABBREVIATION,
|
||||
Txt_Courses_ABBREVIATION,
|
||||
|
||||
Tbl_TH_Begin ("class=\"LEFT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_Place);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"RIGHT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_Degrees_ABBREVIATION);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"RIGHT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_Courses_ABBREVIATION);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"RIGHT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s+<br />%s",
|
||||
Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH],
|
||||
Txt_ROLES_PLURAL_BRIEF_Abc[Rol_STD]);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"LEFT_MIDDLE\"");
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TR_End ();
|
||||
}
|
||||
|
||||
|
@ -2689,47 +2697,53 @@ static void Ctr_PutHeadCentresForEdition (void)
|
|||
extern const char *Txt_Requester;
|
||||
|
||||
Tbl_TR_Begin (NULL);
|
||||
fprintf (Gbl.F.Out,"<th></th>"
|
||||
"<th class=\"RIGHT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th></th>"
|
||||
"<th class=\"LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"RIGHT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"RIGHT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"RIGHT_MIDDLE\">"
|
||||
"%s+<br />%s"
|
||||
"</th>"
|
||||
"<th class=\"LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"LEFT_MIDDLE\">"
|
||||
|
||||
Tbl_TH_Empty (1);
|
||||
|
||||
Tbl_TH_Begin ("class=\"RIGHT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s"
|
||||
"</th>",
|
||||
Txt_Code,
|
||||
Txt_Place,
|
||||
Txt_Short_name_of_the_centre,
|
||||
Txt_Full_name_of_the_centre,
|
||||
Txt_WWW,
|
||||
Txt_Users,
|
||||
Txt_Degrees_ABBREVIATION,
|
||||
Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH],
|
||||
Txt_ROLES_PLURAL_BRIEF_Abc[Rol_STD],
|
||||
Txt_Requester);
|
||||
Txt_Code);
|
||||
|
||||
Tbl_TH_Empty (1);
|
||||
|
||||
Tbl_TH_Begin ("class=\"LEFT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_Place);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"LEFT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_Short_name_of_the_centre);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"LEFT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_Full_name_of_the_centre);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"LEFT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_WWW);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"RIGHT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_Users);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"RIGHT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_Degrees_ABBREVIATION);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"RIGHT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s+<br />%s",
|
||||
Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH],
|
||||
Txt_ROLES_PLURAL_BRIEF_Abc[Rol_STD]);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"LEFT_MIDDLE\"");
|
||||
fprintf (Gbl.F.Out,"%s",Txt_Requester);
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TH_Begin ("class=\"LEFT_MIDDLE\"");
|
||||
Tbl_TH_End ();
|
||||
|
||||
Tbl_TR_End ();
|
||||
}
|
||||
|
||||
|
|
|
@ -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.32 (2019-10-10)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 19.32.1 (2019-10-11)"
|
||||
#define CSS_FILE "swad19.29.css"
|
||||
#define JS_FILE "swad19.30.js"
|
||||
/*
|
||||
|
@ -496,6 +496,7 @@ ps2pdf source.ps destination.pdf
|
|||
// TODO: En un TFG no preasignado con estudiante tiene que salir un triángulo amarillo
|
||||
// TODO: Hacer un nuevo rol en los TFG: tutor externo (profesor de áreas no vinculadas con el centro, profesionales de empresas, etc.)
|
||||
|
||||
Version 19.32.1: Oct 11, 2019 Code refactoring in HTML. (246668 lines)
|
||||
Version 19.32: Oct 10, 2019 Code refactoring in HTML. (246631 lines)
|
||||
Version 19.31.40: Oct 10, 2019 Code refactoring in HTML tables. (246669 lines)
|
||||
Version 19.31.39: Oct 10, 2019 Code refactoring in HTML tables. (246668 lines)
|
||||
|
|
|
@ -131,7 +131,7 @@ void Cla_SeeClassrooms (void)
|
|||
fprintf (Gbl.F.Out,"</u>");
|
||||
fprintf (Gbl.F.Out,"</a>");
|
||||
Frm_EndForm ();
|
||||
fprintf (Gbl.F.Out,"</th>");
|
||||
Tbl_TH_End ();
|
||||
}
|
||||
Tbl_TR_End ();
|
||||
|
||||
|
|
|
@ -661,7 +661,7 @@ static void Cty_PutHeadCountriesForSeeing (bool OrderSelectable)
|
|||
|
||||
Tbl_TR_Begin (NULL);
|
||||
|
||||
fprintf (Gbl.F.Out,"<th></th>");
|
||||
Tbl_TH_Empty (1);
|
||||
for (Order = Cty_ORDER_BY_COUNTRY;
|
||||
Order <= Cty_ORDER_BY_NUM_USRS;
|
||||
Order++)
|
||||
|
@ -685,7 +685,7 @@ static void Cty_PutHeadCountriesForSeeing (bool OrderSelectable)
|
|||
fprintf (Gbl.F.Out,"</a>");
|
||||
Frm_EndForm ();
|
||||
}
|
||||
fprintf (Gbl.F.Out,"</th>");
|
||||
Tbl_TH_End ();
|
||||
}
|
||||
fprintf (Gbl.F.Out,"<th class=\"RIGHT_MIDDLE\">"
|
||||
"%s"
|
||||
|
@ -2155,9 +2155,11 @@ static void Cty_PutHeadCountriesForEdition (void)
|
|||
"</th>"
|
||||
"<th class=\"RIGHT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th></th>"
|
||||
"<th class=\"LEFT_MIDDLE\">"
|
||||
"</th>",
|
||||
Txt_Numeric_BR_code_BR_ISO_3166_1,
|
||||
Txt_Alphabetic_BR_code_BR_ISO_3166_1);
|
||||
Tbl_TH_Empty (1);
|
||||
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"LEFT_MIDDLE\">"
|
||||
|
@ -2169,8 +2171,6 @@ static void Cty_PutHeadCountriesForEdition (void)
|
|||
"<th class=\"RIGHT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>",
|
||||
Txt_Numeric_BR_code_BR_ISO_3166_1,
|
||||
Txt_Alphabetic_BR_code_BR_ISO_3166_1,
|
||||
Txt_Name,
|
||||
Txt_WWW,
|
||||
Txt_Users,
|
||||
|
|
|
@ -1065,9 +1065,9 @@ static void Deg_PutHeadDegreesForSeeing (void)
|
|||
extern const char *Txt_Courses_ABBREVIATION;
|
||||
|
||||
Tbl_TR_Begin (NULL);
|
||||
fprintf (Gbl.F.Out,"<th class=\"BM\"></th>"
|
||||
"<th></th>"
|
||||
"<th class=\"LEFT_MIDDLE\">"
|
||||
fprintf (Gbl.F.Out,"<th class=\"BM\"></th>");
|
||||
Tbl_TH_Empty (1);
|
||||
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"LEFT_MIDDLE\">"
|
||||
|
@ -1102,9 +1102,10 @@ static void Deg_PutHeadDegreesForEdition (void)
|
|||
fprintf (Gbl.F.Out,"<th class=\"BM\"></th>"
|
||||
"<th class=\"RIGHT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th></th>"
|
||||
"<th class=\"LEFT_MIDDLE\">"
|
||||
"</th>",
|
||||
Txt_Code);
|
||||
Tbl_TH_Empty (1);
|
||||
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"LEFT_MIDDLE\">"
|
||||
|
@ -1124,7 +1125,6 @@ static void Deg_PutHeadDegreesForEdition (void)
|
|||
"</th>"
|
||||
"<th class=\"LEFT_MIDDLE\">"
|
||||
"</th>",
|
||||
Txt_Code,
|
||||
Txt_Short_name_of_the_degree,
|
||||
Txt_Full_name_of_the_degree,
|
||||
Txt_Type,
|
||||
|
|
|
@ -515,7 +515,7 @@ static void DT_PutHeadDegreeTypesForSeeing (Act_Action_t NextAction,DT_Order_t S
|
|||
DT_Order_t Order;
|
||||
|
||||
Tbl_TR_Begin (NULL);
|
||||
fprintf (Gbl.F.Out,"<th></th>");
|
||||
Tbl_TH_Empty (1);
|
||||
for (Order = DT_ORDER_BY_DEGREE_TYPE;
|
||||
Order <= DT_ORDER_BY_NUM_DEGREES;
|
||||
Order++)
|
||||
|
@ -542,7 +542,7 @@ static void DT_PutHeadDegreeTypesForSeeing (Act_Action_t NextAction,DT_Order_t S
|
|||
/* End form */
|
||||
Frm_EndForm ();
|
||||
|
||||
fprintf (Gbl.F.Out,"</th>");
|
||||
Tbl_TH_End ();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -136,7 +136,7 @@ void Dpt_SeeDepts (void)
|
|||
fprintf (Gbl.F.Out,"</u>");
|
||||
fprintf (Gbl.F.Out,"</a>");
|
||||
Frm_EndForm ();
|
||||
fprintf (Gbl.F.Out,"</th>");
|
||||
Tbl_TH_End ();
|
||||
}
|
||||
Tbl_TR_End ();
|
||||
|
||||
|
|
|
@ -2811,8 +2811,8 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
|
||||
/* Start table */
|
||||
Tbl_TABLE_BeginCenterPadding (2);
|
||||
fprintf (Gbl.F.Out,"<th></th>"
|
||||
"<th class=\"LEFT_TOP\">"
|
||||
Tbl_TH_Empty (1);
|
||||
fprintf (Gbl.F.Out,"<th class=\"LEFT_TOP\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"RIGHT_TOP\">"
|
||||
|
@ -2826,14 +2826,13 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
|
|||
"</th>"
|
||||
"<th class=\"CENTER_TOP\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th></th>"
|
||||
"<th></th>",
|
||||
"</th>",
|
||||
Txt_Course,
|
||||
Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH],
|
||||
Txt_Requester,
|
||||
Txt_Role,
|
||||
Txt_Date);
|
||||
Tbl_TH_Empty (2);
|
||||
Tbl_TR_End ();
|
||||
|
||||
/* List requests */
|
||||
|
|
|
@ -620,8 +620,8 @@ static void Fig_WriteHeadHierarchy (void)
|
|||
extern const char *Txt_Courses;
|
||||
|
||||
Tbl_TR_Begin (NULL);
|
||||
fprintf (Gbl.F.Out,"<th></th>"
|
||||
"<th class=\"RIGHT_MIDDLE\">"
|
||||
Tbl_TH_Empty (1);
|
||||
fprintf (Gbl.F.Out,"<th class=\"RIGHT_MIDDLE\">"
|
||||
"<img src=\"%s/globe.svg\""
|
||||
" alt=\"%s\" title=\"%s\""
|
||||
" class=\"CONTEXT_ICO_x16\" />"
|
||||
|
@ -1481,8 +1481,8 @@ static void Fig_ShowInss (MYSQL_RES **mysql_res,unsigned NumInss,
|
|||
case Usr_LIST_AS_LISTING:
|
||||
/***** Draw institutions as a list *****/
|
||||
Tbl_TR_Begin (NULL);
|
||||
fprintf (Gbl.F.Out,"<th></th>"
|
||||
"<th class=\"LEFT_MIDDLE\">"
|
||||
Tbl_TH_Empty (1);
|
||||
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"RIGHT_MIDDLE\">"
|
||||
|
|
|
@ -2586,7 +2586,7 @@ static void For_ShowForumThreadsHighlightingOneThread (long ThrCodHighlighted,
|
|||
fprintf (Gbl.F.Out,"</u>");
|
||||
fprintf (Gbl.F.Out,"</a>");
|
||||
Frm_EndForm ();
|
||||
fprintf (Gbl.F.Out,"</th>");
|
||||
Tbl_TH_End ();
|
||||
}
|
||||
fprintf (Gbl.F.Out,"<th class=\"RIGHT_MIDDLE\">"
|
||||
"%s"
|
||||
|
|
|
@ -233,7 +233,7 @@ static void Gam_ListAllGames (void)
|
|||
fprintf (Gbl.F.Out,"</a>");
|
||||
Frm_EndForm ();
|
||||
|
||||
fprintf (Gbl.F.Out,"</th>");
|
||||
Tbl_TH_End ();
|
||||
}
|
||||
|
||||
fprintf (Gbl.F.Out,"<th class=\"RIGHT_MIDDLE\">%s</th>",Txt_Matches);
|
||||
|
@ -1645,8 +1645,8 @@ static void Gam_ListOneOrMoreQuestionsForEdition (long GamCod,unsigned NumQsts,
|
|||
/***** Write the heading *****/
|
||||
Tbl_TABLE_BeginWideMarginPadding (2);
|
||||
Tbl_TR_Begin (NULL);
|
||||
fprintf (Gbl.F.Out,"<th></th>"
|
||||
"<th class=\"CENTER_TOP\">"
|
||||
Tbl_TH_Empty (1);
|
||||
fprintf (Gbl.F.Out,"<th class=\"CENTER_TOP\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"CENTER_TOP\">"
|
||||
|
|
|
@ -131,7 +131,7 @@ void Hld_SeeHolidays (void)
|
|||
fprintf (Gbl.F.Out,"</u>");
|
||||
fprintf (Gbl.F.Out,"</a>");
|
||||
Frm_EndForm ();
|
||||
fprintf (Gbl.F.Out,"</th>");
|
||||
Tbl_TH_End ();
|
||||
}
|
||||
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
|
||||
" %s "
|
||||
|
|
|
@ -645,7 +645,7 @@ static void Ind_ShowNumCoursesWithIndicators (unsigned NumCrssWithIndicatorYes[1
|
|||
|
||||
Tbl_TR_Begin (NULL);
|
||||
if (PutForm)
|
||||
fprintf (Gbl.F.Out,"<th></th>");
|
||||
Tbl_TH_Empty (1);
|
||||
fprintf (Gbl.F.Out,"<th class=\"RIGHT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
|
|
|
@ -871,7 +871,7 @@ static void Ins_PutHeadInstitutionsForSeeing (bool OrderSelectable)
|
|||
Ins_Order_t Order;
|
||||
|
||||
Tbl_TR_Begin (NULL);
|
||||
fprintf (Gbl.F.Out,"<th></th>");
|
||||
Tbl_TH_Empty (1);
|
||||
for (Order = Ins_ORDER_BY_INSTITUTION;
|
||||
Order <= Ins_ORDER_BY_NUM_USRS;
|
||||
Order++)
|
||||
|
@ -895,7 +895,7 @@ static void Ins_PutHeadInstitutionsForSeeing (bool OrderSelectable)
|
|||
fprintf (Gbl.F.Out,"</a>");
|
||||
Frm_EndForm ();
|
||||
}
|
||||
fprintf (Gbl.F.Out,"</th>");
|
||||
Tbl_TH_End ();
|
||||
}
|
||||
fprintf (Gbl.F.Out,"<th class=\"RIGHT_MIDDLE\">"
|
||||
"%s"
|
||||
|
@ -2329,12 +2329,13 @@ static void Ins_PutHeadInstitutionsForEdition (void)
|
|||
extern const char *Txt_Requester;
|
||||
|
||||
Tbl_TR_Begin (NULL);
|
||||
fprintf (Gbl.F.Out,"<th></th>"
|
||||
"<th class=\"RIGHT_MIDDLE\">"
|
||||
Tbl_TH_Empty (1);
|
||||
fprintf (Gbl.F.Out,"<th class=\"RIGHT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th></th>"
|
||||
"<th class=\"LEFT_MIDDLE\">"
|
||||
"</th>",
|
||||
Txt_Code);
|
||||
Tbl_TH_Empty (1);
|
||||
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"LEFT_MIDDLE\">"
|
||||
|
@ -2357,7 +2358,6 @@ static void Ins_PutHeadInstitutionsForEdition (void)
|
|||
"</th>"
|
||||
"<th class=\"LEFT_MIDDLE\">"
|
||||
"</th>",
|
||||
Txt_Code,
|
||||
Txt_Short_name_of_the_institution,
|
||||
Txt_Full_name_of_the_institution,
|
||||
Txt_WWW,
|
||||
|
|
|
@ -144,7 +144,7 @@ void Mai_SeeMailDomains (void)
|
|||
fprintf (Gbl.F.Out,"</u>");
|
||||
fprintf (Gbl.F.Out,"</a>");
|
||||
Frm_EndForm ();
|
||||
fprintf (Gbl.F.Out,"</th>");
|
||||
Tbl_TH_End ();
|
||||
}
|
||||
Tbl_TR_End ();
|
||||
|
||||
|
|
|
@ -434,7 +434,7 @@ static void Mch_ListOneOrMoreMatchesHeading (bool ICanEditMatches)
|
|||
|
||||
/***** Column for icons *****/
|
||||
if (ICanEditMatches)
|
||||
fprintf (Gbl.F.Out,"<th></th>");
|
||||
Tbl_TH_Empty (1);
|
||||
|
||||
/***** The rest of columns *****/
|
||||
fprintf (Gbl.F.Out,"<th class=\"LEFT_TOP\">"
|
||||
|
|
|
@ -353,8 +353,7 @@ static void McR_ShowHeaderMchResults (Usr_MeOrOther_t MeOrOther)
|
|||
"</th>"
|
||||
"<th class=\"RIGHT_TOP\">"
|
||||
"%s<br />%s<br />%u"
|
||||
"</th>"
|
||||
"<th></th>",
|
||||
"</th>",
|
||||
Txt_User[MeOrOther == Usr_ME ? Gbl.Usrs.Me.UsrDat.Sex :
|
||||
Usr_SEX_UNKNOWN],
|
||||
Txt_START_END_TIME[Dat_START_TIME],
|
||||
|
@ -365,6 +364,7 @@ static void McR_ShowHeaderMchResults (Usr_MeOrOther_t MeOrOther)
|
|||
Txt_Total_BR_score,
|
||||
Txt_Average_BR_score_BR_per_question_BR_from_0_to_1,
|
||||
Txt_Score,Txt_out_of_PART_OF_A_SCORE,Tst_SCORE_MAX);
|
||||
Tbl_TH_Empty (1);
|
||||
Tbl_TR_End ();
|
||||
}
|
||||
|
||||
|
|
|
@ -1942,8 +1942,8 @@ void Ntf_PutFormChangeNotifSentByEMail (void)
|
|||
/***** List of notifications *****/
|
||||
Tbl_TABLE_BeginCenterPadding (2);
|
||||
Tbl_TR_Begin (NULL);
|
||||
fprintf (Gbl.F.Out,"<th></th>"
|
||||
"<th class=\"CENTER_MIDDLE\">"
|
||||
Tbl_TH_Empty (1);
|
||||
fprintf (Gbl.F.Out,"<th class=\"CENTER_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"CENTER_MIDDLE\">"
|
||||
|
|
|
@ -130,7 +130,7 @@ void Plc_SeePlaces (void)
|
|||
fprintf (Gbl.F.Out,"</u>");
|
||||
fprintf (Gbl.F.Out,"</a>");
|
||||
Frm_EndForm ();
|
||||
fprintf (Gbl.F.Out,"</th>");
|
||||
Tbl_TH_End ();
|
||||
}
|
||||
Tbl_TR_End ();
|
||||
|
||||
|
|
|
@ -991,8 +991,8 @@ static void Plg_PutHeadPlugins (void)
|
|||
extern const char *Txt_IP;
|
||||
|
||||
Tbl_TR_Begin (NULL);
|
||||
fprintf (Gbl.F.Out,"<th></th>"
|
||||
"<th class=\"RIGHT_MIDDLE\">"
|
||||
Tbl_TH_Empty (1);
|
||||
fprintf (Gbl.F.Out,"<th class=\"RIGHT_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th style=\"width:35px;\"></th>"
|
||||
|
|
|
@ -738,7 +738,7 @@ static void Prj_ShowProjectsHead (Prj_ProjectView_t ProjectView)
|
|||
break;
|
||||
}
|
||||
|
||||
fprintf (Gbl.F.Out,"</th>");
|
||||
Tbl_TH_End ();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -435,8 +435,8 @@ static void Rec_WriteHeadingRecordFields (void)
|
|||
extern const char *Txt_Visible_by_BR_the_student;
|
||||
|
||||
Tbl_TR_Begin (NULL);
|
||||
fprintf (Gbl.F.Out,"<th></th>"
|
||||
"<th class=\"CENTER_MIDDLE\">"
|
||||
Tbl_TH_Empty (1);
|
||||
fprintf (Gbl.F.Out,"<th class=\"CENTER_MIDDLE\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"CENTER_MIDDLE\">"
|
||||
|
|
|
@ -267,7 +267,7 @@ static void Svy_ListAllSurveys (struct SurveyQuestion *SvyQst)
|
|||
fprintf (Gbl.F.Out,"</a>");
|
||||
Frm_EndForm ();
|
||||
|
||||
fprintf (Gbl.F.Out,"</th>");
|
||||
Tbl_TH_End ();
|
||||
}
|
||||
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
|
||||
"%s"
|
||||
|
@ -3226,7 +3226,7 @@ static void Svy_ListSvyQuestions (struct Survey *Svy,
|
|||
Tbl_TABLE_BeginWideMarginPadding (2);
|
||||
Tbl_TR_Begin (NULL);
|
||||
if (Svy->Status.ICanEdit)
|
||||
fprintf (Gbl.F.Out,"<th></th>");
|
||||
Tbl_TH_Empty (1);
|
||||
fprintf (Gbl.F.Out,"<th class=\"CENTER_TOP\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
|
|
59
swad_table.c
59
swad_table.c
|
@ -56,6 +56,7 @@ extern struct Globals Gbl;
|
|||
/*****************************************************************************/
|
||||
|
||||
static void Tbl_TR_BeginWithoutAttr (void);
|
||||
static void Tbl_TH_BeginWithoutAttr (void);
|
||||
static void Tbl_TD_BeginWithoutAttr (void);
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -199,6 +200,64 @@ void Tbl_TR_End (void)
|
|||
fprintf (Gbl.F.Out,"</tr>");
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/***************************** Table heading cells ***************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Tbl_TH_Begin (const char *fmt,...)
|
||||
{
|
||||
va_list ap;
|
||||
int NumBytesPrinted;
|
||||
char *Attr;
|
||||
|
||||
if (fmt)
|
||||
{
|
||||
if (fmt[0])
|
||||
{
|
||||
va_start (ap,fmt);
|
||||
NumBytesPrinted = vasprintf (&Attr,fmt,ap);
|
||||
va_end (ap);
|
||||
|
||||
if (NumBytesPrinted < 0) // If memory allocation wasn't possible,
|
||||
// or some other error occurs,
|
||||
// vasprintf will return -1
|
||||
Lay_NotEnoughMemoryExit ();
|
||||
|
||||
/***** Print HTML *****/
|
||||
fprintf (Gbl.F.Out,"<th %s>",Attr);
|
||||
|
||||
free ((void *) Attr);
|
||||
}
|
||||
else
|
||||
Tbl_TH_BeginWithoutAttr ();
|
||||
}
|
||||
else
|
||||
Tbl_TH_BeginWithoutAttr ();
|
||||
}
|
||||
|
||||
static void Tbl_TH_BeginWithoutAttr (void)
|
||||
{
|
||||
fprintf (Gbl.F.Out,"<th>");
|
||||
}
|
||||
|
||||
void Tbl_TH_End (void)
|
||||
{
|
||||
fprintf (Gbl.F.Out,"</th>");
|
||||
}
|
||||
|
||||
void Tbl_TH_Empty (unsigned NumColumns)
|
||||
{
|
||||
unsigned NumCol;
|
||||
|
||||
for (NumCol = 0;
|
||||
NumCol < NumColumns;
|
||||
NumCol++)
|
||||
{
|
||||
Tbl_TH_Begin (NULL);
|
||||
Tbl_TH_End ();
|
||||
}
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/********************************* Table cells *******************************/
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -53,6 +53,10 @@ void Tbl_TABLE_End (void);
|
|||
void Tbl_TR_Begin (const char *fmt,...);
|
||||
void Tbl_TR_End (void);
|
||||
|
||||
void Tbl_TH_Begin (const char *fmt,...);
|
||||
void Tbl_TH_End (void);
|
||||
void Tbl_TH_Empty (unsigned NumColumns);
|
||||
|
||||
void Tbl_TD_Begin (const char *fmt,...);
|
||||
void Tbl_TD_End (void);
|
||||
void Tbl_TD_Empty (unsigned NumColumns);
|
||||
|
|
14
swad_test.c
14
swad_test.c
|
@ -2828,8 +2828,8 @@ static void Tst_ListOneOrMoreQuestionsForEdition (unsigned long NumRows,
|
|||
/***** Write the heading *****/
|
||||
Tbl_TABLE_BeginWideMarginPadding (2);
|
||||
Tbl_TR_Begin (NULL);
|
||||
fprintf (Gbl.F.Out,"<th></th>"
|
||||
"<th class=\"CENTER_TOP\">"
|
||||
Tbl_TH_Empty (1);
|
||||
fprintf (Gbl.F.Out,"<th class=\"CENTER_TOP\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"CENTER_TOP\">"
|
||||
|
@ -2876,7 +2876,7 @@ static void Tst_ListOneOrMoreQuestionsForEdition (unsigned long NumRows,
|
|||
fprintf (Gbl.F.Out,"</a>");
|
||||
Frm_EndForm ();
|
||||
}
|
||||
fprintf (Gbl.F.Out,"</th>");
|
||||
Tbl_TH_End ();
|
||||
}
|
||||
|
||||
Tbl_TR_End ();
|
||||
|
@ -3094,8 +3094,8 @@ static void Tst_ListOneOrMoreQuestionsForSelection (unsigned long NumRows,
|
|||
/***** Write the heading *****/
|
||||
Tbl_TABLE_BeginWideMarginPadding (2);
|
||||
Tbl_TR_Begin (NULL);
|
||||
fprintf (Gbl.F.Out,"<th></th>"
|
||||
"<th class=\"CENTER_TOP\">"
|
||||
Tbl_TH_Empty (1);
|
||||
fprintf (Gbl.F.Out,"<th class=\"CENTER_TOP\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"CENTER_TOP\">"
|
||||
|
@ -7726,8 +7726,7 @@ static void Tst_ShowHeaderTestResults (void)
|
|||
"</th>"
|
||||
"<th class=\"RIGHT_TOP\">"
|
||||
"%s<br />%s<br />%u"
|
||||
"</th>"
|
||||
"<th></th>",
|
||||
"</th>",
|
||||
Txt_User[Usr_SEX_UNKNOWN],
|
||||
Txt_Date,
|
||||
Txt_Questions,
|
||||
|
@ -7735,6 +7734,7 @@ static void Tst_ShowHeaderTestResults (void)
|
|||
Txt_Total_BR_score,
|
||||
Txt_Average_BR_score_BR_per_question_BR_from_0_to_1,
|
||||
Txt_Score,Txt_out_of_PART_OF_A_SCORE,Tst_SCORE_MAX);
|
||||
Tbl_TH_Empty (1);
|
||||
Tbl_TR_End ();
|
||||
}
|
||||
|
||||
|
|
|
@ -959,8 +959,8 @@ static void TsI_WriteHeadingListImportedQst (void)
|
|||
|
||||
/***** Write the heading *****/
|
||||
Tbl_TR_Begin (NULL);
|
||||
fprintf (Gbl.F.Out,"<th></th>"
|
||||
"<th class=\"CENTER_TOP\">"
|
||||
Tbl_TH_Empty (1);
|
||||
fprintf (Gbl.F.Out,"<th class=\"CENTER_TOP\">"
|
||||
"%s"
|
||||
"</th>"
|
||||
"<th class=\"CENTER_TOP\">"
|
||||
|
|
Loading…
Reference in New Issue