Version19.31.1

This commit is contained in:
Antonio Cañas Vargas 2019-10-04 14:42:59 +02:00
parent 7ecc561d2d
commit d74bc65409
45 changed files with 989 additions and 932 deletions

View File

@ -602,14 +602,16 @@ static void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,
NumID++)
{
if (NumID == 0)
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_TOP\">"
{
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_TOP\">"
"<label for=\"UsrID\" class=\"%s\">"
"%s:"
"</label>"
"</td>"
"<td class=\"REC_C2_BOT LEFT_TOP USR_ID\">",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_ID);
}
else // NumID >= 1
fprintf (Gbl.F.Out,"<br />");
@ -669,15 +671,15 @@ static void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,
if (UsrDat->IDs.Num < ID_MAX_IDS_PER_USER)
{
/***** Write help text *****/
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"2\" class=\"DAT CENTER_MIDDLE\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"DAT CENTER_MIDDLE\">");
Ale_ShowAlert (Ale_INFO,Txt_The_ID_is_used_in_order_to_facilitate_);
fprintf (Gbl.F.Out,"</td>"
"</tr>");
/***** Form to enter new user's ID *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_TOP\">"
"<label for=\"NewID\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"REC_C2_BOT LEFT_TOP DAT\">",

View File

@ -32,6 +32,7 @@
#include "swad_global.h"
#include "swad_parameter.h"
#include "swad_role.h"
#include "swad_table.h"
/*****************************************************************************/
/****************************** Public constants *****************************/

View File

@ -487,12 +487,13 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
#define Log_PLATFORM_VERSION "SWAD 19.31 (2019-10-04)"
#define Log_PLATFORM_VERSION "SWAD 19.31.1 (2019-10-04)"
#define CSS_FILE "swad19.29.css"
#define JS_FILE "swad19.30.js"
/*
// TODO: Perico: poner un candado de bloqueo de creación/edición de proyectos (por ejemplo en asignaturas obsoletas)
Version 19.31.1: Oct 04, 2019 Code refactoring in HTML tables. (247022 lines)
Version 19.31 : Oct 04, 2019 Code refactoring in HTML tables. (246967 lines)
Version 19.30.6: Oct 03, 2019 Code refactoring in HTML tables. (246928 lines)
Version 19.30.5: Oct 03, 2019 Code refactoring in HTML tables. (246922 lines)

View File

@ -428,8 +428,8 @@ void Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (bool SetHMS00000
extern const char *Txt_Today;
/***** Start date-time *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">",
@ -460,8 +460,8 @@ void Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (bool SetHMS00000
Txt_Today);
/***** End date-time *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">",
@ -502,8 +502,8 @@ void Dat_PutFormStartEndClientLocalDateTimes (time_t TimeUTC[2],
StartEndTime++)
{
/* Date-time */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">",

View File

@ -185,8 +185,8 @@ void Deg_SeeDegWithPendingCrss (void)
Hlp_SYSTEM_Hierarchy_pending,Box_NOT_CLOSABLE,2);
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -213,8 +213,8 @@ void Deg_SeeDegWithPendingCrss (void)
Deg_GetDataOfDegreeByCod (&Deg);
/* Degree logo and full name */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LEFT_MIDDLE %s\">",
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE %s\">",
BgColor);
Deg_DrawDegreeLogoAndNameWithLink (&Deg,ActSeeCrs,
"DAT_NOBR","CENTER_MIDDLE");
@ -342,8 +342,8 @@ static void Deg_Configuration (bool PrintView)
Tbl_StartTableWidePadding (2);
/***** Centre *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"OthCtrCod\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"DAT_N LEFT_MIDDLE\">",
@ -384,8 +384,8 @@ static void Deg_Configuration (bool PrintView)
"</tr>");
/***** Degree full name *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"FullName\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"DAT_N LEFT_MIDDLE\">",
@ -414,8 +414,8 @@ static void Deg_Configuration (bool PrintView)
"</tr>");
/***** Degree short name *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"ShortName\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"DAT_N LEFT_MIDDLE\">",
@ -444,8 +444,8 @@ static void Deg_Configuration (bool PrintView)
"</tr>");
/***** Degree WWW *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"WWW\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">",
@ -479,8 +479,8 @@ static void Deg_Configuration (bool PrintView)
"</tr>");
/***** Shortcut to the degree *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
@ -501,8 +501,8 @@ static void Deg_Configuration (bool PrintView)
if (PrintView)
{
/***** QR code with link to the degree *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">",
@ -515,8 +515,8 @@ static void Deg_Configuration (bool PrintView)
else
{
/***** Number of courses *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"LEFT_MIDDLE\">",
@ -577,8 +577,8 @@ static void Deg_ShowNumUsrsInCrssOfDeg (Rol_Role_t Role)
extern const char *Txt_Users_in_courses;
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
@ -720,8 +720,8 @@ static void Deg_ListDegreesForEdition (void)
ICanEdit = Deg_CheckIfICanEditADegree (Deg);
/* Put icon to remove degree */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BM\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\">");
if (NumCrss || // Degree has courses ==> deletion forbidden
!ICanEdit)
Ico_PutIconRemovalNotAllowed ();
@ -965,8 +965,8 @@ static void Deg_PutFormToCreateDegree (void)
Deg_PutHeadDegreesForEdition ();
/***** Column to remove degree, disabled here *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BM\"></td>");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\"></td>");
/***** Degree code *****/
fprintf (Gbl.F.Out,"<td class=\"CODE\"></td>");
@ -1052,8 +1052,8 @@ static void Deg_PutHeadDegreesForSeeing (void)
extern const char *Txt_Type;
extern const char *Txt_Courses_ABBREVIATION;
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"BM\"></th>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"BM\"></th>"
"<th></th>"
"<th class=\"LEFT_MIDDLE\">"
"%s"
@ -1086,8 +1086,8 @@ static void Deg_PutHeadDegreesForEdition (void)
extern const char *Txt_Courses_ABBREVIATION;
extern const char *Txt_Requester;
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"BM\"></th>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"BM\"></th>"
"<th class=\"RIGHT_MIDDLE\">"
"%s"
"</th>"
@ -1285,8 +1285,8 @@ static void Deg_ListOneDegreeForSeeing (struct Degree *Deg,unsigned NumDeg)
Gbl.ColorRows[Gbl.RowEvenOdd];
/***** Put tip if degree has courses *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s CENTER_MIDDLE %s\" title=\"%s\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE %s\" title=\"%s\">"
"%s"
"</td>",
TxtClassNormal,BgColor,
@ -2522,8 +2522,8 @@ void Hie_GetAndWriteInsCtrDegAdminBy (long UsrCod,unsigned ColSpan)
NumRow++)
{
/***** Indent *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP COLOR%u\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP COLOR%u\">"
"<img src=\"%s/%s20x20.gif\""
" alt=\"\" title=\"\""
" class=\"ICO25x25\" />"

View File

@ -331,8 +331,8 @@ static void DT_ListDegreeTypesForSeeing (void)
Gbl.ColorRows[Gbl.RowEvenOdd];
/* Number of degree type in this list */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT_N RIGHT_MIDDLE %s\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_MIDDLE %s\">"
"%u"
"</td>",
BgColor,NumDegTyp + 1);
@ -400,8 +400,8 @@ static void DT_ListDegreeTypesForEdition (void)
NumDegTyp++)
{
/* Put icon to remove degree type */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BM\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\">");
if (Gbl.DegTypes.Lst[NumDegTyp].NumDegs) // Degree type has degrees => deletion forbidden
Ico_PutIconRemovalNotAllowed ();
else
@ -474,8 +474,8 @@ static void DT_PutFormToCreateDegreeType (void)
DT_PutHeadDegreeTypesForEdition ();
/***** Column to remove degree type, disabled here *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BM\"></td>");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\"></td>");
/***** Degree type code *****/
fprintf (Gbl.F.Out,"<td class=\"CODE\"></td>");
@ -511,8 +511,8 @@ static void DT_PutHeadDegreeTypesForSeeing (Act_Action_t NextAction,DT_Order_t S
extern const char *Txt_DEGREE_TYPES_ORDER[DT_NUM_ORDERS];
DT_Order_t Order;
fprintf (Gbl.F.Out,"<tr>"
"<th></th>");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th></th>");
for (Order = DT_ORDER_BY_DEGREE_TYPE;
Order <= DT_ORDER_BY_NUM_DEGREES;
Order++)
@ -553,8 +553,8 @@ static void DT_PutHeadDegreeTypesForEdition (void)
extern const char *Txt_Type_of_degree;
extern const char *Txt_Degrees;
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"BM\"></th>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"BM\"></th>"
"<th class=\"CENTER_MIDDLE\">"
"%s"
"</th>"

View File

@ -146,8 +146,8 @@ void Dpt_SeeDepts (void)
NumDpt++)
{
/* Write data of this department */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<a href=\"%s\" target=\"_blank\" class=\"DAT\">"
"%s"
"</a>"
@ -166,16 +166,16 @@ void Dpt_SeeDepts (void)
}
/***** Separation row *****/
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"3\" class=\"DAT\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"DAT\">"
"&nbsp;"
"</td>"
"</tr>");
/***** Write teachers with other department *****/
NumTchsInOtherDpts = Usr_GetNumTchsCurrentInsInDepartment (0);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%s"
"</td>"
"<td class=\"DAT RIGHT_MIDDLE\">"
@ -186,8 +186,8 @@ void Dpt_SeeDepts (void)
NumTchsInsWithDpt += NumTchsInOtherDpts;
/***** Write teachers with no department *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%s"
"</td>"
"<td class=\"DAT RIGHT_MIDDLE\">"
@ -509,8 +509,8 @@ static void Dpt_ListDepartmentsForEdition (void)
Ins_GetDataOfInstitutionByCod (&Ins,Ins_GET_BASIC_DATA);
/* Put icon to remove department */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BM\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\">");
if (Dpt->NumTchs) // Department has teachers ==> deletion forbidden
Ico_PutIconRemovalNotAllowed ();
else
@ -907,8 +907,8 @@ static void Dpt_PutFormToCreateDepartment (void)
NULL,Box_NOT_CLOSABLE,2);
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"LEFT_MIDDLE\">"
@ -927,8 +927,8 @@ static void Dpt_PutFormToCreateDepartment (void)
Txt_WWW);
/***** Institution *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"CENTER_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
"<select name=\"OthInsCod\" style=\"width:62px;\">"
"<option value=\"0\"");
if (Dpt_EditingDpt->InsCod == 0)
@ -993,8 +993,8 @@ static void Dpt_PutHeadDepartments (void)
extern const char *Txt_WWW;
extern const char *Txt_ROLES_PLURAL_BRIEF_Abc[Rol_NUM_ROLES];
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"CENTER_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"CENTER_MIDDLE\">"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
"%s"

View File

@ -185,8 +185,8 @@ void Dup_ListDuplicateUsrs (void)
/* Write data of this user */
Usr_WriteRowUsrMainData (NumUsrs - NumUsr,&UsrDat,false,Rol_UNK);
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"2\" class=\"COLOR%u\"></td>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"COLOR%u\"></td>"
"<td colspan=\"%u\""
" class=\"DAT LEFT_MIDDLE COLOR%u\">",
Gbl.RowEvenOdd,
@ -318,8 +318,8 @@ static void Dup_ListSimilarUsrs (void)
/* Write data of this user */
Usr_WriteRowUsrMainData (NumUsrs - NumUsr,&UsrDat,false,Rol_UNK);
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"2\" class=\"COLOR%u\"></td>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"COLOR%u\"></td>"
"<td colspan=\"%u\" class=\"COLOR%u\">",
Gbl.RowEvenOdd,
Usr_NUM_MAIN_FIELDS_DATA_USR-2,
@ -336,8 +336,8 @@ static void Dup_ListSimilarUsrs (void)
fprintf (Gbl.F.Out,"</td>"
"</tr>");
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"2\" class=\"COLOR%u\"></td>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"COLOR%u\"></td>"
"<td colspan=\"%u\" class=\"LEFT_TOP COLOR%u\""
" style=\"padding-bottom:20px;\">",
Gbl.RowEvenOdd,

View File

@ -928,8 +928,8 @@ static void Enr_PutAreaToEnterUsrsIDs (void)
/***** Text area for users' IDs *****/
Tbl_StartTableCenterPadding (2);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"UsrsIDs\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_TOP\">"
@ -2294,8 +2294,8 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
Tbl_StartTableWideMarginPadding (2);
/* Scope (whole platform, current centre, current degree or current course) */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"ScopeEnr\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">",
@ -2305,8 +2305,8 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
"</tr>");
/* Users' roles in listing */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label class=\"%s\">%s:</label>"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">",
@ -2861,8 +2861,8 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
DesiredRole == Rol_TCH))
{
/***** Number *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP\">"
"%lu"
"</td>",
NumReqs - NumReq);

View File

@ -1044,8 +1044,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
ClassExaAnnouncement[TypeViewExamAnnouncement][Gbl.ExamAnns.ExaDat.Status]);
/***** Institution logo *****/
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"2\" class=\"CENTER_MIDDLE\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"CENTER_MIDDLE\">");
if (TypeViewExamAnnouncement == Exa_PRINT_VIEW)
fprintf (Gbl.F.Out,"<span class=\"%s\">",StyleTitle);
else
@ -1060,8 +1060,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
"</a>");
/***** Degree *****/
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"2\" class=\"%s CENTER_MIDDLE\">",
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"%s CENTER_MIDDLE\">",
StyleTitle);
if (TypeViewExamAnnouncement == Exa_NORMAL_VIEW)
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"%s\">",
@ -1073,23 +1073,23 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
"</tr>");
/***** Title *****/
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"2\" class=\"%s CENTER_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"%s CENTER_MIDDLE\">"
"&nbsp;<br />"
"<strong>%s</strong>"
"</td>"
"</tr>",
StyleNormal,Txt_EXAM_ANNOUNCEMENT);
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"2\" class=\"%s LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"%s LEFT_MIDDLE\">"
"&nbsp;"
"</td>"
"</tr>",
StyleNormal);
/***** Name of the course *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_BOTTOM\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_BOTTOM\">"
"<label for=\"CrsName\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"%s LEFT_BOTTOM\">",
@ -1109,8 +1109,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
"</tr>");
/***** Year/semester (N.A., 1º, 2º, 3º, 4º, 5º...) *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_BOTTOM\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_BOTTOM\">"
"<label for=\"Year\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"%s LEFT_BOTTOM\">",
@ -1141,8 +1141,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
"</tr>");
/***** Exam session *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_BOTTOM\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_BOTTOM\">"
"<label for=\"ExamSession\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"%s LEFT_BOTTOM\">",
@ -1160,8 +1160,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
"</tr>");
/***** Date of the exam *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_BOTTOM\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_BOTTOM\">"
"%s:"
"</td>",
StyleForm,
@ -1188,8 +1188,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
fprintf (Gbl.F.Out,"</tr>");
/***** Start time *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_BOTTOM\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_BOTTOM\">"
"%s:"
"</td>"
"<td class=\"%s LEFT_BOTTOM\">",
@ -1234,8 +1234,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
"</tr>");
/***** Approximate duration of the exam *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_BOTTOM\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_BOTTOM\">"
"%s:"
"</td>"
"<td class=\"%s LEFT_BOTTOM\">",
@ -1300,8 +1300,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
"</tr>");
/***** Place where the exam will be made *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"Place\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"%s LEFT_TOP\">",
@ -1325,8 +1325,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
"</tr>");
/***** Exam mode *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"ExamMode\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"%s LEFT_TOP\">",
@ -1350,8 +1350,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
"</tr>");
/***** Structure of the exam *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"Structure\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"%s LEFT_TOP\">",
@ -1375,8 +1375,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
"</tr>");
/***** Documentation required *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"DocRequired\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"%s LEFT_TOP\">",
@ -1400,8 +1400,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
"</tr>");
/***** Material required *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"MatRequired\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"%s LEFT_TOP\">",
@ -1425,8 +1425,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
"</tr>");
/***** Material allowed *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"MatAllowed\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"%s LEFT_TOP\">",
@ -1450,8 +1450,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
"</tr>");
/***** Other information to students *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"OtherInfo\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"%s LEFT_TOP\">",

View File

@ -371,8 +371,8 @@ static void Fig_GetAndShowUsersStats (void)
Hlp_ANALYTICS_Figures_users,Box_NOT_CLOSABLE,2);
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"RIGHT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -394,8 +394,8 @@ static void Fig_GetAndShowUsersStats (void)
Fig_GetAndShowNumUsrsInCrss (Rol_NET); // Non-editing teachers
Fig_GetAndShowNumUsrsInCrss (Rol_TCH); // Teachers
Fig_GetAndShowNumUsrsInCrss (Rol_UNK); // Any user in courses
fprintf (Gbl.F.Out,"<tr>"
"<th colspan=\"4\" style=\"height:10px;\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th colspan=\"4\" style=\"height:10px;\">"
"</tr>");
Fig_GetAndShowNumUsrsNotBelongingToAnyCrs (); // Users not beloging to any course
@ -433,8 +433,8 @@ static void Fig_GetAndShowNumUsrsInCrss (Rol_Role_t Role)
NumUsrsPerCrs = Usr_GetNumUsrsPerCrs (Role);
/***** Write the total number of users *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s\">"
"%s"
"</td>"
"<td class=\"%s\">"
@ -464,8 +464,8 @@ static void Fig_GetAndShowNumUsrsNotBelongingToAnyCrs (void)
char *Class = "DAT RIGHT_BOTTOM";
/***** Write the total number of users not belonging to any course *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s\">"
"%s"
"</td>"
"<td class=\"%s\">"
@ -505,8 +505,8 @@ static void Fig_GetAndShowUsersRanking (void)
Hlp_ANALYTICS_Figures_ranking,Box_NOT_CLOSABLE,2);
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"CENTER_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"CENTER_MIDDLE\">"
"%s"
"</th>"
"<th class=\"CENTER_MIDDLE\">"
@ -537,8 +537,8 @@ static void Fig_GetAndShowUsersRanking (void)
Txt_Messages);
/***** Rankings *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT LEFT_TOP\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">");
Prf_GetAndShowRankingClicks ();
fprintf (Gbl.F.Out,"</td>"
"<td class=\"DAT LEFT_TOP\">");
@ -607,8 +607,8 @@ static void Fig_WriteHeadHierarchy (void)
extern const char *Txt_Degrees;
extern const char *Txt_Courses;
fprintf (Gbl.F.Out,"<tr>"
"<th></th>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th></th>"
"<th class=\"RIGHT_MIDDLE\">"
"<img src=\"%s/globe.svg\""
" alt=\"%s\" title=\"%s\""
@ -999,8 +999,8 @@ static void Fig_ShowHierarchyRow (const char *Text1,const char *Text2,
int NumCrss) // < 0 ==> do not show number
{
/***** Start row and write text *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s%s"
"</td>",
ClassTxt,Text1,Text2);
@ -1468,8 +1468,8 @@ static void Fig_ShowInss (MYSQL_RES **mysql_res,unsigned NumInss,
break;
case Usr_LIST_AS_LISTING:
/***** Draw institutions as a list *****/
fprintf (Gbl.F.Out,"<tr>"
"<th></th>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th></th>"
"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
@ -1490,8 +1490,8 @@ static void Fig_ShowInss (MYSQL_RES **mysql_res,unsigned NumInss,
/***** Number of order *****/
if (NumberThisRow != NumberLastRow)
NumOrder = NumIns;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u"
"</td>",
NumOrder);
@ -2499,8 +2499,8 @@ static void Fig_WriteStatsExpTreesTableHead1 (void)
extern const char *Txt_Files;
extern const char *Txt_Size;
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -2543,8 +2543,8 @@ static void Fig_WriteStatsExpTreesTableHead2 (void)
extern const char *Txt_Size;
extern const char *Txt_course;
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -2571,8 +2571,8 @@ static void Fig_WriteStatsExpTreesTableHead3 (void)
extern const char *Txt_Size;
extern const char *Txt_user[Usr_NUM_SEXS];
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -2632,8 +2632,8 @@ static void Fig_WriteRowStatsFileBrowsers1 (const char *NameOfFileZones,
"%d",
SizeOfFileZones->NumUsrs);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE\">"
"%s"
"</td>"
"<td class=\"%s RIGHT_MIDDLE\">"
@ -2706,8 +2706,8 @@ static void Fig_WriteRowStatsFileBrowsers2 (const char *NameOfFileZones,
FileSizePerCrsStr);
}
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE\">"
"%s"
"</td>"
"<td class=\"%s RIGHT_MIDDLE\">"
@ -2764,8 +2764,8 @@ static void Fig_WriteRowStatsFileBrowsers3 (const char *NameOfFileZones,
FileSizePerUsrStr);
}
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE\">"
"%s"
"</td>"
"<td class=\"%s RIGHT_MIDDLE\">"
@ -2804,8 +2804,8 @@ static void Fig_GetAndShowOERsStats (void)
Hlp_ANALYTICS_Figures_open_educational_resources_oer,Box_NOT_CLOSABLE,2);
/***** Write table heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -2825,8 +2825,8 @@ static void Fig_GetAndShowOERsStats (void)
{
Fig_GetNumberOfOERsFromDB (Gbl.Scope.Current,License,NumFiles);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%s"
"</td>"
"<td class=\"DAT RIGHT_MIDDLE\">"
@ -3004,8 +3004,8 @@ static void Fig_GetAndShowAssignmentsStats (void)
Hlp_ANALYTICS_Figures_assignments,Box_NOT_CLOSABLE,2);
/***** Write table heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"RIGHT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -3024,8 +3024,8 @@ static void Fig_GetAndShowAssignmentsStats (void)
Txt_Number_of_BR_notifications);
/***** Write number of assignments *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u"
"</td>"
"<td class=\"DAT RIGHT_MIDDLE\">"
@ -3072,8 +3072,8 @@ static void Fig_GetAndShowProjectsStats (void)
Hlp_ANALYTICS_Figures_projects,Box_NOT_CLOSABLE,2);
/***** Write table heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"RIGHT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -3088,8 +3088,8 @@ static void Fig_GetAndShowProjectsStats (void)
Txt_Average_number_BR_of_projects_BR_per_course);
/***** Write number of projects *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u"
"</td>"
"<td class=\"DAT RIGHT_MIDDLE\">"
@ -3134,8 +3134,8 @@ static void Fig_GetAndShowTestsStats (void)
Hlp_ANALYTICS_Figures_tests,Box_NOT_CLOSABLE,2);
/***** Write table heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -3181,8 +3181,8 @@ static void Fig_GetAndShowTestsStats (void)
Tst_GetTestStats (AnsType,&Stats);
/***** Write number of assignments *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%s"
"</td>"
"<td class=\"DAT RIGHT_MIDDLE\">"
@ -3228,8 +3228,8 @@ static void Fig_GetAndShowTestsStats (void)
Tst_GetTestStats (Tst_ANS_ALL,&Stats);
/***** Write number of assignments *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT_N_LINE_TOP LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP LEFT_MIDDLE\">"
"%s"
"</td>"
"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE\">"
@ -3299,8 +3299,8 @@ static void Fig_GetAndShowGamesStats (void)
Hlp_ANALYTICS_Figures_games,Box_NOT_CLOSABLE,2);
/***** Write table heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"RIGHT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -3315,8 +3315,8 @@ static void Fig_GetAndShowGamesStats (void)
Txt_Average_number_BR_of_games_BR_per_course);
/***** Write number of games *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u"
"</td>"
"<td class=\"DAT RIGHT_MIDDLE\">"
@ -3362,8 +3362,8 @@ static void Fig_GetAndShowSocialActivityStats (void)
Hlp_ANALYTICS_Figures_timeline,Box_NOT_CLOSABLE,2);
/***** Heading row *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -3499,8 +3499,8 @@ static void Fig_GetAndShowSocialActivityStats (void)
DB_FreeMySQLResult (&mysql_res);
/***** Write number of social notes and number of users *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%s"
"</td>"
"<td class=\"DAT RIGHT_MIDDLE\">"
@ -3617,8 +3617,8 @@ static void Fig_GetAndShowSocialActivityStats (void)
DB_FreeMySQLResult (&mysql_res);
/* Write totals */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT_N_LINE_TOP LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP LEFT_MIDDLE\">"
"%s"
"</td>"
"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE\">"
@ -3677,8 +3677,8 @@ static void Fig_GetAndShowFollowStats (void)
Hlp_ANALYTICS_Figures_followed_followers,Box_NOT_CLOSABLE,2);
/***** Heading row *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -3790,8 +3790,8 @@ static void Fig_GetAndShowFollowStats (void)
}
/***** Write number of followed / followers *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%s"
"</td>"
"<td class=\"DAT RIGHT_MIDDLE\">"
@ -3919,8 +3919,8 @@ static void Fig_GetAndShowFollowStats (void)
DB_FreeMySQLResult (&mysql_res);
/***** Write number of followed per follower *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%s"
"</td>"
"<td class=\"DAT RIGHT_MIDDLE\">"
@ -3967,8 +3967,8 @@ static void Fig_GetAndShowForumStats (void)
Hlp_ANALYTICS_Figures_forums,Box_NOT_CLOSABLE,2);
/***** Write table heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_TOP\" style=\"width:20px;\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_TOP\" style=\"width:20px;\">"
"<img src=\"%s/comments.svg\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO16x16\" />"
@ -4195,8 +4195,8 @@ static void Fig_WriteForumTitleAndStats (For_ForumType_t ForumType,
FiguresForum->NumUsrsToBeNotifiedByEMail += NumUsrsToBeNotifiedByEMail;
/***** Write forum name and stats *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LEFT_TOP\" style=\"width:20px;\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\" style=\"width:20px;\">"
"<img src=\"%s/%s\""
" alt=\"%s%s\" title=\"%s%s\""
" class=\"ICO16x16\" />"
@ -4254,8 +4254,8 @@ static void Fig_WriteForumTotalStats (struct Fig_FiguresForum *FiguresForum)
0.0);
/***** Write forum name and stats *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT_N_LINE_TOP\" style=\"width:20px;\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP\" style=\"width:20px;\">"
"</td>"
"<td class=\"DAT_N_LINE_TOP LEFT_MIDDLE\">"
"%s"
@ -4324,8 +4324,8 @@ static void Fig_GetAndShowNumUsrsPerNotifyEvent (void)
Hlp_ANALYTICS_Figures_notifications,Box_NOT_CLOSABLE,2);
/***** Heading row *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -4470,8 +4470,9 @@ static void Fig_GetAndShowNumUsrsPerNotifyEvent (void)
for (NotifyEvent = (Ntf_NotifyEvent_t) 1;
NotifyEvent < Ntf_NUM_NOTIFY_EVENTS;
NotifyEvent++) // 0 is reserved for Ntf_EVENT_UNKNOWN
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT LEFT_MIDDLE\">"
{
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%s"
"</td>"
"<td class=\"DAT RIGHT_MIDDLE\">"
@ -4494,10 +4495,11 @@ static void Fig_GetAndShowNumUsrsPerNotifyEvent (void)
0.0,
NumEvents[NotifyEvent],
NumMails[NotifyEvent]);
}
/***** Write total number of users who want to be notified by email on some event *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT_N_LINE_TOP LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP LEFT_MIDDLE\">"
"%s"
"</td>"
"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE\">"
@ -4563,8 +4565,8 @@ static void Fig_GetAndShowNoticesStats (void)
Hlp_ANALYTICS_Figures_notices,Box_NOT_CLOSABLE,2);
/***** Write table heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"RIGHT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -4587,8 +4589,8 @@ static void Fig_GetAndShowNoticesStats (void)
Txt_Number_of_BR_notifications);
/***** Write number of notices *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u"
"</td>"
"<td class=\"DAT RIGHT_MIDDLE\">"
@ -4646,8 +4648,8 @@ static void Fig_GetAndShowMsgsStats (void)
Hlp_ANALYTICS_Figures_messages,Box_NOT_CLOSABLE,2);
/***** Write table heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -4670,8 +4672,8 @@ static void Fig_GetAndShowMsgsStats (void)
Txt_Number_of_BR_notifications);
/***** Write number of messages *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%s"
"</td>"
"<td class=\"DAT RIGHT_MIDDLE\">"
@ -4686,9 +4688,14 @@ static void Fig_GetAndShowMsgsStats (void)
"<td class=\"DAT RIGHT_MIDDLE\">"
"-"
"</td>"
"</tr>"
"<tr>"
"<td class=\"DAT LEFT_MIDDLE\">"
"</tr>",
Txt_MSGS_Sent,
NumMsgsSentNotDeleted,
NumMsgsSentDeleted,
NumMsgsSentNotDeleted + NumMsgsSentDeleted);
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%s"
"</td>"
"<td class=\"DAT RIGHT_MIDDLE\">"
@ -4704,10 +4711,7 @@ static void Fig_GetAndShowMsgsStats (void)
"%u"
"</td>"
"</tr>",
Txt_MSGS_Sent,
NumMsgsSentNotDeleted,
NumMsgsSentDeleted,
NumMsgsSentNotDeleted + NumMsgsSentDeleted,
Txt_MSGS_Received,
NumMsgsReceivedNotDeleted,
NumMsgsReceivedAndDeleted,
@ -4750,8 +4754,8 @@ static void Fig_GetAndShowSurveysStats (void)
Hlp_ANALYTICS_Figures_surveys,Box_NOT_CLOSABLE,2);
/***** Write table heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"RIGHT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -4774,8 +4778,8 @@ static void Fig_GetAndShowSurveysStats (void)
Txt_Number_of_BR_notifications);
/***** Write number of surveys *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u"
"</td>"
"<td class=\"DAT RIGHT_MIDDLE\">"
@ -4852,8 +4856,8 @@ static void Fig_GetAndShowNumUsrsPerPrivacyForAnObject (const char *TxtObject,
unsigned NumUsrsTotal = 0;
/***** Heading row *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -4889,8 +4893,9 @@ static void Fig_GetAndShowNumUsrsPerPrivacyForAnObject (const char *TxtObject,
Visibility < Pri_NUM_OPTIONS_PRIVACY;
Visibility++)
if (MaskAllowedVisibility & (1 << Visibility))
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT LEFT_MIDDLE\">"
{
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%s"
"</td>"
"<td class=\"DAT RIGHT_MIDDLE\">"
@ -4904,6 +4909,7 @@ static void Fig_GetAndShowNumUsrsPerPrivacyForAnObject (const char *TxtObject,
NumUsrsTotal ? (float) NumUsrs[Visibility] * 100.0 /
(float) NumUsrsTotal :
0);
}
}
/*****************************************************************************/
@ -4943,8 +4949,8 @@ static void Fig_GetAndShowNumUsrsPerCookies (void)
Hlp_ANALYTICS_Figures_cookies,Box_NOT_CLOSABLE,2);
/***** Heading row *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -4978,8 +4984,9 @@ static void Fig_GetAndShowNumUsrsPerCookies (void)
for (i = 0;
i < 2;
i++)
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s CENTER_MIDDLE\">"
{
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE\">"
"%s"
"</td>"
"<td class=\"DAT RIGHT_MIDDLE\">"
@ -4995,6 +5002,7 @@ static void Fig_GetAndShowNumUsrsPerCookies (void)
NumUsrsTotal ? (float) NumUsrs[i] * 100.0 /
(float) NumUsrsTotal :
0);
}
/***** End table and box *****/
Box_EndBoxTable ();
@ -5023,8 +5031,8 @@ static void Fig_GetAndShowNumUsrsPerLanguage (void)
Hlp_ANALYTICS_Figures_language,Box_NOT_CLOSABLE,2);
/***** Heading row *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -5058,8 +5066,9 @@ static void Fig_GetAndShowNumUsrsPerLanguage (void)
for (Lan = (Lan_Language_t) 1;
Lan <= Lan_NUM_LANGUAGES;
Lan++)
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT LEFT_MIDDLE\">"
{
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%s"
"</td>"
"<td class=\"DAT RIGHT_MIDDLE\">"
@ -5073,6 +5082,7 @@ static void Fig_GetAndShowNumUsrsPerLanguage (void)
NumUsrsTotal ? (float) NumUsrs[Lan] * 100.0 /
(float) NumUsrsTotal :
0);
}
/***** End table and box *****/
Box_EndBoxTable ();
@ -5102,8 +5112,8 @@ static void Fig_GetAndShowNumUsrsPerFirstDayOfWeek (void)
Hlp_ANALYTICS_Figures_calendar,Box_NOT_CLOSABLE,2);
/***** Heading row *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -5139,8 +5149,9 @@ static void Fig_GetAndShowNumUsrsPerFirstDayOfWeek (void)
FirstDayOfWeek <= 6; // Sunday
FirstDayOfWeek++)
if (Cal_DayIsValidAsFirstDayOfWeek[FirstDayOfWeek])
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"CENTER_MIDDLE\">"
{
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
"<img src=\"%s/first-day-of-week-%u.png\""
" alt=\"%s\" title=\"%s: %s\""
" class=\"ICO40x40\" />"
@ -5159,6 +5170,7 @@ static void Fig_GetAndShowNumUsrsPerFirstDayOfWeek (void)
NumUsrsTotal ? (float) NumUsrs[FirstDayOfWeek] * 100.0 /
(float) NumUsrsTotal :
0);
}
/***** End table and box *****/
Box_EndBoxTable ();
@ -5185,8 +5197,8 @@ static void Fig_GetAndShowNumUsrsPerDateFormat (void)
Hlp_ANALYTICS_Figures_dates,Box_NOT_CLOSABLE,2);
/***** Heading row *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -5221,8 +5233,8 @@ static void Fig_GetAndShowNumUsrsPerDateFormat (void)
Format <= (Dat_Format_t) (Dat_NUM_OPTIONS_FORMAT - 1);
Format++)
{
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT_N LEFT_MIDDLE\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N LEFT_MIDDLE\">");
Dat_PutSpanDateFormat (Format);
Dat_PutScriptDateFormat (Format);
fprintf (Gbl.F.Out,"</td>"
@ -5266,8 +5278,8 @@ static void Fig_GetAndShowNumUsrsPerIconSet (void)
Hlp_ANALYTICS_Figures_icons,Box_NOT_CLOSABLE,2);
/***** Heading row *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -5301,8 +5313,9 @@ static void Fig_GetAndShowNumUsrsPerIconSet (void)
for (IconSet = (Ico_IconSet_t) 0;
IconSet < Ico_NUM_ICON_SETS;
IconSet++)
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LEFT_MIDDLE\">"
{
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<img src=\"%s/%s/cog.svg\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO40x40\" />"
@ -5322,6 +5335,7 @@ static void Fig_GetAndShowNumUsrsPerIconSet (void)
NumUsrsTotal ? (float) NumUsrs[IconSet] * 100.0 /
(float) NumUsrsTotal :
0);
}
/***** End table and box *****/
Box_EndBoxTable ();
@ -5350,8 +5364,8 @@ static void Fig_GetAndShowNumUsrsPerMenu (void)
Hlp_ANALYTICS_Figures_menu,Box_NOT_CLOSABLE,2);
/***** Heading row *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -5385,8 +5399,9 @@ static void Fig_GetAndShowNumUsrsPerMenu (void)
for (Menu = (Mnu_Menu_t) 0;
Menu < Mnu_NUM_MENUS;
Menu++)
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"CENTER_MIDDLE\">"
{
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
"<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO40x40\" />"
@ -5405,6 +5420,7 @@ static void Fig_GetAndShowNumUsrsPerMenu (void)
NumUsrsTotal ? (float) NumUsrs[Menu] * 100.0 /
(float) NumUsrsTotal :
0);
}
/***** End table and box *****/
Box_EndBoxTable ();
@ -5433,8 +5449,8 @@ static void Fig_GetAndShowNumUsrsPerTheme (void)
Hlp_ANALYTICS_Figures_theme,Box_NOT_CLOSABLE,2);
/***** Heading row *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -5468,8 +5484,9 @@ static void Fig_GetAndShowNumUsrsPerTheme (void)
for (Theme = (The_Theme_t) 0;
Theme < The_NUM_THEMES;
Theme++)
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"CENTER_MIDDLE\">"
{
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
"<img src=\"%s/%s/theme_32x20.gif\""
" alt=\"%s\" title=\"%s\""
" style=\"width:40px; height:25px;\" />"
@ -5488,6 +5505,7 @@ static void Fig_GetAndShowNumUsrsPerTheme (void)
NumUsrsTotal ? (float) NumUsrs[Theme] * 100.0 /
(float) NumUsrsTotal :
0);
}
/***** End table and box *****/
Box_EndBoxTable ();
@ -5515,8 +5533,8 @@ static void Fig_GetAndShowNumUsrsPerSideColumns (void)
Hlp_ANALYTICS_Figures_columns,Box_NOT_CLOSABLE,2);
/***** Heading row *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"CENTER_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"CENTER_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -5550,8 +5568,9 @@ static void Fig_GetAndShowNumUsrsPerSideColumns (void)
for (SideCols = 0;
SideCols <= Lay_SHOW_BOTH_COLUMNS;
SideCols++)
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"CENTER_MIDDLE\">"
{
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
"<img src=\"%s/layout%u%u_32x20.gif\""
" alt=\"%s\" title=\"%s\""
" style=\"width:40px; height:25px;\" />"
@ -5570,6 +5589,7 @@ static void Fig_GetAndShowNumUsrsPerSideColumns (void)
NumUsrsTotal ? (float) NumUsrs[SideCols] * 100.0 /
(float) NumUsrsTotal :
0);
}
/***** End table and box *****/
Box_EndBoxTable ();

View File

@ -8507,8 +8507,8 @@ static void Brw_PutFormToCreateALink (const char *FileNameToShow)
/***** URL *****/
Tbl_StartTable ();
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"NewLinkURL\" class=\"%s\">"
"%s:&nbsp;"
"</label>"
@ -8524,8 +8524,8 @@ static void Brw_PutFormToCreateALink (const char *FileNameToShow)
PATH_MAX);
/***** Link name *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"NewLinkName\" class=\"%s\">"
"%s&nbsp;(%s):&nbsp;"
"</label>"
@ -9494,16 +9494,16 @@ void Brw_ShowFileMetadata (void)
Box_StartBoxTableShadow (NULL,NULL,NULL,NULL,2);
/***** Link to download the file *****/
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"2\""
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\""
" class=\"FILENAME_TXT CENTER_MIDDLE\">");
Brw_WriteBigLinkToDownloadFile (URL,&FileMetadata,FileNameToShow);
fprintf (Gbl.F.Out,"</td>"
"</tr>");
/***** Filename *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">",
@ -9513,8 +9513,8 @@ void Brw_ShowFileMetadata (void)
"</tr>");
/***** Publisher's data *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">",
@ -9543,8 +9543,8 @@ void Brw_ShowFileMetadata (void)
/***** Write the file size *****/
Fil_WriteFileSizeFull ((double) FileMetadata.Size,FileSizeStr);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
@ -9556,8 +9556,8 @@ void Brw_ShowFileMetadata (void)
FileSizeStr);
/***** Write the date *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td id=\"filedate\" class=\"DAT LEFT_MIDDLE\">"
@ -9573,8 +9573,8 @@ void Brw_ShowFileMetadata (void)
(unsigned) Gbl.Prefs.DateFormat,Txt_Today);
/***** Private or public? *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"PublicFile\" class=\"%s\">"
"%s:"
"</label>"
@ -9605,8 +9605,8 @@ void Brw_ShowFileMetadata (void)
"</tr>");
/***** License *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"License\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">",
@ -9633,8 +9633,9 @@ void Brw_ShowFileMetadata (void)
/***** Write my number of views *****/
if (Gbl.Usrs.Me.Logged)
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
{
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
@ -9643,10 +9644,11 @@ void Brw_ShowFileMetadata (void)
"</tr>",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_My_views,
FileMetadata.NumMyViews);
}
/***** Write number of identificated views *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
@ -9660,8 +9662,8 @@ void Brw_ShowFileMetadata (void)
Txt_users[Usr_SEX_UNKNOWN]);
/***** Write number of public views *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
@ -11781,8 +11783,8 @@ void Brw_ListDocsFound (MYSQL_RES **mysql_res,unsigned long NumDocs,
NULL,Box_NOT_CLOSABLE,2);
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"BM\"></th>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"BM\"></th>"
"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
@ -11823,8 +11825,8 @@ void Brw_ListDocsFound (MYSQL_RES **mysql_res,unsigned long NumDocs,
/***** Write footer *****/
/* Number of documents not hidden found */
fprintf (Gbl.F.Out,"<tr>"
"<th colspan=\"7\" class=\"CENTER_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th colspan=\"7\" class=\"CENTER_MIDDLE\">"
"(");
NumDocsHidden = NumDocs - NumDocsNotHidden;
if (NumDocsHidden == 1)
@ -11918,8 +11920,8 @@ static void Brw_WriteRowDocData (unsigned long *NumDocsNotHidden,MYSQL_ROW row)
Gbl.ColorRows[Gbl.RowEvenOdd];
/***** Write number of document in this search *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT RIGHT_TOP %s\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP %s\">"
"%lu"
"</td>",
BgColor,++(*NumDocsNotHidden));

View File

@ -898,8 +898,8 @@ static void Fol_WriteRowUsrToFollowOnRightColumn (struct UsrData *UsrDat)
bool ItsMe = Usr_ItsMe (UsrDat->UsrCod);
/***** Show user's photo *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"CON_PHOTO COLOR%u\">",
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"CON_PHOTO COLOR%u\">",
Gbl.RowEvenOdd);
if (Visible)
{

View File

@ -1175,8 +1175,8 @@ static void For_ShowAForumPost (unsigned PstNum,long PstCod,
Cns_MAX_BYTES_SUBJECT);
/***** Put an icon with post status *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"CONTEXT_COL %s\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"CONTEXT_COL %s\">"
"<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO16x16\" />"
@ -1215,8 +1215,8 @@ static void For_ShowAForumPost (unsigned PstNum,long PstCod,
"</tr>");
/***** Form to ban/unban post *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"CONTEXT_COL\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"CONTEXT_COL\">");
if (ICanModerateForum)
{
Frm_StartFormAnchor (Enabled ? For_ActionsDisPstFor[Gbl.Forum.ForumSelected.Type] :
@ -2560,8 +2560,8 @@ static void For_ShowForumThreadsHighlightingOneThread (long ThrCodHighlighted,
/***** Heading row *****/
Tbl_StartTableWideMarginPadding (2);
fprintf (Gbl.F.Out,"<tr>"
"<th style=\"width:20px;\"></th>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th style=\"width:20px;\"></th>"
"<th class=\"CONTEXT_COL\"></th>" // Column for contextual icons
"<th class=\"LEFT_MIDDLE\">%s</th>",
Txt_MSG_Subject);
@ -3403,8 +3403,8 @@ static void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE],
Gbl.ColorRows[Gbl.RowEvenOdd]);
/***** Show my photo if I have any posts in this thread *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"CENTER_TOP %s\" style=\"width:20px;\">",
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"CENTER_TOP %s\" style=\"width:20px;\">",
BgColor);
if (Thr.NumMyPosts)
{
@ -3962,8 +3962,8 @@ static void For_WriteFormForumPst (bool IsReply,const char *Subject)
// If writing a reply to a message of an existing thread ==> write subject
/* Subject */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"Subject\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">"
@ -3979,8 +3979,8 @@ static void For_WriteFormForumPst (bool IsReply,const char *Subject)
"");
/* Content */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"Content\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_TOP\">"

View File

@ -1135,8 +1135,8 @@ static void Gam_PutFormsEditionGame (struct Game *Game,bool ItsANewGame)
Hlp_ASSESSMENT_Games_edit_game,Box_NOT_CLOSABLE,2);
/***** Game title *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"Title\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">"
@ -1150,8 +1150,8 @@ static void Gam_PutFormsEditionGame (struct Game *Game,bool ItsANewGame)
Gam_MAX_CHARS_TITLE,Game->Title);
/***** Game text *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"Txt\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_TOP\">"
@ -1634,8 +1634,8 @@ static void Gam_ListOneOrMoreQuestionsForEdition (long GamCod,unsigned NumQsts,
/***** Write the heading *****/
Tbl_StartTableWideMarginPadding (2);
fprintf (Gbl.F.Out,"<tr>"
"<th></th>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th></th>"
"<th class=\"CENTER_TOP\">"
"%s"
"</th>"
@ -1685,8 +1685,8 @@ static void Gam_ListOneOrMoreQuestionsForEdition (long GamCod,unsigned NumQsts,
/***** Icons *****/
Gam_SetParamCurrentGamCod (GamCod); // Used to pass parameter
Gam_CurrentQstInd = QstInd;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BT%u\">",Gbl.RowEvenOdd);
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BT%u\">",Gbl.RowEvenOdd);
/* Put icon to remove the question */
if (ICanEditQuestions)

View File

@ -1294,8 +1294,8 @@ static void Grp_ListGroupTypesForEdition (void)
NumGrpTyp++, UniqueId++)
{
/* Put icon to remove group type */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BM\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\">");
Frm_StartFormAnchor (ActReqRemGrpTyp,Grp_GROUP_TYPES_SECTION_ID);
Grp_PutParamGrpTypCod (Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].GrpTypCod);
Ico_PutIconRemove ();
@ -1364,8 +1364,8 @@ static void Grp_ListGroupTypesForEdition (void)
Frm_StartFormAnchor (ActChgTimGrpTyp,Grp_GROUP_TYPES_SECTION_ID);
Grp_PutParamGrpTypCod (Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].GrpTypCod);
Tbl_StartTableCenterPadding (2);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LEFT_MIDDLE\" style=\"width:16px;\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:16px;\">"
"<img src=\"%s/clock.svg\""
" alt=\"%s\" title=\"%s\""
" class=\"%sCONTEXT_ICO_16x16\" />"
@ -1447,8 +1447,8 @@ static void Grp_WriteHeadingGroupTypes (void)
extern const char *Txt_Opening_of_groups;
extern const char *Txt_No_of_BR_groups;
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"BM\"></th>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"BM\"></th>"
"<th class=\"CENTER_MIDDLE\">"
"%s<br />(%s)"
"</th>"
@ -1510,8 +1510,8 @@ static void Grp_ListGroupsForEdition (void)
Grp = &(GrpTyp->LstGrps[NumGrpThisType]);
/***** Icon to remove group *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BM\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\">");
Frm_StartFormAnchor (ActReqRemGrp,Grp_GROUPS_SECTION_ID);
Grp_PutParamGrpCod (Grp->GrpCod);
Ico_PutIconRemove ();
@ -1670,8 +1670,8 @@ static void Grp_WriteHeadingGroups (void)
extern const char *Txt_Max_BR_students;
Rol_Role_t Role;
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"BM\"></th>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"BM\"></th>"
"<th class=\"BM\"></th>"
"<th class=\"BM\"></th>"
"<th class=\"CENTER_MIDDLE\">"
@ -1730,8 +1730,8 @@ void Grp_ListGrpsToEditAsgAttSvyMch (struct GroupType *GrpTyp,long Cod,
IBelongToThisGroup = Grp_CheckIfGrpIsInList (Grp->GrpCod,&LstGrpsIBelong);
/* Put checkbox to select the group */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LEFT_MIDDLE");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE");
if (IBelongToThisGroup)
fprintf (Gbl.F.Out," LIGHT_BLUE");
fprintf (Gbl.F.Out,"\">"
@ -2016,8 +2016,8 @@ static bool Grp_ListGrpsForChangeMySelection (struct GroupType *GrpTyp,
IBelongToThisGroup = Grp_CheckIfGrpIsInList (Grp->GrpCod,&LstGrpsIBelong);
/* Put radio item or checkbox to select the group */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LEFT_MIDDLE");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE");
if (IBelongToThisGroup)
fprintf (Gbl.F.Out," LIGHT_BLUE");
fprintf (Gbl.F.Out,"\">");
@ -2236,8 +2236,8 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp,
}
/* Put checkbox to select the group */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LEFT_MIDDLE");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE");
if (IBelongToThisGroup)
fprintf (Gbl.F.Out," LIGHT_BLUE");
fprintf (Gbl.F.Out,"\">"
@ -2274,8 +2274,8 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp,
/* To get the students who don't belong to a type of group, use group code -(GrpTyp->GrpTypCod) */
/* Write checkbox to select the group */
ICanSelUnselGroup = (Gbl.Usrs.Me.Role.Logged >= Rol_STD);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"checkbox\" id=\"Grp%ld\" name=\"GrpCods\""
" value=\"%ld\"",
-(GrpTyp->GrpTypCod),
@ -2345,8 +2345,8 @@ static void Grp_WriteGrpHead (struct GroupType *GrpTyp)
Rol_Role_t Role;
/***** Name of group type *****/
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"9\" class=\"GRP_TITLE LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"9\" class=\"GRP_TITLE LEFT_MIDDLE\">"
"<br />%s",
GrpTyp->GrpTypName);
if (GrpTyp->MustBeOpened)
@ -2367,8 +2367,8 @@ static void Grp_WriteGrpHead (struct GroupType *GrpTyp)
"</tr>");
/***** Head row with title of each column *****/
fprintf (Gbl.F.Out,"<tr>"
"<th colspan=\"2\"></th>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th colspan=\"2\"></th>"
"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
@ -2506,8 +2506,8 @@ static void Grp_PutFormToCreateGroupType (void)
Grp_WriteHeadingGroupTypes ();
/***** Column to remove group type, disabled here *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BM\"></td>");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\"></td>");
/***** Name of group type *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
@ -2554,8 +2554,8 @@ static void Grp_PutFormToCreateGroupType (void)
/***** Open time *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
Tbl_StartTablePadding (2);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LEFT_MIDDLE\" style=\"width:20px;\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:20px;\">"
"<img src=\"%s/clock.svg\""
" alt=\"%s\" title=\"%s\""
" class=\"%sCONTEXT_ICO_16x16\" />"
@ -2623,8 +2623,8 @@ static void Grp_PutFormToCreateGroup (void)
Grp_WriteHeadingGroups ();
/***** Empty column to remove *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BM\"></td>");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\"></td>");
/***** Disabled icon to open group *****/
fprintf (Gbl.F.Out,"<td class=\"BM\">");

View File

@ -33,6 +33,7 @@
#include "swad_form.h"
#include "swad_global.h"
#include "swad_help.h"
#include "swad_table.h"
#include "swad_user.h"
/*****************************************************************************/
@ -270,8 +271,8 @@ static void Hlp_ShowRowHelpWhatWouldYouLikeToDo (const char *Description,
const char *TxtButton)
{
/***** Description *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%s:"
"</td>",
Description);

View File

@ -103,8 +103,8 @@ void Hie_WriteMenuHierarchy (void)
/***** Write a 1st selector
with all the countries *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"cty\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">",
@ -117,8 +117,8 @@ void Hie_WriteMenuHierarchy (void)
{
/***** Write a 2nd selector
with the institutions of selected country *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"ins\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">",
@ -131,8 +131,8 @@ void Hie_WriteMenuHierarchy (void)
{
/***** Write a 3rd selector
with all the centres of selected institution *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"ctr\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">",
@ -145,8 +145,8 @@ void Hie_WriteMenuHierarchy (void)
{
/***** Write a 4th selector
with all the degrees of selected centre *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"deg\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">",
@ -159,8 +159,8 @@ void Hie_WriteMenuHierarchy (void)
{
/***** Write a 5th selector
with all the courses of selected degree *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"crs\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">",

View File

@ -149,8 +149,8 @@ void Hld_SeeHolidays (void)
NumHld++)
{
/* Write data of this holiday */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%s"
"</td>",
Gbl.Hlds.Lst[NumHld].PlcCod <= 0 ? Txt_All_places :
@ -562,8 +562,8 @@ static void Hld_ListHolidaysForEdition (void)
Hld = &Gbl.Hlds.Lst[NumHld];
/* Put icon to remove holiday */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BM\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\">");
Frm_StartForm (ActRemHld);
Hld_PutParamHldCod (Hld->HldCod);
Ico_PutIconRemove ();
@ -969,8 +969,8 @@ static void Hld_PutFormToCreateHoliday (void)
Hlp_INSTITUTION_Holidays_edit,Box_NOT_CLOSABLE,2);
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"LEFT_MIDDLE\">"
@ -993,8 +993,8 @@ static void Hld_PutFormToCreateHoliday (void)
Txt_Holiday);
/***** Holiday place *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"CENTER_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
"<select name=\"PlcCod\" style=\"width:62px;\">"
"<option value=\"-1\"");
if (Hld_EditingHld->PlcCod <= 0)
@ -1072,8 +1072,8 @@ static void Hld_PutHeadHolidays (void)
extern const char *Txt_START_END_TIME[Dat_NUM_START_END_TIME];
extern const char *Txt_Holiday;
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"BM\"></th>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"BM\"></th>"
"<th class=\"RIGHT_MIDDLE\">"
"%s"
"</th>"

View File

@ -120,8 +120,8 @@ void Ind_ReqIndicatorsCourses (void)
Tbl_StartTableWidePadding (2);
/* Scope */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"ScopeInd\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">",
@ -131,8 +131,8 @@ void Ind_ReqIndicatorsCourses (void)
"</tr>");
/* Compute stats for a type of degree */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"OthDegTypCod\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">",
@ -145,8 +145,8 @@ void Ind_ReqIndicatorsCourses (void)
"</tr>");
/* Compute stats for courses with teachers belonging to any department or to a particular departament? */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"%s\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">",
@ -173,8 +173,8 @@ void Ind_ReqIndicatorsCourses (void)
Ind_GetNumCoursesWithIndicators (NumCrssWithIndicatorYes,NumCrss,mysql_res);
/* Selection of the number of indicators */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP %s\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP %s\">"
"%s:"
"</td>"
"<td class=\"LEFT_TOP\">",
@ -753,8 +753,8 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat
switch (IndicatorsLayout)
{
case Ind_INDICATORS_BRIEF:
fprintf (Gbl.F.Out,"<tr>"
"<th rowspan=\"3\" class=\"LEFT_MIDDLE COLOR0\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th rowspan=\"3\" class=\"LEFT_MIDDLE COLOR0\">"
"%s"
"</th>"
"<th rowspan=\"3\" class=\"LEFT_MIDDLE COLOR0\">"
@ -769,9 +769,15 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat
"<th colspan=\"11\" class=\"CENTER_MIDDLE COLOR0\">"
"%s"
"</th>"
"</tr>"
"<tr>"
"<th rowspan=\"2\" class=\"CENTER_TOP COLOR0\">"
"</tr>",
Txt_Degree,
Txt_Course,
Txt_Institutional_BR_code,
Txt_Web_page_of_the_course,
Txt_Indicators);
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th rowspan=\"2\" class=\"CENTER_TOP COLOR0\">"
"%s"
"</th>"
"<th colspan=\"2\" class=\"CENTER_TOP COLOR0\">"
@ -789,9 +795,16 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat
"<th colspan=\"2\" class=\"CENTER_TOP COLOR0\">"
"(E) %s"
"</th>"
"</tr>"
"<tr>"
"<th class=\"CENTER_MIDDLE COLOR0\">"
"</tr>",
Txt_No_INDEX,
Txt_Syllabus_of_the_course,
Txt_Guided_academic_assignments,
Txt_Online_tutoring,
Txt_Materials,
Txt_Assessment_criteria);
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"CENTER_MIDDLE COLOR0\">"
"%s"
"</th>"
"<th class=\"CENTER_MIDDLE COLOR0\">"
@ -822,19 +835,6 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat
"%s"
"</th>"
"</tr>",
Txt_Degree,
Txt_Course,
Txt_Institutional_BR_code,
Txt_Web_page_of_the_course,
Txt_Indicators,
Txt_No_INDEX,
Txt_Syllabus_of_the_course,
Txt_Guided_academic_assignments,
Txt_Online_tutoring,
Txt_Materials,
Txt_Assessment_criteria,
Txt_YES,
Txt_NO,
@ -851,8 +851,8 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat
Txt_NO);
break;
case Ind_INDICATORS_FULL:
fprintf (Gbl.F.Out,"<tr>"
"<th rowspan=\"3\" class=\"LEFT_MIDDLE COLOR0\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th rowspan=\"3\" class=\"LEFT_MIDDLE COLOR0\">"
"%s"
"</th>"
"<th rowspan=\"3\" class=\"LEFT_MIDDLE COLOR0\">"
@ -873,9 +873,17 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat
"<th colspan=\"24\" class=\"CENTER_MIDDLE COLOR0\">"
"%s"
"</th>"
"</tr>"
"<tr>"
"<th rowspan=\"2\" class=\"CENTER_TOP COLOR0\">"
"</tr>",
Txt_Degree,
Txt_Course,
Txt_Institutional_BR_code,
Txt_Web_page_of_the_course,
Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH],
Txt_ROLES_PLURAL_BRIEF_Abc[Rol_STD],
Txt_Indicators);
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th rowspan=\"2\" class=\"CENTER_TOP COLOR0\">"
"%s"
"</th>"
"<th colspan=\"5\" class=\"CENTER_TOP COLOR0\">"
@ -893,9 +901,16 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat
"<th colspan=\"4\" class=\"CENTER_TOP COLOR0\">"
"(E) %s"
"</th>"
"</tr>"
"<tr>"
"<th class=\"CENTER_MIDDLE COLOR0\">"
"</tr>",
Txt_No_INDEX,
Txt_Syllabus_of_the_course,
Txt_Guided_academic_assignments,
Txt_Online_tutoring,
Txt_Materials,
Txt_Assessment_criteria);
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"CENTER_MIDDLE COLOR0\">"
"%s"
"</th>"
"<th class=\"CENTER_MIDDLE COLOR0\">"
@ -965,21 +980,6 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat
"%s"
"</th>"
"</tr>",
Txt_Degree,
Txt_Course,
Txt_Institutional_BR_code,
Txt_Web_page_of_the_course,
Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH],
Txt_ROLES_PLURAL_BRIEF_Abc[Rol_STD],
Txt_Indicators,
Txt_No_INDEX,
Txt_Syllabus_of_the_course,
Txt_Guided_academic_assignments,
Txt_Online_tutoring,
Txt_Materials,
Txt_Assessment_criteria,
Txt_YES,
Txt_NO,
Txt_INFO_TITLE[Inf_LECTURES],
@ -1039,8 +1039,8 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat
switch (IndicatorsLayout)
{
case Ind_INDICATORS_BRIEF:
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
"%s"
"</td>"
"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
@ -1159,8 +1159,8 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat
NumTchs = Usr_GetNumUsrsInCrs (Rol_NET,CrsCod) + // Non-editing teachers
Usr_GetNumUsrsInCrs (Rol_TCH,CrsCod); // Teachers
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
"%s"
"</td>"
"<td class=\"%s LEFT_MIDDLE COLOR%u\">"

View File

@ -41,6 +41,7 @@
#include "swad_info.h"
#include "swad_parameter.h"
#include "swad_string.h"
#include "swad_table.h"
/*****************************************************************************/
/************** External global variables from others modules ****************/
@ -1134,8 +1135,8 @@ void Inf_FormsToSelSendInfo (void)
InfoSrc++)
{
/* Select info source */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT LEFT_TOP");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP");
if (InfoSrc == InfoSrcSelected)
fprintf (Gbl.F.Out," LIGHT_BLUE");
fprintf (Gbl.F.Out,"\">");

View File

@ -173,8 +173,8 @@ void Ins_SeeInsWithPendingCtrs (void)
Hlp_SYSTEM_Hierarchy_pending,Box_NOT_CLOSABLE,2);
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -201,8 +201,8 @@ void Ins_SeeInsWithPendingCtrs (void)
Ins_GetDataOfInstitutionByCod (&Ins,Ins_GET_BASIC_DATA);
/* Institution logo and name */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LEFT_MIDDLE %s\">",
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE %s\">",
BgColor);
Ins_DrawInstitutionLogoAndNameWithLink (&Ins,ActSeeCtr,
"DAT_NOBR","CENTER_MIDDLE");
@ -356,8 +356,8 @@ static void Ins_Configuration (bool PrintView)
Tbl_StartTableWidePadding (2);
/***** Country *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"OthCtyCod\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">",
@ -398,8 +398,8 @@ static void Ins_Configuration (bool PrintView)
"</tr>");
/***** Institution full name *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"FullName\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"DAT_N LEFT_MIDDLE\">",
@ -427,8 +427,8 @@ static void Ins_Configuration (bool PrintView)
"</tr>");
/***** Institution short name *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"ShortName\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"DAT_N LEFT_MIDDLE\">",
@ -456,8 +456,8 @@ static void Ins_Configuration (bool PrintView)
"</tr>");
/***** Institution WWW *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"WWW\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">",
@ -491,8 +491,8 @@ static void Ins_Configuration (bool PrintView)
"</tr>");
/***** Shortcut to the institution *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"LEFT_MIDDLE\">"
@ -513,8 +513,8 @@ static void Ins_Configuration (bool PrintView)
if (PrintView)
{
/***** QR code with link to the institution *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"LEFT_MIDDLE\">",
@ -527,8 +527,8 @@ static void Ins_Configuration (bool PrintView)
else
{
/***** Number of users who claim to belong to this institution *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
@ -540,8 +540,8 @@ static void Ins_Configuration (bool PrintView)
Usr_GetNumUsrsWhoClaimToBelongToIns (Gbl.Hierarchy.Ins.InsCod));
/***** Number of centres *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"LEFT_MIDDLE\">",
@ -563,8 +563,8 @@ static void Ins_Configuration (bool PrintView)
"</tr>");
/***** Number of degrees *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
@ -576,8 +576,8 @@ static void Ins_Configuration (bool PrintView)
Deg_GetNumDegsInIns (Gbl.Hierarchy.Ins.InsCod));
/***** Number of courses *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
@ -589,8 +589,8 @@ static void Ins_Configuration (bool PrintView)
Crs_GetNumCrssInIns (Gbl.Hierarchy.Ins.InsCod));
/***** Number of departments *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
@ -642,8 +642,8 @@ static void Ins_ShowNumUsrsInCrssOfIns (Rol_Role_t Role)
extern const char *Txt_Users_in_courses;
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
@ -790,8 +790,8 @@ static void Ins_ListOneInstitutionForSeeing (struct Instit *Ins,unsigned NumIns)
Gbl.ColorRows[Gbl.RowEvenOdd];
/***** Number of institution in this list *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE %s\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">"
"%u"
"</td>",
TxtClassNormal,BgColor,
@ -867,8 +867,8 @@ static void Ins_PutHeadInstitutionsForSeeing (bool OrderSelectable)
extern const char *Txt_Departments_ABBREVIATION;
Ins_Order_t Order;
fprintf (Gbl.F.Out,"<tr>"
"<th></th>");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th></th>");
for (Order = Ins_ORDER_BY_INSTITUTION;
Order <= Ins_ORDER_BY_NUM_USRS;
Order++)
@ -1483,8 +1483,8 @@ static void Ins_ListInstitutionsForEdition (void)
ICanEdit = Ins_CheckIfICanEdit (Ins);
/* Put icon to remove institution */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BM\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\">");
if (Ins->Ctrs.Num ||
Ins->NumUsrsWhoClaimToBelongToIns ||
Ins->NumUsrs || // Institution has centres or users ==> deletion forbidden
@ -2240,8 +2240,8 @@ static void Ins_PutFormToCreateInstitution (void)
Ins_PutHeadInstitutionsForEdition ();
/***** Column to remove institution, disabled here *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BM\"></td>");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\"></td>");
/***** Institution code *****/
fprintf (Gbl.F.Out,"<td class=\"CODE\"></td>");
@ -2325,8 +2325,8 @@ static void Ins_PutHeadInstitutionsForEdition (void)
extern const char *Txt_ROLES_PLURAL_BRIEF_Abc[Rol_NUM_ROLES];
extern const char *Txt_Requester;
fprintf (Gbl.F.Out,"<tr>"
"<th></th>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th></th>"
"<th class=\"RIGHT_MIDDLE\">"
"%s"
"</th>"

View File

@ -1705,8 +1705,8 @@ void Lay_AdvertisementMobile (void)
NULL,Box_NOT_CLOSABLE,8);
/***** Show advertisement *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT CENTER_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\">"
"<a href=\"https://play.google.com/store/apps/details?id=es.ugr.swad.swadroid\""
" class=\"DAT\">"
"%s<br /><br />"

View File

@ -423,8 +423,8 @@ static void Lnk_ListLinksForEdition (void)
Lnk = &Gbl.Links.Lst[NumLnk];
/* Put icon to remove link */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BM\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\">");
Frm_StartForm (ActRemLnk);
Lnk_PutParamLnkCod (Lnk->LnkCod);
Ico_PutIconRemove ();
@ -746,8 +746,8 @@ static void Lnk_PutFormToCreateLink (void)
Lnk_PutHeadLinks ();
/***** Link code *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BM\"></td>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\"></td>"
"<td></td>");
/***** Link short name *****/
@ -796,8 +796,8 @@ static void Lnk_PutHeadLinks (void)
extern const char *Txt_Full_name;
extern const char *Txt_WWW;
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"BM\"></th>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"BM\"></th>"
"<th class=\"RIGHT_MIDDLE\">"
"%s"
"</th>"

View File

@ -152,9 +152,10 @@ void Mai_SeeMailDomains (void)
for (NumMai = 0;
NumMai < Gbl.Mails.Num;
NumMai++)
{
/* Write data of this mail domain */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT LEFT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">"
"%s"
"</td>"
"<td class=\"DAT LEFT_TOP\">"
@ -167,6 +168,7 @@ void Mai_SeeMailDomains (void)
Gbl.Mails.Lst[NumMai].Domain,
Gbl.Mails.Lst[NumMai].Info,
Gbl.Mails.Lst[NumMai].NumUsrs);
}
/***** End table and box *****/
Box_EndBoxTable ();
@ -483,8 +485,8 @@ static void Mai_ListMailDomainsForEdition (void)
Mai = &Gbl.Mails.Lst[NumMai];
/* Put icon to remove mail */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BM\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\">");
Frm_StartForm (ActRemMai);
Mai_PutParamMaiCod (Mai->MaiCod);
Ico_PutIconRemove ();
@ -749,8 +751,8 @@ static void Mai_PutFormToCreateMailDomain (void)
Hlp_START_Domains_edit,Box_NOT_CLOSABLE,2);
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"LEFT_MIDDLE\">"
@ -761,8 +763,8 @@ static void Mai_PutFormToCreateMailDomain (void)
Txt_EMAIL_DOMAIN_ORDER[Mai_ORDER_BY_INFO ]);
/***** Mail domain *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"CENTER_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
"<input type=\"text\" name=\"Domain\""
" size=\"15\" maxlength=\"%u\" value=\"%s\""
" required=\"required\" />"
@ -796,8 +798,8 @@ static void Mai_PutHeadMailDomains (void)
extern const char *Txt_Code;
extern const char *Txt_EMAIL_DOMAIN_ORDER[3];
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"BM\"></th>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"BM\"></th>"
"<th class=\"RIGHT_MIDDLE\">"
"%s"
"</th>"
@ -1270,9 +1272,10 @@ static void Mai_ShowFormChangeUsrEmail (const struct UsrData *UsrDat,bool ItsMe,
Confirmed = (row[1][0] == 'Y');
if (NumEmail == 1)
{
/* The first mail is the current one */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_TOP\">"
"<label for=\"Email\" class=\"%s\">"
"%s:"
"</label>"
@ -1280,6 +1283,7 @@ static void Mai_ShowFormChangeUsrEmail (const struct UsrData *UsrDat,bool ItsMe,
"<td class=\"REC_C2_BOT LEFT_TOP USR_ID\">",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Current_email);
}
else // NumEmail >= 2
{
Tbl_StartRow ();
@ -1375,8 +1379,8 @@ static void Mai_ShowFormChangeUsrEmail (const struct UsrData *UsrDat,bool ItsMe,
}
/***** Form to enter new email *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_TOP\">"
"<label for=\"NewEmail\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"REC_C2_BOT LEFT_TOP DAT\">",

View File

@ -1194,8 +1194,8 @@ static void Mch_PutFormNewMatch (struct Game *Game)
Hlp_ASSESSMENT_Games_matches,Box_NOT_CLOSABLE,2);
/***** Match title *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"Title\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">"
@ -1249,8 +1249,8 @@ static void Mch_ShowLstGrpsToCreateMatch (void)
if (Gbl.Crs.Grps.GrpTypes.Num)
{
/***** Start box and table *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">"
"%s:"
"</td>"
"<td class=\"LEFT_TOP\">",
@ -1260,8 +1260,8 @@ static void Mch_ShowLstGrpsToCreateMatch (void)
NULL,Box_NOT_CLOSABLE,0);
/***** First row: checkbox to select the whole course *****/
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"7\" class=\"DAT LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"7\" class=\"DAT LEFT_MIDDLE\">"
"<label>"
"<input type=\"checkbox\""
" id=\"WholeCrs\" name=\"WholeCrs\" value=\"Y\""

View File

@ -205,8 +205,8 @@ void McR_SelUsrsToViewUsrsMchResults (void)
/***** Put list of users to select some of them *****/
Tbl_StartTableCenterPadding (2);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">"
"%s:"
"</td>"
"<td colspan=\"2\" class=\"%s LEFT_TOP\">",
@ -325,8 +325,8 @@ static void McR_ShowHeaderMchResults (Usr_MeOrOther_t MeOrOther)
extern const char *Txt_Score;
extern const char *Txt_out_of_PART_OF_A_SCORE;
fprintf (Gbl.F.Out,"<tr>"
"<th colspan=\"2\" class=\"CENTER_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th colspan=\"2\" class=\"CENTER_TOP\">"
"%s"
"</th>"
"<th class=\"LEFT_TOP\">"
@ -783,8 +783,8 @@ void McR_ShowOneMchResult (void)
Act_NoPermissionExit ();
/* User */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT_N RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_TOP\">",
@ -810,8 +810,9 @@ void McR_ShowOneMchResult (void)
for (StartEndTime = (Dat_StartEndTime_t) 0;
StartEndTime <= (Dat_StartEndTime_t) (Dat_NUM_START_END_TIME - 1);
StartEndTime++)
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT_N RIGHT_TOP\">"
{
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\">"
"%s:"
"</td>"
"<td id=\"match_%u\" class=\"DAT LEFT_TOP\">"
@ -826,10 +827,11 @@ void McR_ShowOneMchResult (void)
(unsigned) StartEndTime,
TimeUTC[StartEndTime],
(unsigned) Gbl.Prefs.DateFormat,Txt_Today);
}
/* Number of questions */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT_N RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_TOP\">"
@ -840,8 +842,8 @@ void McR_ShowOneMchResult (void)
NumQsts,NumQstsNotBlank,Txt_non_blank_QUESTIONS);
/* Score */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT_N RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_TOP\">",
@ -858,8 +860,8 @@ void McR_ShowOneMchResult (void)
Txt_out_of_PART_OF_A_SCORE,Tst_SCORE_MAX);
/* Tags present in this result */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT_N RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_TOP\">",

View File

@ -290,8 +290,8 @@ static void Msg_PutFormMsgUsrs (char Content[Cns_MAX_BYTES_LONG_TEXT + 1])
Tbl_StartTableCenterPadding (2);
/***** "To:" section (recipients) *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">"
"%s:"
"</td>"
"<td class=\"LEFT_TOP\">",
@ -479,8 +479,8 @@ static void Msg_WriteFormUsrsIDsOrNicksOtherRecipients (void)
Colspan = 1;
/***** Title *****/
fprintf (Gbl.F.Out,"<tr>"
"<th");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th");
if (Colspan > 1)
fprintf (Gbl.F.Out," colspan=\"%u\"",Colspan);
fprintf (Gbl.F.Out," class=\"LEFT_MIDDLE LIGHT_BLUE\">"
@ -491,8 +491,8 @@ static void Msg_WriteFormUsrsIDsOrNicksOtherRecipients (void)
Txt_Recipients);
/***** Textarea with users' @nicknames, emails or IDs *****/
fprintf (Gbl.F.Out,"<tr>"
"<td");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td");
if (Colspan > 1)
fprintf (Gbl.F.Out," colspan=\"%u\"",Colspan);
fprintf (Gbl.F.Out," class=\"LEFT_MIDDLE\">"
@ -532,8 +532,8 @@ static void Msg_WriteFormSubjectAndContentMsgToUsrs (char Content[Cns_MAX_BYTES_
MsgCod = Msg_GetParamMsgCod ();
/***** Message subject *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"MsgSubject\" class=\"%s\">"
"%s:"
"</label>"
@ -582,8 +582,8 @@ static void Msg_WriteFormSubjectAndContentMsgToUsrs (char Content[Cns_MAX_BYTES_
Gbl.Msg.Subject);
/***** Message content *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"MsgContent\" class=\"%s\">"
"%s:"
"</label>"
@ -614,8 +614,8 @@ static void Msg_WriteFormSubjectAndContentMsgToUsrs (char Content[Cns_MAX_BYTES_
Gbl.Msg.Subject);
/***** Message content *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"MsgContent\" class=\"%s\">"
"%s:"
"</label>"
@ -2645,8 +2645,8 @@ void Msg_ShowFormToFilterMsgs (void)
Tbl_StartTableCenterPadding (2);
/***** Filter authors/recipients *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<label class=\"%s\">"
"%s:&nbsp;"
"<input type=\"search\" name=\"FilterFromTo\""
@ -2951,8 +2951,8 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
break;
}
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"CONTEXT_COL %s\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"CONTEXT_COL %s\">"
"<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO16x16\" />",
@ -2997,20 +2997,20 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
if (Expanded)
{
fprintf (Gbl.F.Out,"<tr>"
"<td rowspan=\"3\" colspan=\"2\" class=\"LEFT_TOP\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td rowspan=\"3\" colspan=\"2\" class=\"LEFT_TOP\">");
Tbl_StartTablePadding (2);
/***** Write course origin of message *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LEFT_MIDDLE\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
FromThisCrs = Msg_WriteCrsOrgMsg (CrsCod);
fprintf (Gbl.F.Out,"</td>"
"</tr>");
/***** Form to reply message *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LEFT_MIDDLE\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
if (Gbl.Msg.TypeOfMessages == Msg_MESSAGES_RECEIVED &&
Gbl.Usrs.Me.Role.Logged >= Rol_USR)
// Guests (users without courses) can read messages but not reply them
@ -3032,8 +3032,8 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
"</tr>");
/***** Write "To:" *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP MSG_TIT\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP MSG_TIT\">"
"%s:&nbsp;"
"</td>"
"<td colspan=\"2\" class=\"LEFT_TOP\">",
@ -3043,8 +3043,8 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
"</tr>");
/***** Write "Content:" *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP MSG_TIT\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP MSG_TIT\">"
"%s:&nbsp;"
"</td>",
Txt_MSG_Content);
@ -3194,8 +3194,8 @@ void Msg_WriteMsgAuthor (struct UsrData *UsrDat,bool Enabled,const char *BgColor
Tbl_StartTablePadding (2);
/***** Start first column *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"CENTER_TOP");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"CENTER_TOP");
if (BgColor)
fprintf (Gbl.F.Out," %s",BgColor);
fprintf (Gbl.F.Out,"\" style=\"width:30px;\">");
@ -3350,8 +3350,8 @@ static void Msg_WriteMsgFrom (struct UsrData *UsrDat,bool Deleted)
/***** Put an icon to show if user has read the message *****/
Tbl_StartTable ();
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LEFT_MIDDLE\" style=\"width:20px;\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:20px;\">"
"<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO16x16\" />"
@ -3511,8 +3511,8 @@ static void Msg_WriteMsgTo (long MsgCod)
Txt_MSG_Open) :
(Deleted ? Txt_MSG_Deleted_without_opening :
Txt_MSG_Unopened);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LEFT_MIDDLE\" style=\"width:20px;\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:20px;\">"
"<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO16x16\" />"
@ -3547,9 +3547,10 @@ static void Msg_WriteMsgTo (long MsgCod)
/***** If any recipients are unknown *****/
if ((NumRecipientsUnknown = NumRecipientsTotal - NumRecipientsKnown))
{
/***** Start form to show all the users *****/
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"3\" class=\"AUTHOR_TXT LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"AUTHOR_TXT LEFT_MIDDLE\">"
"[%u %s]"
"</td>"
"</tr>",
@ -3557,13 +3558,14 @@ static void Msg_WriteMsgTo (long MsgCod)
(NumRecipientsUnknown == 1) ?
Txt_unknown_recipient :
Txt_unknown_recipients);
}
/***** If any known recipient is not listed *****/
if (NumRecipientsToShow < NumRecipientsKnown)
{
/***** Start form to show all the users *****/
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"3\" class=\"AUTHOR_TXT LEFT_MIDDLE\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"AUTHOR_TXT LEFT_MIDDLE\">");
Frm_StartForm (ActionSee[Gbl.Msg.TypeOfMessages]);
Gbl.Msg.MsgCod = MsgCod; // Message to be expanded with all recipients visible
Msg_PutHiddenParamsOneMsg ();
@ -3849,8 +3851,8 @@ void Msg_ListBannedUsrs (void)
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS))
{
/* Put form to unban user */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BM\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\">");
Frm_StartForm (ActUnbUsrLst);
Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod);
Ico_PutIconLink ("lock.svg",Txt_Sender_banned_click_to_unban_him);

View File

@ -323,9 +323,9 @@ void Net_ShowFormMyWebsAndSocialNets (void)
DB_FreeMySQLResult (&mysql_res);
/***** Row for this web / social network *****/
fprintf (Gbl.F.Out,"<tr>"
Tbl_StartRow ();
"<td class=\"REC_C1_BOT LEFT_MIDDLE\">"
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT LEFT_MIDDLE\">"
"<label for=\"URL%u\" class=\"%s\">"
"<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\""
@ -555,8 +555,8 @@ void Net_ShowWebAndSocialNetworksStats (void)
Hlp_ANALYTICS_Figures_webs_social_networks,Box_NOT_CLOSABLE,2);
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"RIGHT_MIDDLE\">"
@ -592,8 +592,8 @@ void Net_ShowWebAndSocialNetworksStats (void)
if (sscanf (row[1],"%u",&NumUsrs) != 1)
Lay_ShowErrorAndExit ("Error when getting number of files.");
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\""
" class=\"CONTEXT_ICO_16x16\""

View File

@ -269,9 +269,10 @@ static void Nck_ShowFormChangeUsrNickname (const struct UsrData *UsrDat,bool Its
row = mysql_fetch_row (mysql_res);
if (NumNick == 1)
{
/* The first nickname is the current one */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_TOP\">"
"<label for=\"Nick\" class=\"%s\">"
"%s:"
"</label>"
@ -279,6 +280,7 @@ static void Nck_ShowFormChangeUsrNickname (const struct UsrData *UsrDat,bool Its
"<td class=\"REC_C2_BOT LEFT_TOP USR_ID\">",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Current_nickname);
}
else // NumNick >= 2
{
Tbl_StartRow ();
@ -365,8 +367,8 @@ static void Nck_ShowFormChangeUsrNickname (const struct UsrData *UsrDat,bool Its
}
/***** Form to enter new nickname *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_TOP\">"
"<label for=\"NewNick\" class=\"%s\">"
"%s:"
"</label>"

View File

@ -394,8 +394,8 @@ void Ntf_ShowMyNotifications (void)
/***** Start table *****/
Tbl_StartTableWideMarginPadding (2);
fprintf (Gbl.F.Out,"<tr>"
"<th colspan=\"2\" class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th colspan=\"2\" class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"LEFT_MIDDLE\">"
@ -492,8 +492,8 @@ void Ntf_ShowMyNotifications (void)
/***** Write row for this notification *****/
/* Write event icon */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s LEFT_TOP\" style=\"width:25px;\">",
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\" style=\"width:25px;\">",
ClassBackground);
if (PutLink)
PutLink = Ntf_StartFormGoToAction (NotifyEvent,Crs.CrsCod,&UsrDat,Cod);
@ -602,8 +602,8 @@ void Ntf_ShowMyNotifications (void)
Ntf_GetNotifSummaryAndContent (SummaryStr,&ContentStr,NotifyEvent,
Cod,Crs.CrsCod,Gbl.Usrs.Me.UsrDat.UsrCod,
false);
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"2\"></td>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\"></td>"
"<td colspan=\"4\" class=\"DAT LEFT_TOP\""
" style=\"padding-bottom:12px;\">"
"%s"
@ -1939,8 +1939,8 @@ void Ntf_PutFormChangeNotifSentByEMail (void)
/***** List of notifications *****/
Tbl_StartTableCenterPadding (2);
fprintf (Gbl.F.Out,"<tr>"
"<th></th>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th></th>"
"<th class=\"CENTER_MIDDLE\">"
"%s"
"</th>"
@ -1957,8 +1957,8 @@ void Ntf_PutFormChangeNotifSentByEMail (void)
NotifyEvent < Ntf_NUM_NOTIFY_EVENTS;
NotifyEvent++) // O is reserved for Ntf_EVENT_UNKNOWN
{
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"CENTER_MIDDLE\">"

View File

@ -684,8 +684,9 @@ void Pwd_ShowFormChgMyPwd (void)
/***** Current password *****/
if (IHaveAPasswordInDB) // If I have a password in database...
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
{
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
"<label for=\"UsrPwd\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"REC_C2_BOT LEFT_MIDDLE\">"
@ -698,10 +699,11 @@ void Pwd_ShowFormChgMyPwd (void)
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Current_password,
Pwd_MAX_CHARS_PLAIN_PASSWORD);
}
/***** Help message *****/
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"2\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\">");
Ale_ShowAlert (Ale_INFO,Txt_Your_password_must_be_at_least_X_characters_and_can_not_contain_spaces_,
Pwd_MIN_CHARS_PLAIN_PASSWORD);
fprintf (Gbl.F.Out,"</td>"
@ -733,8 +735,8 @@ void Pwd_PutFormToGetNewPasswordOnce (void)
extern const char *Txt_HELP_password;
/***** Start form element ****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"Passwd\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">"
@ -768,8 +770,8 @@ void Pwd_PutFormToGetNewPasswordTwice (void)
/***** 1st password *****/
/* Start form element */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
"<label for=\"Paswd1\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"REC_C2_BOT LEFT_MIDDLE\">"
@ -791,8 +793,8 @@ void Pwd_PutFormToGetNewPasswordTwice (void)
/***** 2nd password *****/
/* Start form element */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
"<label for=\"Paswd2\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"REC_C2_BOT LEFT_MIDDLE\">"

View File

@ -1786,8 +1786,8 @@ static void Pho_PutSelectorForTypeOfAvg (void)
extern const char *Txt_AVERAGE_PHOTO_TYPES[Pho_NUM_AVERAGE_PHOTO_TYPES];
Pho_AvgPhotoTypeOfAverage_t TypeOfAvg;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"AvgType\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">",
@ -1847,8 +1847,8 @@ static void Pho_PutSelectorForHowComputePhotoSize (void)
extern const char *Txt_STAT_DEGREE_PHOTO_SIZE[Pho_NUM_HOW_COMPUTE_PHOTO_SIZES];
Pho_HowComputePhotoSize_t PhoSi;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"PhotoSize\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">",
@ -1908,8 +1908,8 @@ static void Pho_PutSelectorForHowOrderDegrees (void)
extern const char *Txt_STAT_DEGREE_PHOTO_ORDER[Pho_NUM_HOW_ORDER_DEGREES];
Pho_HowOrderDegrees_t Order;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"Order\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">",
@ -2205,8 +2205,8 @@ static void Pho_ShowOrPrintListDegrees (Pho_AvgPhotoSeeOrPrint_t SeeOrPrint)
/***** Write heading *****/
Tbl_StartTableCenterPadding (2);
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"RIGHT_TOP\">"
"%s"
"</th>"
"<th class=\"CENTER_TOP\">"
@ -2239,8 +2239,8 @@ static void Pho_ShowOrPrintListDegrees (Pho_AvgPhotoSeeOrPrint_t SeeOrPrint)
Deg_GetDataOfDegreeByCod (&Deg);
/***** Show logo and name of this degree *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT RIGHT_MIDDLE COLOR%u\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE COLOR%u\">"
"%u"
"</td>",
Gbl.RowEvenOdd,++NumDegsNotEmpty);

View File

@ -140,8 +140,8 @@ void Plc_SeePlaces (void)
NumPlc++)
{
/* Write data of this place */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%s"
"</td>"
"<td class=\"DAT RIGHT_MIDDLE\">"
@ -154,16 +154,16 @@ void Plc_SeePlaces (void)
}
/***** Separation row *****/
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"2\" class=\"DAT\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"DAT\">"
"&nbsp;"
"</td>"
"</tr>");
/***** Write centres (of the current institution) with other place *****/
NumCtrsInOtherPlcs = Ctr_GetNumCtrsInPlc (0);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%s"
"</td>"
"<td class=\"DAT RIGHT_MIDDLE\">"
@ -174,8 +174,8 @@ void Plc_SeePlaces (void)
NumCtrsWithPlc += NumCtrsInOtherPlcs;
/***** Write centres (of the current institution) with no place *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%s"
"</td>"
"<td class=\"DAT RIGHT_MIDDLE\">"
@ -523,8 +523,8 @@ static void Plc_ListPlacesForEdition (void)
Plc = &Gbl.Plcs.Lst[NumPlc];
/* Put icon to remove place */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BM\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\">");
if (Plc->NumCtrs) // Place has centres ==> deletion forbidden
Ico_PutIconRemovalNotAllowed ();
else
@ -805,8 +805,8 @@ static void Plc_PutFormToCreatePlace (void)
Plc_PutHeadPlaces ();
/***** Column to remove place, disabled here *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BM\"></td>");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\"></td>");
/***** Place code *****/
fprintf (Gbl.F.Out,"<td class=\"CODE\"></td>");
@ -853,8 +853,8 @@ static void Plc_PutHeadPlaces (void)
extern const char *Txt_Full_name;
extern const char *Txt_Centres;
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"BM\"></th>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"BM\"></th>"
"<th class=\"RIGHT_MIDDLE\">"
"%s"
"</th>"

View File

@ -114,8 +114,8 @@ void Plg_ListPlugins (void)
NULL,Box_NOT_CLOSABLE,2);
/***** Write table heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th style=\"width:40px;\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th style=\"width:40px;\">"
"</th>"
"<th class=\"LEFT_MIDDLE\">"
"%s"
@ -136,8 +136,8 @@ void Plg_ListPlugins (void)
/* Plugin logo */
// TODO: Change plugin icons to 32x32
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT LEFT_MIDDLE\" style=\"width:45px;\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\" style=\"width:45px;\">"
"<a href=\"%s\" title=\"%s\" class=\"DAT\" target=\"_blank\">"
"<img src=\"%s/%s24x24.gif\""
" alt=\"%s\" title=\"%s\""
@ -393,8 +393,8 @@ static void Plg_ListPluginsForEdition (void)
Plg = &Gbl.Plugins.Lst[NumPlg];
/* Put icon to remove plugin */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BM\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\">");
Frm_StartForm (ActRemPlg);
Plg_PutParamPlgCod (Plg->PlgCod);
Ico_PutIconRemove ();
@ -889,8 +889,8 @@ static void Plg_PutFormToCreatePlugin (void)
NULL,Box_NOT_CLOSABLE,2);
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\">"
"%s"
"</th>"
"<th class=\"LEFT_MIDDLE\">"
@ -986,8 +986,8 @@ static void Plg_PutHeadPlugins (void)
extern const char *Txt_URL;
extern const char *Txt_IP;
fprintf (Gbl.F.Out,"<tr>"
"<th></th>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th></th>"
"<th class=\"RIGHT_MIDDLE\">"
"%s"
"</th>"

View File

@ -33,6 +33,7 @@
#include "swad_global.h"
#include "swad_parameter.h"
#include "swad_privacy.h"
#include "swad_table.h"
#include "swad_theme.h"
/*****************************************************************************/
@ -155,8 +156,8 @@ static void Pri_PutFormVisibility (const char *TxtLabel,
Pri_Visibility_t Visibility;
/***** Select visibility *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">"
"%s:"
"</td>"
"<td class=\"LEFT_TOP\">",

View File

@ -1208,8 +1208,9 @@ static void Prj_ShowOneProject (unsigned NumIndex,struct Project *Prj,
UniqueId);
break;
default:
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"2\" class=\"RIGHT_TOP");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"RIGHT_TOP");
break;
}
fprintf (Gbl.F.Out," %s\">"
"%s:"
@ -1474,8 +1475,8 @@ static void Prj_ShowOneProjectTxtField (struct Project *Prj,
id,UniqueId);
break;
case Prj_PRINT_ONE_PROJECT:
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"2\" class=\"RIGHT_TOP");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"RIGHT_TOP");
break;
default:
// Not applicable
@ -1543,8 +1544,8 @@ static void Prj_ShowOneProjectURL (const struct Project *Prj,
id,UniqueId);
break;
case Prj_PRINT_ONE_PROJECT:
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"2\" class=\"RIGHT_TOP");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"RIGHT_TOP");
break;
default:
// Not applicable
@ -1751,8 +1752,8 @@ static void Prj_ShowOneProjectMembersWithARole (const struct Project *Prj,
switch (ProjectView)
{
case Prj_EDIT_ONE_PROJECT:
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"PRJ_MEMBER_ICO\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"PRJ_MEMBER_ICO\">");
Gbl.Prjs.PrjCod = Prj->PrjCod; // Used to pass project code as a parameter
snprintf (Gbl.Title,sizeof (Gbl.Title),
Txt_Add_USERS,
@ -3334,8 +3335,8 @@ static void Prj_PutFormProject (struct Project *Prj,bool ItsANewProject)
NULL,Box_NOT_CLOSABLE,2);
/* Project title */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"Title\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">"
@ -3348,8 +3349,8 @@ static void Prj_PutFormProject (struct Project *Prj,bool ItsANewProject)
Prj_MAX_CHARS_PROJECT_TITLE,Prj->Title);
/* Department */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"%s\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">",
@ -3365,8 +3366,8 @@ static void Prj_PutFormProject (struct Project *Prj,bool ItsANewProject)
"</tr>");
/* Preassigned? */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"LEFT_MIDDLE\">"
@ -3389,8 +3390,8 @@ static void Prj_PutFormProject (struct Project *Prj,bool ItsANewProject)
"</tr>");
/* Number of students */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"LEFT_MIDDLE\">"
@ -3403,8 +3404,8 @@ static void Prj_PutFormProject (struct Project *Prj,bool ItsANewProject)
Prj->NumStds);
/* Proposal */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"LEFT_MIDDLE\">"
@ -3438,8 +3439,8 @@ static void Prj_PutFormProject (struct Project *Prj,bool ItsANewProject)
Prj->Materials,4);
/* URL for additional info */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"WWW\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
@ -3474,8 +3475,8 @@ static void Prj_EditOneProjectTxtArea (const char *Id,
{
extern const char *The_ClassFormInBox[The_NUM_THEMES];
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"%s\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_TOP\">"

View File

@ -377,8 +377,8 @@ void Rec_ShowFormCreateRecordField (void)
Rec_WriteHeadingRecordFields ();
/***** Write disabled icon to remove the field *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BM\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\">");
Ico_PutIconRemovalNotAllowed ();
fprintf (Gbl.F.Out,"</td>");
@ -433,8 +433,8 @@ static void Rec_WriteHeadingRecordFields (void)
extern const char *Txt_No_of_BR_lines;
extern const char *Txt_Visible_by_BR_the_student;
fprintf (Gbl.F.Out,"<tr>"
"<th></th>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th></th>"
"<th class=\"CENTER_MIDDLE\">"
"%s"
"</th>"
@ -1747,11 +1747,11 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
Rec_RecordHelp[TypeOfView],Box_NOT_CLOSABLE,2);
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"2\" class=\"LEFT_TOP\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"LEFT_TOP\">");
Tbl_StartTableWide ();
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LEFT_MIDDLE\" style=\"width:%upx;\">",
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:%upx;\">",
Rec_DEGREE_LOGO_SIZE);
Log_DrawLogo (Hie_DEG,Gbl.Hierarchy.Deg.DegCod,
Gbl.Hierarchy.Deg.ShrtName,Rec_DEGREE_LOGO_SIZE,NULL,true);
@ -1795,8 +1795,8 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
}
/* Name of the field */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT %s RIGHT_TOP COLOR%u\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT %s RIGHT_TOP COLOR%u\">"
"%s:",
ICanEditThisField ? The_ClassFormInBox[Gbl.Prefs.Theme] :
"REC_DAT_SMALL",
@ -2285,8 +2285,8 @@ void Rec_ShowSharedUsrRecord (Rec_SharedRecordViewType_t TypeOfView,
ShowAddressRows ||
ShowTeacherRows)
{
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"3\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"3\">");
/***** Show email and user's IDs *****/
if (ShowIDRows)
@ -2834,8 +2834,8 @@ static void Rec_ShowEmail (struct UsrData *UsrDat,const char *ClassForm)
{
extern const char *Txt_Email;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE %s\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE %s\">"
"%s:"
"</td>"
"<td class=\"REC_C2_BOT REC_DAT_BOLD LEFT_MIDDLE\">",
@ -2866,8 +2866,8 @@ static void Rec_ShowUsrIDs (struct UsrData *UsrDat,const char *ClassForm,
{
extern const char *Txt_ID;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_TOP %s\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_TOP %s\">"
"%s:"
"</td>"
"<td class=\"REC_C2_BOT REC_DAT_BOLD LEFT_TOP\">",
@ -2904,8 +2904,8 @@ static void Rec_ShowRole (struct UsrData *UsrDat,
/* Get user's roles if not got */
Rol_GetRolesInAllCrssIfNotYetGot (UsrDat);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
"<label for=\"Role\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"REC_C2_BOT REC_DAT_BOLD LEFT_MIDDLE\">",
@ -3103,8 +3103,8 @@ static void Rec_ShowRole (struct UsrData *UsrDat,
else if (SexForm)
{
/***** Form to select a sex *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE %s\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE %s\">"
"%s*:</td>"
"<td class=\"REC_C2_BOT LEFT_MIDDLE\">",
ClassForm,Txt_Sex);
@ -3126,9 +3126,10 @@ static void Rec_ShowRole (struct UsrData *UsrDat,
"</tr>");
}
else // RoleForm == false, SexForm == false
{
/***** No form, only text *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE %s\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE %s\">"
"%s:"
"</td>"
"<td class=\"REC_C2_BOT REC_DAT_BOLD LEFT_MIDDLE\">"
@ -3138,6 +3139,7 @@ static void Rec_ShowRole (struct UsrData *UsrDat,
ClassForm,
Txt_Role,
Txt_ROLES_SINGUL_Abc[UsrDat->Roles.InCurrentCrs.Role][UsrDat->Sex]);
}
}
/*****************************************************************************/
@ -3151,8 +3153,8 @@ static void Rec_ShowSurname1 (struct UsrData *UsrDat,
{
extern const char *Txt_Surname_1;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
"<label for=\"Surname1\" class=\"%s\">"
"%s",
ClassForm,Txt_Surname_1);
@ -3191,8 +3193,8 @@ static void Rec_ShowSurname2 (struct UsrData *UsrDat,
{
extern const char *Txt_Surname_2;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
"<label for=\"Surname2\" class=\"%s\">"
"%s:"
"</label>"
@ -3223,8 +3225,8 @@ static void Rec_ShowFirstName (struct UsrData *UsrDat,
{
extern const char *Txt_First_name;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
"<label for=\"FirstName\" class=\"%s\">"
"%s",
ClassForm,Txt_First_name);
@ -3272,8 +3274,8 @@ static void Rec_ShowCountry (struct UsrData *UsrDat,
Cty_GetListCountries (Cty_GET_BASIC_DATA);
}
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
"<label for=\"OthCtyCod\" class=\"%s\">%s",
ClassForm,Txt_Country);
if (TypeOfView == Rec_SHA_MY_RECORD_FORM)
@ -3318,8 +3320,8 @@ static void Rec_ShowOriginPlace (struct UsrData *UsrDat,
{
extern const char *Txt_Place_of_origin;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
"<label for=\"OriginPlace\" class=\"%s\">"
"%s:"
"</label>"
@ -3352,8 +3354,8 @@ static void Rec_ShowDateOfBirth (struct UsrData *UsrDat,
{
extern const char *Txt_Date_of_birth;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE %s\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE %s\">"
"%s:"
"</td>"
"<td class=\"REC_C2_BOT REC_DAT_BOLD LEFT_MIDDLE\">",
@ -3383,8 +3385,8 @@ static void Rec_ShowLocalAddress (struct UsrData *UsrDat,
{
extern const char *Txt_Local_address;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
"<label for=\"LocalAddress\" class=\"%s\">"
"%s:"
"</label>"
@ -3417,8 +3419,8 @@ static void Rec_ShowLocalPhone (struct UsrData *UsrDat,
{
extern const char *Txt_Phone;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
"<label for=\"LocalPhone\" class=\"%s\">"
"%s:"
"</label>"
@ -3453,8 +3455,8 @@ static void Rec_ShowFamilyAddress (struct UsrData *UsrDat,
{
extern const char *Txt_Family_address;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
"<label for=\"FamilyAddress\" class=\"%s\">"
"%s:"
"</label>"
@ -3487,8 +3489,8 @@ static void Rec_ShowFamilyPhone (struct UsrData *UsrDat,
{
extern const char *Txt_Phone;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
"<label for=\"FamilyPhone\" class=\"%s\">"
"%s:"
"</label>"
@ -3523,8 +3525,8 @@ static void Rec_ShowComments (struct UsrData *UsrDat,
{
extern const char *Txt_USER_comments;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_TOP\">"
"<label for=\"Comments\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"REC_C2_BOT REC_DAT_BOLD LEFT_TOP\">",
@ -3581,8 +3583,8 @@ static void Rec_ShowInstitution (struct Instit *Ins,
{
extern const char *Txt_Institution;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE %s\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE %s\">"
"%s:"
"</td>"
"<td class=\"REC_C2_BOT REC_DAT_BOLD LEFT_MIDDLE\">",
@ -3612,8 +3614,8 @@ static void Rec_ShowCentre (struct UsrData *UsrDat,
extern const char *Txt_Centre;
struct Centre Ctr;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE %s\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE %s\">"
"%s:"
"</td>"
"<td class=\"REC_C2_BOT REC_DAT_BOLD LEFT_MIDDLE\">",
@ -3647,8 +3649,8 @@ static void Rec_ShowDepartment (struct UsrData *UsrDat,
extern const char *Txt_Department;
struct Department Dpt;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE %s\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE %s\">"
"%s:"
"</td>"
"<td class=\"REC_C2_BOT REC_DAT_BOLD LEFT_MIDDLE\">",
@ -3681,8 +3683,8 @@ static void Rec_ShowOffice (struct UsrData *UsrDat,
{
extern const char *Txt_Office;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE %s\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE %s\">"
"%s:"
"</td>"
"<td class=\"REC_C2_BOT REC_DAT_BOLD LEFT_MIDDLE\">",
@ -3702,8 +3704,8 @@ static void Rec_ShowOfficePhone (struct UsrData *UsrDat,
{
extern const char *Txt_Phone;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE %s\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE %s\">"
"%s:"
"</td>"
"<td class=\"REC_C2_BOT REC_DAT_BOLD LEFT_MIDDLE\">",
@ -3987,8 +3989,8 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
Hlp_PROFILE_Institution,Box_NOT_CLOSABLE,2);
/***** Country *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
"<label for=\"OthCtyCod\" class=\"%s\">%s*:</label>"
"</td>"
"<td class=\"REC_C2_BOT LEFT_MIDDLE\">",
@ -4028,8 +4030,8 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
"</tr>");
/***** Institution *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
"<label for=\"OthInsCod\" class=\"%s\">%s*:</label>"
"</td>"
"<td class=\"REC_C2_BOT LEFT_MIDDLE\">",
@ -4074,8 +4076,8 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
if (IAmATeacher)
{
/***** Centre *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
"<label for=\"OthCtrCod\" class=\"%s\">%s*:</label>"
"</td>"
"<td class=\"REC_C2_BOT LEFT_MIDDLE\">",
@ -4118,8 +4120,8 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
"</tr>");
/***** Department *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
"<label for=\"%s\" class=\"%s\">%s*:</label>"
"</td>"
"<td class=\"REC_C2_BOT LEFT_MIDDLE\">",
@ -4136,8 +4138,8 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
"</tr>");
/***** Office *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
"<label for=\"Office\" class=\"%s\">"
"%s:"
"</label>"
@ -4157,8 +4159,8 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
"</tr>");
/***** Phone *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
"<label for=\"OfficePhone\" class=\"%s\">"
"%s:"
"</label>"

View File

@ -375,8 +375,8 @@ void Sta_AskShowCrsHits (void)
/***** Put list of users to select some of them *****/
Tbl_StartTableCenterPadding (2);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP %s\">%s:"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP %s\">%s:"
"</td>"
"<td colspan=\"2\" class=\"%s LEFT_TOP\">",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Users,
@ -396,8 +396,8 @@ void Sta_AskShowCrsHits (void)
Sta_WriteSelectorAction ();
/***** Option a) Listing of clicks distributed by some metric *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE %s\">%s:</td>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE %s\">%s:</td>"
"<td colspan=\"2\" class=\"LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Show);
@ -537,8 +537,8 @@ void Sta_AskShowGblHits (void)
Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (Gbl.Action.Act == ActReqAccGbl);
/***** Users' roles whose accesses we want to see *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"Role\" class=\"%s\">%s:</label>"
"</td>"
"<td colspan=\"2\" class=\"LEFT_MIDDLE\">"
@ -561,8 +561,8 @@ void Sta_AskShowGblHits (void)
Sta_WriteSelectorAction ();
/***** Clicks made from anywhere, current centre, current degree or current course *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"ScopeSta\" class=\"%s\">%s:</label>"
"</td>"
"<td colspan=\"2\" class=\"LEFT_MIDDLE\">",
@ -580,8 +580,8 @@ void Sta_AskShowGblHits (void)
"</tr>");
/***** Count type for the statistic *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"CountType\" class=\"%s\">%s:</label>"
"</td>"
"<td colspan=\"2\" class=\"LEFT_MIDDLE\">",
@ -697,8 +697,8 @@ static void Sta_WriteSelectorAction (void)
Tab_Tab_t Tab;
char ActTxt[Act_MAX_BYTES_ACTION_TXT + 1];
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"StatAct\" class=\"%s\">%s:</label>"
"</td>"
"<td colspan=\"2\" class=\"LEFT_MIDDLE\">"
@ -1575,8 +1575,8 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql
NumPagsTotal = NumPagesBefore + 1 + NumPagesAfter;
/***** Put heading with backward and forward buttons *****/
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"7\" class=\"LEFT_MIDDLE\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"7\" class=\"LEFT_MIDDLE\">");
Tbl_StartTableWidePadding (2);
Tbl_StartRow ();
@ -1649,8 +1649,8 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql
"</tr>");
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"RIGHT_TOP\">"
"%s"
"</th>"
"<th class=\"CENTER_TOP\">"
@ -1700,8 +1700,8 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql
Rol_WrongRoleExit ();
/* Write the number of row */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LOG RIGHT_TOP COLOR%u\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LOG RIGHT_TOP COLOR%u\">"
"%ld&nbsp;"
"</td>",
Gbl.RowEvenOdd,NumRow);
@ -1812,8 +1812,8 @@ static void Sta_ShowNumHitsPerUsr (unsigned long NumRows,MYSQL_RES *mysql_res)
Usr_UsrDataConstructor (&UsrDat);
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"RIGHT_TOP\">"
"%s"
"</th>"
"<th class=\"CENTER_TOP\">"
@ -1851,8 +1851,8 @@ static void Sta_ShowNumHitsPerUsr (unsigned long NumRows,MYSQL_RES *mysql_res)
Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS); // Get the data of the user from the database
/* Write the number of row */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LOG RIGHT_TOP COLOR%u\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LOG RIGHT_TOP COLOR%u\">"
"%ld&nbsp;"
"</td>",
Gbl.RowEvenOdd,NumRow);
@ -1943,8 +1943,8 @@ static void Sta_ShowNumHitsPerDay (unsigned long NumRows,MYSQL_RES *mysql_res)
Dat_AssignDate (&LastDate,&Gbl.DateRange.DateEnd.Date);
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"CENTER_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"CENTER_TOP\">"
"%s"
"</th>"
"<th class=\"LEFT_TOP\">"
@ -1988,8 +1988,8 @@ static void Sta_ShowNumHitsPerDay (unsigned long NumRows,MYSQL_RES *mysql_res)
/* Write the date */
Dat_ConvDateToDateStr (&Date,StrDate);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">"
"%s&nbsp;"
"</td>",
NumDayWeek == 6 ? "LOG_R" :
@ -2028,8 +2028,8 @@ static void Sta_ShowNumHitsPerDay (unsigned long NumRows,MYSQL_RES *mysql_res)
/* Write the date */
Dat_ConvDateToDateStr (&Date,StrDate);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">"
"%s&nbsp;"
"</td>",
NumDayWeek == 6 ? "LOG_R" :
@ -2092,8 +2092,8 @@ static void Sta_ShowDistrAccessesPerDayAndHour (unsigned long NumRows,MYSQL_RES
SelectedColorType = Sta_GetStatColorType ();
/***** Put a selector for the type of color *****/
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"26\" class=\"CENTER_MIDDLE\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"26\" class=\"CENTER_MIDDLE\">");
Frm_StartFormAnchor (Gbl.Action.Act,Sta_STAT_RESULTS_SECTION_ID);
Dat_WriteParamsIniEndDates ();
@ -2142,8 +2142,8 @@ static void Sta_ShowDistrAccessesPerDayAndHour (unsigned long NumRows,MYSQL_RES
NumAccPerHour[Hour] = NumAccPerHourZero[Hour] = 0.0;
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th rowspan=\"3\" class=\"CENTER_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th rowspan=\"3\" class=\"CENTER_TOP\">"
"%s"
"</th>"
"<th rowspan=\"3\" class=\"LEFT_TOP\">"
@ -2158,14 +2158,14 @@ static void Sta_ShowDistrAccessesPerDayAndHour (unsigned long NumRows,MYSQL_RES
Txt_Day,
GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH,
Txt_STAT_TYPE_COUNT_CAPS[Gbl.Stat.CountType]);
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"24\" class=\"LEFT_TOP\""
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"24\" class=\"LEFT_TOP\""
" style=\"width:%upx;\">",
GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH);
Sta_DrawBarColors (SelectedColorType,Hits.Max);
fprintf (Gbl.F.Out,"</td>"
"</tr>"
"<tr>");
"</tr>");
Tbl_StartRow ();
for (Hour = 0;
Hour < 24;
Hour++)
@ -2216,8 +2216,8 @@ static void Sta_ShowDistrAccessesPerDayAndHour (unsigned long NumRows,MYSQL_RES
/* Write the date */
Dat_ConvDateToDateStr (&Date,StrDate);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">"
"%s&nbsp;"
"</td>",
NumDayWeek == 6 ? "LOG_R" :
@ -2267,8 +2267,8 @@ static void Sta_ShowDistrAccessesPerDayAndHour (unsigned long NumRows,MYSQL_RES
/* Write the date */
Dat_ConvDateToDateStr (&Date,StrDate);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">"
"%s&nbsp;"
"</td>",
NumDayWeek == 6 ? "LOG_R" :
@ -2306,8 +2306,8 @@ static void Sta_ShowDistrAccessesPerDayAndHour (unsigned long NumRows,MYSQL_RES
/* Write the date */
Dat_ConvDateToDateStr (&Date,StrDate);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">"
"%s&nbsp;"
"</td>",
NumDayWeek == 6 ? "LOG_R" :
@ -2367,8 +2367,8 @@ static void Sta_DrawBarColors (Sta_ColorType_t ColorType,float HitsMax)
/***** Write numbers from 0 to Hits.Max *****/
Tbl_StartTableWide ();
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"%u\" class=\"LOG LEFT_BOTTOM\""
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"%u\" class=\"LOG LEFT_BOTTOM\""
" style=\"width:%upx;\">"
"0"
"</td>",
@ -2391,8 +2391,8 @@ static void Sta_DrawBarColors (Sta_ColorType_t ColorType,float HitsMax)
(GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH/5)/2);
Str_WriteFloatNum (Gbl.F.Out,HitsMax);
fprintf (Gbl.F.Out,"</td>"
"</tr>"
"<tr>");
"</tr>");
Tbl_StartRow ();
/***** Draw colors *****/
for (NumColor = 0;
@ -2535,8 +2535,8 @@ static void Sta_ShowNumHitsPerWeek (unsigned long NumRows,
Dat_AssignDate (&LastDate,&Gbl.DateRange.DateEnd.Date);
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_TOP\">"
"%s"
"</th>"
"<th class=\"LEFT_TOP\">"
@ -2571,8 +2571,8 @@ static void Sta_ShowNumHitsPerWeek (unsigned long NumRows,
W++)
{
/* Write week */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LOG LEFT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LOG LEFT_TOP\">"
"%04u-%02u&nbsp;"
"</td>",
Date.Year,Date.Week);
@ -2598,8 +2598,8 @@ static void Sta_ShowNumHitsPerWeek (unsigned long NumRows,
W++)
{
/* Write week */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LOG LEFT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LOG LEFT_TOP\">"
"%04u-%02u&nbsp;"
"</td>",
Date.Year,Date.Week);
@ -2635,8 +2635,8 @@ static void Sta_ShowNumHitsPerMonth (unsigned long NumRows,
Dat_AssignDate (&LastDate,&Gbl.DateRange.DateEnd.Date);
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_TOP\">"
"%s"
"</th>"
"<th class=\"LEFT_TOP\">"
@ -2672,8 +2672,8 @@ static void Sta_ShowNumHitsPerMonth (unsigned long NumRows,
M++)
{
/* Write the month */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LOG LEFT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LOG LEFT_TOP\">"
"%04u-%02u&nbsp;"
"</td>",
Date.Year,Date.Month);
@ -2698,8 +2698,8 @@ static void Sta_ShowNumHitsPerMonth (unsigned long NumRows,
M++)
{
/* Write the month */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LOG LEFT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LOG LEFT_TOP\">"
"%04u-%02u&nbsp;"
"</td>",
Date.Year,Date.Month);
@ -2735,8 +2735,8 @@ static void Sta_ShowNumHitsPerYear (unsigned long NumRows,
Dat_AssignDate (&LastDate,&Gbl.DateRange.DateEnd.Date);
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_TOP\">"
"%s"
"</th>"
"<th class=\"LEFT_TOP\">"
@ -2772,8 +2772,8 @@ static void Sta_ShowNumHitsPerYear (unsigned long NumRows,
Y++)
{
/* Write the year */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LOG LEFT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LOG LEFT_TOP\">"
"%04u&nbsp;"
"</td>",
Date.Year);
@ -2798,8 +2798,8 @@ static void Sta_ShowNumHitsPerYear (unsigned long NumRows,
Y++)
{
/* Write the year */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LOG LEFT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LOG LEFT_TOP\">"
"%04u&nbsp;"
"</td>",
Date.Year);
@ -2999,8 +2999,8 @@ static void Sta_ShowAverageAccessesPerMinute (unsigned long NumRows,MYSQL_RES *m
/***** X axis *****/
/* First division (left) */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LEFT_MIDDLE\" style=\"width:%upx;\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:%upx;\">"
"<img src=\"%s/ejexizq24x1.gif\""
" alt=\"\" title=\"\""
" style=\"display:block; width:%upx; height:1px;\" />"
@ -3147,8 +3147,8 @@ static void Sta_ShowNumHitsPerAction (unsigned long NumRows,
char ActTxt[Act_MAX_BYTES_ACTION_TXT + 1];
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"RIGHT_TOP\">"
"%s"
"</th>"
"<th class=\"LEFT_TOP\">"
@ -3173,16 +3173,20 @@ static void Sta_ShowNumHitsPerAction (unsigned long NumRows,
ActCod = Str_ConvertStrCodToLongCod (row[0]);
if (ActCod >= 0)
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LOG RIGHT_TOP\">"
{
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LOG RIGHT_TOP\">"
"%s&nbsp;"
"</td>",
Act_GetActionTextFromDB (ActCod,ActTxt));
}
else
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LOG RIGHT_TOP\">"
{
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LOG RIGHT_TOP\">"
"?&nbsp;"
"</td>");
}
/* Draw bar proportional to number of hits */
Hits.Num = Str_GetFloatNumFromStr (row[1]);
@ -3206,8 +3210,8 @@ static void Sta_ShowNumHitsPerPlugin (unsigned long NumRows,
struct Plugin Plg;
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"RIGHT_TOP\">"
"%s"
"</th>"
"<th class=\"LEFT_TOP\">"
@ -3231,8 +3235,8 @@ static void Sta_ShowNumHitsPerPlugin (unsigned long NumRows,
/* Write the plugin */
if (sscanf (row[0],"%ld",&Plg.PlgCod) != 1)
Lay_ShowErrorAndExit ("Wrong plugin code.");
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LOG RIGHT_TOP\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LOG RIGHT_TOP\">");
if (Plg_GetDataOfPluginByCod (&Plg))
fprintf (Gbl.F.Out,"%s",Plg.Name);
else
@ -3261,8 +3265,8 @@ static void Sta_ShowNumHitsPerWSFunction (unsigned long NumRows,
long FunCod;
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_TOP\">"
"%s"
"</th>"
"<th class=\"LEFT_TOP\">"
@ -3286,8 +3290,8 @@ static void Sta_ShowNumHitsPerWSFunction (unsigned long NumRows,
/* Write the plugin */
if (sscanf (row[0],"%ld",&FunCod) != 1)
Lay_ShowErrorAndExit ("Wrong function code.");
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LOG LEFT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LOG LEFT_TOP\">"
"%s&nbsp;"
"</td>",
API_GetFunctionNameFromFunCod (FunCod));
@ -3316,8 +3320,8 @@ static void Sta_ShowNumHitsPerBanner (unsigned long NumRows,
struct Banner Ban;
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"CENTER_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"CENTER_TOP\">"
"%s"
"</th>"
"<th class=\"LEFT_TOP\">"
@ -3353,8 +3357,8 @@ static void Sta_ShowNumHitsPerBanner (unsigned long NumRows,
if (sscanf (row[0],"%ld",&(Ban.BanCod)) != 1)
Lay_ShowErrorAndExit ("Wrong banner code.");
Ban_GetDataOfBannerByCod (&Ban);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LOG LEFT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LOG LEFT_TOP\">"
"<a href=\"%s\" title=\"%s\" class=\"DAT\" target=\"_blank\">"
"<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\""
@ -3392,8 +3396,8 @@ static void Sta_ShowNumHitsPerCountry (unsigned long NumRows,
long CtyCod;
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"CENTER_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"CENTER_TOP\">"
"%s"
"</th>"
"<th class=\"CENTER_TOP\">"
@ -3421,8 +3425,8 @@ static void Sta_ShowNumHitsPerCountry (unsigned long NumRows,
CtyCod = Str_ConvertStrCodToLongCod (row[0]);
/* Write ranking of this country */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LOG RIGHT_MIDDLE\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LOG RIGHT_MIDDLE\">");
if (CtyCod > 0)
fprintf (Gbl.F.Out,"%lu",++Ranking);
fprintf (Gbl.F.Out,"&nbsp;"
@ -3486,8 +3490,8 @@ static void Sta_ShowNumHitsPerInstitution (unsigned long NumRows,
long InsCod;
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"CENTER_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"CENTER_TOP\">"
"%s"
"</th>"
"<th class=\"CENTER_TOP\">"
@ -3515,8 +3519,8 @@ static void Sta_ShowNumHitsPerInstitution (unsigned long NumRows,
InsCod = Str_ConvertStrCodToLongCod (row[0]);
/* Write ranking of this institution */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LOG RIGHT_TOP\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LOG RIGHT_TOP\">");
if (InsCod > 0)
fprintf (Gbl.F.Out,"%lu",++Ranking);
fprintf (Gbl.F.Out,"&nbsp;"
@ -3582,8 +3586,8 @@ static void Sta_ShowNumHitsPerCentre (unsigned long NumRows,
long CtrCod;
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"CENTER_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"CENTER_TOP\">"
"%s"
"</th>"
"<th class=\"CENTER_TOP\">"
@ -3611,8 +3615,8 @@ static void Sta_ShowNumHitsPerCentre (unsigned long NumRows,
CtrCod = Str_ConvertStrCodToLongCod (row[0]);
/* Write ranking of this centre */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LOG RIGHT_TOP\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LOG RIGHT_TOP\">");
if (CtrCod > 0)
fprintf (Gbl.F.Out,"%lu",++Ranking);
fprintf (Gbl.F.Out,"&nbsp;"
@ -3678,8 +3682,8 @@ static void Sta_ShowNumHitsPerDegree (unsigned long NumRows,
long DegCod;
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"CENTER_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"CENTER_TOP\">"
"%s"
"</th>"
"<th class=\"CENTER_TOP\">"
@ -3707,8 +3711,8 @@ static void Sta_ShowNumHitsPerDegree (unsigned long NumRows,
DegCod = Str_ConvertStrCodToLongCod (row[0]);
/* Write ranking of this degree */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LOG RIGHT_TOP\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LOG RIGHT_TOP\">");
if (DegCod > 0)
fprintf (Gbl.F.Out,"%lu",++Ranking);
fprintf (Gbl.F.Out,"&nbsp;"
@ -3779,8 +3783,8 @@ static void Sta_ShowNumHitsPerCourse (unsigned long NumRows,
struct Course Crs;
/***** Write heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"CENTER_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"CENTER_TOP\">"
"%s"
"</th>"
"<th class=\"CENTER_TOP\">"
@ -3821,8 +3825,8 @@ static void Sta_ShowNumHitsPerCourse (unsigned long NumRows,
CrsOK = Crs_GetDataOfCourseByCod (&Crs);
/* Write ranking of this course */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LOG RIGHT_TOP\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LOG RIGHT_TOP\">");
if (CrsOK)
fprintf (Gbl.F.Out,"%lu",++Ranking);
fprintf (Gbl.F.Out,"&nbsp;</td>");
@ -4120,8 +4124,8 @@ void Sta_GetAndShowLastClicks (void)
/***** Write list of connected users *****/
Tbl_StartTableCenterPadding (1);
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"LEFT_MIDDLE\""
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"LEFT_MIDDLE\""
" style=\"width:85px;\">"
"%s" // Click
"</th>"
@ -4201,8 +4205,8 @@ void Sta_GetAndShowLastClicks (void)
Deg_GetShortNameOfDegreeByCod (&Deg);
/* Print table row */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE\">"
"%s" // Click
"</td>"
"<td class=\"%s RIGHT_MIDDLE\">" // Elapsed time

View File

@ -245,8 +245,8 @@ static void Svy_ListAllSurveys (struct SurveyQuestion *SvyQst)
{
/***** Table head *****/
Tbl_StartTableWideMarginPadding (2);
fprintf (Gbl.F.Out,"<tr>"
"<th class=\"CONTEXT_COL\"></th>"); // Column for contextual icons
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th class=\"CONTEXT_COL\"></th>"); // Column for contextual icons
for (Order = Svy_ORDER_BY_START_DATE;
Order <= Svy_ORDER_BY_END_DATE;
Order++)
@ -460,8 +460,8 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst,
/***** Write first row of data of this assignment *****/
/* Forms to remove/edit this assignment */
fprintf (Gbl.F.Out,"<tr>"
"<td rowspan=\"2\" class=\"CONTEXT_COL");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td rowspan=\"2\" class=\"CONTEXT_COL");
if (!ShowOnlyThisSvyComplete)
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"\">");
@ -580,8 +580,8 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst,
"</tr>");
/***** Write second row of data of this survey *****/
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"2\" class=\"LEFT_TOP");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"LEFT_TOP");
if (!ShowOnlyThisSvyComplete)
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"\">");
@ -664,8 +664,8 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst,
/***** Write questions of this survey *****/
if (ShowOnlyThisSvyComplete)
{
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"5\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"5\">");
Svy_ListSvyQuestions (&Svy,SvyQst);
fprintf (Gbl.F.Out,"</td>"
"</tr>");
@ -1857,8 +1857,8 @@ void Svy_RequestCreatOrEditSvy (void)
Hlp_ASSESSMENT_Surveys_edit_survey,Box_NOT_CLOSABLE,2);
/***** Scope of the survey *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"ScopeSvy\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">",
@ -1871,8 +1871,8 @@ void Svy_RequestCreatOrEditSvy (void)
"</tr>");
/***** Survey title *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"Title\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">"
@ -1889,8 +1889,8 @@ void Svy_RequestCreatOrEditSvy (void)
Dat_PutFormStartEndClientLocalDateTimes (Svy.TimeUTC,Dat_FORM_SECONDS_ON);
/***** Survey text *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"Txt\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_TOP\">"
@ -1905,8 +1905,8 @@ void Svy_RequestCreatOrEditSvy (void)
"</tr>");
/***** Users' roles who can answer the survey *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP %s\">%s:"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP %s\">%s:"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme],
@ -2035,8 +2035,8 @@ static void Svy_ShowLstGrpsToEditSurvey (long SvyCod)
if (Gbl.Crs.Grps.GrpTypes.Num)
{
/***** Start box and table *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">"
"%s:"
"</td>"
"<td class=\"LEFT_TOP\">",
@ -2046,8 +2046,8 @@ static void Svy_ShowLstGrpsToEditSurvey (long SvyCod)
NULL,Box_NOT_CLOSABLE,0);
/***** First row: checkbox to select the whole course *****/
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"7\" class=\"DAT LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"7\" class=\"DAT LEFT_MIDDLE\">"
"<label>"
"<input type=\"checkbox\""
" id=\"WholeCrs\" name=\"WholeCrs\" value=\"Y\"");
@ -2678,8 +2678,8 @@ static void Svy_ShowFormEditOneQst (long SvyCod,struct SurveyQuestion *SvyQst,
Tbl_StartTableWidePadding (2);
/***** Stem *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"Txt\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_TOP\">"
@ -2693,8 +2693,8 @@ static void Svy_ShowFormEditOneQst (long SvyCod,struct SurveyQuestion *SvyQst,
Txt);
/***** Type of answer *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">"
"%s:"
"</td>"
"<td class=\"%s LEFT_TOP\">",
@ -2721,8 +2721,8 @@ static void Svy_ShowFormEditOneQst (long SvyCod,struct SurveyQuestion *SvyQst,
/***** Answers *****/
/* Unique or multiple choice answers */
fprintf (Gbl.F.Out,"<tr>"
"<td></td>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td></td>"
"<td class=\"LEFT_TOP\">");
Tbl_StartTablePadding (2);
for (NumAns = 0;
@ -2730,8 +2730,8 @@ static void Svy_ShowFormEditOneQst (long SvyCod,struct SurveyQuestion *SvyQst,
NumAns++)
{
/* Label with the number of the answer */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"AnsStr%u\" class=\"%s\">%u)</label>"
"</td>",
NumAns,The_ClassFormInBox[Gbl.Prefs.Theme],NumAns + 1);

View File

@ -353,8 +353,8 @@ void Tst_ShowFormAskTst (void)
Tst_ShowFormAnswerTypes (1);
/***** Number of questions to generate ****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"NumQst\" class=\"%s\">"
"%s:"
"</label>"
@ -990,9 +990,10 @@ static void Tst_ShowTestResultAfterAssess (long TstCod,unsigned *NumQstsNotBlank
Tst_UpdateScoreQst (QstCod,ScoreThisQst,AnswerIsNotBlank);
}
else
{
/***** Question does not exists *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BIG_INDEX RIGHT_TOP COLOR%u\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BIG_INDEX RIGHT_TOP COLOR%u\">"
"%u"
"</td>"
"<td class=\"DAT_LIGHT LEFT_TOP COLOR%u\">"
@ -1001,6 +1002,7 @@ static void Tst_ShowTestResultAfterAssess (long TstCod,unsigned *NumQstsNotBlank
"</tr>",
Gbl.RowEvenOdd,NumQst + 1,
Gbl.RowEvenOdd,Txt_Question_removed);
}
/***** Free structure that stores the query result *****/
DB_FreeMySQLResult (&mysql_res);
@ -1035,8 +1037,8 @@ static void Tst_WriteQstAndAnsTest (Tst_ActionToDoWithQuestions_t ActionToDoWith
Gbl.Test.QstCod = QstCod;
/***** Write number of question *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP COLOR%u\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP COLOR%u\">"
"<div class=\"BIG_INDEX\">%u</div>",
Gbl.RowEvenOdd,
NumQst + 1);
@ -1693,8 +1695,8 @@ static void Tst_ShowFormSelTags (unsigned long NumRows,MYSQL_RES *mysql_res,
*/
/***** Label *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP %s\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP %s\">"
"%s:"
"</td>",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Tags);
@ -1910,8 +1912,8 @@ static void Tst_ShowFormConfigTst (void)
/***** Tests are visible from plugins? *****/
Tbl_StartTablePadding (2);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">"
"%s:"
"</td>"
"<td class=\"LEFT_BOTTOM\">",
@ -1935,8 +1937,8 @@ static void Tst_ShowFormConfigTst (void)
"</tr>");
/***** Number of questions *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">"
"%s:"
"</td>"
"<td class=\"LEFT_BOTTOM\">",
@ -1954,8 +1956,8 @@ static void Tst_ShowFormConfigTst (void)
"</tr>");
/***** Minimum time between consecutive tests, per question *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"MinTimeNxtTstPerQst\" class=\"%s\">"
"%s:"
"</label>"
@ -1972,8 +1974,8 @@ static void Tst_ShowFormConfigTst (void)
Gbl.Test.Config.MinTimeNxtTstPerQst);
/***** Feedback to students *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">"
"%s:"
"</td>"
"<td class=\"LEFT_BOTTOM\">",
@ -2013,8 +2015,8 @@ static void Tst_ShowFormConfigTst (void)
static void Tst_PutInputFieldNumQst (const char *Field,const char *Label,
unsigned Value)
{
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"%s\" class=\"DAT\">%s</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">"
@ -2312,8 +2314,8 @@ static void Tst_ShowFormAnswerTypes (unsigned NumCols)
const char *Ptr;
/***** Label *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP %s\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP %s\">"
"%s:"
"</td>",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Types_of_answers);
@ -2324,8 +2326,8 @@ static void Tst_ShowFormAnswerTypes (unsigned NumCols)
fprintf (Gbl.F.Out," colspan=\"%u\"",NumCols);
fprintf (Gbl.F.Out," class=\"LEFT_TOP\">");
Tbl_StartTablePadding (2);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<label class=\"%s\">"
"<input type=\"checkbox\" name=\"AllAnsTypes\" value=\"Y\"",
The_ClassFormInBox[Gbl.Prefs.Theme]);
@ -2343,8 +2345,8 @@ static void Tst_ShowFormAnswerTypes (unsigned NumCols)
AnsType < Tst_NUM_ANS_TYPES;
AnsType++)
{
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<label class=\"DAT\">"
"<input type=\"checkbox\" name=\"AnswerType\" value=\"%u\"",
(unsigned) AnsType);
@ -2803,8 +2805,8 @@ static void Tst_ListOneOrMoreQuestionsForEdition (unsigned long NumRows,
/***** Write the heading *****/
Tbl_StartTableWideMarginPadding (2);
fprintf (Gbl.F.Out,"<tr>"
"<th></th>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th></th>"
"<th class=\"CENTER_TOP\">"
"%s"
"</th>"
@ -2885,8 +2887,8 @@ static void Tst_ListOneOrMoreQuestionsForEdition (unsigned long NumRows,
Lay_ShowErrorAndExit ("Wrong code of question.");
/***** Icons *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BT%u\">",Gbl.RowEvenOdd);
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BT%u\">",Gbl.RowEvenOdd);
/* Write icon to remove the question */
Frm_StartForm (ActReqRemTstQst);
@ -3079,8 +3081,8 @@ static void Tst_ListOneOrMoreQuestionsForSelection (unsigned long NumRows,
/***** Write the heading *****/
Tbl_StartTableWideMarginPadding (2);
fprintf (Gbl.F.Out,"<tr>"
"<th></th>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th></th>"
"<th class=\"CENTER_TOP\">"
"%s"
"</th>"
@ -3139,8 +3141,8 @@ static void Tst_ListOneOrMoreQuestionsForSelection (unsigned long NumRows,
Lay_ShowErrorAndExit ("Wrong code of question.");
/***** Icons *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BT%u\">",Gbl.RowEvenOdd);
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BT%u\">",Gbl.RowEvenOdd);
/* Write checkbox to select the question */
fprintf (Gbl.F.Out,"<input type=\"checkbox\" name=\"QstCods\""
@ -3412,8 +3414,8 @@ void Tst_WriteAnswersEdit (long QstCod)
/* Put an icon that indicates whether the answer
is correct or wrong (row[4]) */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BT%u\">",
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BT%u\">",
Gbl.RowEvenOdd);
if (row[4][0] == 'Y')
fprintf (Gbl.F.Out,"<img src=\"%s/check.svg\""
@ -3659,8 +3661,8 @@ static void Tst_WriteTFAnsAssessTest (struct UsrData *UsrDat,
fprintf (Gbl.F.Out,"</tr>");
/***** Write the user answer *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s CENTER_MIDDLE\">",
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_MIDDLE\">",
(Gbl.Test.Config.Feedback == Tst_FEEDBACK_EACH_GOOD_BAD ||
Gbl.Test.Config.Feedback == Tst_FEEDBACK_FULL_FEEDBACK) ?
(AnsTF == row[1][0] ? "ANS_OK" :
@ -3760,8 +3762,8 @@ static void Tst_WriteChoiceAnsViewTest (unsigned NumQst,long QstCod,bool Shuffle
Med_GetMediaDataByCod (&Gbl.Test.Answer.Options[NumOpt].Media);
/***** Write selectors and letter of this option *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"LEFT_TOP\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">");
snprintf (ParamName,sizeof (ParamName),
"Ind%06u",
NumQst);
@ -4320,8 +4322,8 @@ static void Tst_WriteTextAnsAssessTest (struct UsrData *UsrDat,
fprintf (Gbl.F.Out,"</tr>");
/***** Write the user answer *****/
fprintf (Gbl.F.Out,"<tr>"
"<td");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td");
if (Gbl.Test.StrAnswersOneQst[NumQst][0]) // If user has answered the question
{
/* Filter the user answer */
@ -4483,8 +4485,8 @@ static void Tst_WriteIntAnsAssessTest (struct UsrData *UsrDat,
fprintf (Gbl.F.Out,"</tr>");
/***** Write the user answer *****/
fprintf (Gbl.F.Out,"<tr>"
"<td");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td");
if (Gbl.Test.StrAnswersOneQst[NumQst][0]) // If user has answered the question
{
if (sscanf (Gbl.Test.StrAnswersOneQst[NumQst],"%ld",&IntAnswerUsr) == 1)
@ -4608,8 +4610,8 @@ static void Tst_WriteFloatAnsAssessTest (struct UsrData *UsrDat,
fprintf (Gbl.F.Out,"</tr>");
/***** Write the user answer *****/
fprintf (Gbl.F.Out,"<tr>"
"<td");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td");
if (Gbl.Test.StrAnswersOneQst[NumQst][0]) // If user has answered the question
{
FloatAnsUsr = Tst_GetFloatAnsFromStr (Gbl.Test.StrAnswersOneQst[NumQst]);
@ -4702,8 +4704,8 @@ static void Tst_WriteScoreStart (unsigned ColSpan)
{
extern const char *Txt_Score;
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"%u\" class=\"DAT_SMALL LEFT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"%u\" class=\"DAT_SMALL LEFT_MIDDLE\">"
"%s: <span class=\"",
ColSpan,Txt_Score);
}
@ -5070,8 +5072,8 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
Tbl_StartTablePadding (2); // Table for this question
/***** Help for text editor *****/
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"2\">");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\">");
Lay_HelpPlainEditor ();
fprintf (Gbl.F.Out,"</td>"
"</tr>");
@ -5080,8 +5082,8 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
NumRows = Tst_GetAllTagsFromCurrentCrs (&mysql_res);
/***** Write the tags *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP %s\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP %s\">"
"%s:"
"</td>"
"<td class=\"LEFT_TOP\">",
@ -5148,8 +5150,8 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
DB_FreeMySQLResult (&mysql_res);
/***** Stem and image *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"Stem\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_TOP\">"
@ -5179,8 +5181,8 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
"</tr>");
/***** Type of answer *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP %s\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP %s\">"
"%s:"
"</td>"
"<td class=\"%s LEFT_TOP\">",
@ -5206,8 +5208,8 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
/***** Answers *****/
/* Integer answer */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"RIGHT_TOP %s\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP %s\">"
"%s:"
"</td>"
"<td class=\"LEFT_TOP\">"
@ -5226,8 +5228,8 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
"</tr>");
/* Floating point answer */
fprintf (Gbl.F.Out,"<tr>"
"<td></td>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td></td>"
"<td class=\"LEFT_TOP\">");
Tst_PutFloatInputField (Txt_Real_number_between_A_and_B_1,"AnsFloatMin",
Gbl.Test.Answer.FloatingPoint[0]);
@ -5237,8 +5239,8 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
"</tr>");
/* T/F answer */
fprintf (Gbl.F.Out,"<tr>"
"<td></td>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td></td>"
"<td class=\"LEFT_TOP\">");
Tst_PutTFInputField (Txt_TF_QST[0],'T');
Tst_PutTFInputField (Txt_TF_QST[1],'F');
@ -5246,8 +5248,8 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
"</tr>");
/* Questions can be shuffled? */
fprintf (Gbl.F.Out,"<tr>"
"<td></td>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td></td>"
"<td class=\"LEFT_TOP\">"
"<label class=\"%s\">"
"<input type=\"checkbox\" name=\"Shuffle\" value=\"Y\"",
@ -5265,8 +5267,8 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
Txt_Shuffle);
/* Simple or multiple choice answers */
fprintf (Gbl.F.Out,"<tr>"
"<td></td>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td></td>"
"<td class=\"LEFT_TOP\">");
Tbl_StartTablePadding (2); // Table with choice answers
@ -5288,8 +5290,8 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
AnswerHasContent;
/***** Left column: selectors *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"TEST_EDI_ANS_LEFT_COL COLOR%u\">",
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"TEST_EDI_ANS_LEFT_COL COLOR%u\">",
Gbl.RowEvenOdd);
/* Radio selector for unique choice answers */
@ -7452,8 +7454,8 @@ void Tst_SelUsrsToViewUsrsTstResults (void)
/***** Put list of users to select some of them *****/
Tbl_StartTableCenterPadding (2);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">"
"%s:"
"</td>"
"<td colspan=\"2\" class=\"%s LEFT_TOP\">",
@ -7661,8 +7663,8 @@ static void Tst_ShowHeaderTestResults (void)
extern const char *Txt_Score;
extern const char *Txt_out_of_PART_OF_A_SCORE;
fprintf (Gbl.F.Out,"<tr>"
"<th colspan=\"2\" class=\"CENTER_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th colspan=\"2\" class=\"CENTER_TOP\">"
"%s"
"</th>"
"<th class=\"RIGHT_TOP\">"
@ -8115,8 +8117,8 @@ void Tst_ShowOneTstResult (void)
Act_NoPermissionExit ();
/* User */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT_N RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_TOP\">",
@ -8139,8 +8141,8 @@ void Tst_ShowOneTstResult (void)
"</tr>");
/* Test date */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT_N RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\">"
"%s:"
"</td>"
"<td id=\"test\" class=\"DAT LEFT_TOP\">"
@ -8154,8 +8156,8 @@ void Tst_ShowOneTstResult (void)
(unsigned) Gbl.Prefs.DateFormat,Txt_Today);
/* Number of questions */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT_N RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_TOP\">"
@ -8166,8 +8168,8 @@ void Tst_ShowOneTstResult (void)
Gbl.Test.NumQsts,NumQstsNotBlank,Txt_non_blank_QUESTIONS);
/* Score */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT_N RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_TOP\">",
@ -8184,8 +8186,8 @@ void Tst_ShowOneTstResult (void)
Txt_out_of_PART_OF_A_SCORE,Tst_SCORE_MAX);
/* Tags present in this test */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"DAT_N RIGHT_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_TOP\">",
@ -8261,9 +8263,10 @@ void Tst_ShowTestResult (struct UsrData *UsrDat,
ThisQuestionHasBeenEdited = true;
if (ThisQuestionHasBeenEdited)
{
/***** Question has been edited *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BIG_INDEX RIGHT_TOP COLOR%u\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BIG_INDEX RIGHT_TOP COLOR%u\">"
"%u"
"</td>"
"<td class=\"DAT_LIGHT LEFT_TOP COLOR%u\">"
@ -8272,6 +8275,7 @@ void Tst_ShowTestResult (struct UsrData *UsrDat,
"</tr>",
Gbl.RowEvenOdd,NumQst + 1,
Gbl.RowEvenOdd,Txt_Question_modified);
}
else
{
/***** Get the code of question (row[0]) *****/
@ -8287,9 +8291,10 @@ void Tst_ShowTestResult (struct UsrData *UsrDat,
}
}
else
{
/***** Question does not exists *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BIG_INDEX RIGHT_TOP COLOR%u\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BIG_INDEX RIGHT_TOP COLOR%u\">"
"%u"
"</td>"
"<td class=\"DAT_LIGHT LEFT_TOP COLOR%u\">"
@ -8298,6 +8303,7 @@ void Tst_ShowTestResult (struct UsrData *UsrDat,
"</tr>",
Gbl.RowEvenOdd,NumQst + 1,
Gbl.RowEvenOdd,Txt_Question_removed);
}
/***** Free structure that stores the query result *****/
DB_FreeMySQLResult (&mysql_res);

View File

@ -958,8 +958,8 @@ static void TsI_WriteHeadingListImportedQst (void)
extern const char *Txt_Question;
/***** Write the heading *****/
fprintf (Gbl.F.Out,"<tr>"
"<th></th>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th></th>"
"<th class=\"CENTER_TOP\">"
"%s"
"</th>"
@ -1017,8 +1017,8 @@ static void TsI_WriteRowImportedQst (struct XMLElement *StemElem,
NumQst++;
/***** Put icon to indicate that a question does not exist in database *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BT%u CENTER_TOP\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BT%u CENTER_TOP\">"
"<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\""
" class=\"CONTEXT_ICO_16x16\" />"
@ -1049,8 +1049,9 @@ static void TsI_WriteRowImportedQst (struct XMLElement *StemElem,
for (NumTag = 0;
NumTag < Gbl.Test.Tags.Num;
NumTag++)
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s LEFT_TOP\">"
{
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">"
"&nbsp;&#8226;&nbsp;"
"</td>"
"<td class=\"%s LEFT_TOP\">"
@ -1059,6 +1060,7 @@ static void TsI_WriteRowImportedQst (struct XMLElement *StemElem,
"</tr>",
ClassData,
ClassData,Gbl.Test.Tags.Txt[NumTag]);
}
Tbl_EndTable ();
}
else // no tags for this question
@ -1147,8 +1149,8 @@ static void TsI_WriteRowImportedQst (struct XMLElement *StemElem,
}
/* Put an icon that indicates whether the answer is correct or wrong */
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"BT%u\">",
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BT%u\">",
Gbl.RowEvenOdd);
if (Gbl.Test.Answer.Options[NumOpt].Correct)
fprintf (Gbl.F.Out,"<img src=\"%s/check.svg\""

View File

@ -1132,8 +1132,8 @@ static void TT_DrawTimeTable (void)
TT_TimeTableDrawAdjustRow ();
/***** Row with day names *****/
fprintf (Gbl.F.Out,"<tr>"
"<td rowspan=\"2\" class=\"TT_HOUR_BIG RIGHT_MIDDLE\""
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td rowspan=\"2\" class=\"TT_HOUR_BIG RIGHT_MIDDLE\""
" style=\"width:%u%%;\">"
"%02u:00"
"</td>",
@ -1272,8 +1272,8 @@ static void TT_TimeTableDrawAdjustRow (void)
unsigned Weekday;
unsigned Minicolumn;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"TT_HOURCOL\"></td>");
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"TT_HOURCOL\"></td>");
TT_DrawCellAlignTimeTable ();
for (Weekday = 0;
Weekday < TT_DAYS_PER_WEEK;

View File

@ -6311,8 +6311,8 @@ void Usr_PutCheckboxToSelectAllUsers (Rol_Role_t Role)
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
Usr_Sex_t Sex;
fprintf (Gbl.F.Out,"<tr>"
"<th colspan=\"%u\" class=\"LEFT_MIDDLE LIGHT_BLUE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<th colspan=\"%u\" class=\"LEFT_MIDDLE LIGHT_BLUE\">"
"<label>",
Usr_GetColumnsForSelectUsrs ());
if (Usr_NameSelUnsel[Role] && Usr_ParamUsrCod[Role])
@ -6554,8 +6554,8 @@ static void Usr_ListMainDataStds (bool PutCheckBoxToSelectUsr)
/***** Start table with list of students *****/
if (!Gbl.Usrs.ClassPhoto.AllGroups)
{
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"%u\" class=\"TIT CENTER_MIDDLE\">",
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"%u\" class=\"TIT CENTER_MIDDLE\">",
1 + Usr_NUM_MAIN_FIELDS_DATA_USR);
Grp_WriteNamesOfSelectedGrps ();
fprintf (Gbl.F.Out,"</td>"
@ -6883,8 +6883,8 @@ void Usr_ListAllDataStds (void)
Tbl_StartTableWide ();
if (!Gbl.Usrs.ClassPhoto.AllGroups)
{
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"%u\" class=\"TIT CENTER_MIDDLE\">",
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"%u\" class=\"TIT CENTER_MIDDLE\">",
NumColumnsTotal);
Grp_WriteNamesOfSelectedGrps ();
fprintf (Gbl.F.Out,"</td>"
@ -6931,8 +6931,8 @@ void Usr_ListAllDataStds (void)
Gbl.Crs.Records.LstFields.Lst[NumField].Name);
/* 4. Visibility type for the record fields that depend on the course, in other row */
fprintf (Gbl.F.Out,"</tr>"
"<tr>");
fprintf (Gbl.F.Out,"</tr>");
Tbl_StartRow ();
for (NumCol = 0;
NumCol < NumColumnsCardAndGroups;
NumCol++)
@ -7237,8 +7237,8 @@ unsigned Usr_ListUsrsFound (Rol_Role_t Role,
if (Role != Rol_GST && // Guests do not belong to any course
Gbl.Usrs.Me.Role.Logged >= Rol_DEG_ADM) // Only admins can view the courses
{
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"2\" class=\"COLOR%u\"></td>"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"COLOR%u\"></td>"
"<td colspan=\"%u\" class=\"COLOR%u\">",
Gbl.RowEvenOdd,
Usr_NUM_MAIN_FIELDS_DATA_USR-2,

View File

@ -42,6 +42,7 @@
#include "swad_ID.h"
#include "swad_parameter.h"
#include "swad_string.h"
#include "swad_table.h"
#include "swad_theme.h"
/*****************************************************************************/
@ -566,8 +567,8 @@ static void ZIP_ShowLinkToDownloadZIP (const char *FileName,const char *URL,
Box_StartBoxTableShadow (NULL,NULL,NULL,NULL,2);
/***** Link to download the file *****/
fprintf (Gbl.F.Out,"<tr>"
"<td colspan=\"2\" class=\"FILENAME_TXT CENTER_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"FILENAME_TXT CENTER_MIDDLE\">"
"<a href=\"%s\" class=\"FILENAME_TXT\" title=\"%s\" target=\"_blank\">"
"<img src=\"%s32x32/zip32x32.gif\""
" alt=\"%s\" title=\"%s\""
@ -589,8 +590,8 @@ static void ZIP_ShowLinkToDownloadZIP (const char *FileName,const char *URL,
Txt_Download);
/***** Filename *****/
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
@ -602,8 +603,8 @@ static void ZIP_ShowLinkToDownloadZIP (const char *FileName,const char *URL,
/***** Write the file size *****/
Fil_WriteFileSizeFull ((double) FileSize,FileSizeStr);
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s RIGHT_MIDDLE\">"
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"