Version19.31.3

This commit is contained in:
Antonio Cañas Vargas 2019-10-04 15:34:59 +02:00
parent 9f692b9e37
commit 5d9e329efc
28 changed files with 158 additions and 157 deletions

View File

@ -487,14 +487,15 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD: En OpenSWAD:
ps2pdf source.ps destination.pdf ps2pdf source.ps destination.pdf
*/ */
#define Log_PLATFORM_VERSION "SWAD 19.31.2 (2019-10-04)" #define Log_PLATFORM_VERSION "SWAD 19.31.3 (2019-10-04)"
#define CSS_FILE "swad19.29.css" #define CSS_FILE "swad19.29.css"
#define JS_FILE "swad19.30.js" #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) // TODO: Perico: poner un candado de bloqueo de creación/edición de proyectos (por ejemplo en asignaturas obsoletas)
Version 19.31.3: Oct 04, 2019 Code refactoring in HTML tables. (247039 lines)
Version 19.31.2: Oct 04, 2019 Fixed bug while removing the matches of a course, reported by Pedro A. García Sánchez. Version 19.31.2: Oct 04, 2019 Fixed bug while removing the matches of a course, reported by Pedro A. García Sánchez.
Fixed bug in degree logo. (? lines) Fixed bug in degree logo. (247038 lines)
Version 19.31.1: Oct 04, 2019 Code refactoring in HTML tables. (247035 lines) Version 19.31.1: Oct 04, 2019 Code refactoring in HTML tables. (247035 lines)
Version 19.31 : Oct 04, 2019 Code refactoring in HTML tables. (246967 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.6: Oct 03, 2019 Code refactoring in HTML tables. (246928 lines)

View File

@ -454,10 +454,10 @@ void Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (bool SetHMS00000
" onclick=\"setDateToYesterday('Start','End');\" />" " onclick=\"setDateToYesterday('Start','End');\" />"
"<input type=\"button\" name=\"Today\" value=\"%s\"" "<input type=\"button\" name=\"Today\" value=\"%s\""
" onclick=\"setDateToToday('Start','End');\" />" " onclick=\"setDateToToday('Start','End');\" />"
"</td>" "</td>",
"</tr>",
Txt_Yesterday, Txt_Yesterday,
Txt_Today); Txt_Today);
Tbl_EndRow ();
/***** End date-time *****/ /***** End date-time *****/
Tbl_StartRow (); Tbl_StartRow ();
@ -477,8 +477,8 @@ void Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (bool SetHMS00000
SetHMS000000To235959 ? Dat_HMS_TO_235959 : // Set hour, minute and second to 23:59:59 SetHMS000000To235959 ? Dat_HMS_TO_235959 : // Set hour, minute and second to 23:59:59
Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second
false); // Don't submit on change false); // Don't submit on change
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>");
"</tr>"); Tbl_EndRow ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -517,8 +517,8 @@ void Dat_PutFormStartEndClientLocalDateTimes (time_t TimeUTC[2],
FormSeconds, FormSeconds,
Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second
false); // Don't submit on change false); // Don't submit on change
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>");
"</tr>"); Tbl_EndRow ();
} }
} }
@ -665,7 +665,7 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id,
} }
/***** End table *****/ /***** End table *****/
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
Tbl_EndTable (); Tbl_EndTable ();
/***** Hidden field with UTC time (seconds since 1970) used to send time *****/ /***** Hidden field with UTC time (seconds since 1970) used to send time *****/
@ -895,7 +895,7 @@ void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear,
"</td>"); "</td>");
/***** End table *****/ /***** End table *****/
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
Tbl_EndTable (); Tbl_EndTable ();
} }

View File

@ -191,10 +191,10 @@ void Deg_SeeDegWithPendingCrss (void)
"</th>" "</th>"
"<th class=\"RIGHT_MIDDLE\">" "<th class=\"RIGHT_MIDDLE\">"
"%s" "%s"
"</th>" "</th>",
"</tr>",
Txt_Degree, Txt_Degree,
Txt_Courses_ABBREVIATION); Txt_Courses_ABBREVIATION);
Tbl_EndRow ();
/***** List the degrees *****/ /***** List the degrees *****/
for (NumDeg = 0; for (NumDeg = 0;
@ -223,9 +223,9 @@ void Deg_SeeDegWithPendingCrss (void)
/* Number of pending courses (row[1]) */ /* Number of pending courses (row[1]) */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE %s\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE %s\">"
"%s" "%s"
"</td>" "</td>",
"</tr>",
BgColor,row[1]); BgColor,row[1]);
Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
} }
@ -380,8 +380,8 @@ static void Deg_Configuration (bool PrintView)
else // I can not move degree to another centre else // I can not move degree to another centre
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Ctr.FullName); fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Ctr.FullName);
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>");
"</tr>"); Tbl_EndRow ();
/***** Degree full name *****/ /***** Degree full name *****/
Tbl_StartRow (); Tbl_StartRow ();
@ -410,8 +410,8 @@ static void Deg_Configuration (bool PrintView)
} }
else // I can not edit degree full name else // I can not edit degree full name
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Deg.FullName); fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Deg.FullName);
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>");
"</tr>"); Tbl_EndRow ();
/***** Degree short name *****/ /***** Degree short name *****/
Tbl_StartRow (); Tbl_StartRow ();
@ -440,8 +440,8 @@ static void Deg_Configuration (bool PrintView)
} }
else // I can not edit degree short name else // I can not edit degree short name
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Deg.ShrtName); fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Deg.ShrtName);
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>");
"</tr>"); Tbl_EndRow ();
/***** Degree WWW *****/ /***** Degree WWW *****/
Tbl_StartRow (); Tbl_StartRow ();
@ -475,8 +475,8 @@ static void Deg_Configuration (bool PrintView)
"</div>", "</div>",
Gbl.Hierarchy.Deg.WWW, Gbl.Hierarchy.Deg.WWW,
Gbl.Hierarchy.Deg.WWW); Gbl.Hierarchy.Deg.WWW);
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>");
"</tr>"); Tbl_EndRow ();
/***** Shortcut to the degree *****/ /***** Shortcut to the degree *****/
Tbl_StartRow (); Tbl_StartRow ();
@ -487,8 +487,7 @@ static void Deg_Configuration (bool PrintView)
"<a href=\"%s/%s?deg=%ld\" class=\"DAT\" target=\"_blank\">" "<a href=\"%s/%s?deg=%ld\" class=\"DAT\" target=\"_blank\">"
"%s/%s?deg=%ld" "%s/%s?deg=%ld"
"</a>" "</a>"
"</td>" "</td>",
"</tr>",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Shortcut, Txt_Shortcut,
Cfg_URL_SWAD_CGI, Cfg_URL_SWAD_CGI,
@ -497,6 +496,7 @@ static void Deg_Configuration (bool PrintView)
Cfg_URL_SWAD_CGI, Cfg_URL_SWAD_CGI,
Lan_STR_LANG_ID[Gbl.Prefs.Language], Lan_STR_LANG_ID[Gbl.Prefs.Language],
Gbl.Hierarchy.Deg.DegCod); Gbl.Hierarchy.Deg.DegCod);
Tbl_EndRow ();
if (PrintView) if (PrintView)
{ {
@ -509,8 +509,8 @@ static void Deg_Configuration (bool PrintView)
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_QR_code); Txt_QR_code);
QR_LinkTo (250,"deg",Gbl.Hierarchy.Deg.DegCod); QR_LinkTo (250,"deg",Gbl.Hierarchy.Deg.DegCod);
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>");
"</tr>"); Tbl_EndRow ();
} }
else else
{ {
@ -534,8 +534,8 @@ static void Deg_Configuration (bool PrintView)
Crs_GetNumCrssInDeg (Gbl.Hierarchy.Deg.DegCod)); Crs_GetNumCrssInDeg (Gbl.Hierarchy.Deg.DegCod));
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>");
"</tr>"); Tbl_EndRow ();
/***** Number of users *****/ /***** Number of users *****/
Deg_ShowNumUsrsInCrssOfDeg (Rol_TCH); Deg_ShowNumUsrsInCrssOfDeg (Rol_TCH);
@ -583,12 +583,12 @@ static void Deg_ShowNumUsrsInCrssOfDeg (Rol_Role_t Role)
"</td>" "</td>"
"<td class=\"DAT LEFT_MIDDLE\">" "<td class=\"DAT LEFT_MIDDLE\">"
"%u" "%u"
"</td>" "</td>",
"</tr>",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
(Role == Rol_UNK) ? Txt_Users_in_courses : (Role == Rol_UNK) ? Txt_Users_in_courses :
Txt_ROLES_PLURAL_Abc[Role][Usr_SEX_UNKNOWN], Txt_ROLES_PLURAL_Abc[Role][Usr_SEX_UNKNOWN],
Usr_GetNumUsrsInCrssOfDeg (Role,Gbl.Hierarchy.Deg.DegCod)); Usr_GetNumUsrsInCrssOfDeg (Role,Gbl.Hierarchy.Deg.DegCod));
Tbl_EndRow ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -874,8 +874,8 @@ static void Deg_ListDegreesForEdition (void)
} }
else if (StatusTxt != Deg_STATUS_ACTIVE) // If active ==> do not show anything else if (StatusTxt != Deg_STATUS_ACTIVE) // If active ==> do not show anything
fprintf (Gbl.F.Out,"%s",Txt_DEGREE_STATUS[StatusTxt]); fprintf (Gbl.F.Out,"%s",Txt_DEGREE_STATUS[StatusTxt]);
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>");
"</tr>"); Tbl_EndRow ();
} }
/***** End table *****/ /***** End table *****/
@ -1032,8 +1032,8 @@ static void Deg_PutFormToCreateDegree (void)
/***** Degree status *****/ /***** Degree status *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"</td>" "</td>");
"</tr>"); Tbl_EndRow ();
/***** End table, send button and end box *****/ /***** End table, send button and end box *****/
Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_degree); Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_degree);
@ -1065,11 +1065,11 @@ static void Deg_PutHeadDegreesForSeeing (void)
"%s" "%s"
"</th>" "</th>"
"<th class=\"LEFT_MIDDLE\">" "<th class=\"LEFT_MIDDLE\">"
"</th>" "</th>",
"</tr>",
Txt_Degree, Txt_Degree,
Txt_Type, Txt_Type,
Txt_Courses_ABBREVIATION); Txt_Courses_ABBREVIATION);
Tbl_EndRow ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -1111,8 +1111,7 @@ static void Deg_PutHeadDegreesForEdition (void)
"%s" "%s"
"</th>" "</th>"
"<th class=\"LEFT_MIDDLE\">" "<th class=\"LEFT_MIDDLE\">"
"</th>" "</th>",
"</tr>",
Txt_Code, Txt_Code,
Txt_Short_name_of_the_degree, Txt_Short_name_of_the_degree,
Txt_Full_name_of_the_degree, Txt_Full_name_of_the_degree,
@ -1120,6 +1119,7 @@ static void Deg_PutHeadDegreesForEdition (void)
Txt_WWW, Txt_WWW,
Txt_Courses_ABBREVIATION, Txt_Courses_ABBREVIATION,
Txt_Requester); Txt_Requester);
Tbl_EndRow ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -1326,8 +1326,8 @@ static void Deg_ListOneDegreeForSeeing (struct Degree *Deg,unsigned NumDeg)
TxtClassNormal,BgColor); TxtClassNormal,BgColor);
if (StatusTxt != Deg_STATUS_ACTIVE) // If active ==> do not show anything if (StatusTxt != Deg_STATUS_ACTIVE) // If active ==> do not show anything
fprintf (Gbl.F.Out,"%s",Txt_DEGREE_STATUS[StatusTxt]); fprintf (Gbl.F.Out,"%s",Txt_DEGREE_STATUS[StatusTxt]);
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>");
"</tr>"); Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
} }
@ -2593,8 +2593,8 @@ void Hie_GetAndWriteInsCtrDegAdminBy (long UsrCod,unsigned ColSpan)
Lay_WrongScopeExit (); Lay_WrongScopeExit ();
break; break;
} }
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>");
"</tr>"); Tbl_EndRow ();
} }
/***** Free structure that stores the query result *****/ /***** Free structure that stores the query result *****/

View File

@ -346,9 +346,9 @@ static void DT_ListDegreeTypesForSeeing (void)
/* Number of degrees of this type */ /* Number of degrees of this type */
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_MIDDLE %s\">" fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_MIDDLE %s\">"
"%u" "%u"
"</td>" "</td>",
"</tr>",
BgColor,Gbl.DegTypes.Lst[NumDegTyp].NumDegs); BgColor,Gbl.DegTypes.Lst[NumDegTyp].NumDegs);
Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
} }
@ -436,9 +436,9 @@ static void DT_ListDegreeTypesForEdition (void)
/* Number of degrees of this type */ /* Number of degrees of this type */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u" "%u"
"</td>" "</td>",
"</tr>",
Gbl.DegTypes.Lst[NumDegTyp].NumDegs); Gbl.DegTypes.Lst[NumDegTyp].NumDegs);
Tbl_EndRow ();
} }
/***** End table *****/ /***** End table *****/
@ -491,8 +491,8 @@ static void DT_PutFormToCreateDegreeType (void)
/***** Number of degrees of this degree type ****/ /***** Number of degrees of this degree type ****/
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"0" "0"
"</td>" "</td>");
"</tr>"); Tbl_EndRow ();
/***** End table, send button and end box *****/ /***** End table, send button and end box *****/
Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_type_of_degree); Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_type_of_degree);
@ -563,11 +563,11 @@ static void DT_PutHeadDegreeTypesForEdition (void)
"</th>" "</th>"
"<th class=\"RIGHT_MIDDLE\">" "<th class=\"RIGHT_MIDDLE\">"
"%s" "%s"
"</th>" "</th>",
"</tr>",
Txt_Code, Txt_Code,
Txt_Type_of_degree, Txt_Type_of_degree,
Txt_Degrees); Txt_Degrees);
Tbl_EndRow ();
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -138,7 +138,7 @@ void Dpt_SeeDepts (void)
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</th>"); fprintf (Gbl.F.Out,"</th>");
} }
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/***** Write all the departments and their nuber of teachers *****/ /***** Write all the departments and their nuber of teachers *****/
for (NumDpt = 0; for (NumDpt = 0;
@ -154,11 +154,11 @@ void Dpt_SeeDepts (void)
"</td>" "</td>"
"<td class=\"DAT RIGHT_MIDDLE\">" "<td class=\"DAT RIGHT_MIDDLE\">"
"%u" "%u"
"</td>" "</td>",
"</tr>",
Gbl.Dpts.Lst[NumDpt].WWW, Gbl.Dpts.Lst[NumDpt].WWW,
Gbl.Dpts.Lst[NumDpt].FullName, Gbl.Dpts.Lst[NumDpt].FullName,
Gbl.Dpts.Lst[NumDpt].NumTchs); Gbl.Dpts.Lst[NumDpt].NumTchs);
Tbl_EndRow ();
/* Update number of teachers from the current institution /* Update number of teachers from the current institution
with department */ with department */
@ -169,8 +169,8 @@ void Dpt_SeeDepts (void)
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"DAT\">" fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"DAT\">"
"&nbsp;" "&nbsp;"
"</td>" "</td>");
"</tr>"); Tbl_EndRow ();
/***** Write teachers with other department *****/ /***** Write teachers with other department *****/
NumTchsInOtherDpts = Usr_GetNumTchsCurrentInsInDepartment (0); NumTchsInOtherDpts = Usr_GetNumTchsCurrentInsInDepartment (0);
@ -180,9 +180,9 @@ void Dpt_SeeDepts (void)
"</td>" "</td>"
"<td class=\"DAT RIGHT_MIDDLE\">" "<td class=\"DAT RIGHT_MIDDLE\">"
"%u" "%u"
"</td>" "</td>",
"</tr>",
Txt_Other_departments,NumTchsInOtherDpts); Txt_Other_departments,NumTchsInOtherDpts);
Tbl_EndRow ();
NumTchsInsWithDpt += NumTchsInOtherDpts; NumTchsInsWithDpt += NumTchsInOtherDpts;
/***** Write teachers with no department *****/ /***** Write teachers with no department *****/
@ -192,13 +192,13 @@ void Dpt_SeeDepts (void)
"</td>" "</td>"
"<td class=\"DAT RIGHT_MIDDLE\">" "<td class=\"DAT RIGHT_MIDDLE\">"
"%u" "%u"
"</td>" "</td>",
"</tr>",
Txt_Department_unspecified, Txt_Department_unspecified,
Usr_GetTotalNumberOfUsersInCourses (Hie_INS, Usr_GetTotalNumberOfUsersInCourses (Hie_INS,
1 << Rol_NET | 1 << Rol_NET |
1 << Rol_TCH) - 1 << Rol_TCH) -
NumTchsInsWithDpt); NumTchsInsWithDpt);
Tbl_EndRow ();
/***** End table and box *****/ /***** End table and box *****/
Box_EndBoxTable (); Box_EndBoxTable ();
@ -590,9 +590,9 @@ static void Dpt_ListDepartmentsForEdition (void)
/* Number of teachers */ /* Number of teachers */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u" "%u"
"</td>" "</td>",
"</tr>",
Dpt->NumTchs); Dpt->NumTchs);
Tbl_EndRow ();
} }
/***** End table *****/ /***** End table *****/
@ -919,12 +919,12 @@ static void Dpt_PutFormToCreateDepartment (void)
"</th>" "</th>"
"<th class=\"LEFT_MIDDLE\">" "<th class=\"LEFT_MIDDLE\">"
"%s" "%s"
"</th>" "</th>",
"</tr>",
Txt_Institution, Txt_Institution,
Txt_Short_name, Txt_Short_name,
Txt_Full_name, Txt_Full_name,
Txt_WWW); Txt_WWW);
Tbl_EndRow ();
/***** Institution *****/ /***** Institution *****/
Tbl_StartRow (); Tbl_StartRow ();
@ -969,9 +969,9 @@ static void Dpt_PutFormToCreateDepartment (void)
" maxlength=\"%u\" value=\"%s\"" " maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_WWW\"" " class=\"INPUT_WWW\""
" required=\"required\" />" " required=\"required\" />"
"</td>" "</td>",
"</tr>",
Cns_MAX_CHARS_WWW,Dpt_EditingDpt->WWW); Cns_MAX_CHARS_WWW,Dpt_EditingDpt->WWW);
Tbl_EndRow ();
/***** End table, send button and end box *****/ /***** End table, send button and end box *****/
Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_department); Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_department);
@ -1013,14 +1013,14 @@ static void Dpt_PutHeadDepartments (void)
"</th>" "</th>"
"<th class=\"RIGHT_MIDDLE\">" "<th class=\"RIGHT_MIDDLE\">"
"%s" "%s"
"</th>" "</th>",
"</tr>",
Txt_Code, Txt_Code,
Txt_Institution, Txt_Institution,
Txt_Short_name, Txt_Short_name,
Txt_Full_name, Txt_Full_name,
Txt_WWW, Txt_WWW,
Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH]); Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH]);
Tbl_EndRow ();
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -207,8 +207,8 @@ void Dup_ListDuplicateUsrs (void)
/* Button to remove from list of possible duplicate users */ /* Button to remove from list of possible duplicate users */
Dup_PutButtonToRemoveFromListOfDupUsrs (&UsrDat); Dup_PutButtonToRemoveFromListOfDupUsrs (&UsrDat);
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>");
"</tr>"); Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
} }
@ -333,8 +333,8 @@ static void Dup_ListSimilarUsrs (void)
Crs_GetAndWriteCrssOfAUsr (&UsrDat,Rol_NET); Crs_GetAndWriteCrssOfAUsr (&UsrDat,Rol_NET);
Crs_GetAndWriteCrssOfAUsr (&UsrDat,Rol_STD); Crs_GetAndWriteCrssOfAUsr (&UsrDat,Rol_STD);
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>");
"</tr>"); Tbl_EndRow ();
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"COLOR%u\"></td>" fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"COLOR%u\"></td>"
@ -352,8 +352,8 @@ static void Dup_ListSimilarUsrs (void)
if (Dup_CheckIfUsrIsDup (UsrDat.UsrCod)) if (Dup_CheckIfUsrIsDup (UsrDat.UsrCod))
Dup_PutButtonToRemoveFromListOfDupUsrs (&UsrDat); Dup_PutButtonToRemoveFromListOfDupUsrs (&UsrDat);
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>");
"</tr>"); Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
} }

View File

@ -936,10 +936,10 @@ static void Enr_PutAreaToEnterUsrsIDs (void)
"<textarea id=\"UsrsIDs\" name=\"UsrsIDs\"" "<textarea id=\"UsrsIDs\" name=\"UsrsIDs\""
" cols=\"60\" rows=\"10\">" " cols=\"60\" rows=\"10\">"
"</textarea>" "</textarea>"
"</td>" "</td>",
"</tr>",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_List_of_nicks_emails_or_IDs); Txt_List_of_nicks_emails_or_IDs);
Tbl_EndRow ();
Tbl_EndTable (); Tbl_EndTable ();
} }
@ -2301,8 +2301,8 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
"<td class=\"LEFT_MIDDLE\">", "<td class=\"LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Scope); The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Scope);
Sco_PutSelectorScope ("ScopeEnr",true); Sco_PutSelectorScope ("ScopeEnr",true);
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>");
"</tr>"); Tbl_EndRow ();
/* Users' roles in listing */ /* Users' roles in listing */
Tbl_StartRow (); Tbl_StartRow ();
@ -2316,8 +2316,8 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
1 << Rol_TCH, 1 << Rol_TCH,
RolesSelected, RolesSelected,
false,true); false,true);
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>");
"</tr>"); Tbl_EndRow ();
/* End table and form */ /* End table and form */
Tbl_EndTable (); Tbl_EndTable ();
@ -2819,13 +2819,13 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
"%s" "%s"
"</th>" "</th>"
"<th></th>" "<th></th>"
"<th></th>" "<th></th>",
"</tr>",
Txt_Course, Txt_Course,
Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH], Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH],
Txt_Requester, Txt_Requester,
Txt_Role, Txt_Role,
Txt_Date); Txt_Date);
Tbl_EndRow ();
/* List requests */ /* List requests */
for (NumReq = 0; for (NumReq = 0;
@ -2947,8 +2947,8 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod);
Btn_PutRemoveButtonInline (Txt_Reject); Btn_PutRemoveButtonInline (Txt_Reject);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>");
"</tr>"); Tbl_EndRow ();
/***** Mark possible notification as seen *****/ /***** Mark possible notification as seen *****/
Ntf_MarkNotifAsSeen (Ntf_EVENT_ENROLMENT_REQUEST, Ntf_MarkNotifAsSeen (Ntf_EVENT_ENROLMENT_REQUEST,

View File

@ -1185,7 +1185,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
"</td>", "</td>",
StyleNormal,StrExamDate); StyleNormal,StrExamDate);
} }
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/***** Start time *****/ /***** Start time *****/
Tbl_StartRow (); Tbl_StartRow ();

View File

@ -1013,7 +1013,7 @@ static void Fig_ShowHierarchyRow (const char *Text1,const char *Text2,
Fig_ShowHierarchyCell (ClassTxt,NumCrss); Fig_ShowHierarchyCell (ClassTxt,NumCrss);
/***** End row *****/ /***** End row *****/
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
static void Fig_ShowHierarchyCell (const char *ClassTxt,int Num) static void Fig_ShowHierarchyCell (const char *ClassTxt,int Num)
@ -1458,12 +1458,12 @@ static void Fig_ShowInss (MYSQL_RES **mysql_res,unsigned NumInss,
if ((++NumIns % Gbl.Usrs.ClassPhoto.Cols) == 0) if ((++NumIns % Gbl.Usrs.ClassPhoto.Cols) == 0)
{ {
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
TRIsOpen = false; TRIsOpen = false;
} }
} }
if (TRIsOpen) if (TRIsOpen)
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
break; break;
case Usr_LIST_AS_LISTING: case Usr_LIST_AS_LISTING:

View File

@ -5628,7 +5628,7 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,const char *RowId,
Brw_WriteFileName (Level,FileMetadata.IsPublic); Brw_WriteFileName (Level,FileMetadata.IsPublic);
/* End column */ /* End column */
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
Tbl_EndTable (); Tbl_EndTable ();
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");
@ -5659,7 +5659,7 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,const char *RowId,
/***** End this row *****/ /***** End this row *****/
free ((void *) Anchor); free ((void *) Anchor);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
@ -5854,7 +5854,7 @@ static void Brw_IndentAndWriteIconExpandContract (unsigned Level,
} }
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
Tbl_EndTable (); Tbl_EndTable ();
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");
} }

View File

@ -170,7 +170,7 @@ void Fol_SuggestUsrsToFollowMainZone (void)
Fol_ShowFollowedOrFollower (&UsrDat); Fol_ShowFollowedOrFollower (&UsrDat);
if ((NumUsr % Fol_NUM_COLUMNS_FOLLOW) == (Fol_NUM_COLUMNS_FOLLOW-1) || if ((NumUsr % Fol_NUM_COLUMNS_FOLLOW) == (Fol_NUM_COLUMNS_FOLLOW-1) ||
NumUsr == NumUsrs - 1) NumUsr == NumUsrs - 1)
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
/***** Free memory used for user's data *****/ /***** Free memory used for user's data *****/
@ -722,7 +722,7 @@ static void Fol_ListFollowingUsr (struct UsrData *UsrDat)
Fol_ShowFollowedOrFollower (&FollowingUsrDat); Fol_ShowFollowedOrFollower (&FollowingUsrDat);
if ((NumUsr % Fol_NUM_COLUMNS_FOLLOW) == (Fol_NUM_COLUMNS_FOLLOW-1) || if ((NumUsr % Fol_NUM_COLUMNS_FOLLOW) == (Fol_NUM_COLUMNS_FOLLOW-1) ||
NumUsr == NumUsrs - 1) NumUsr == NumUsrs - 1)
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
/***** End table and box *****/ /***** End table and box *****/
@ -805,7 +805,7 @@ static void Fol_ListFollowersUsr (struct UsrData *UsrDat)
Fol_ShowFollowedOrFollower (&FollowerUsrDat); Fol_ShowFollowedOrFollower (&FollowerUsrDat);
if ((NumUsr % Fol_NUM_COLUMNS_FOLLOW) == (Fol_NUM_COLUMNS_FOLLOW-1) || if ((NumUsr % Fol_NUM_COLUMNS_FOLLOW) == (Fol_NUM_COLUMNS_FOLLOW-1) ||
NumUsr == NumUsrs - 1) NumUsr == NumUsrs - 1)
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
/***** End table and box *****/ /***** End table and box *****/

View File

@ -238,7 +238,7 @@ static void Gam_ListAllGames (void)
fprintf (Gbl.F.Out,"<th class=\"RIGHT_MIDDLE\">%s</th>",Txt_Matches); fprintf (Gbl.F.Out,"<th class=\"RIGHT_MIDDLE\">%s</th>",Txt_Matches);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/***** Write all the games *****/ /***** Write all the games *****/
for (NumGame = Pagination.FirstItemVisible; for (NumGame = Pagination.FirstItemVisible;
@ -485,7 +485,7 @@ void Gam_ShowOneGame (long GamCod,
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");
/***** End 1st row of this game *****/ /***** End 1st row of this game *****/
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/***** Start 2nd row of this game *****/ /***** Start 2nd row of this game *****/
Tbl_StartRow (); Tbl_StartRow ();
@ -514,7 +514,7 @@ void Gam_ShowOneGame (long GamCod,
Txt); Txt);
/***** End 2nd row of this game *****/ /***** End 2nd row of this game *****/
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/***** End table *****/ /***** End table *****/
if (ShowOnlyThisGame) if (ShowOnlyThisGame)

View File

@ -1767,7 +1767,7 @@ void Grp_ListGrpsToEditAsgAttSvyMch (struct GroupType *GrpTyp,long Cod,
Grp_WriteRowGrp (Grp,IBelongToThisGroup); Grp_WriteRowGrp (Grp,IBelongToThisGroup);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
/***** Free memory with the list of groups which I belongs to *****/ /***** Free memory with the list of groups which I belongs to *****/
@ -2072,7 +2072,7 @@ static bool Grp_ListGrpsForChangeMySelection (struct GroupType *GrpTyp,
Grp_WriteRowGrp (Grp,IBelongToThisGroup); Grp_WriteRowGrp (Grp,IBelongToThisGroup);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
/***** Free memory with the list of groups a the that belongs the user *****/ /***** Free memory with the list of groups a the that belongs the user *****/
@ -2170,7 +2170,7 @@ static void Grp_ListGrpsToAddOrRemUsrs (struct GroupType *GrpTyp,long UsrCod)
Grp_WriteRowGrp (Grp,UsrBelongsToThisGroup); Grp_WriteRowGrp (Grp,UsrBelongsToThisGroup);
/* End row */ /* End row */
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
/***** Free memory with the lists of groups *****/ /***** Free memory with the lists of groups *****/
@ -2264,7 +2264,7 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp,
Grp_WriteRowGrp (Grp,IBelongToThisGroup); Grp_WriteRowGrp (Grp,IBelongToThisGroup);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
/***** Free memory with the list of groups which I belongs to *****/ /***** Free memory with the list of groups which I belongs to *****/

View File

@ -1682,7 +1682,7 @@ void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto,
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");
/***** End table *****/ /***** End table *****/
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
Tbl_EndTable (); Tbl_EndTable ();
} }

View File

@ -146,7 +146,7 @@ void Mai_SeeMailDomains (void)
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</th>"); fprintf (Gbl.F.Out,"</th>");
} }
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/***** Write all the mail domains *****/ /***** Write all the mail domains *****/
for (NumMai = 0; for (NumMai = 0;

View File

@ -409,7 +409,7 @@ static void Mch_ListOneOrMoreMatches (struct Game *Game,
Mch_ListOneOrMoreMatchesResult (&Match, Mch_ListOneOrMoreMatchesResult (&Match,
ICanPlayThisMatchBasedOnGrps); ICanPlayThisMatchBasedOnGrps);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
/***** End table *****/ /***** End table *****/
@ -467,7 +467,7 @@ static void Mch_ListOneOrMoreMatchesHeading (bool ICanEditMatches)
Txt_Result); Txt_Result);
/***** End row *****/ /***** End row *****/
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -2519,7 +2519,7 @@ static void Mch_ShowQuestionAndAnswersStd (struct Match *Match)
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");
/***** End row *****/ /***** End row *****/
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
/***** End table *****/ /***** End table *****/
@ -3155,7 +3155,7 @@ static void Mch_DrawBarNumUsrs (unsigned NumAnswerersAns,unsigned NumAnswerersQs
(i < BarWidth) ? (Correct ? "MATCH_RES_CORRECT" : (i < BarWidth) ? (Correct ? "MATCH_RES_CORRECT" :
"MATCH_RES_WRONG") : "MATCH_RES_WRONG") :
"MATCH_RES_VOID"); "MATCH_RES_VOID");
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
Tbl_EndTable (); Tbl_EndTable ();
/***** Write the number of users *****/ /***** Write the number of users *****/

View File

@ -550,7 +550,7 @@ static void McR_ShowMchResults (Usr_MeOrOther_t MeOrOther)
Ico_PutIconOff ("eye-slash.svg",Txt_Hidden_result); Ico_PutIconOff ("eye-slash.svg",Txt_Hidden_result);
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
/***** Write totals for this user *****/ /***** Write totals for this user *****/
@ -562,7 +562,7 @@ static void McR_ShowMchResults (Usr_MeOrOther_t MeOrOther)
else else
{ {
Tbl_PutEmptyCells (8); Tbl_PutEmptyCells (8);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
/***** Free structure that stores the query result *****/ /***** Free structure that stores the query result *****/
@ -639,7 +639,7 @@ static void McR_ShowMchResultsSummaryRow (bool ShowSummaryResults,
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
/***** End row *****/ /***** End row *****/
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -2993,7 +2993,7 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
Msg_WriteMsgDate (CreatTimeUTC,Open ? "MSG_TIT_BG" : Msg_WriteMsgDate (CreatTimeUTC,Open ? "MSG_TIT_BG" :
"MSG_TIT_BG_NEW"); "MSG_TIT_BG_NEW");
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
if (Expanded) if (Expanded)
{ {

View File

@ -908,7 +908,7 @@ static void Pho_UpdatePhoto2 (void)
Txt_PHOTO_PROCESSING_CAPTIONS[NumPhoto], Txt_PHOTO_PROCESSING_CAPTIONS[NumPhoto],
Pho_PHOTO_REAL_WIDTH,Pho_PHOTO_REAL_HEIGHT, Pho_PHOTO_REAL_WIDTH,Pho_PHOTO_REAL_HEIGHT,
Txt_PHOTO_PROCESSING_CAPTIONS[NumPhoto]); Txt_PHOTO_PROCESSING_CAPTIONS[NumPhoto]);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
Tbl_EndTable (); Tbl_EndTable ();
/***** End alert *****/ /***** End alert *****/
@ -2156,13 +2156,13 @@ static void Pho_ShowOrPrintClassPhotoDegrees (Pho_AvgPhotoSeeOrPrint_t SeeOrPrin
if ((++NumDegsNotEmpty % Gbl.Usrs.ClassPhoto.Cols) == 0) if ((++NumDegsNotEmpty % Gbl.Usrs.ClassPhoto.Cols) == 0)
{ {
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
TRIsOpen = false; TRIsOpen = false;
} }
} }
} }
if (TRIsOpen) if (TRIsOpen)
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
Tbl_EndTable (); Tbl_EndTable ();
} }
@ -2221,7 +2221,7 @@ static void Pho_ShowOrPrintListDegrees (Pho_AvgPhotoSeeOrPrint_t SeeOrPrint)
"%s" "%s"
"</th>", "</th>",
Txt_SEX_PLURAL_Abc[Sex]); Txt_SEX_PLURAL_Abc[Sex]);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/***** Get degrees *****/ /***** Get degrees *****/
for (NumDeg = 0, Gbl.RowEvenOdd = 0, NumDegsNotEmpty = 0; for (NumDeg = 0, Gbl.RowEvenOdd = 0, NumDegsNotEmpty = 0;
@ -2272,7 +2272,7 @@ static void Pho_ShowOrPrintListDegrees (Pho_AvgPhotoSeeOrPrint_t SeeOrPrint)
Pho_ShowDegreeStat (NumStds,NumStdsWithPhoto); Pho_ShowDegreeStat (NumStds,NumStdsWithPhoto);
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");
} }
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
/***** Photos end *****/ /***** Photos end *****/

View File

@ -132,7 +132,7 @@ void Plc_SeePlaces (void)
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</th>"); fprintf (Gbl.F.Out,"</th>");
} }
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/***** Write all places and their nuber of centres *****/ /***** Write all places and their nuber of centres *****/
for (NumPlc = 0; for (NumPlc = 0;

View File

@ -786,7 +786,7 @@ static void Prj_ShowTableAllProjectsHead (void)
Txt_Required_materials, Txt_Required_materials,
Txt_URL); Txt_URL);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -1378,7 +1378,7 @@ static void Prj_ShowTableAllProjectsOneRow (struct Project *Prj)
Prj_ShowTableAllProjectsURL (Prj); Prj_ShowTableAllProjectsURL (Prj);
/***** End row *****/ /***** End row *****/
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
} }
@ -1744,7 +1744,7 @@ static void Prj_ShowOneProjectMembersWithARole (const struct Project *Prj,
Gbl.Usrs.Other.UsrDat.FullName); Gbl.Usrs.Other.UsrDat.FullName);
/* End row for this user */ /* End row for this user */
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
} }

View File

@ -2263,23 +2263,23 @@ void Rec_ShowSharedUsrRecord (Rec_SharedRecordViewType_t TypeOfView,
Tbl_StartRow (); Tbl_StartRow ();
Rec_ShowInstitutionInHead (&Ins,PutFormLinks); Rec_ShowInstitutionInHead (&Ins,PutFormLinks);
Rec_ShowPhoto (UsrDat); Rec_ShowPhoto (UsrDat);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/***** Full name *****/ /***** Full name *****/
Tbl_StartRow (); Tbl_StartRow ();
Rec_ShowFullName (UsrDat); Rec_ShowFullName (UsrDat);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/***** User's nickname *****/ /***** User's nickname *****/
Tbl_StartRow (); Tbl_StartRow ();
Rec_ShowNickname (UsrDat,PutFormLinks); Rec_ShowNickname (UsrDat,PutFormLinks);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/***** User's country, web and social networks *****/ /***** User's country, web and social networks *****/
Tbl_StartRow (); Tbl_StartRow ();
Rec_ShowCountryInHead (UsrDat,ShowData); Rec_ShowCountryInHead (UsrDat,ShowData);
Rec_ShowWebsAndSocialNets (UsrDat,TypeOfView); Rec_ShowWebsAndSocialNets (UsrDat,TypeOfView);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
if (ShowIDRows || if (ShowIDRows ||
ShowAddressRows || ShowAddressRows ||

View File

@ -1643,7 +1643,7 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql
if (LastRow < NumRows) if (LastRow < NumRows)
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
Tbl_EndTable (); Tbl_EndTable ();
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>"
"</tr>"); "</tr>");
@ -2173,7 +2173,7 @@ static void Sta_ShowDistrAccessesPerDayAndHour (unsigned long NumRows,MYSQL_RES
"%02uh" "%02uh"
"</td>", "</td>",
GRAPH_DISTRIBUTION_PER_HOUR_HOUR_WIDTH,Hour); GRAPH_DISTRIBUTION_PER_HOUR_HOUR_WIDTH,Hour);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/***** Write rows beginning by the most recent day and ending by the oldest one *****/ /***** Write rows beginning by the most recent day and ending by the oldest one *****/
mysql_data_seek (mysql_res,0); mysql_data_seek (mysql_res,0);
@ -2237,7 +2237,7 @@ static void Sta_ShowDistrAccessesPerDayAndHour (unsigned long NumRows,MYSQL_RES
Sta_DrawAccessesPerHourForADay (SelectedColorType,NumAccPerHour,Hits.Max); Sta_DrawAccessesPerHourForADay (SelectedColorType,NumAccPerHour,Hits.Max);
else // D < NumDaysFromLastDateToCurrDate else // D < NumDaysFromLastDateToCurrDate
Sta_DrawAccessesPerHourForADay (SelectedColorType,NumAccPerHourZero,Hits.Max); Sta_DrawAccessesPerHourForADay (SelectedColorType,NumAccPerHourZero,Hits.Max);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/* Decrease day */ /* Decrease day */
Dat_GetDateBefore (&Date,&Date); Dat_GetDateBefore (&Date,&Date);
@ -2288,7 +2288,7 @@ static void Sta_ShowDistrAccessesPerDayAndHour (unsigned long NumRows,MYSQL_RES
Sta_DrawAccessesPerHourForADay (SelectedColorType,NumAccPerHour,Hits.Max); Sta_DrawAccessesPerHourForADay (SelectedColorType,NumAccPerHour,Hits.Max);
else // D < NumDaysFromLastDateToCurrDate else // D < NumDaysFromLastDateToCurrDate
Sta_DrawAccessesPerHourForADay (SelectedColorType,NumAccPerHourZero,Hits.Max); Sta_DrawAccessesPerHourForADay (SelectedColorType,NumAccPerHourZero,Hits.Max);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/* Decrease day */ /* Decrease day */
Dat_GetDateBefore (&Date,&Date); Dat_GetDateBefore (&Date,&Date);
@ -2324,7 +2324,7 @@ static void Sta_ShowDistrAccessesPerDayAndHour (unsigned long NumRows,MYSQL_RES
/* Draw the color proportional to number of clicks */ /* Draw the color proportional to number of clicks */
Sta_DrawAccessesPerHourForADay (SelectedColorType,NumAccPerHourZero,Hits.Max); Sta_DrawAccessesPerHourForADay (SelectedColorType,NumAccPerHourZero,Hits.Max);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/* Decrease day */ /* Decrease day */
Dat_GetDateBefore (&Date,&Date); Dat_GetDateBefore (&Date,&Date);
@ -2407,7 +2407,7 @@ static void Sta_DrawBarColors (Sta_ColorType_t ColorType,float HitsMax)
"</td>", "</td>",
R,G,B,Cfg_URL_ICON_PUBLIC); R,G,B,Cfg_URL_ICON_PUBLIC);
} }
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
Tbl_EndTable (); Tbl_EndTable ();
} }
@ -2873,7 +2873,7 @@ static void Sta_ShowNumHitsPerHour (unsigned long NumRows,
H++, Hour++) H++, Hour++)
Sta_WriteAccessHour (H,&Hits,ColumnWidth); Sta_WriteAccessHour (H,&Hits,ColumnWidth);
} }
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
} }
@ -3056,7 +3056,7 @@ static void Sta_WriteLabelsXAxisAccMin (float IncX,const char *Format)
fprintf (Gbl.F.Out,Format,NumX); fprintf (Gbl.F.Out,Format,NumX);
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");
} }
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -3440,7 +3440,7 @@ static void Svy_WriteAnswersOfAQst (struct Survey *Svy,
if (Svy->Status.ICanViewResults) if (Svy->Status.ICanViewResults)
Svy_DrawBarNumUsrs (NumUsrsThisAnswer,Svy->NumUsrs); Svy_DrawBarNumUsrs (NumUsrsThisAnswer,Svy->NumUsrs);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/* Free memory allocated for the answer */ /* Free memory allocated for the answer */
Svy_FreeTextChoiceAnswer (SvyQst,NumAns); Svy_FreeTextChoiceAnswer (SvyQst,NumAns);

View File

@ -726,7 +726,7 @@ static void Syl_ShowRowSyllabus (unsigned NumItem,
} }
/***** End of the row *****/ /***** End of the row *****/
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
} }

View File

@ -2857,7 +2857,7 @@ static void Tst_ListOneOrMoreQuestionsForEdition (unsigned long NumRows,
fprintf (Gbl.F.Out,"</th>"); fprintf (Gbl.F.Out,"</th>");
} }
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/***** Write rows *****/ /***** Write rows *****/
for (NumRow = 0, UniqueId = 1; for (NumRow = 0, UniqueId = 1;
@ -3658,7 +3658,7 @@ static void Tst_WriteTFAnsAssessTest (struct UsrData *UsrDat,
Tbl_StartTablePadding (2); Tbl_StartTablePadding (2);
Tbl_StartRow (); Tbl_StartRow ();
Tst_WriteHeadUserCorrect (UsrDat); Tst_WriteHeadUserCorrect (UsrDat);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/***** Write the user answer *****/ /***** Write the user answer *****/
Tbl_StartRow (); Tbl_StartRow ();
@ -4240,7 +4240,7 @@ static void Tst_WriteChoiceAnsViewMatch (long MchCod,unsigned QstInd,long QstCod
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");
/***** End row for this option *****/ /***** End row for this option *****/
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
/***** End table *****/ /***** End table *****/
@ -4319,7 +4319,7 @@ static void Tst_WriteTextAnsAssessTest (struct UsrData *UsrDat,
Tbl_StartTablePadding (2); Tbl_StartTablePadding (2);
Tbl_StartRow (); Tbl_StartRow ();
Tst_WriteHeadUserCorrect (UsrDat); Tst_WriteHeadUserCorrect (UsrDat);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/***** Write the user answer *****/ /***** Write the user answer *****/
Tbl_StartRow (); Tbl_StartRow ();
@ -4482,7 +4482,7 @@ static void Tst_WriteIntAnsAssessTest (struct UsrData *UsrDat,
Tbl_StartTablePadding (2); Tbl_StartTablePadding (2);
Tbl_StartRow (); Tbl_StartRow ();
Tst_WriteHeadUserCorrect (UsrDat); Tst_WriteHeadUserCorrect (UsrDat);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/***** Write the user answer *****/ /***** Write the user answer *****/
Tbl_StartRow (); Tbl_StartRow ();
@ -4607,7 +4607,7 @@ static void Tst_WriteFloatAnsAssessTest (struct UsrData *UsrDat,
Tbl_StartTablePadding (2); Tbl_StartTablePadding (2);
Tbl_StartRow (); Tbl_StartRow ();
Tst_WriteHeadUserCorrect (UsrDat); Tst_WriteHeadUserCorrect (UsrDat);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/***** Write the user answer *****/ /***** Write the user answer *****/
Tbl_StartRow (); Tbl_StartRow ();
@ -5139,7 +5139,7 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
"</td>", "</td>",
NumTag,NumTag,Tst_MAX_CHARS_TAG,Gbl.Test.Tags.Txt[NumTag],NumTag); NumTag,NumTag,Tst_MAX_CHARS_TAG,Gbl.Test.Tags.Txt[NumTag],NumTag);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
Tbl_EndTable (); // Table for tags Tbl_EndTable (); // Table for tags
@ -7891,7 +7891,7 @@ static void Tst_ShowTstResults (struct UsrData *UsrDat)
else else
{ {
Tbl_PutEmptyCells (7); Tbl_PutEmptyCells (7);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
/***** Free structure that stores the query result *****/ /***** Free structure that stores the query result *****/
@ -8009,7 +8009,7 @@ static void Tst_ShowTestResultsSummaryRow (bool ItsMe,
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
/***** End row *****/ /***** End row *****/
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -1241,7 +1241,7 @@ static void TT_DrawTimeTable (void)
Min, Min,
"LEFT_MIDDLE"); "LEFT_MIDDLE");
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
/***** Free list of groups types and groups in this course *****/ /***** Free list of groups types and groups in this course *****/
@ -1254,7 +1254,7 @@ static void TT_DrawTimeTable (void)
TT_DrawCellAlignTimeTable (); TT_DrawCellAlignTimeTable ();
TT_TimeTableDrawDaysCells (); TT_TimeTableDrawDaysCells ();
TT_DrawCellAlignTimeTable (); TT_DrawCellAlignTimeTable ();
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/***** Bottom row used for column adjustement *****/ /***** Bottom row used for column adjustement *****/
TT_TimeTableDrawAdjustRow (); TT_TimeTableDrawAdjustRow ();

View File

@ -3703,7 +3703,7 @@ void Usr_WriteRowUsrMainData (unsigned NumUsr,struct UsrData *UsrDat,
fprintf (Gbl.F.Out,"</td>"); fprintf (Gbl.F.Out,"</td>");
/***** End row *****/ /***** End row *****/
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -3801,7 +3801,7 @@ static void Usr_WriteRowGstAllData (struct UsrData *UsrDat)
NULL,true,false); NULL,true,false);
/***** End row *****/ /***** End row *****/
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -3921,7 +3921,7 @@ static void Usr_WriteRowStdAllData (struct UsrData *UsrDat,char *GroupNames)
} }
/***** End row *****/ /***** End row *****/
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -3999,7 +3999,7 @@ static void Usr_WriteRowTchAllData (struct UsrData *UsrDat)
"&nbsp;", "&nbsp;",
NULL,true,UsrDat->Accepted); NULL,true,UsrDat->Accepted);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -6476,7 +6476,7 @@ void Usr_WriteHeaderFieldsUsrDat (bool PutCheckBoxToSelectUsr)
"</th>", "</th>",
Usr_UsrDatMainFieldNames[NumCol]); Usr_UsrDatMainFieldNames[NumCol]);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -6642,7 +6642,7 @@ static void Usr_ListMainDataTchs (Rol_Role_t Role,bool PutCheckBoxToSelectUsr)
Usr_UsrDatMainFieldNames[NumCol]); Usr_UsrDatMainFieldNames[NumCol]);
/* End row */ /* End row */
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/***** Initialize structure with user's data *****/ /***** Initialize structure with user's data *****/
Usr_UsrDataConstructor (&UsrDat); Usr_UsrDataConstructor (&UsrDat);
@ -6748,7 +6748,7 @@ void Usr_ListAllDataGsts (void)
FieldNames[NumCol]); FieldNames[NumCol]);
/* End row */ /* End row */
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/***** Initialize structure with user's data *****/ /***** Initialize structure with user's data *****/
Usr_UsrDataConstructor (&UsrDat); Usr_UsrDataConstructor (&UsrDat);
@ -6931,7 +6931,7 @@ void Usr_ListAllDataStds (void)
Gbl.Crs.Records.LstFields.Lst[NumField].Name); Gbl.Crs.Records.LstFields.Lst[NumField].Name);
/* 4. Visibility type for the record fields that depend on the course, in other row */ /* 4. Visibility type for the record fields that depend on the course, in other row */
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
Tbl_StartRow (); Tbl_StartRow ();
for (NumCol = 0; for (NumCol = 0;
NumCol < NumColumnsCardAndGroups; NumCol < NumColumnsCardAndGroups;
@ -6950,7 +6950,7 @@ void Usr_ListAllDataStds (void)
} }
/* End row */ /* End row */
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/***** Initialize structure with user's data *****/ /***** Initialize structure with user's data *****/
Usr_UsrDataConstructor (&UsrDat); Usr_UsrDataConstructor (&UsrDat);
@ -7143,7 +7143,7 @@ static void Usr_ListRowsAllDataTchs (Rol_Role_t Role,
"%s&nbsp;" "%s&nbsp;"
"</th>", "</th>",
FieldNames[NumCol]); FieldNames[NumCol]);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/***** Initialize structure with user's data *****/ /***** Initialize structure with user's data *****/
Usr_UsrDataConstructor (&UsrDat); Usr_UsrDataConstructor (&UsrDat);
@ -7392,7 +7392,7 @@ void Usr_ListDataAdms (void)
"%s&nbsp;" "%s&nbsp;"
"</th>", "</th>",
FieldNames[NumCol]); FieldNames[NumCol]);
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/***** Initialize structure with user's data *****/ /***** Initialize structure with user's data *****/
Usr_UsrDataConstructor (&UsrDat); Usr_UsrDataConstructor (&UsrDat);
@ -8985,12 +8985,12 @@ static void Usr_DrawClassPhoto (Usr_ClassPhotoType_t ClassPhotoType,
if ((++NumUsr % Gbl.Usrs.ClassPhoto.Cols) == 0) if ((++NumUsr % Gbl.Usrs.ClassPhoto.Cols) == 0)
{ {
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
TRIsOpen = false; TRIsOpen = false;
} }
} }
if (TRIsOpen) if (TRIsOpen)
fprintf (Gbl.F.Out,"</tr>"); Tbl_EndRow ();
/***** Free memory used for user's data *****/ /***** Free memory used for user's data *****/
Usr_UsrDataDestructor (&UsrDat); Usr_UsrDataDestructor (&UsrDat);