Version19.31.9

This commit is contained in:
Antonio Cañas Vargas 2019-10-06 12:00:55 +02:00
parent 4e357d657e
commit a8d8cadda6
60 changed files with 853 additions and 805 deletions

View File

@ -665,7 +665,7 @@ static void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,
""); "");
if (NumID == UsrDat->IDs.Num - 1) if (NumID == UsrDat->IDs.Num - 1)
{ {
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
} }
@ -676,7 +676,7 @@ static void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"DAT CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"DAT CENTER_MIDDLE\">");
Ale_ShowAlert (Ale_INFO,Txt_The_ID_is_used_in_order_to_facilitate_); Ale_ShowAlert (Ale_INFO,Txt_The_ID_is_used_in_order_to_facilitate_);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Form to enter new user's ID *****/ /***** Form to enter new user's ID *****/
@ -716,7 +716,7 @@ static void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,
""); // Show the most recent ID ""); // Show the most recent ID
Btn_PutCreateButtonInline (Txt_Add_this_ID); Btn_PutCreateButtonInline (Txt_Add_this_ID);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }

View File

@ -281,9 +281,9 @@ static void Acc_WriteRowEmptyAccount (unsigned NumUsr,const char *ID,struct UsrD
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td rowspan=\"2\"" fprintf (Gbl.F.Out,"<td rowspan=\"2\""
" class=\"USR_LIST_NUM_N RIGHT_TOP COLOR%u\">" " class=\"USR_LIST_NUM_N RIGHT_TOP COLOR%u\">"
"%u" "%u",
"</td>",
Gbl.RowEvenOdd,NumUsr); Gbl.RowEvenOdd,NumUsr);
Tbl_EndCell ();
/***** Write user's ID and name *****/ /***** Write user's ID and name *****/
fprintf (Gbl.F.Out,"<td class=\"DAT_N LEFT_TOP COLOR%u\">" fprintf (Gbl.F.Out,"<td class=\"DAT_N LEFT_TOP COLOR%u\">"
@ -296,7 +296,7 @@ static void Acc_WriteRowEmptyAccount (unsigned NumUsr,const char *ID,struct UsrD
fprintf (Gbl.F.Out,"<strong>%s</strong>",UsrDat->FullName); fprintf (Gbl.F.Out,"<strong>%s</strong>",UsrDat->FullName);
else else
fprintf (Gbl.F.Out,"<em>%s</em>",Txt_yet_unnamed); fprintf (Gbl.F.Out,"<em>%s</em>",Txt_yet_unnamed);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Button to login with this account *****/ /***** Button to login with this account *****/
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP COLOR%u\">",
@ -305,7 +305,7 @@ static void Acc_WriteRowEmptyAccount (unsigned NumUsr,const char *ID,struct UsrD
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
Btn_PutCreateButtonInline (Txt_Its_me); Btn_PutCreateButtonInline (Txt_Its_me);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Courses of this user *****/ /***** Courses of this user *****/
@ -316,7 +316,7 @@ static void Acc_WriteRowEmptyAccount (unsigned NumUsr,const char *ID,struct UsrD
Crs_GetAndWriteCrssOfAUsr (UsrDat,Rol_TCH); Crs_GetAndWriteCrssOfAUsr (UsrDat,Rol_TCH);
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>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -369,37 +369,37 @@ static void Acc_ShowFormRequestNewAccountWithParams (const char *NewNicknameWith
NewNicknameWithArroba[0] = '\0'; NewNicknameWithArroba[0] = '\0';
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"NewNick\" class=\"%s\">%s:</label>" "<label for=\"NewNick\" class=\"%s\">%s:</label>",
"</td>" The_ClassFormInBox[Gbl.Prefs.Theme],
"<td class=\"LEFT_MIDDLE\">" Txt_Nickname);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"text\" id=\"NewNick\" name=\"NewNick\"" "<input type=\"text\" id=\"NewNick\" name=\"NewNick\""
" size=\"18\" maxlength=\"%u\"" " size=\"18\" maxlength=\"%u\""
" placeholder=\"%s\" value=\"%s\"" " placeholder=\"%s\" value=\"%s\""
" required=\"required\" />" " required=\"required\" />",
"</td>",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Nickname,
1 + Nck_MAX_CHARS_NICKNAME_WITHOUT_ARROBA, 1 + Nck_MAX_CHARS_NICKNAME_WITHOUT_ARROBA,
Txt_HELP_nickname, Txt_HELP_nickname,
NewNicknameWithArroba); NewNicknameWithArroba);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Email *****/ /***** Email *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"NewEmail\" class=\"%s\">%s:</label>" "<label for=\"NewEmail\" class=\"%s\">%s:</label>",
"</td>" The_ClassFormInBox[Gbl.Prefs.Theme],
"<td class=\"LEFT_MIDDLE\">" Txt_Email);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"email\" id=\"NewEmail\" name=\"NewEmail\"" "<input type=\"email\" id=\"NewEmail\" name=\"NewEmail\""
" size=\"18\" maxlength=\"%u\"" " size=\"18\" maxlength=\"%u\""
" placeholder=\"%s\" value=\"%s\"" " placeholder=\"%s\" value=\"%s\""
" required=\"required\" />" " required=\"required\" />",
"</td>",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Email,
Cns_MAX_CHARS_EMAIL_ADDRESS, Cns_MAX_CHARS_EMAIL_ADDRESS,
Txt_HELP_email, Txt_HELP_email,
NewEmail); NewEmail);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Password *****/ /***** Password *****/

View File

@ -747,13 +747,13 @@ static void Agd_ShowOneEvent (Agd_AgendaType_t AgendaType,long AgdCod)
for (StartEndTime = (Dat_StartEndTime_t) 0; for (StartEndTime = (Dat_StartEndTime_t) 0;
StartEndTime <= (Dat_StartEndTime_t) (Dat_NUM_START_END_TIME - 1); StartEndTime <= (Dat_StartEndTime_t) (Dat_NUM_START_END_TIME - 1);
StartEndTime++) StartEndTime++)
{
fprintf (Gbl.F.Out,"<td id=\"agd_date_%u_%u\"" fprintf (Gbl.F.Out,"<td id=\"agd_date_%u_%u\""
" class=\"%s LEFT_BOTTOM COLOR%u\">" " class=\"%s LEFT_BOTTOM COLOR%u\">"
"<script type=\"text/javascript\">" "<script type=\"text/javascript\">"
"writeLocalDateHMSFromUTC('agd_date_%u_%u',%ld," "writeLocalDateHMSFromUTC('agd_date_%u_%u',%ld,"
"%u,'<br />','%s',true,true,0x6);" "%u,'<br />','%s',true,true,0x6);"
"</script>" "</script>",
"</td>",
(unsigned) StartEndTime,UniqueId, (unsigned) StartEndTime,UniqueId,
AgdEvent.Hidden ? Dat_TimeStatusClassHidden[AgdEvent.TimeStatus] : AgdEvent.Hidden ? Dat_TimeStatusClassHidden[AgdEvent.TimeStatus] :
Dat_TimeStatusClassVisible[AgdEvent.TimeStatus], Dat_TimeStatusClassVisible[AgdEvent.TimeStatus],
@ -761,6 +761,8 @@ static void Agd_ShowOneEvent (Agd_AgendaType_t AgendaType,long AgdCod)
(unsigned) StartEndTime,UniqueId, (unsigned) StartEndTime,UniqueId,
AgdEvent.TimeUTC[StartEndTime], AgdEvent.TimeUTC[StartEndTime],
(unsigned) Gbl.Prefs.DateFormat,Txt_Today); (unsigned) Gbl.Prefs.DateFormat,Txt_Today);
Tbl_EndCell ();
}
/* Event */ /* Event */
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP COLOR%u\">",
@ -770,16 +772,16 @@ static void Agd_ShowOneEvent (Agd_AgendaType_t AgendaType,long AgdCod)
Lay_StartArticle (Anchor); Lay_StartArticle (Anchor);
fprintf (Gbl.F.Out,"%s",AgdEvent.Event); fprintf (Gbl.F.Out,"%s",AgdEvent.Event);
Lay_EndArticle (); Lay_EndArticle ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Location */ /* Location */
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">" fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">"
"<div class=\"%s\">%s</div>" "<div class=\"%s\">%s</div>",
"</td>",
Gbl.RowEvenOdd, Gbl.RowEvenOdd,
AgdEvent.Hidden ? "ASG_TITLE_LIGHT" : AgdEvent.Hidden ? "ASG_TITLE_LIGHT" :
"ASG_TITLE", "ASG_TITLE",
AgdEvent.Location); AgdEvent.Location);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
@ -799,7 +801,7 @@ static void Agd_ShowOneEvent (Agd_AgendaType_t AgendaType,long AgdCod)
break; break;
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Text of the event */ /* Text of the event */
Agd_GetEventTxtFromDB (&AgdEvent,Txt); Agd_GetEventTxtFromDB (&AgdEvent,Txt);
@ -807,12 +809,12 @@ static void Agd_ShowOneEvent (Agd_AgendaType_t AgendaType,long AgdCod)
Txt,Cns_MAX_BYTES_TEXT,false); // Convert from HTML to recpectful HTML Txt,Cns_MAX_BYTES_TEXT,false); // Convert from HTML to recpectful HTML
Str_InsertLinks (Txt,Cns_MAX_BYTES_TEXT,60); // Insert links Str_InsertLinks (Txt,Cns_MAX_BYTES_TEXT,60); // Insert links
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"LEFT_TOP COLOR%u\">" fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"LEFT_TOP COLOR%u\">"
"<div class=\"PAR %s\">%s</div>" "<div class=\"PAR %s\">%s</div>",
"</td>",
Gbl.RowEvenOdd, Gbl.RowEvenOdd,
AgdEvent.Hidden ? "DAT_LIGHT" : AgdEvent.Hidden ? "DAT_LIGHT" :
"DAT", "DAT",
Txt); Txt);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Free anchor string *****/ /***** Free anchor string *****/
@ -1502,31 +1504,31 @@ void Agd_RequestCreatOrEditEvent (void)
/***** Event *****/ /***** Event *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"Event\" class=\"%s\">%s:</label>" "<label for=\"Event\" class=\"%s\">%s:</label>",
"</td>" The_ClassFormInBox[Gbl.Prefs.Theme],
"<td class=\"LEFT_MIDDLE\">" Txt_Event);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"text\" id=\"Event\" name=\"Event\"" "<input type=\"text\" id=\"Event\" name=\"Event\""
" size=\"45\" maxlength=\"%u\" value=\"%s\"" " size=\"45\" maxlength=\"%u\" value=\"%s\""
" required=\"required\" />" " required=\"required\" />",
"</td>",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Event,
Agd_MAX_CHARS_EVENT,AgdEvent.Event); Agd_MAX_CHARS_EVENT,AgdEvent.Event);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Location *****/ /***** Location *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"Location\" class=\"%s\">%s:</label>" "<label for=\"Location\" class=\"%s\">%s:</label>",
"</td>" The_ClassFormInBox[Gbl.Prefs.Theme],
"<td class=\"LEFT_MIDDLE\">" Txt_Location);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"text\" id=\"Location\" name=\"Location\"" "<input type=\"text\" id=\"Location\" name=\"Location\""
" size=\"45\" maxlength=\"%u\" value=\"%s\"" " size=\"45\" maxlength=\"%u\" value=\"%s\""
" required=\"required\" />" " required=\"required\" />",
"</td>",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Location,
Agd_MAX_CHARS_LOCATION,AgdEvent.Location); Agd_MAX_CHARS_LOCATION,AgdEvent.Location);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Start and end dates *****/ /***** Start and end dates *****/
@ -1536,17 +1538,17 @@ void Agd_RequestCreatOrEditEvent (void)
/***** Text *****/ /***** Text *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"Txt\" class=\"%s\">%s:</label>" "<label for=\"Txt\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"LEFT_TOP\">"
"<textarea id=\"Txt\" name=\"Txt\""
" cols=\"60\" rows=\"10\">",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Description); Txt_Description);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">"
"<textarea id=\"Txt\" name=\"Txt\""
" cols=\"60\" rows=\"10\">");
if (!ItsANewEvent) if (!ItsANewEvent)
fprintf (Gbl.F.Out,"%s",Txt); fprintf (Gbl.F.Out,"%s",Txt);
fprintf (Gbl.F.Out,"</textarea>" fprintf (Gbl.F.Out,"</textarea>");
"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** End table, send button and end box *****/ /***** End table, send button and end box *****/

View File

@ -415,11 +415,11 @@ void Ann_ShowFormAnnouncement (void)
/***** Users' roles who can view the announcement *****/ /***** Users' roles who can view the announcement *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">"
"%s: " "%s: ",
"</td>"
"<td class=\"DAT LEFT_TOP\">",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Users); Txt_Users);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">");
Rol_WriteSelectorRoles (1 << Rol_UNK | Rol_WriteSelectorRoles (1 << Rol_UNK |
1 << Rol_GST | 1 << Rol_GST |
1 << Rol_STD | 1 << Rol_STD |
@ -431,7 +431,7 @@ void Ann_ShowFormAnnouncement (void)
1 << Rol_NET | 1 << Rol_NET |
1 << Rol_TCH, 1 << Rol_TCH,
false,false); false,false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** End table, send button and end box *****/ /***** End table, send button and end box *****/
@ -452,15 +452,15 @@ static void Ann_PutSubjectMessage (const char *Field,const char *Label,
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"%s\" class=\"%s\">%s:</label>" "<label for=\"%s\" class=\"%s\">%s:</label>",
"</td>" Field,The_ClassFormInBox[Gbl.Prefs.Theme],Label);
"<td class=\"LEFT_TOP\">" Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">"
"<textarea id=\"%s\" name=\"%s\"" "<textarea id=\"%s\" name=\"%s\""
" cols=\"75\" rows=\"%u\">" " cols=\"75\" rows=\"%u\">"
"</textarea>" "</textarea>",
"</td>",
Field,The_ClassFormInBox[Gbl.Prefs.Theme],Label,
Field,Field,Rows); Field,Field,Rows);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }

View File

@ -366,7 +366,7 @@ static void Asg_ShowOneAssignment (long AsgCod,bool PrintView)
fprintf (Gbl.F.Out," COLOR%u\">",Gbl.RowEvenOdd); fprintf (Gbl.F.Out," COLOR%u\">",Gbl.RowEvenOdd);
Asg_PutFormsToRemEditOneAsg (&Asg,Anchor); Asg_PutFormsToRemEditOneAsg (&Asg,Anchor);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Start/end date/time */ /* Start/end date/time */
UniqueId++; UniqueId++;
@ -387,10 +387,10 @@ static void Asg_ShowOneAssignment (long AsgCod,bool PrintView)
"<script type=\"text/javascript\">" "<script type=\"text/javascript\">"
"writeLocalDateHMSFromUTC('asg_date_%u_%u',%ld," "writeLocalDateHMSFromUTC('asg_date_%u_%u',%ld,"
"%u,'<br />','%s',true,true,0x7);" "%u,'<br />','%s',true,true,0x7);"
"</script>" "</script>",
"</td>",
(unsigned) StartEndTime,UniqueId,Asg.TimeUTC[StartEndTime], (unsigned) StartEndTime,UniqueId,Asg.TimeUTC[StartEndTime],
(unsigned) Gbl.Prefs.DateFormat,Txt_Today); (unsigned) Gbl.Prefs.DateFormat,Txt_Today);
Tbl_EndCell ();
} }
/* Assignment title */ /* Assignment title */
@ -403,7 +403,7 @@ static void Asg_ShowOneAssignment (long AsgCod,bool PrintView)
Lay_StartArticle (Anchor); Lay_StartArticle (Anchor);
fprintf (Gbl.F.Out,"%s",Asg.Title); fprintf (Gbl.F.Out,"%s",Asg.Title);
Lay_EndArticle (); Lay_EndArticle ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Assignment folder */ /* Assignment folder */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP"); fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP");
@ -412,7 +412,7 @@ static void Asg_ShowOneAssignment (long AsgCod,bool PrintView)
fprintf (Gbl.F.Out,"\">"); fprintf (Gbl.F.Out,"\">");
if (Asg.SendWork == Asg_SEND_WORK) if (Asg.SendWork == Asg_SEND_WORK)
Asg_WriteAssignmentFolder (&Asg,PrintView); Asg_WriteAssignmentFolder (&Asg,PrintView);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Write second row of data of this assignment *****/ /***** Write second row of data of this assignment *****/
@ -425,7 +425,7 @@ static void Asg_ShowOneAssignment (long AsgCod,bool PrintView)
/* Author of the assignment */ /* Author of the assignment */
Asg_WriteAsgAuthor (&Asg); Asg_WriteAsgAuthor (&Asg);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Text of the assignment */ /* Text of the assignment */
Asg_GetAssignmentTxtFromDB (Asg.AsgCod,Txt); Asg_GetAssignmentTxtFromDB (Asg.AsgCod,Txt);
@ -440,11 +440,11 @@ static void Asg_ShowOneAssignment (long AsgCod,bool PrintView)
if (Gbl.Crs.Grps.NumGrps) if (Gbl.Crs.Grps.NumGrps)
Asg_GetAndWriteNamesOfGrpsAssociatedToAsg (&Asg); Asg_GetAndWriteNamesOfGrpsAssociatedToAsg (&Asg);
fprintf (Gbl.F.Out,"<div class=\"PAR %s\">%s</div>" fprintf (Gbl.F.Out,"<div class=\"PAR %s\">%s</div>",
"</td>",
Asg.Hidden ? "DAT_LIGHT" : Asg.Hidden ? "DAT_LIGHT" :
"DAT", "DAT",
Txt); Txt);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Free anchor string *****/ /***** Free anchor string *****/
@ -1160,15 +1160,15 @@ void Asg_RequestCreatOrEditAsg (void)
/***** Assignment title *****/ /***** Assignment title *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"Title\" class=\"%s\">%s:</label>" "<label for=\"Title\" class=\"%s\">%s:</label>",
"</td>" The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Title);
"<td class=\"LEFT_MIDDLE\">" Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"text\" id=\"Title\" name=\"Title\"" "<input type=\"text\" id=\"Title\" name=\"Title\""
" size=\"45\" maxlength=\"%u\" value=\"%s\"" " size=\"45\" maxlength=\"%u\" value=\"%s\""
" required=\"required\" />" " required=\"required\" />",
"</td>",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Title,
Asg_MAX_CHARS_ASSIGNMENT_TITLE,Asg.Title); Asg_MAX_CHARS_ASSIGNMENT_TITLE,Asg.Title);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Assignment start and end dates *****/ /***** Assignment start and end dates *****/
@ -1177,33 +1177,33 @@ void Asg_RequestCreatOrEditAsg (void)
/***** Send work? *****/ /***** Send work? *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:" "%s:",
"</td>" The_ClassFormInBox[Gbl.Prefs.Theme],
"<td class=\"LEFT_MIDDLE\">" Txt_Upload_files_QUESTION);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<label class=\"DAT\">%s:" "<label class=\"DAT\">%s:"
"<input type=\"text\" name=\"Folder\"" "<input type=\"text\" name=\"Folder\""
" size=\"30\" maxlength=\"%u\" value=\"%s\" />" " size=\"30\" maxlength=\"%u\" value=\"%s\" />"
"</label>" "</label>",
"</td>",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Upload_files_QUESTION,
Txt_Folder, Txt_Folder,
Brw_MAX_CHARS_FOLDER,Asg.Folder); Brw_MAX_CHARS_FOLDER,Asg.Folder);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Assignment text *****/ /***** Assignment text *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"Txt\" class=\"%s\">%s:</label>" "<label for=\"Txt\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"LEFT_TOP\">"
"<textarea id=\"Txt\" name=\"Txt\""
" cols=\"60\" rows=\"10\">",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Description); The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Description);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">"
"<textarea id=\"Txt\" name=\"Txt\""
" cols=\"60\" rows=\"10\">");
if (!ItsANewAssignment) if (!ItsANewAssignment)
fprintf (Gbl.F.Out,"%s",Txt); fprintf (Gbl.F.Out,"%s",Txt);
fprintf (Gbl.F.Out,"</textarea>" fprintf (Gbl.F.Out,"</textarea>");
"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Groups *****/ /***** Groups *****/
@ -1242,11 +1242,11 @@ static void Asg_ShowLstGrpsToEditAssignment (long AsgCod)
/***** Start box and table *****/ /***** Start box and table *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">"
"%s:" "%s:",
"</td>"
"<td class=\"LEFT_TOP\">",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Groups); Txt_Groups);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">");
Box_StartBoxTable ("100%",NULL,NULL, Box_StartBoxTable ("100%",NULL,NULL,
Hlp_USERS_Groups,Box_NOT_CLOSABLE,0); Hlp_USERS_Groups,Box_NOT_CLOSABLE,0);
@ -1259,9 +1259,9 @@ static void Asg_ShowLstGrpsToEditAssignment (long AsgCod)
fprintf (Gbl.F.Out," checked=\"checked\""); fprintf (Gbl.F.Out," checked=\"checked\"");
fprintf (Gbl.F.Out," onclick=\"uncheckChildren(this,'GrpCods')\" />" fprintf (Gbl.F.Out," onclick=\"uncheckChildren(this,'GrpCods')\" />"
"%s %s" "%s %s"
"</label>" "</label>",
"</td>",
Txt_The_whole_course,Gbl.Hierarchy.Crs.ShrtName); Txt_The_whole_course,Gbl.Hierarchy.Crs.ShrtName);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** List the groups for each group type *****/ /***** List the groups for each group type *****/
@ -1274,7 +1274,7 @@ static void Asg_ShowLstGrpsToEditAssignment (long AsgCod)
/***** End table and box *****/ /***** End table and box *****/
Box_EndBoxTable (); Box_EndBoxTable ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }

View File

@ -401,7 +401,7 @@ static void Att_ShowOneAttEvent (struct AttendanceEvent *Att,bool ShowOnlyThisAt
default: default:
break; break;
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Start/end date/time */ /* Start/end date/time */
UniqueId++; UniqueId++;
@ -421,10 +421,10 @@ static void Att_ShowOneAttEvent (struct AttendanceEvent *Att,bool ShowOnlyThisAt
"<script type=\"text/javascript\">" "<script type=\"text/javascript\">"
"writeLocalDateHMSFromUTC('att_date_%u_%u',%ld," "writeLocalDateHMSFromUTC('att_date_%u_%u',%ld,"
"%u,'<br />','%s',true,true,0x7);" "%u,'<br />','%s',true,true,0x7);"
"</script>" "</script>",
"</td>",
(unsigned) StartEndTime,UniqueId,Att->TimeUTC[StartEndTime], (unsigned) StartEndTime,UniqueId,Att->TimeUTC[StartEndTime],
(unsigned) Gbl.Prefs.DateFormat,Txt_Today); (unsigned) Gbl.Prefs.DateFormat,Txt_Today);
Tbl_EndCell ();
} }
/* Attendance event title */ /* Attendance event title */
@ -437,7 +437,7 @@ static void Att_ShowOneAttEvent (struct AttendanceEvent *Att,bool ShowOnlyThisAt
Att->Hidden ? "ASG_TITLE_LIGHT" : Att->Hidden ? "ASG_TITLE_LIGHT" :
"ASG_TITLE"); "ASG_TITLE");
Lay_EndArticle (); Lay_EndArticle ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Number of students in this event */ /* Number of students in this event */
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP", fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP",
@ -446,9 +446,10 @@ static void Att_ShowOneAttEvent (struct AttendanceEvent *Att,bool ShowOnlyThisAt
if (!ShowOnlyThisAttEventComplete) if (!ShowOnlyThisAttEventComplete)
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd); fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"\">" fprintf (Gbl.F.Out,"\">"
"%u" "%u",
"</td>",
Att->NumStdsTotal); Att->NumStdsTotal);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Write second row of data of this attendance event *****/ /***** Write second row of data of this attendance event *****/
@ -461,7 +462,7 @@ static void Att_ShowOneAttEvent (struct AttendanceEvent *Att,bool ShowOnlyThisAt
/* Author of the attendance event */ /* Author of the attendance event */
Att_WriteAttEventAuthor (Att); Att_WriteAttEventAuthor (Att);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Text of the attendance event */ /* Text of the attendance event */
Att_GetAttEventDescriptionFromDB (Att->AttCod,Description); Att_GetAttEventDescriptionFromDB (Att->AttCod,Description);
@ -481,7 +482,7 @@ static void Att_ShowOneAttEvent (struct AttendanceEvent *Att,bool ShowOnlyThisAt
"DAT", "DAT",
Description); Description);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Free anchor string *****/ /***** Free anchor string *****/
@ -1096,15 +1097,15 @@ void Att_RequestCreatOrEditAttEvent (void)
/***** Attendance event title *****/ /***** Attendance event title *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"Title\" class=\"%s\">%s:</label>" "<label for=\"Title\" class=\"%s\">%s:</label>",
"</td>" The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Title);
"<td class=\"LEFT_TOP\">" Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">"
"<input type=\"text\" id=\"Title\" name=\"Title\"" "<input type=\"text\" id=\"Title\" name=\"Title\""
" size=\"45\" maxlength=\"%u\" value=\"%s\"" " size=\"45\" maxlength=\"%u\" value=\"%s\""
" required=\"required\" />" " required=\"required\" />",
"</td>",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Title,
Att_MAX_CHARS_ATTENDANCE_EVENT_TITLE,Att.Title); Att_MAX_CHARS_ATTENDANCE_EVENT_TITLE,Att.Title);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Assignment start and end dates *****/ /***** Assignment start and end dates *****/
@ -1113,11 +1114,12 @@ void Att_RequestCreatOrEditAttEvent (void)
/***** Visibility of comments *****/ /***** Visibility of comments *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"ComTchVisible\" class=\"%s\">%s:</label>" "<label for=\"ComTchVisible\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"LEFT_TOP\">"
"<select id=\"ComTchVisible\" name=\"ComTchVisible\">",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Teachers_comment); The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Teachers_comment);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">"
"<select id=\"ComTchVisible\" name=\"ComTchVisible\">");
fprintf (Gbl.F.Out,"<option value=\"N\""); fprintf (Gbl.F.Out,"<option value=\"N\"");
if (!Att.CommentTchVisible) if (!Att.CommentTchVisible)
@ -1131,23 +1133,23 @@ void Att_RequestCreatOrEditAttEvent (void)
fprintf (Gbl.F.Out,">%s</option>", fprintf (Gbl.F.Out,">%s</option>",
Txt_Visible_MALE_PLURAL); Txt_Visible_MALE_PLURAL);
fprintf (Gbl.F.Out,"</select>" fprintf (Gbl.F.Out,"</select>");
"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Attendance event description *****/ /***** Attendance event description *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"Txt\" class=\"%s\">%s:</label>" "<label for=\"Txt\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"LEFT_TOP\">"
"<textarea id=\"Txt\" name=\"Txt\""
" cols=\"60\" rows=\"5\">",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Description); The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Description);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">"
"<textarea id=\"Txt\" name=\"Txt\""
" cols=\"60\" rows=\"5\">");
if (!ItsANewAttEvent) if (!ItsANewAttEvent)
fprintf (Gbl.F.Out,"%s",Description); fprintf (Gbl.F.Out,"%s",Description);
fprintf (Gbl.F.Out,"</textarea>" fprintf (Gbl.F.Out,"</textarea>");
"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Groups *****/ /***** Groups *****/
@ -1186,10 +1188,10 @@ static void Att_ShowLstGrpsToEditAttEvent (long AttCod)
/***** Start box and table *****/ /***** Start box and table *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">"
"%s:" "%s:",
"</td>"
"<td class=\"LEFT_TOP\">",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Groups); The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Groups);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">");
Box_StartBoxTable ("100%",NULL,NULL, Box_StartBoxTable ("100%",NULL,NULL,
NULL,Box_NOT_CLOSABLE,0); NULL,Box_NOT_CLOSABLE,0);
@ -1202,9 +1204,9 @@ static void Att_ShowLstGrpsToEditAttEvent (long AttCod)
fprintf (Gbl.F.Out," checked=\"checked\""); fprintf (Gbl.F.Out," checked=\"checked\"");
fprintf (Gbl.F.Out," onclick=\"uncheckChildren(this,'GrpCods')\" />" fprintf (Gbl.F.Out," onclick=\"uncheckChildren(this,'GrpCods')\" />"
"%s %s" "%s %s"
"</label>" "</label>",
"</td>",
Txt_The_whole_course,Gbl.Hierarchy.Crs.ShrtName); Txt_The_whole_course,Gbl.Hierarchy.Crs.ShrtName);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** List the groups for each group type *****/ /***** List the groups for each group type *****/
@ -1217,7 +1219,7 @@ static void Att_ShowLstGrpsToEditAttEvent (long AttCod)
/***** End table and box *****/ /***** End table and box *****/
Box_EndBoxTable (); Box_EndBoxTable ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -2084,8 +2086,8 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
"<label for=\"Std%u\">", "<label for=\"Std%u\">",
Gbl.RowEvenOdd,NumUsr); Gbl.RowEvenOdd,NumUsr);
Att_PutCheckOrCross (Present); Att_PutCheckOrCross (Present);
fprintf (Gbl.F.Out,"</label>" fprintf (Gbl.F.Out,"</label>");
"</td>"); Tbl_EndCell ();
/***** Checkbox to select user *****/ /***** Checkbox to select user *****/
fprintf (Gbl.F.Out,"<td class=\"CENTER_TOP COLOR%u\">" fprintf (Gbl.F.Out,"<td class=\"CENTER_TOP COLOR%u\">"
@ -2097,17 +2099,17 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
fprintf (Gbl.F.Out," checked=\"checked\""); fprintf (Gbl.F.Out," checked=\"checked\"");
if (!ICanChangeStdAttendance) if (!ICanChangeStdAttendance)
fprintf (Gbl.F.Out," disabled=\"disabled\""); fprintf (Gbl.F.Out," disabled=\"disabled\"");
fprintf (Gbl.F.Out," />" fprintf (Gbl.F.Out," />");
"</td>"); Tbl_EndCell ();
/***** Write number of student in the list *****/ /***** Write number of student in the list *****/
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP COLOR%u\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP COLOR%u\">"
"%u" "%u",
"</td>",
UsrDat->Accepted ? "DAT_N" : UsrDat->Accepted ? "DAT_N" :
"DAT", "DAT",
Gbl.RowEvenOdd, Gbl.RowEvenOdd,
NumUsr); NumUsr);
Tbl_EndCell ();
/***** Show student's photo *****/ /***** Show student's photo *****/
if (Gbl.Usrs.Listing.WithPhotos) if (Gbl.Usrs.Listing.WithPhotos)
@ -2118,7 +2120,7 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL : Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
NULL, NULL,
"PHOTO45x60",Pho_ZOOM,false); "PHOTO45x60",Pho_ZOOM,false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/***** Write user's ID ******/ /***** Write user's ID ******/
@ -2127,7 +2129,7 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
"DAT_SMALL", "DAT_SMALL",
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
ID_WriteUsrIDs (UsrDat,NULL); ID_WriteUsrIDs (UsrDat,NULL);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write student's name *****/ /***** Write student's name *****/
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP COLOR%u\">%s", fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP COLOR%u\">%s",
@ -2137,8 +2139,9 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
UsrDat->Surname1); UsrDat->Surname1);
if (UsrDat->Surname2[0]) if (UsrDat->Surname2[0])
fprintf (Gbl.F.Out," %s",UsrDat->Surname2); fprintf (Gbl.F.Out," %s",UsrDat->Surname2);
fprintf (Gbl.F.Out,", %s</td>", fprintf (Gbl.F.Out,", %s",
UsrDat->FirstName); UsrDat->FirstName);
Tbl_EndCell ();
/***** Student's comment: write form or text */ /***** Student's comment: write form or text */
fprintf (Gbl.F.Out,"<td class=\"DAT_SMALL LEFT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"DAT_SMALL LEFT_TOP COLOR%u\">",
@ -2155,7 +2158,7 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
CommentStd,Cns_MAX_BYTES_TEXT,false); CommentStd,Cns_MAX_BYTES_TEXT,false);
fprintf (Gbl.F.Out,"%s",CommentStd); fprintf (Gbl.F.Out,"%s",CommentStd);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Teacher's comment: write form, text or nothing */ /***** Teacher's comment: write form, text or nothing */
fprintf (Gbl.F.Out,"<td class=\"DAT_SMALL LEFT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"DAT_SMALL LEFT_TOP COLOR%u\">",
@ -2172,7 +2175,7 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
CommentTch,Cns_MAX_BYTES_TEXT,false); CommentTch,Cns_MAX_BYTES_TEXT,false);
fprintf (Gbl.F.Out,"%s",CommentTch); fprintf (Gbl.F.Out,"%s",CommentTch);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
@ -3134,36 +3137,36 @@ static void Att_ListEventsToSelect (Att_TypeOfView_t TypeOfView)
Gbl.AttEvents.Lst[NumAttEvent].AttCod); Gbl.AttEvents.Lst[NumAttEvent].AttCod);
if (Gbl.AttEvents.Lst[NumAttEvent].Selected) if (Gbl.AttEvents.Lst[NumAttEvent].Selected)
fprintf (Gbl.F.Out," checked=\"checked\""); fprintf (Gbl.F.Out," checked=\"checked\"");
fprintf (Gbl.F.Out," />" fprintf (Gbl.F.Out," />");
"</td>" Tbl_EndCell ();
"<td class=\"DAT RIGHT_TOP COLOR%u\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP COLOR%u\">"
"<label for=\"Att%u\">%u:</label>" "<label for=\"Att%u\">%u:</label>",
"</td>" Gbl.RowEvenOdd,
"<td class=\"DAT LEFT_TOP COLOR%u\">" NumAttEvent,NumAttEvent + 1);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP COLOR%u\">"
"<label for=\"Att%u\">" "<label for=\"Att%u\">"
"<span id=\"att_date_start_%u\"></span>" "<span id=\"att_date_start_%u\"></span>"
"</label>" "</label>"
"<script type=\"text/javascript\">" "<script type=\"text/javascript\">"
"writeLocalDateHMSFromUTC('att_date_start_%u',%ld," "writeLocalDateHMSFromUTC('att_date_start_%u',%ld,"
"%u,',&nbsp;','%s',true,true,0x7);" "%u,',&nbsp;','%s',true,true,0x7);"
"</script>" "</script>",
"</td>"
"<td class=\"DAT LEFT_TOP COLOR%u\">"
"%s"
"</td>"
"<td class=\"DAT RIGHT_TOP COLOR%u\">"
"%u"
"</td>",
Gbl.RowEvenOdd,
NumAttEvent,NumAttEvent + 1,
Gbl.RowEvenOdd, Gbl.RowEvenOdd,
NumAttEvent,UniqueId, NumAttEvent,UniqueId,
UniqueId,Gbl.AttEvents.Lst[NumAttEvent].TimeUTC[Att_START_TIME], UniqueId,Gbl.AttEvents.Lst[NumAttEvent].TimeUTC[Att_START_TIME],
(unsigned) Gbl.Prefs.DateFormat,Txt_Today, (unsigned) Gbl.Prefs.DateFormat,Txt_Today);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP COLOR%u\">"
"%s",
Gbl.RowEvenOdd, Gbl.RowEvenOdd,
Gbl.AttEvents.Lst[NumAttEvent].Title, Gbl.AttEvents.Lst[NumAttEvent].Title);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP COLOR%u\">"
"%u",
Gbl.RowEvenOdd, Gbl.RowEvenOdd,
Gbl.AttEvents.Lst[NumAttEvent].NumStdsTotal); Gbl.AttEvents.Lst[NumAttEvent].NumStdsTotal);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -3176,7 +3179,7 @@ static void Att_ListEventsToSelect (Att_TypeOfView_t TypeOfView)
The_ClassFormInBoxBold[Gbl.Prefs.Theme], The_ClassFormInBoxBold[Gbl.Prefs.Theme],
NULL); NULL);
Ico_PutCalculateIconWithText (Txt_Update_attendance); Ico_PutCalculateIconWithText (Txt_Update_attendance);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -3256,26 +3259,26 @@ static void Att_ListUsrsAttendanceTable (Att_TypeOfView_t TypeOfView,
{ {
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"%u\" class=\"DAT_N_LINE_TOP RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td colspan=\"%u\" class=\"DAT_N_LINE_TOP RIGHT_MIDDLE\">"
"%s:" "%s:",
"</td>",
Gbl.Usrs.Listing.WithPhotos ? 4 : Gbl.Usrs.Listing.WithPhotos ? 4 :
3, 3,
Txt_Number_of_users); Txt_Number_of_users);
Tbl_EndCell ();
for (NumAttEvent = 0, Total = 0; for (NumAttEvent = 0, Total = 0;
NumAttEvent < Gbl.AttEvents.Num; NumAttEvent < Gbl.AttEvents.Num;
NumAttEvent++) NumAttEvent++)
if (Gbl.AttEvents.Lst[NumAttEvent].Selected) if (Gbl.AttEvents.Lst[NumAttEvent].Selected)
{ {
fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE\">"
"%u" "%u",
"</td>",
Gbl.AttEvents.Lst[NumAttEvent].NumStdsFromList); Gbl.AttEvents.Lst[NumAttEvent].NumStdsFromList);
Tbl_EndCell ();
Total += Gbl.AttEvents.Lst[NumAttEvent].NumStdsFromList; Total += Gbl.AttEvents.Lst[NumAttEvent].NumStdsFromList;
} }
fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE\">"
"%u" "%u",
"</td>",
Total); Total);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -3355,12 +3358,12 @@ static void Att_WriteRowUsrSeveralAttEvents (unsigned NumUsr,struct UsrData *Usr
/***** Write number of user in the list *****/ /***** Write number of user in the list *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE COLOR%u\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
"%u" "%u",
"</td>",
UsrDat->Accepted ? "DAT_N" : UsrDat->Accepted ? "DAT_N" :
"DAT", "DAT",
Gbl.RowEvenOdd, Gbl.RowEvenOdd,
NumUsr + 1); NumUsr + 1);
Tbl_EndCell ();
/***** Show user's photo *****/ /***** Show user's photo *****/
if (Gbl.Usrs.Listing.WithPhotos) if (Gbl.Usrs.Listing.WithPhotos)
@ -3372,7 +3375,7 @@ static void Att_WriteRowUsrSeveralAttEvents (unsigned NumUsr,struct UsrData *Usr
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL : Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
NULL, NULL,
"PHOTO21x28",Pho_ZOOM,false); "PHOTO21x28",Pho_ZOOM,false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/***** Write user's ID ******/ /***** Write user's ID ******/
@ -3381,7 +3384,7 @@ static void Att_WriteRowUsrSeveralAttEvents (unsigned NumUsr,struct UsrData *Usr
"DAT_SMALL", "DAT_SMALL",
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
ID_WriteUsrIDs (UsrDat,NULL); ID_WriteUsrIDs (UsrDat,NULL);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write user's name *****/ /***** Write user's name *****/
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE COLOR%u\">" fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE COLOR%u\">"
@ -3392,8 +3395,9 @@ static void Att_WriteRowUsrSeveralAttEvents (unsigned NumUsr,struct UsrData *Usr
UsrDat->Surname1); UsrDat->Surname1);
if (UsrDat->Surname2[0]) if (UsrDat->Surname2[0])
fprintf (Gbl.F.Out," %s",UsrDat->Surname2); fprintf (Gbl.F.Out," %s",UsrDat->Surname2);
fprintf (Gbl.F.Out,", %s</td>", fprintf (Gbl.F.Out,", %s",
UsrDat->FirstName); UsrDat->FirstName);
Tbl_EndCell ();
/***** Check/cross to show if the user is present/absent *****/ /***** Check/cross to show if the user is present/absent *****/
for (NumAttEvent = 0, NumTimesPresent = 0; for (NumAttEvent = 0, NumTimesPresent = 0;
@ -3410,7 +3414,7 @@ static void Att_WriteRowUsrSeveralAttEvents (unsigned NumUsr,struct UsrData *Usr
fprintf (Gbl.F.Out,"<td class=\"BM%u\">", fprintf (Gbl.F.Out,"<td class=\"BM%u\">",
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
Att_PutCheckOrCross (Present); Att_PutCheckOrCross (Present);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
if (Present) if (Present)
NumTimesPresent++; NumTimesPresent++;
@ -3418,10 +3422,10 @@ static void Att_WriteRowUsrSeveralAttEvents (unsigned NumUsr,struct UsrData *Usr
/***** Last column with the number of times this user is present *****/ /***** Last column with the number of times this user is present *****/
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_MIDDLE COLOR%u\">" fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_MIDDLE COLOR%u\">"
"%u" "%u",
"</td>",
Gbl.RowEvenOdd, Gbl.RowEvenOdd,
NumTimesPresent); NumTimesPresent);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
@ -3518,12 +3522,12 @@ static void Att_ListAttEventsForAStd (unsigned NumUsr,struct UsrData *UsrDat)
NumUsr++; NumUsr++;
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE COLOR%u\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
"%u:" "%u:",
"</td>",
UsrDat->Accepted ? "DAT_N" : UsrDat->Accepted ? "DAT_N" :
"DAT", "DAT",
Gbl.RowEvenOdd, Gbl.RowEvenOdd,
NumUsr); NumUsr);
Tbl_EndCell ();
/***** Show student's photo *****/ /***** Show student's photo *****/
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"RIGHT_MIDDLE COLOR%u\">", fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"RIGHT_MIDDLE COLOR%u\">",
@ -3532,7 +3536,7 @@ static void Att_ListAttEventsForAStd (unsigned NumUsr,struct UsrData *UsrDat)
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL : Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
NULL, NULL,
"PHOTO21x28",Pho_ZOOM,false); "PHOTO21x28",Pho_ZOOM,false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write user's ID ******/ /***** Write user's ID ******/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE COLOR%u\">",
@ -3543,7 +3547,7 @@ static void Att_ListAttEventsForAStd (unsigned NumUsr,struct UsrData *UsrDat)
UsrDat->Accepted ? "DAT_N" : UsrDat->Accepted ? "DAT_N" :
"DAT"); "DAT");
ID_WriteUsrIDs (UsrDat,NULL); ID_WriteUsrIDs (UsrDat,NULL);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write student's name *****/ /***** Write student's name *****/
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE\">%s", fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE\">%s",
@ -3552,11 +3556,12 @@ static void Att_ListAttEventsForAStd (unsigned NumUsr,struct UsrData *UsrDat)
UsrDat->Surname1); UsrDat->Surname1);
if (UsrDat->Surname2[0]) if (UsrDat->Surname2[0])
fprintf (Gbl.F.Out," %s",UsrDat->Surname2); fprintf (Gbl.F.Out," %s",UsrDat->Surname2);
fprintf (Gbl.F.Out,", %s</td>", fprintf (Gbl.F.Out,", %s",
UsrDat->FirstName); UsrDat->FirstName);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Tbl_EndTable (); Tbl_EndTable ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** List the events with students *****/ /***** List the events with students *****/
@ -3578,43 +3583,52 @@ static void Att_ListAttEventsForAStd (unsigned NumUsr,struct UsrData *UsrDat)
/***** Write a row for this event *****/ /***** Write a row for this event *****/
Tbl_StartRow (); Tbl_StartRow ();
Tbl_PutEmptyColouredCells (1); Tbl_PutEmptyColouredCells (1);
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP COLOR%u\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP COLOR%u\">"
"%u:" "%u:",
"</td>"
"<td class=\"BT%u\">",
Present ? "DAT_GREEN" : Present ? "DAT_GREEN" :
"DAT_RED", "DAT_RED",
Gbl.RowEvenOdd, Gbl.RowEvenOdd,
NumAttEvent + 1, NumAttEvent + 1);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"BT%u\">",
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
Att_PutCheckOrCross (Present); Att_PutCheckOrCross (Present);
fprintf (Gbl.F.Out,"</td>" Tbl_EndCell ();
"<td class=\"DAT LEFT_TOP COLOR%u\">"
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP COLOR%u\">"
"<span id=\"att_date_start_%u_%u\"></span>" "<span id=\"att_date_start_%u_%u\"></span>"
"<br />%s" "<br />%s"
"<script type=\"text/javascript\">" "<script type=\"text/javascript\">"
"writeLocalDateHMSFromUTC('att_date_start_%u_%u',%ld," "writeLocalDateHMSFromUTC('att_date_start_%u_%u',%ld,"
"%u,',&nbsp;','%s',true,true,0x7);" "%u,',&nbsp;','%s',true,true,0x7);"
"</script>" "</script>",
"</td>",
Gbl.RowEvenOdd, Gbl.RowEvenOdd,
NumUsr,UniqueId, NumUsr,UniqueId,
Gbl.AttEvents.Lst[NumAttEvent].Title, Gbl.AttEvents.Lst[NumAttEvent].Title,
NumUsr,UniqueId, NumUsr,UniqueId,
Gbl.AttEvents.Lst[NumAttEvent].TimeUTC[Att_START_TIME], Gbl.AttEvents.Lst[NumAttEvent].TimeUTC[Att_START_TIME],
(unsigned) Gbl.Prefs.DateFormat,Txt_Today); (unsigned) Gbl.Prefs.DateFormat,Txt_Today);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Write comments for this student *****/ /***** Write comments for this student *****/
if (ShowCommentStd || ShowCommentTch) if (ShowCommentStd || ShowCommentTch)
{ {
Tbl_StartRow (); Tbl_StartRow ();
Tbl_PutEmptyColouredCells (2); Tbl_PutEmptyColouredCells (2);
fprintf (Gbl.F.Out,"<td class=\"BT%u\"></td>"
"<td class=\"DAT LEFT_MIDDLE COLOR%u\">" fprintf (Gbl.F.Out,"<td class=\"BT%u\">",
Gbl.RowEvenOdd);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE COLOR%u\">"
"<dl>", "<dl>",
Gbl.RowEvenOdd,
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
if (ShowCommentStd) if (ShowCommentStd)
{ {
@ -3633,8 +3647,9 @@ static void Att_ListAttEventsForAStd (unsigned NumUsr,struct UsrData *UsrDat)
Txt_Teachers_comment, Txt_Teachers_comment,
CommentTch); CommentTch);
} }
fprintf (Gbl.F.Out,"</dl>" fprintf (Gbl.F.Out,"</dl>");
"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
} }

View File

@ -424,7 +424,7 @@ static void Ban_ListBannersForEdition (void)
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\">"); fprintf (Gbl.F.Out,"<td class=\"BM\">");
Ico_PutContextualIconToRemove (ActRemBan,Ban_PutParamBanCodToEdit); Ico_PutContextualIconToRemove (ActRemBan,Ban_PutParamBanCodToEdit);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Put icon to hide/show banner */ /* Put icon to hide/show banner */
fprintf (Gbl.F.Out,"<td class=\"BM\">"); fprintf (Gbl.F.Out,"<td class=\"BM\">");
@ -432,7 +432,7 @@ static void Ban_ListBannersForEdition (void)
Ico_PutContextualIconToUnhide (ActShoBan,Anchor,Ban_PutParamBanCodToEdit); Ico_PutContextualIconToUnhide (ActShoBan,Anchor,Ban_PutParamBanCodToEdit);
else else
Ico_PutContextualIconToHide (ActHidBan,Anchor,Ban_PutParamBanCodToEdit); Ico_PutContextualIconToHide (ActHidBan,Anchor,Ban_PutParamBanCodToEdit);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Banner code */ /* Banner code */
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">", fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">",
@ -441,7 +441,7 @@ static void Ban_ListBannersForEdition (void)
Lay_StartArticle (Anchor); Lay_StartArticle (Anchor);
fprintf (Gbl.F.Out,"%ld",Ban->BanCod); fprintf (Gbl.F.Out,"%ld",Ban->BanCod);
Lay_EndArticle (); Lay_EndArticle ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Banner short name */ /* Banner short name */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -453,7 +453,7 @@ static void Ban_ListBannersForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />", " onchange=\"document.getElementById('%s').submit();\" />",
Ban_MAX_CHARS_SHRT_NAME,Ban->ShrtName,Gbl.Form.Id); Ban_MAX_CHARS_SHRT_NAME,Ban->ShrtName,Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Banner full name */ /* Banner full name */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -465,7 +465,7 @@ static void Ban_ListBannersForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />", " onchange=\"document.getElementById('%s').submit();\" />",
Ban_MAX_CHARS_FULL_NAME,Ban->FullName,Gbl.Form.Id); Ban_MAX_CHARS_FULL_NAME,Ban->FullName,Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Banner image */ /* Banner image */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -476,7 +476,7 @@ static void Ban_ListBannersForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />", " onchange=\"document.getElementById('%s').submit();\" />",
Ban_MAX_CHARS_IMAGE,Ban->Img,Gbl.Form.Id); Ban_MAX_CHARS_IMAGE,Ban->Img,Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Banner WWW */ /* Banner WWW */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -488,7 +488,7 @@ static void Ban_ListBannersForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />", " onchange=\"document.getElementById('%s').submit();\" />",
Cns_MAX_CHARS_WWW,Ban->WWW,Gbl.Form.Id); Cns_MAX_CHARS_WWW,Ban->WWW,Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/* Free anchor string */ /* Free anchor string */
@ -865,8 +865,10 @@ static void Ban_PutFormToCreateBanner (void)
/***** Banner code *****/ /***** Banner code *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\"></td>" fprintf (Gbl.F.Out,"<td class=\"BM\">");
"<td class=\"BM\"></td>"); Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"BM\">");
Tbl_EndCell ();
Tbl_PutEmptyCells (1); Tbl_PutEmptyCells (1);
/***** Banner short name *****/ /***** Banner short name *****/
@ -874,35 +876,35 @@ static void Ban_PutFormToCreateBanner (void)
"<input type=\"text\" name=\"ShortName\"" "<input type=\"text\" name=\"ShortName\""
" maxlength=\"%u\" value=\"%s\"" " maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_SHORT_NAME\"" " class=\"INPUT_SHORT_NAME\""
" required=\"required\" />" " required=\"required\" />",
"</td>",
Ban_MAX_CHARS_SHRT_NAME,Ban_EditingBan->ShrtName); Ban_MAX_CHARS_SHRT_NAME,Ban_EditingBan->ShrtName);
Tbl_EndCell ();
/***** Banner full name *****/ /***** Banner full name *****/
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
"<input type=\"text\" name=\"FullName\"" "<input type=\"text\" name=\"FullName\""
" maxlength=\"%u\" value=\"%s\"" " maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_FULL_NAME\"" " class=\"INPUT_FULL_NAME\""
" required=\"required\" />" " required=\"required\" />",
"</td>",
Ban_MAX_CHARS_FULL_NAME,Ban_EditingBan->FullName); Ban_MAX_CHARS_FULL_NAME,Ban_EditingBan->FullName);
Tbl_EndCell ();
/***** Banner image *****/ /***** Banner image *****/
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
"<input type=\"text\" name=\"Img\"" "<input type=\"text\" name=\"Img\""
" size=\"12\" maxlength=\"%u\" value=\"%s\"" " size=\"12\" maxlength=\"%u\" value=\"%s\""
" required=\"required\" />" " required=\"required\" />",
"</td>",
Ban_MAX_CHARS_IMAGE,Ban_EditingBan->Img); Ban_MAX_CHARS_IMAGE,Ban_EditingBan->Img);
Tbl_EndCell ();
/***** Banner WWW *****/ /***** Banner WWW *****/
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
"<input type=\"url\" name=\"WWW\"" "<input type=\"url\" name=\"WWW\""
" maxlength=\"%u\" value=\"%s\"" " maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_WWW\"" " class=\"INPUT_WWW\""
" required=\"required\" />" " required=\"required\" />",
"</td>",
Cns_MAX_CHARS_WWW,Ban_EditingBan->WWW); Cns_MAX_CHARS_WWW,Ban_EditingBan->WWW);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** End table, send button and end box *****/ /***** End table, send button and end box *****/

View File

@ -213,13 +213,13 @@ void Ctr_SeeCtrWithPendingDegs (void)
BgColor); BgColor);
Ctr_DrawCentreLogoAndNameWithLink (&Ctr,ActSeeDeg, Ctr_DrawCentreLogoAndNameWithLink (&Ctr,ActSeeDeg,
"DAT_NOBR","CENTER_MIDDLE"); "DAT_NOBR","CENTER_MIDDLE");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Number of pending degrees (row[1]) */ /* Number of pending degrees (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>",
BgColor,row[1]); BgColor,row[1]);
Tbl_EndCell ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
Tbl_EndRow (); Tbl_EndRow ();
@ -410,11 +410,11 @@ static void Ctr_Configuration (bool PrintView)
/***** Institution *****/ /***** Institution *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"OthInsCod\" class=\"%s\">%s:</label>" "<label for=\"OthInsCod\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"DAT_N LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Institution); Txt_Institution);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N LEFT_MIDDLE\">");
if (!PrintView && if (!PrintView &&
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
@ -446,17 +446,18 @@ static void Ctr_Configuration (bool PrintView)
else // I can not move centre to another institution else // I can not move centre to another institution
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Ins.FullName); fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Ins.FullName);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Centre full name *****/ /***** Centre full name *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"FullName\" class=\"%s\">%s:</label>" "<label for=\"FullName\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"DAT_N LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Centre); Txt_Centre);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N LEFT_MIDDLE\">");
if (!PrintView && if (!PrintView &&
Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM) Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM)
// Only institution admins and system admins can edit centre full name // Only institution admins and system admins can edit centre full name
@ -475,17 +476,18 @@ static void Ctr_Configuration (bool PrintView)
} }
else // I can not edit centre full name else // I can not edit centre full name
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Ctr.FullName); fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Ctr.FullName);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Centre short name *****/ /***** Centre short name *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"ShortName\" class=\"%s\">%s:</label>" "<label for=\"ShortName\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"DAT_N LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Short_name); Txt_Short_name);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N LEFT_MIDDLE\">");
if (!PrintView && if (!PrintView &&
Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM) Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM)
// Only institution admins and system admins can edit centre short name // Only institution admins and system admins can edit centre short name
@ -504,7 +506,7 @@ static void Ctr_Configuration (bool PrintView)
} }
else // I can not edit centre short name else // I can not edit centre short name
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Ctr.ShrtName); fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Ctr.ShrtName);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Place *****/ /***** Place *****/
@ -512,11 +514,12 @@ static void Ctr_Configuration (bool PrintView)
Plc_GetDataOfPlaceByCod (&Plc); Plc_GetDataOfPlaceByCod (&Plc);
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:" "%s:",
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Place); Txt_Place);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
if (!PrintView && if (!PrintView &&
Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM) Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM)
// Only centre admins, institution admins and system admins // Only centre admins, institution admins and system admins
@ -551,17 +554,18 @@ static void Ctr_Configuration (bool PrintView)
} }
else // I can not change centre place else // I can not change centre place
fprintf (Gbl.F.Out,"%s",Plc.FullName); fprintf (Gbl.F.Out,"%s",Plc.FullName);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Centre WWW *****/ /***** Centre WWW *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"WWW\" class=\"%s\">%s:</label>" "<label for=\"WWW\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Web); Txt_Web);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
if (!PrintView && if (!PrintView &&
Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM) Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM)
// Only centre admins, institution admins and system admins // Only centre admins, institution admins and system admins
@ -586,41 +590,44 @@ static void Ctr_Configuration (bool PrintView)
"</div>", "</div>",
Gbl.Hierarchy.Ctr.WWW, Gbl.Hierarchy.Ctr.WWW,
Gbl.Hierarchy.Ctr.WWW); Gbl.Hierarchy.Ctr.WWW);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Shortcut to the centre *****/ /***** Shortcut to the centre *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:" "%s:",
"</td>" The_ClassFormInBox[Gbl.Prefs.Theme],
"<td class=\"DAT LEFT_MIDDLE\">" Txt_Shortcut);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"<a href=\"%s/%s?ctr=%ld\" class=\"DAT\" target=\"_blank\">" "<a href=\"%s/%s?ctr=%ld\" class=\"DAT\" target=\"_blank\">"
"%s/%s?ctr=%ld" "%s/%s?ctr=%ld"
"</a>" "</a>",
"</td>",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Shortcut,
Cfg_URL_SWAD_CGI, Cfg_URL_SWAD_CGI,
Lan_STR_LANG_ID[Gbl.Prefs.Language], Lan_STR_LANG_ID[Gbl.Prefs.Language],
Gbl.Hierarchy.Ctr.CtrCod, Gbl.Hierarchy.Ctr.CtrCod,
Cfg_URL_SWAD_CGI, Cfg_URL_SWAD_CGI,
Lan_STR_LANG_ID[Gbl.Prefs.Language], Lan_STR_LANG_ID[Gbl.Prefs.Language],
Gbl.Hierarchy.Ctr.CtrCod); Gbl.Hierarchy.Ctr.CtrCod);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
if (PrintView) if (PrintView)
{ {
/***** QR code with link to the centre *****/ /***** QR code with link to the centre *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:" "%s:",
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_QR_code); Txt_QR_code);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
QR_LinkTo (250,"ctr",Gbl.Hierarchy.Ctr.CtrCod); QR_LinkTo (250,"ctr",Gbl.Hierarchy.Ctr.CtrCod);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
else else
@ -628,24 +635,24 @@ static void Ctr_Configuration (bool PrintView)
/***** Number of users who claim to belong to this centre *****/ /***** Number of users who claim to belong to this centre *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:" "%s:",
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
"%u"
"</td>",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Users_of_the_centre, Txt_Users_of_the_centre);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%u",
Usr_GetNumUsrsWhoClaimToBelongToCtr (Gbl.Hierarchy.Ctr.CtrCod)); Usr_GetNumUsrsWhoClaimToBelongToCtr (Gbl.Hierarchy.Ctr.CtrCod));
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Number of degrees *****/ /***** Number of degrees *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:" "%s:",
"</td>"
"<td class=\"LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Degrees); Txt_Degrees);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
/* Form to go to see degrees of this centre */ /* Form to go to see degrees of this centre */
Frm_StartFormGoTo (ActSeeDeg); Frm_StartFormGoTo (ActSeeDeg);
@ -658,20 +665,20 @@ static void Ctr_Configuration (bool PrintView)
Deg_GetNumDegsInCtr (Gbl.Hierarchy.Ctr.CtrCod)); Deg_GetNumDegsInCtr (Gbl.Hierarchy.Ctr.CtrCod));
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Number of courses *****/ /***** Number of courses *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:" "%s:",
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
"%u"
"</td>",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Courses, Txt_Courses);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%u",
Crs_GetNumCrssInCtr (Gbl.Hierarchy.Ctr.CtrCod)); Crs_GetNumCrssInCtr (Gbl.Hierarchy.Ctr.CtrCod));
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Number of users in courses of this centre *****/ /***** Number of users in courses of this centre *****/
@ -748,16 +755,19 @@ static void Ctr_ShowNumUsrsInCrssOfCtr (Rol_Role_t Role)
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:" "%s:",
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
"%u"
"</td>",
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]);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%u",
Usr_GetNumUsrsInCrssOfCtr (Role,Gbl.Hierarchy.Ctr.CtrCod)); Usr_GetNumUsrsInCrssOfCtr (Role,Gbl.Hierarchy.Ctr.CtrCod));
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -904,54 +914,55 @@ static void Ctr_ListOneCentreForSeeing (struct Centre *Ctr,unsigned NumCtr)
BgColor = (Ctr->CtrCod == Gbl.Hierarchy.Ctr.CtrCod) ? "LIGHT_BLUE" : BgColor = (Ctr->CtrCod == Gbl.Hierarchy.Ctr.CtrCod) ? "LIGHT_BLUE" :
Gbl.ColorRows[Gbl.RowEvenOdd]; Gbl.ColorRows[Gbl.RowEvenOdd];
/***** Number of centre in this list *****/
Tbl_StartRow (); Tbl_StartRow ();
/***** Number of centre in this list *****/
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">"
"%u" "%u",
"</td>",
TxtClassNormal,BgColor, TxtClassNormal,BgColor,
NumCtr); NumCtr);
Tbl_EndCell ();
/***** Centre logo and name *****/ /***** Centre logo and name *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE %s\">",BgColor); fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE %s\">",BgColor);
Ctr_DrawCentreLogoAndNameWithLink (Ctr,ActSeeDeg, Ctr_DrawCentreLogoAndNameWithLink (Ctr,ActSeeDeg,
TxtClassStrong,"CENTER_MIDDLE"); TxtClassStrong,"CENTER_MIDDLE");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Number of users who claim to belong to this centre *****/ /***** Number of users who claim to belong to this centre *****/
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">"
"%u" "%u",
"</td>",
TxtClassNormal,BgColor, TxtClassNormal,BgColor,
Ctr->NumUsrsWhoClaimToBelongToCtr); Ctr->NumUsrsWhoClaimToBelongToCtr);
Tbl_EndCell ();
/***** Place *****/ /***** Place *****/
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE %s\">" fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE %s\">"
"%s" "%s",
"</td>",
TxtClassNormal,BgColor, TxtClassNormal,BgColor,
Plc.ShrtName); Plc.ShrtName);
Tbl_EndCell ();
/***** Number of degrees *****/ /***** Number of degrees *****/
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">"
"%u" "%u",
"</td>",
TxtClassNormal,BgColor, TxtClassNormal,BgColor,
Ctr->Degs.Num); Ctr->Degs.Num);
Tbl_EndCell ();
/***** Number of courses *****/ /***** Number of courses *****/
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">"
"%u" "%u",
"</td>",
TxtClassNormal,BgColor, TxtClassNormal,BgColor,
Ctr->NumCrss); Ctr->NumCrss);
Tbl_EndCell ();
/***** Number of users in courses of this centre *****/ /***** Number of users in courses of this centre *****/
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">"
"%u" "%u",
"</td>",
TxtClassNormal,BgColor, TxtClassNormal,BgColor,
Ctr->NumUsrs); Ctr->NumUsrs);
Tbl_EndCell ();
/***** Centre status *****/ /***** Centre status *****/
StatusTxt = Ctr_GetStatusTxtFromStatusBits (Ctr->Status); StatusTxt = Ctr_GetStatusTxtFromStatusBits (Ctr->Status);
@ -959,7 +970,7 @@ static void Ctr_ListOneCentreForSeeing (struct Centre *Ctr,unsigned NumCtr)
TxtClassNormal,BgColor); TxtClassNormal,BgColor);
if (StatusTxt != Ctr_STATUS_ACTIVE) // If active ==> do not show anything if (StatusTxt != Ctr_STATUS_ACTIVE) // If active ==> do not show anything
fprintf (Gbl.F.Out,"%s",Txt_CENTRE_STATUS[StatusTxt]); fprintf (Gbl.F.Out,"%s",Txt_CENTRE_STATUS[StatusTxt]);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
@ -1510,20 +1521,20 @@ static void Ctr_ListCentresForEdition (void)
Ico_PutIconRemove (); Ico_PutIconRemove ();
Frm_EndForm (); Frm_EndForm ();
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Centre code */ /* Centre code */
fprintf (Gbl.F.Out,"<td class=\"DAT CODE\">" fprintf (Gbl.F.Out,"<td class=\"DAT CODE\">"
"%ld" "%ld",
"</td>",
Ctr->CtrCod); Ctr->CtrCod);
Tbl_EndCell ();
/* Centre logo */ /* Centre logo */
fprintf (Gbl.F.Out,"<td title=\"%s\" class=\"LEFT_MIDDLE\"" fprintf (Gbl.F.Out,"<td title=\"%s\" class=\"LEFT_MIDDLE\""
" style=\"width:25px;\">", " style=\"width:25px;\">",
Ctr->FullName); Ctr->FullName);
Log_DrawLogo (Hie_CTR,Ctr->CtrCod,Ctr->ShrtName,20,NULL,true); Log_DrawLogo (Hie_CTR,Ctr->CtrCod,Ctr->ShrtName,20,NULL,true);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Place */ /* Place */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
@ -1555,7 +1566,7 @@ static void Ctr_ListCentresForEdition (void)
NumPlc++) NumPlc++)
if (Gbl.Plcs.Lst[NumPlc].PlcCod == Ctr->PlcCod) if (Gbl.Plcs.Lst[NumPlc].PlcCod == Ctr->PlcCod)
fprintf (Gbl.F.Out,"%s",Gbl.Plcs.Lst[NumPlc].ShrtName); fprintf (Gbl.F.Out,"%s",Gbl.Plcs.Lst[NumPlc].ShrtName);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Centre short name */ /* Centre short name */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
@ -1569,11 +1580,11 @@ static void Ctr_ListCentresForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />", " onchange=\"document.getElementById('%s').submit();\" />",
Hie_MAX_CHARS_SHRT_NAME,Ctr->ShrtName,Gbl.Form.Id); Hie_MAX_CHARS_SHRT_NAME,Ctr->ShrtName,Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
else else
fprintf (Gbl.F.Out,"%s",Ctr->ShrtName); fprintf (Gbl.F.Out,"%s",Ctr->ShrtName);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Centre full name */ /* Centre full name */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
@ -1587,11 +1598,11 @@ static void Ctr_ListCentresForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />", " onchange=\"document.getElementById('%s').submit();\" />",
Hie_MAX_CHARS_FULL_NAME,Ctr->FullName,Gbl.Form.Id); Hie_MAX_CHARS_FULL_NAME,Ctr->FullName,Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
else else
fprintf (Gbl.F.Out,"%s",Ctr->FullName); fprintf (Gbl.F.Out,"%s",Ctr->FullName);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Centre WWW */ /* Centre WWW */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
@ -1618,32 +1629,32 @@ static void Ctr_ListCentresForEdition (void)
"</div>", "</div>",
Ctr->WWW,Ctr->WWW,WWW); Ctr->WWW,Ctr->WWW,WWW);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Number of users who claim to belong to this centre */ /* Number of users who claim to belong to this centre */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u" "%u",
"</td>",
Ctr->NumUsrsWhoClaimToBelongToCtr); Ctr->NumUsrsWhoClaimToBelongToCtr);
Tbl_EndCell ();
/* Number of degrees */ /* Number of degrees */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u" "%u",
"</td>",
Ctr->Degs.Num); Ctr->Degs.Num);
Tbl_EndCell ();
/* Number of users in courses of this centre */ /* Number of users in courses of this centre */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u" "%u",
"</td>",
Ctr->NumUsrs); Ctr->NumUsrs);
Tbl_EndCell ();
/* Centre requester */ /* Centre requester */
UsrDat.UsrCod = Ctr->RequesterUsrCod; UsrDat.UsrCod = Ctr->RequesterUsrCod;
Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS); Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS);
fprintf (Gbl.F.Out,"<td class=\"DAT INPUT_REQUESTER LEFT_TOP\">"); fprintf (Gbl.F.Out,"<td class=\"DAT INPUT_REQUESTER LEFT_TOP\">");
Msg_WriteMsgAuthor (&UsrDat,true,NULL); Msg_WriteMsgAuthor (&UsrDat,true,NULL);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Centre status */ /* Centre status */
StatusTxt = Ctr_GetStatusTxtFromStatusBits (Ctr->Status); StatusTxt = Ctr_GetStatusTxtFromStatusBits (Ctr->Status);
@ -1667,7 +1678,7 @@ static void Ctr_ListCentresForEdition (void)
} }
else if (StatusTxt != Ctr_STATUS_ACTIVE) // If active ==> do not show anything else if (StatusTxt != Ctr_STATUS_ACTIVE) // If active ==> do not show anything
fprintf (Gbl.F.Out,"%s",Txt_CENTRE_STATUS[StatusTxt]); fprintf (Gbl.F.Out,"%s",Txt_CENTRE_STATUS[StatusTxt]);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -2522,15 +2533,17 @@ static void Ctr_PutFormToCreateCentre (void)
/***** Column to remove centre, disabled here *****/ /***** Column to remove centre, disabled here *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\"></td>"); fprintf (Gbl.F.Out,"<td class=\"BM\">");
Tbl_EndCell ();
/***** Centre code *****/ /***** Centre code *****/
fprintf (Gbl.F.Out,"<td class=\"CODE\"></td>"); fprintf (Gbl.F.Out,"<td class=\"CODE\">");
Tbl_EndCell ();
/***** Centre logo *****/ /***** Centre logo *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:25px;\">"); fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:25px;\">");
Log_DrawLogo (Hie_CTR,-1L,"",20,NULL,true); Log_DrawLogo (Hie_CTR,-1L,"",20,NULL,true);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Place *****/ /***** Place *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
@ -2547,59 +2560,59 @@ static void Ctr_PutFormToCreateCentre (void)
(Gbl.Plcs.Lst[NumPlc].PlcCod == Ctr_EditingCtr->PlcCod) ? " selected=\"selected\"" : (Gbl.Plcs.Lst[NumPlc].PlcCod == Ctr_EditingCtr->PlcCod) ? " selected=\"selected\"" :
"", "",
Gbl.Plcs.Lst[NumPlc].ShrtName); Gbl.Plcs.Lst[NumPlc].ShrtName);
fprintf (Gbl.F.Out,"</select>" fprintf (Gbl.F.Out,"</select>");
"</td>"); Tbl_EndCell ();
/***** Centre short name *****/ /***** Centre short name *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"text\" name=\"ShortName\"" "<input type=\"text\" name=\"ShortName\""
" maxlength=\"%u\" value=\"%s\"" " maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_SHORT_NAME\"" " class=\"INPUT_SHORT_NAME\""
" required=\"required\" />" " required=\"required\" />",
"</td>",
Hie_MAX_CHARS_SHRT_NAME,Ctr_EditingCtr->ShrtName); Hie_MAX_CHARS_SHRT_NAME,Ctr_EditingCtr->ShrtName);
Tbl_EndCell ();
/***** Centre full name *****/ /***** Centre full name *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"text\" name=\"FullName\"" "<input type=\"text\" name=\"FullName\""
" maxlength=\"%u\" value=\"%s\"" " maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_FULL_NAME\"" " class=\"INPUT_FULL_NAME\""
" required=\"required\" />" " required=\"required\" />",
"</td>",
Hie_MAX_CHARS_FULL_NAME,Ctr_EditingCtr->FullName); Hie_MAX_CHARS_FULL_NAME,Ctr_EditingCtr->FullName);
Tbl_EndCell ();
/***** Centre WWW *****/ /***** Centre WWW *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"url\" name=\"WWW\"" "<input type=\"url\" name=\"WWW\""
" maxlength=\"%u\" value=\"%s\"" " maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_WWW\"" " class=\"INPUT_WWW\""
" required=\"required\" />" " required=\"required\" />",
"</td>",
Cns_MAX_CHARS_WWW,Ctr_EditingCtr->WWW); Cns_MAX_CHARS_WWW,Ctr_EditingCtr->WWW);
Tbl_EndCell ();
/***** Number of users who claim to belong to this centre *****/ /***** Number of users who claim to belong to this centre *****/
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"0" "0");
"</td>"); Tbl_EndCell ();
/***** Number of degrees *****/ /***** Number of degrees *****/
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"0" "0");
"</td>"); Tbl_EndCell ();
/***** Number of users in courses of this centre *****/ /***** Number of users in courses of this centre *****/
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"0" "0");
"</td>"); Tbl_EndCell ();
/***** Centre requester *****/ /***** Centre requester *****/
fprintf (Gbl.F.Out,"<td class=\"DAT INPUT_REQUESTER LEFT_TOP\">"); fprintf (Gbl.F.Out,"<td class=\"DAT INPUT_REQUESTER LEFT_TOP\">");
Msg_WriteMsgAuthor (&Gbl.Usrs.Me.UsrDat,true,NULL); Msg_WriteMsgAuthor (&Gbl.Usrs.Me.UsrDat,true,NULL);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Centre status *****/ /***** Centre status *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** End table, send button and end box *****/ /***** End table, send button and end box *****/

View File

@ -487,13 +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.7 (2019-10-05)" #define Log_PLATFORM_VERSION "SWAD 19.31.9 (2019-10-06)"
#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.7: Oct 05, 2019 Code refactoring in HTML tables. (? lines) Version 19.31.9: Oct 06, 2019 Code refactoring in HTML tables. (247097 lines)
Version 19.31.8: Oct 05, 2019 Code refactoring in HTML tables. (247089 lines)
Version 19.31.7: Oct 05, 2019 Code refactoring in HTML tables. (247076 lines)
Version 19.31.6: Oct 05, 2019 Code refactoring in HTML tables. (247066 lines) Version 19.31.6: Oct 05, 2019 Code refactoring in HTML tables. (247066 lines)
Version 19.31.5: Oct 05, 2019 Code refactoring in HTML tables. (247044 lines) Version 19.31.5: Oct 05, 2019 Code refactoring in HTML tables. (247044 lines)
Version 19.31.4: Oct 04, 2019 Code refactoring in HTML tables. (247043 lines) Version 19.31.4: Oct 04, 2019 Code refactoring in HTML tables. (247043 lines)

View File

@ -301,14 +301,19 @@ void Cht_ShowListOfChatRoomsWithUsrs (void)
{ {
/* Get next chat room */ /* Get next chat room */
row = mysql_fetch_row (mysql_res); row = mysql_fetch_row (mysql_res);
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%s" "%s",
"</td>" row[0]);
"<td class=\"DAT RIGHT_MIDDLE\">" Tbl_EndCell ();
"%s"
"</td>", fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
row[0],row[1]); "%s",
row[1]);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }

View File

@ -140,34 +140,36 @@ void Cla_SeeClassrooms (void)
NumCla < Gbl.Classrooms.Num; NumCla < Gbl.Classrooms.Num;
NumCla++, RowEvenOdd = 1 - RowEvenOdd) NumCla++, RowEvenOdd = 1 - RowEvenOdd)
{ {
/* Short name */
Tbl_StartRow (); Tbl_StartRow ();
/* Short name */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE %s\">" fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE %s\">"
"%s" "%s",
"</td>",
Gbl.ColorRows[RowEvenOdd], Gbl.ColorRows[RowEvenOdd],
Gbl.Classrooms.Lst[NumCla].ShrtName); Gbl.Classrooms.Lst[NumCla].ShrtName);
Tbl_EndRow ();
/* Full name */ /* Full name */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE %s\">" fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE %s\">"
"%s" "%s",
"</td>",
Gbl.ColorRows[RowEvenOdd], Gbl.ColorRows[RowEvenOdd],
Gbl.Classrooms.Lst[NumCla].FullName); Gbl.Classrooms.Lst[NumCla].FullName);
Tbl_EndRow ();
/* Capacity */ /* Capacity */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE %s\">", fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE %s\">",
Gbl.ColorRows[RowEvenOdd]); Gbl.ColorRows[RowEvenOdd]);
Cla_WriteCapacity (Gbl.Classrooms.Lst[NumCla].Capacity); Cla_WriteCapacity (Gbl.Classrooms.Lst[NumCla].Capacity);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Location */ /* Location */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE %s\">" fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE %s\">"
"%s" "%s",
"</td>",
Gbl.ColorRows[RowEvenOdd], Gbl.ColorRows[RowEvenOdd],
Gbl.Classrooms.Lst[NumCla].Location); Gbl.Classrooms.Lst[NumCla].Location);
Tbl_EndRow (); Tbl_EndRow ();
Tbl_EndRow ();
} }
/***** End table *****/ /***** End table *****/
@ -491,13 +493,13 @@ static void Cla_ListClassroomsForEdition (void)
Cla_PutParamClaCod (Cla->ClaCod); Cla_PutParamClaCod (Cla->ClaCod);
Ico_PutIconRemove (); Ico_PutIconRemove ();
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Classroom code */ /* Classroom code */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%ld" "%ld",
"</td>",
Cla->ClaCod); Cla->ClaCod);
Tbl_EndRow ();
/* Classroom short name */ /* Classroom short name */
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
@ -509,7 +511,7 @@ static void Cla_ListClassroomsForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />", " onchange=\"document.getElementById('%s').submit();\" />",
Cla_MAX_CHARS_SHRT_NAME,Cla->ShrtName,Gbl.Form.Id); Cla_MAX_CHARS_SHRT_NAME,Cla->ShrtName,Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Classroom full name */ /* Classroom full name */
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
@ -521,7 +523,7 @@ static void Cla_ListClassroomsForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />", " onchange=\"document.getElementById('%s').submit();\" />",
Cla_MAX_CHARS_FULL_NAME,Cla->FullName,Gbl.Form.Id); Cla_MAX_CHARS_FULL_NAME,Cla->FullName,Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Seating capacity */ /* Seating capacity */
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
@ -533,7 +535,7 @@ static void Cla_ListClassroomsForEdition (void)
fprintf (Gbl.F.Out,"\" onchange=\"document.getElementById('%s').submit();\" />", fprintf (Gbl.F.Out,"\" onchange=\"document.getElementById('%s').submit();\" />",
Gbl.Form.Id); Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Classroom location */ /* Classroom location */
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
@ -545,7 +547,7 @@ static void Cla_ListClassroomsForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />", " onchange=\"document.getElementById('%s').submit();\" />",
Cla_MAX_CHARS_LOCATION,Cla->Location,Gbl.Form.Id); Cla_MAX_CHARS_LOCATION,Cla->Location,Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -900,48 +902,52 @@ static void Cla_PutFormToCreateClassroom (void)
/***** Write heading *****/ /***** Write heading *****/
Cla_PutHeadClassrooms (); Cla_PutHeadClassrooms ();
/***** Column to remove classroom, disabled here *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\"></td>");
/***** Column to remove classroom, disabled here *****/
fprintf (Gbl.F.Out,"<td class=\"BM\">");
Tbl_EndRow ();
/***** Classroom code *****/ /***** Classroom code *****/
fprintf (Gbl.F.Out,"<td class=\"CODE\"></td>"); fprintf (Gbl.F.Out,"<td class=\"CODE\">");
Tbl_EndRow ();
/***** Classroom short name *****/ /***** Classroom short name *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"text\" name=\"ShortName\"" "<input type=\"text\" name=\"ShortName\""
" size=\"10\" maxlength=\"%u\" value=\"%s\"" " size=\"10\" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_SHORT_NAME\"" " class=\"INPUT_SHORT_NAME\""
" required=\"required\" />" " required=\"required\" />",
"</td>",
Cla_MAX_CHARS_SHRT_NAME,Cla_EditingCla->ShrtName); Cla_MAX_CHARS_SHRT_NAME,Cla_EditingCla->ShrtName);
Tbl_EndRow ();
/***** Classroom full name *****/ /***** Classroom full name *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"text\" name=\"FullName\"" "<input type=\"text\" name=\"FullName\""
" size=\"20\" maxlength=\"%u\" value=\"%s\"" " size=\"20\" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_FULL_NAME\"" " class=\"INPUT_FULL_NAME\""
" required=\"required\" />" " required=\"required\" />",
"</td>",
Cla_MAX_CHARS_FULL_NAME,Cla_EditingCla->FullName); Cla_MAX_CHARS_FULL_NAME,Cla_EditingCla->FullName);
Tbl_EndRow ();
/***** Seating capacity *****/ /***** Seating capacity *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"text\" name=\"Capacity\"" "<input type=\"text\" name=\"Capacity\""
" size=\"3\" maxlength=\"10\" value=\""); " size=\"3\" maxlength=\"10\" value=\"");
Cla_WriteCapacity (Cla_EditingCla->Capacity); Cla_WriteCapacity (Cla_EditingCla->Capacity);
fprintf (Gbl.F.Out,"\" />" fprintf (Gbl.F.Out,"\" />");
"</td>"); Tbl_EndRow ();
/***** Classroom location *****/ /***** Classroom location *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"text\" name=\"Location\"" "<input type=\"text\" name=\"Location\""
" size=\"15\" maxlength=\"%u\" value=\"%s\"" " size=\"15\" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_FULL_NAME\" />" " class=\"INPUT_FULL_NAME\" />",
"</td>",
Cla_MAX_CHARS_LOCATION,Cla_EditingCla->Location); Cla_MAX_CHARS_LOCATION,Cla_EditingCla->Location);
Tbl_EndRow (); Tbl_EndRow ();
Tbl_EndRow ();
/***** End table, send button and end box *****/ /***** End table, send button and end box *****/
Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_classroom); Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_classroom);

View File

@ -106,10 +106,10 @@ void Con_ShowConnectedUsrs (void)
fprintf (Gbl.F.Out,"<script type=\"text/javascript\">" fprintf (Gbl.F.Out,"<script type=\"text/javascript\">"
"writeLocalDateHMSFromUTC('connected_current_time',%ld," "writeLocalDateHMSFromUTC('connected_current_time',%ld,"
"%u,',&nbsp;',null,false,true,0x7);" "%u,',&nbsp;',null,false,true,0x7);"
"</script>" "</script>",
"</td>",
(long) Gbl.StartExecutionTimeUTC, (long) Gbl.StartExecutionTimeUTC,
(unsigned) Gbl.Prefs.DateFormat); (unsigned) Gbl.Prefs.DateFormat);
Tbl_EndRow ();
/***** Number of connected users in the whole platform *****/ /***** Number of connected users in the whole platform *****/
Con_ShowGlobalConnectedUsrs (); Con_ShowGlobalConnectedUsrs ();
@ -359,12 +359,12 @@ static void Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnMainZone (
{ {
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"CENTER_TOP\">" fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"CENTER_TOP\">"
"%u %s" "%u %s",
"</td>",
Usrs.NumUsrs, Usrs.NumUsrs,
(Usrs.NumUsrs == 1) ? Txt_ROLES_SINGUL_abc[Role][Usrs.Sex] : (Usrs.NumUsrs == 1) ? Txt_ROLES_SINGUL_abc[Role][Usrs.Sex] :
Txt_ROLES_PLURAL_abc[Role][Usrs.Sex]); Txt_ROLES_PLURAL_abc[Role][Usrs.Sex]);
Tbl_EndRow (); Tbl_EndRow ();
Tbl_EndRow ();
/***** I can see connected users *****/ /***** I can see connected users *****/
Con_ShowConnectedUsrsCurrentLocationOneByOneOnMainZone (Role); Con_ShowConnectedUsrsCurrentLocationOneByOneOnMainZone (Role);
@ -393,12 +393,12 @@ static void Con_ShowConnectedUsrsWithARoleBelongingToCurrentCrsOnRightColumn (Ro
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"CON_USR_NARROW_TIT\">" fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"CON_USR_NARROW_TIT\">"
"%u %s" "%u %s",
"</td>",
NumUsrsThisRole, NumUsrsThisRole,
(NumUsrsThisRole == 1) ? Txt_ROLES_SINGUL_abc[Role][UsrSex] : (NumUsrsThisRole == 1) ? Txt_ROLES_SINGUL_abc[Role][UsrSex] :
Txt_ROLES_PLURAL_abc[Role][UsrSex]); Txt_ROLES_PLURAL_abc[Role][UsrSex]);
Tbl_EndRow (); Tbl_EndRow ();
Tbl_EndRow ();
/***** I can see connected users *****/ /***** I can see connected users *****/
Con_ShowConnectedUsrsCurrentCrsOneByOneOnRightColumn (Role); Con_ShowConnectedUsrsCurrentCrsOneByOneOnRightColumn (Role);
@ -419,7 +419,7 @@ static void Con_ShowConnectedUsrsWithARoleBelongingToCurrentCrsOnRightColumn (Ro
Cfg_URL_ICON_PUBLIC, Cfg_URL_ICON_PUBLIC,
Txt_Connected_users,Txt_Connected_users); Txt_Connected_users,Txt_Connected_users);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
} }
@ -823,7 +823,7 @@ static void Con_WriteRowConnectedUsrOnRightColumn (Rol_Role_t Role)
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL : Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
NULL, NULL,
"PHOTO21x28",Pho_ZOOM,true); "PHOTO21x28",Pho_ZOOM,true);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write full name and link *****/ /***** Write full name and link *****/
Font = (Gbl.Usrs.Connected.Lst[Gbl.Usrs.Connected.NumUsr].ThisCrs ? "CON_NAME_NARROW CON_CRS" : Font = (Gbl.Usrs.Connected.Lst[Gbl.Usrs.Connected.NumUsr].ThisCrs ? "CON_NAME_NARROW CON_CRS" :
@ -853,7 +853,7 @@ static void Con_WriteRowConnectedUsrOnRightColumn (Rol_Role_t Role)
fprintf (Gbl.F.Out,"</a>" fprintf (Gbl.F.Out,"</a>"
"</div>"); "</div>");
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write time from last access *****/ /***** Write time from last access *****/
Font = (Gbl.Usrs.Connected.Lst[Gbl.Usrs.Connected.NumUsr].ThisCrs ? "CON_SINCE CON_CRS" : Font = (Gbl.Usrs.Connected.Lst[Gbl.Usrs.Connected.NumUsr].ThisCrs ? "CON_SINCE CON_CRS" :
@ -867,7 +867,7 @@ static void Con_WriteRowConnectedUsrOnRightColumn (Rol_Role_t Role)
Dat_WriteHoursMinutesSecondsFromSeconds (Gbl.Usrs.Connected.Lst[Gbl.Usrs.Connected.NumUsr].TimeDiff); Dat_WriteHoursMinutesSecondsFromSeconds (Gbl.Usrs.Connected.Lst[Gbl.Usrs.Connected.NumUsr].TimeDiff);
fprintf (Gbl.F.Out,"</div>"); // Used for automatic update, only when displayed on right column fprintf (Gbl.F.Out,"</div>"); // Used for automatic update, only when displayed on right column
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
if (!ItsMe) if (!ItsMe)
@ -1043,7 +1043,7 @@ static void Con_ShowConnectedUsrsCurrentLocationOneByOneOnMainZone (Rol_Role_t R
Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL : Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL :
NULL, NULL,
"PHOTO21x28",Pho_ZOOM,false); "PHOTO21x28",Pho_ZOOM,false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write full name and link *****/ /***** Write full name and link *****/
Font = (ThisCrs ? "CON_NAME_WIDE CON_CRS" : Font = (ThisCrs ? "CON_NAME_WIDE CON_CRS" :
@ -1075,7 +1075,7 @@ static void Con_ShowConnectedUsrsCurrentLocationOneByOneOnMainZone (Rol_Role_t R
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
if (PutLinkToRecord) if (PutLinkToRecord)
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write time from last access *****/ /***** Write time from last access *****/
Font = (ThisCrs ? "CON_SINCE CON_CRS" : Font = (ThisCrs ? "CON_SINCE CON_CRS" :
@ -1083,7 +1083,7 @@ static void Con_ShowConnectedUsrsCurrentLocationOneByOneOnMainZone (Rol_Role_t R
fprintf (Gbl.F.Out,"<td class=\"%s COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"%s COLOR%u\">",
Font,Gbl.RowEvenOdd); Font,Gbl.RowEvenOdd);
Dat_WriteHoursMinutesSecondsFromSeconds (TimeDiff); Dat_WriteHoursMinutesSecondsFromSeconds (TimeDiff);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;

View File

@ -182,23 +182,24 @@ void Cty_SeeCtyWithPendingInss (void)
/* Get data of country */ /* Get data of country */
Cty_GetDataOfCountryByCod (&Cty,Cty_GET_BASIC_DATA); Cty_GetDataOfCountryByCod (&Cty,Cty_GET_BASIC_DATA);
/* Country map */
Tbl_StartRow (); Tbl_StartRow ();
/* Country map */
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE %s\">", fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE %s\">",
BgColor); BgColor);
Cty_DrawCountryMapAndNameWithLink (&Cty,ActSeeIns, Cty_DrawCountryMapAndNameWithLink (&Cty,ActSeeIns,
"COUNTRY_SMALL", "COUNTRY_SMALL",
"COUNTRY_MAP_SMALL", "COUNTRY_MAP_SMALL",
"DAT"); "DAT");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Number of pending institutions (row[1]) */ /* Number of pending institutions (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>",
BgColor,row[1]); BgColor,row[1]);
Tbl_EndRow (); Tbl_EndRow ();
Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
} }
@ -338,7 +339,7 @@ static void Cty_Configuration (bool PrintView)
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]); fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]);
if (!PrintView && Gbl.Hierarchy.Cty.WWW[Gbl.Prefs.Language][0]) if (!PrintView && Gbl.Hierarchy.Cty.WWW[Gbl.Prefs.Language][0])
fprintf (Gbl.F.Out,"</a>"); fprintf (Gbl.F.Out,"</a>");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Link to the country inside platform *****/ /***** Link to the country inside platform *****/
@ -371,7 +372,7 @@ static void Cty_Configuration (bool PrintView)
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_QR_code); Txt_QR_code);
QR_LinkTo (250,"cty",Gbl.Hierarchy.Cty.CtyCod); QR_LinkTo (250,"cty",Gbl.Hierarchy.Cty.CtyCod);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
else else
@ -409,7 +410,7 @@ static void Cty_Configuration (bool PrintView)
Ins_GetNumInssInCty (Gbl.Hierarchy.Cty.CtyCod)); Ins_GetNumInssInCty (Gbl.Hierarchy.Cty.CtyCod));
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Number of centres *****/ /***** Number of centres *****/
@ -724,7 +725,7 @@ static void Cty_ListOneCountryForSeeing (struct Country *Cty,unsigned NumCty)
"COUNTRY_SMALL", "COUNTRY_SMALL",
"COUNTRY_MAP_SMALL", "COUNTRY_MAP_SMALL",
"DAT_N"); "DAT_N");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write stats of this country */ /* Write stats of this country */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE %s\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE %s\">"
@ -1626,7 +1627,7 @@ static void Cty_ListCountriesForEdition (void)
Ico_PutIconRemove (); Ico_PutIconRemove ();
Frm_EndForm (); Frm_EndForm ();
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Numerical country code (ISO 3166-1) */ /* Numerical country code (ISO 3166-1) */
fprintf (Gbl.F.Out,"<td rowspan=\"%u\" class=\"DAT RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td rowspan=\"%u\" class=\"DAT RIGHT_TOP\">"
@ -1680,7 +1681,7 @@ static void Cty_ListCountriesForEdition (void)
Cty_MAX_CHARS_NAME, Cty_MAX_CHARS_NAME,
Cty->Name[Lan],Gbl.Form.Id); Cty->Name[Lan],Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* WWW */ /* WWW */
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">"); fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">");
@ -1694,7 +1695,7 @@ static void Cty_ListCountriesForEdition (void)
Cns_MAX_CHARS_WWW, Cns_MAX_CHARS_WWW,
Cty->WWW[Lan],Gbl.Form.Id); Cty->WWW[Lan],Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }

View File

@ -276,7 +276,7 @@ static void Crs_Configuration (bool PrintView)
else // I can not move course to another degree else // I can not move course to another degree
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Deg.FullName); fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Deg.FullName);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Course full name *****/ /***** Course full name *****/
@ -305,7 +305,7 @@ static void Crs_Configuration (bool PrintView)
} }
else // I can not edit course full name else // I can not edit course full name
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Crs.FullName); fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Crs.FullName);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Course short name *****/ /***** Course short name *****/
@ -334,7 +334,7 @@ static void Crs_Configuration (bool PrintView)
} }
else // I can not edit course short name else // I can not edit course short name
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Crs.ShrtName); fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Crs.ShrtName);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Course year *****/ /***** Course year *****/
@ -367,7 +367,7 @@ static void Crs_Configuration (bool PrintView)
fprintf (Gbl.F.Out,"%s", fprintf (Gbl.F.Out,"%s",
Gbl.Hierarchy.Crs.Year ? Txt_YEAR_OF_DEGREE[Gbl.Hierarchy.Crs.Year] : Gbl.Hierarchy.Crs.Year ? Txt_YEAR_OF_DEGREE[Gbl.Hierarchy.Crs.Year] :
Txt_Not_applicable); Txt_Not_applicable);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
if (!PrintView) if (!PrintView)
@ -395,7 +395,7 @@ static void Crs_Configuration (bool PrintView)
} }
else else
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Crs.InstitutionalCrsCod); fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Crs.InstitutionalCrsCod);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Internal code of the course *****/ /***** Internal code of the course *****/
@ -442,7 +442,7 @@ static void Crs_Configuration (bool PrintView)
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_QR_code); Txt_QR_code);
QR_LinkTo (250,"crs",Gbl.Hierarchy.Crs.CrsCod); QR_LinkTo (250,"crs",Gbl.Hierarchy.Crs.CrsCod);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
else else
@ -478,7 +478,7 @@ static void Crs_Configuration (bool PrintView)
"exclamation-triangle.svg", "exclamation-triangle.svg",
Gbl.Title); Gbl.Title);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -1309,7 +1309,7 @@ static bool Crs_ListCoursesOfAYearForSeeing (unsigned Year)
fprintf (Gbl.F.Out,"%s</a>", fprintf (Gbl.F.Out,"%s</a>",
Crs->FullName); Crs->FullName);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Current number of teachers in this course */ /* Current number of teachers in this course */
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">"
@ -1332,7 +1332,7 @@ static bool Crs_ListCoursesOfAYearForSeeing (unsigned Year)
TxtClassNormal,BgColor); TxtClassNormal,BgColor);
if (StatusTxt != Crs_STATUS_ACTIVE) // If active ==> do not show anything if (StatusTxt != Crs_STATUS_ACTIVE) // If active ==> do not show anything
fprintf (Gbl.F.Out,"%s",Txt_COURSE_STATUS[StatusTxt]); fprintf (Gbl.F.Out,"%s",Txt_COURSE_STATUS[StatusTxt]);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
} }
@ -1485,7 +1485,7 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
Ico_PutIconRemove (); Ico_PutIconRemove ();
Frm_EndForm (); Frm_EndForm ();
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Course code */ /* Course code */
fprintf (Gbl.F.Out,"<td class=\"DAT CODE\">" fprintf (Gbl.F.Out,"<td class=\"DAT CODE\">"
@ -1510,7 +1510,7 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
} }
else else
fprintf (Gbl.F.Out,"%s",Crs->InstitutionalCrsCod); fprintf (Gbl.F.Out,"%s",Crs->InstitutionalCrsCod);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Course year */ /* Course year */
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\">");
@ -1535,7 +1535,7 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
} }
else else
fprintf (Gbl.F.Out,"%s",Txt_YEAR_OF_DEGREE[Crs->Year]); fprintf (Gbl.F.Out,"%s",Txt_YEAR_OF_DEGREE[Crs->Year]);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Course short name */ /* Course short name */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
@ -1553,7 +1553,7 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
} }
else else
fprintf (Gbl.F.Out,"%s",Crs->ShrtName); fprintf (Gbl.F.Out,"%s",Crs->ShrtName);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Course full name */ /* Course full name */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
@ -1571,7 +1571,7 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
} }
else else
fprintf (Gbl.F.Out,"%s",Crs->FullName); fprintf (Gbl.F.Out,"%s",Crs->FullName);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Current number of teachers in this course */ /* Current number of teachers in this course */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
@ -1591,7 +1591,7 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS); Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS);
fprintf (Gbl.F.Out,"<td class=\"DAT INPUT_REQUESTER LEFT_TOP\">"); fprintf (Gbl.F.Out,"<td class=\"DAT INPUT_REQUESTER LEFT_TOP\">");
Msg_WriteMsgAuthor (&UsrDat,true,NULL); Msg_WriteMsgAuthor (&UsrDat,true,NULL);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Course status */ /* Course status */
StatusTxt = Crs_GetStatusTxtFromStatusBits (Crs->Status); StatusTxt = Crs_GetStatusTxtFromStatusBits (Crs->Status);
@ -1615,7 +1615,7 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
} }
else if (StatusTxt != Crs_STATUS_ACTIVE) // If active ==> do not show anything else if (StatusTxt != Crs_STATUS_ACTIVE) // If active ==> do not show anything
fprintf (Gbl.F.Out,"%s",Txt_COURSE_STATUS[StatusTxt]); fprintf (Gbl.F.Out,"%s",Txt_COURSE_STATUS[StatusTxt]);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
} }
@ -1764,7 +1764,7 @@ static void Crs_PutFormToCreateCourse (void)
/***** Course requester *****/ /***** Course requester *****/
fprintf (Gbl.F.Out,"<td class=\"DAT INPUT_REQUESTER LEFT_TOP\">"); fprintf (Gbl.F.Out,"<td class=\"DAT INPUT_REQUESTER LEFT_TOP\">");
Msg_WriteMsgAuthor (&Gbl.Usrs.Me.UsrDat,true,NULL); Msg_WriteMsgAuthor (&Gbl.Usrs.Me.UsrDat,true,NULL);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Course status *****/ /***** Course status *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
@ -3313,7 +3313,7 @@ static void Crs_WriteRowCrsData (unsigned NumCrs,MYSQL_ROW row,bool WriteColumnA
"</a>", "</a>",
row[2],row[6]); row[2],row[6]);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write year (row[4]) *****/ /***** Write year (row[4]) *****/
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_TOP %s\">" fprintf (Gbl.F.Out,"<td class=\"%s CENTER_TOP %s\">"
@ -3332,7 +3332,7 @@ static void Crs_WriteRowCrsData (unsigned NumCrs,MYSQL_ROW row,bool WriteColumnA
Frm_LinkFormSubmit (Gbl.Title,Style,NULL); Frm_LinkFormSubmit (Gbl.Title,Style,NULL);
fprintf (Gbl.F.Out,"%s</a>",row[5]); fprintf (Gbl.F.Out,"%s</a>",row[5]);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write number of teachers in course *****/ /***** Write number of teachers in course *****/
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP %s\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP %s\">"

View File

@ -477,7 +477,7 @@ 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>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -517,7 +517,7 @@ 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>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
} }

View File

@ -218,7 +218,7 @@ void Deg_SeeDegWithPendingCrss (void)
BgColor); BgColor);
Deg_DrawDegreeLogoAndNameWithLink (&Deg,ActSeeCrs, Deg_DrawDegreeLogoAndNameWithLink (&Deg,ActSeeCrs,
"DAT_NOBR","CENTER_MIDDLE"); "DAT_NOBR","CENTER_MIDDLE");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* 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\">"
@ -380,7 +380,7 @@ 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>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Degree full name *****/ /***** Degree full name *****/
@ -410,7 +410,7 @@ 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>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Degree short name *****/ /***** Degree short name *****/
@ -440,7 +440,7 @@ 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>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Degree WWW *****/ /***** Degree WWW *****/
@ -475,7 +475,7 @@ 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>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Shortcut to the degree *****/ /***** Shortcut to the degree *****/
@ -509,7 +509,7 @@ 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>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
else else
@ -534,7 +534,7 @@ 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>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Number of users *****/ /***** Number of users *****/
@ -732,7 +732,7 @@ static void Deg_ListDegreesForEdition (void)
Ico_PutIconRemove (); Ico_PutIconRemove ();
Frm_EndForm (); Frm_EndForm ();
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Degree code */ /* Degree code */
fprintf (Gbl.F.Out,"<td class=\"DAT CODE\">" fprintf (Gbl.F.Out,"<td class=\"DAT CODE\">"
@ -744,7 +744,7 @@ static void Deg_ListDegreesForEdition (void)
fprintf (Gbl.F.Out,"<td title=\"%s LEFT_MIDDLE\" style=\"width:25px;\">", fprintf (Gbl.F.Out,"<td title=\"%s LEFT_MIDDLE\" style=\"width:25px;\">",
Deg->FullName); Deg->FullName);
Log_DrawLogo (Hie_DEG,Deg->DegCod,Deg->ShrtName,20,NULL,true); Log_DrawLogo (Hie_DEG,Deg->DegCod,Deg->ShrtName,20,NULL,true);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Degree short name */ /* Degree short name */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
@ -761,7 +761,7 @@ static void Deg_ListDegreesForEdition (void)
} }
else else
fprintf (Gbl.F.Out,"%s",Deg->ShrtName); fprintf (Gbl.F.Out,"%s",Deg->ShrtName);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Degree full name */ /* Degree full name */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
@ -778,7 +778,7 @@ static void Deg_ListDegreesForEdition (void)
} }
else else
fprintf (Gbl.F.Out,"%s",Deg->FullName); fprintf (Gbl.F.Out,"%s",Deg->FullName);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Degree type */ /* Degree type */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
@ -810,7 +810,7 @@ static void Deg_ListDegreesForEdition (void)
NumDegTyp++) NumDegTyp++)
if (Gbl.DegTypes.Lst[NumDegTyp].DegTypCod == Deg->DegTypCod) if (Gbl.DegTypes.Lst[NumDegTyp].DegTypCod == Deg->DegTypCod)
fprintf (Gbl.F.Out,"%s",Gbl.DegTypes.Lst[NumDegTyp].DegTypName); fprintf (Gbl.F.Out,"%s",Gbl.DegTypes.Lst[NumDegTyp].DegTypName);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Degree WWW */ /* Degree WWW */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
@ -837,7 +837,7 @@ static void Deg_ListDegreesForEdition (void)
"</div>", "</div>",
Deg->WWW,Deg->WWW,WWW); Deg->WWW,Deg->WWW,WWW);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Current number of courses in this degree */ /* Current number of courses in this degree */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
@ -850,7 +850,7 @@ static void Deg_ListDegreesForEdition (void)
Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS); Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS);
fprintf (Gbl.F.Out,"<td class=\"DAT INPUT_REQUESTER LEFT_TOP\">"); fprintf (Gbl.F.Out,"<td class=\"DAT INPUT_REQUESTER LEFT_TOP\">");
Msg_WriteMsgAuthor (&UsrDat,true,NULL); Msg_WriteMsgAuthor (&UsrDat,true,NULL);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Degree status */ /* Degree status */
StatusTxt = Deg_GetStatusTxtFromStatusBits (Deg->Status); StatusTxt = Deg_GetStatusTxtFromStatusBits (Deg->Status);
@ -874,7 +874,7 @@ 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>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -974,7 +974,7 @@ static void Deg_PutFormToCreateDegree (void)
/***** Degree logo *****/ /***** Degree logo *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:25px;\">"); fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:25px;\">");
Log_DrawLogo (Hie_DEG,-1L,"",20,NULL,true); Log_DrawLogo (Hie_DEG,-1L,"",20,NULL,true);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Degree short name *****/ /***** Degree short name *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
@ -1028,7 +1028,7 @@ static void Deg_PutFormToCreateDegree (void)
/***** Degree requester *****/ /***** Degree requester *****/
fprintf (Gbl.F.Out,"<td class=\"DAT INPUT_REQUESTER LEFT_TOP\">"); fprintf (Gbl.F.Out,"<td class=\"DAT INPUT_REQUESTER LEFT_TOP\">");
Msg_WriteMsgAuthor (&Gbl.Usrs.Me.UsrDat,true,NULL); Msg_WriteMsgAuthor (&Gbl.Usrs.Me.UsrDat,true,NULL);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Degree status *****/ /***** Degree status *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
@ -1306,7 +1306,7 @@ static void Deg_ListOneDegreeForSeeing (struct Degree *Deg,unsigned NumDeg)
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE %s\">",BgColor); fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE %s\">",BgColor);
Deg_DrawDegreeLogoAndNameWithLink (Deg,ActSeeCrs, Deg_DrawDegreeLogoAndNameWithLink (Deg,ActSeeCrs,
TxtClassStrong,"CENTER_MIDDLE"); TxtClassStrong,"CENTER_MIDDLE");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Type of degree *****/ /***** Type of degree *****/
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE %s\">" fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE %s\">"
@ -1326,7 +1326,7 @@ 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>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
@ -2593,7 +2593,7 @@ void Hie_GetAndWriteInsCtrDegAdminBy (long UsrCod,unsigned ColSpan)
Lay_WrongScopeExit (); Lay_WrongScopeExit ();
break; break;
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }

View File

@ -431,7 +431,7 @@ static void DT_ListDegreeTypesForEdition (void)
Gbl.DegTypes.Lst[NumDegTyp].DegTypName, Gbl.DegTypes.Lst[NumDegTyp].DegTypName,
Gbl.Form.Id); Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* 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\">"

View File

@ -520,7 +520,7 @@ static void Dpt_ListDepartmentsForEdition (void)
Ico_PutIconRemove (); Ico_PutIconRemove ();
Frm_EndForm (); Frm_EndForm ();
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Department code */ /* Department code */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
@ -549,7 +549,7 @@ static void Dpt_ListDepartmentsForEdition (void)
Gbl.Hierarchy.Cty.Inss.Lst[NumIns].ShrtName); Gbl.Hierarchy.Cty.Inss.Lst[NumIns].ShrtName);
fprintf (Gbl.F.Out,"</select>"); fprintf (Gbl.F.Out,"</select>");
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Department short name */ /* Department short name */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -561,7 +561,7 @@ static void Dpt_ListDepartmentsForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />", " onchange=\"document.getElementById('%s').submit();\" />",
Hie_MAX_CHARS_SHRT_NAME,Dpt->ShrtName,Gbl.Form.Id); Hie_MAX_CHARS_SHRT_NAME,Dpt->ShrtName,Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Department full name */ /* Department full name */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -573,7 +573,7 @@ static void Dpt_ListDepartmentsForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />", " onchange=\"document.getElementById('%s').submit();\" />",
Hie_MAX_CHARS_FULL_NAME,Dpt->FullName,Gbl.Form.Id); Hie_MAX_CHARS_FULL_NAME,Dpt->FullName,Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Department WWW */ /* Department WWW */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -585,7 +585,7 @@ static void Dpt_ListDepartmentsForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />", " onchange=\"document.getElementById('%s').submit();\" />",
Cns_MAX_CHARS_WWW,Dpt->WWW,Gbl.Form.Id); Cns_MAX_CHARS_WWW,Dpt->WWW,Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Number of teachers */ /* Number of teachers */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"

View File

@ -207,7 +207,7 @@ 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>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
@ -333,7 +333,7 @@ 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>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Tbl_StartRow (); Tbl_StartRow ();
@ -352,7 +352,7 @@ 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>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;

View File

@ -2301,7 +2301,7 @@ 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>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/* Users' roles in listing */ /* Users' roles in listing */
@ -2316,7 +2316,7 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
1 << Rol_TCH, 1 << Rol_TCH,
RolesSelected, RolesSelected,
false,true); false,true);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/* End table and form */ /* End table and form */
@ -2882,7 +2882,7 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
"</a>", "</a>",
Deg.ShrtName,Crs.ShrtName); Deg.ShrtName,Crs.ShrtName);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Number of teachers in the course *****/ /***** Number of teachers in the course *****/
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP\">"
@ -2897,7 +2897,7 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL : Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL :
NULL, NULL,
"PHOTO21x28",Pho_ZOOM,false); "PHOTO21x28",Pho_ZOOM,false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** User name *****/ /***** User name *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">"
@ -2938,7 +2938,7 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod);
Btn_PutCreateButtonInline (Txt_Register); Btn_PutCreateButtonInline (Txt_Register);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Button to reject the request *****/ /***** Button to reject the request *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">"); fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">");
@ -2947,7 +2947,7 @@ 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>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Mark possible notification as seen *****/ /***** Mark possible notification as seen *****/

View File

@ -1069,7 +1069,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Deg.FullName); fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Deg.FullName);
if (TypeViewExamAnnouncement == Exa_NORMAL_VIEW) if (TypeViewExamAnnouncement == Exa_NORMAL_VIEW)
fprintf (Gbl.F.Out,"</a>"); fprintf (Gbl.F.Out,"</a>");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Title *****/ /***** Title *****/
@ -1106,7 +1106,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
else else
fprintf (Gbl.F.Out,"<strong>%s</strong>", fprintf (Gbl.F.Out,"<strong>%s</strong>",
Gbl.ExamAnns.ExaDat.CrsFullName); Gbl.ExamAnns.ExaDat.CrsFullName);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Year/semester (N.A., 1º, 2º, 3º, 4º, 5º...) *****/ /***** Year/semester (N.A., 1º, 2º, 3º, 4º, 5º...) *****/
@ -1138,7 +1138,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
else else
fprintf (Gbl.F.Out,"%s", fprintf (Gbl.F.Out,"%s",
Txt_YEAR_OF_DEGREE[Gbl.ExamAnns.ExaDat.Year]); Txt_YEAR_OF_DEGREE[Gbl.ExamAnns.ExaDat.Year]);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Exam session *****/ /***** Exam session *****/
@ -1157,7 +1157,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Exa_MAX_CHARS_SESSION,Gbl.ExamAnns.ExaDat.Session); Exa_MAX_CHARS_SESSION,Gbl.ExamAnns.ExaDat.Session);
else else
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.Session); fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.Session);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Date of the exam *****/ /***** Date of the exam *****/
@ -1175,7 +1175,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Gbl.Now.Date.Year + 1,"Exam", Gbl.Now.Date.Year + 1,"Exam",
&(Gbl.ExamAnns.ExaDat.ExamDate), &(Gbl.ExamAnns.ExaDat.ExamDate),
false,false); false,false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
else else
{ {
@ -1231,7 +1231,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
fprintf (Gbl.F.Out,"%2u:%02u", fprintf (Gbl.F.Out,"%2u:%02u",
Gbl.ExamAnns.ExaDat.StartTime.Hour, Gbl.ExamAnns.ExaDat.StartTime.Hour,
Gbl.ExamAnns.ExaDat.StartTime.Minute); Gbl.ExamAnns.ExaDat.StartTime.Minute);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Approximate duration of the exam *****/ /***** Approximate duration of the exam *****/
@ -1297,7 +1297,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Gbl.ExamAnns.ExaDat.Duration.Minute,Txt_minutes); Gbl.ExamAnns.ExaDat.Duration.Minute,Txt_minutes);
} }
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Place where the exam will be made *****/ /***** Place where the exam will be made *****/
@ -1322,7 +1322,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Cns_MAX_BYTES_TEXT,false); Cns_MAX_BYTES_TEXT,false);
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.Place); fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.Place);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Exam mode *****/ /***** Exam mode *****/
@ -1347,7 +1347,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Cns_MAX_BYTES_TEXT,false); Cns_MAX_BYTES_TEXT,false);
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.Mode); fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.Mode);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Structure of the exam *****/ /***** Structure of the exam *****/
@ -1372,7 +1372,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Cns_MAX_BYTES_TEXT,false); Cns_MAX_BYTES_TEXT,false);
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.Structure); fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.Structure);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Documentation required *****/ /***** Documentation required *****/
@ -1397,7 +1397,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Cns_MAX_BYTES_TEXT,false); Cns_MAX_BYTES_TEXT,false);
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.DocRequired); fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.DocRequired);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Material required *****/ /***** Material required *****/
@ -1422,7 +1422,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Cns_MAX_BYTES_TEXT,false); Cns_MAX_BYTES_TEXT,false);
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.MatRequired); fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.MatRequired);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Material allowed *****/ /***** Material allowed *****/
@ -1447,7 +1447,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Cns_MAX_BYTES_TEXT,false); Cns_MAX_BYTES_TEXT,false);
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.MatAllowed); fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.MatAllowed);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Other information to students *****/ /***** Other information to students *****/
@ -1471,7 +1471,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Cns_MAX_BYTES_TEXT,false); Cns_MAX_BYTES_TEXT,false);
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.OtherInfo); fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.OtherInfo);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** End table, send button and end box *****/ /***** End table, send button and end box *****/

View File

@ -559,7 +559,7 @@ static void Fig_GetAndShowUsersRanking (void)
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>"
"<td class=\"DAT LEFT_TOP\">"); "<td class=\"DAT LEFT_TOP\">");
Prf_GetAndShowRankingMsgSnt (); Prf_GetAndShowRankingMsgSnt ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** End table and box *****/ /***** End table and box *****/
@ -1025,7 +1025,7 @@ static void Fig_ShowHierarchyCell (const char *ClassTxt,int Num)
fprintf (Gbl.F.Out,"%d",Num); fprintf (Gbl.F.Out,"%d",Num);
else // < 0 ==> do not show number else // < 0 ==> do not show number
fprintf (Gbl.F.Out,"-"); fprintf (Gbl.F.Out,"-");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -1455,7 +1455,7 @@ static void Fig_ShowInss (MYSQL_RES **mysql_res,unsigned NumInss,
NumberThisRow); NumberThisRow);
/***** End user's cell *****/ /***** End user's cell *****/
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
if ((++NumIns % Gbl.Usrs.ClassPhoto.Cols) == 0) if ((++NumIns % Gbl.Usrs.ClassPhoto.Cols) == 0)
{ {
@ -1514,7 +1514,7 @@ static void Fig_ShowInss (MYSQL_RES **mysql_res,unsigned NumInss,
fprintf (Gbl.F.Out,"%s</a>",Ins.FullName); fprintf (Gbl.F.Out,"%s</a>",Ins.FullName);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write statistic *****/ /***** Write statistic *****/
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"

View File

@ -3199,7 +3199,7 @@ static void Brw_ShowFileBrowsersAsgWrkCrs (void)
Brw_InitializeFileBrowser (); Brw_InitializeFileBrowser ();
Brw_ShowFileBrowser (); Brw_ShowFileBrowser ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
} }
@ -3367,7 +3367,7 @@ static void Brw_ShowDataOwnerAsgWrk (struct UsrData *UsrDat)
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL : Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
NULL, NULL,
"PHOTO60x80",Pho_ZOOM,false); "PHOTO60x80",Pho_ZOOM,false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Start form to send a message to this user *****/ /***** Start form to send a message to this user *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">"); fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">");
@ -3415,7 +3415,7 @@ static void Brw_ShowDataOwnerAsgWrk (struct UsrData *UsrDat)
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -5616,7 +5616,7 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,const char *RowId,
/* Icon with file type or link */ /* Icon with file type or link */
fprintf (Gbl.F.Out,"<td class=\"BM%u\">",Gbl.RowEvenOdd); fprintf (Gbl.F.Out,"<td class=\"BM%u\">",Gbl.RowEvenOdd);
Brw_PutIconFileWithLinkToViewMetadata (16,&FileMetadata); Brw_PutIconFileWithLinkToViewMetadata (16,&FileMetadata);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/* Check if is a new file or folder */ /* Check if is a new file or folder */
@ -5630,7 +5630,7 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,const char *RowId,
/* End column */ /* End column */
Tbl_EndRow (); Tbl_EndRow ();
Tbl_EndTable (); Tbl_EndTable ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
if (AdminMarks) if (AdminMarks)
/***** Header and footer rows *****/ /***** Header and footer rows *****/
@ -5651,7 +5651,7 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,const char *RowId,
!SeeMarks && // Do not ZIP folders when seeing marks !SeeMarks && // Do not ZIP folders when seeing marks
!(SeeDocsZone && RowSetAsHidden)) // When seeing docs, if folder is not hidden (this could happen for Level == 0) !(SeeDocsZone && RowSetAsHidden)) // When seeing docs, if folder is not hidden (this could happen for Level == 0)
Brw_PutButtonToDownloadZIPOfAFolder (); Brw_PutButtonToDownloadZIPOfAFolder ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
else // File or link else // File or link
/***** User who created the file or folder *****/ /***** User who created the file or folder *****/
@ -5765,7 +5765,7 @@ static void Brw_PutIconRemove (void)
else else
Ico_PutIconRemovalNotAllowed (); Ico_PutIconRemovalNotAllowed ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -5780,7 +5780,7 @@ static void Brw_PutIconCopy (void)
Ico_PutContextualIconToCopy (Brw_ActCopy[Gbl.FileBrowser.Type], Ico_PutContextualIconToCopy (Brw_ActCopy[Gbl.FileBrowser.Type],
Brw_PutImplicitParamsFileBrowser); Brw_PutImplicitParamsFileBrowser);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -5807,7 +5807,7 @@ static void Brw_PutIconPaste (unsigned Level)
Ico_PutIconOff ("paste.svg",Txt_Copy_not_allowed); Ico_PutIconOff ("paste.svg",Txt_Copy_not_allowed);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -5852,11 +5852,11 @@ static void Brw_IndentAndWriteIconExpandContract (unsigned Level,
false); // Visible false); // Visible
break; break;
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Tbl_EndTable (); Tbl_EndTable ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -5952,7 +5952,7 @@ static void Brw_PutIconShow (const char *Anchor)
fprintf (Gbl.F.Out,"<td class=\"BM%u\">",Gbl.RowEvenOdd); fprintf (Gbl.F.Out,"<td class=\"BM%u\">",Gbl.RowEvenOdd);
Ico_PutContextualIconToUnhide (Brw_ActShow[Gbl.FileBrowser.Type],Anchor, Ico_PutContextualIconToUnhide (Brw_ActShow[Gbl.FileBrowser.Type],Anchor,
Brw_PutImplicitParamsFileBrowser); Brw_PutImplicitParamsFileBrowser);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -5964,7 +5964,7 @@ static void Brw_PutIconHide (const char *Anchor)
fprintf (Gbl.F.Out,"<td class=\"BM%u\">",Gbl.RowEvenOdd); fprintf (Gbl.F.Out,"<td class=\"BM%u\">",Gbl.RowEvenOdd);
Ico_PutContextualIconToHide (Brw_ActHide[Gbl.FileBrowser.Type],Anchor, Ico_PutContextualIconToHide (Brw_ActHide[Gbl.FileBrowser.Type],Anchor,
Brw_PutImplicitParamsFileBrowser); Brw_PutImplicitParamsFileBrowser);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -6055,7 +6055,7 @@ static void Brw_PutIconFolder (unsigned Level,
} }
/***** End cell *****/ /***** End cell *****/
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -6285,7 +6285,7 @@ static void Brw_WriteFileName (unsigned Level,bool IsPublic)
/***** End cell *****/ /***** End cell *****/
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
else // File or link else // File or link
{ {
@ -6414,7 +6414,7 @@ static void Brw_WriteDatesAssignment (void)
else else
fprintf (Gbl.F.Out,"&nbsp;(%s)", fprintf (Gbl.F.Out,"&nbsp;(%s)",
Txt_unknown_assignment); Txt_unknown_assignment);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -6455,7 +6455,7 @@ static void Brw_WriteFileSizeAndDate (struct FileMetadata *FileMetadata)
UniqueId,(long) FileMetadata->Time, UniqueId,(long) FileMetadata->Time,
(unsigned) Gbl.Prefs.DateFormat,Txt_Today); (unsigned) Gbl.Prefs.DateFormat,Txt_Today);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -6497,7 +6497,7 @@ static void Brw_WriteFileOrFolderPublisher (unsigned Level,unsigned long UsrCod)
Txt_Unknown_or_without_photo, Txt_Unknown_or_without_photo,
Txt_Unknown_or_without_photo); Txt_Unknown_or_without_photo);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
if (Level && UsrCod > 0) if (Level && UsrCod > 0)
/***** Free memory used for user's data *****/ /***** Free memory used for user's data *****/
@ -9498,7 +9498,7 @@ void Brw_ShowFileMetadata (void)
fprintf (Gbl.F.Out,"<td colspan=\"2\"" fprintf (Gbl.F.Out,"<td colspan=\"2\""
" class=\"FILENAME_TXT CENTER_MIDDLE\">"); " class=\"FILENAME_TXT CENTER_MIDDLE\">");
Brw_WriteBigLinkToDownloadFile (URL,&FileMetadata,FileNameToShow); Brw_WriteBigLinkToDownloadFile (URL,&FileMetadata,FileNameToShow);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Filename *****/ /***** Filename *****/
@ -9509,7 +9509,7 @@ void Brw_ShowFileMetadata (void)
"<td class=\"DAT LEFT_MIDDLE\">", "<td class=\"DAT LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Filename); The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Filename);
Brw_WriteSmallLinkToDownloadFile (URL,&FileMetadata,FileNameToShow); Brw_WriteSmallLinkToDownloadFile (URL,&FileMetadata,FileNameToShow);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Publisher's data *****/ /***** Publisher's data *****/
@ -9534,7 +9534,7 @@ void Brw_ShowFileMetadata (void)
else else
/* Unknown publisher */ /* Unknown publisher */
fprintf (Gbl.F.Out,"%s",Txt_ROLES_SINGUL_Abc[Rol_UNK][Usr_SEX_UNKNOWN]); fprintf (Gbl.F.Out,"%s",Txt_ROLES_SINGUL_Abc[Rol_UNK][Usr_SEX_UNKNOWN]);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Free memory used for publisher's data *****/ /***** Free memory used for publisher's data *****/
@ -9601,7 +9601,7 @@ void Brw_ShowFileMetadata (void)
fprintf (Gbl.F.Out,"%s", fprintf (Gbl.F.Out,"%s",
FileMetadata.IsPublic ? Txt_Public_open_educational_resource_OER_for_everyone : FileMetadata.IsPublic ? Txt_Public_open_educational_resource_OER_for_everyone :
Txt_Private_available_to_certain_users_identified); Txt_Private_available_to_certain_users_identified);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** License *****/ /***** License *****/
@ -9628,7 +9628,7 @@ void Brw_ShowFileMetadata (void)
} }
else // I can not edit file properties else // I can not edit file properties
fprintf (Gbl.F.Out,"%s",Txt_LICENSES[FileMetadata.License]); fprintf (Gbl.F.Out,"%s",Txt_LICENSES[FileMetadata.License]);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Write my number of views *****/ /***** Write my number of views *****/
@ -11941,7 +11941,7 @@ static void Brw_WriteRowDocData (unsigned long *NumDocsNotHidden,MYSQL_ROW row)
fprintf (Gbl.F.Out,"&nbsp;%s</a>",InsShortName); fprintf (Gbl.F.Out,"&nbsp;%s</a>",InsShortName);
Frm_EndForm (); Frm_EndForm ();
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write centre logo, centre short name *****/ /***** Write centre logo, centre short name *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP %s\">", fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP %s\">",
@ -11958,7 +11958,7 @@ static void Brw_WriteRowDocData (unsigned long *NumDocsNotHidden,MYSQL_ROW row)
fprintf (Gbl.F.Out,"&nbsp;%s</a>",CtrShortName); fprintf (Gbl.F.Out,"&nbsp;%s</a>",CtrShortName);
Frm_EndForm (); Frm_EndForm ();
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write degree logo, degree short name *****/ /***** Write degree logo, degree short name *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP %s\">", fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP %s\">",
@ -11975,7 +11975,7 @@ static void Brw_WriteRowDocData (unsigned long *NumDocsNotHidden,MYSQL_ROW row)
fprintf (Gbl.F.Out,"&nbsp;%s</a>",DegShortName); fprintf (Gbl.F.Out,"&nbsp;%s</a>",DegShortName);
Frm_EndForm (); Frm_EndForm ();
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write course short name *****/ /***** Write course short name *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP %s\">", fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP %s\">",
@ -11991,7 +11991,7 @@ static void Brw_WriteRowDocData (unsigned long *NumDocsNotHidden,MYSQL_ROW row)
fprintf (Gbl.F.Out,"%s</a>",CrsShortName); fprintf (Gbl.F.Out,"%s</a>",CrsShortName);
Frm_EndForm (); Frm_EndForm ();
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write file zone *****/ /***** Write file zone *****/
switch (FileMetadata.FileBrowser) switch (FileMetadata.FileBrowser)
@ -12107,7 +12107,7 @@ static void Brw_WriteRowDocData (unsigned long *NumDocsNotHidden,MYSQL_ROW row)
/* End form */ /* End form */
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;

View File

@ -850,7 +850,7 @@ static void Fol_ShowFollowedOrFollower (struct UsrData *UsrDat)
NULL, NULL,
"PHOTO60x80",Pho_ZOOM,false); "PHOTO60x80",Pho_ZOOM,false);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Show user's name and icon to follow/unfollow *****/ /***** Show user's name and icon to follow/unfollow *****/
fprintf (Gbl.F.Out,"<td class=\"FOLLOW_USR\">"); fprintf (Gbl.F.Out,"<td class=\"FOLLOW_USR\">");
@ -882,7 +882,7 @@ static void Fol_ShowFollowedOrFollower (struct UsrData *UsrDat)
/* Form to follow */ /* Form to follow */
Fol_PutIconToFollow (UsrDat); Fol_PutIconToFollow (UsrDat);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -908,7 +908,7 @@ static void Fol_WriteRowUsrToFollowOnRightColumn (struct UsrData *UsrDat)
NULL, NULL,
"PHOTO21x28",Pho_ZOOM,false); "PHOTO21x28",Pho_ZOOM,false);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** User's name *****/ /***** User's name *****/
fprintf (Gbl.F.Out,"<td class=\"CON_NAME_FOLLOW CON_CRS COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"CON_NAME_FOLLOW CON_CRS COLOR%u\">",
@ -925,7 +925,7 @@ static void Fol_WriteRowUsrToFollowOnRightColumn (struct UsrData *UsrDat)
"</div>"); "</div>");
Frm_EndForm (); Frm_EndForm ();
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Icon to follow *****/ /***** Icon to follow *****/
fprintf (Gbl.F.Out,"<td class=\"CON_ICON_FOLLOW RIGHT_MIDDLE COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"CON_ICON_FOLLOW RIGHT_MIDDLE COLOR%u\">",
@ -944,7 +944,7 @@ static void Fol_WriteRowUsrToFollowOnRightColumn (struct UsrData *UsrDat)
/* Form to follow */ /* Form to follow */
Fol_PutIconToFollow (UsrDat); Fol_PutIconToFollow (UsrDat);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;

View File

@ -1211,7 +1211,7 @@ static void For_ShowAForumPost (unsigned PstNum,long PstCod,
} }
else else
fprintf (Gbl.F.Out,"[%s]",Txt_FORUM_Post_banned); fprintf (Gbl.F.Out,"[%s]",Txt_FORUM_Post_banned);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Form to ban/unban post *****/ /***** Form to ban/unban post *****/
@ -1282,7 +1282,7 @@ static void For_ShowAForumPost (unsigned PstNum,long PstCod,
Frm_EndForm (); Frm_EndForm ();
} }
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write author *****/ /***** Write author *****/
Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS); Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS);
@ -1292,7 +1292,7 @@ static void For_ShowAForumPost (unsigned PstNum,long PstCod,
if (Enabled) if (Enabled)
/* Write number of posts from this user */ /* Write number of posts from this user */
For_WriteNumberOfPosts (UsrDat.UsrCod); For_WriteNumberOfPosts (UsrDat.UsrCod);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write post content *****/ /***** Write post content *****/
fprintf (Gbl.F.Out,"<td class=\"MSG_TXT LEFT_TOP\">"); fprintf (Gbl.F.Out,"<td class=\"MSG_TXT LEFT_TOP\">");
@ -1307,7 +1307,7 @@ static void For_ShowAForumPost (unsigned PstNum,long PstCod,
} }
else else
fprintf (Gbl.F.Out,"%s",Txt_This_post_has_been_banned_probably_for_not_satisfy_the_rules_of_the_forums); fprintf (Gbl.F.Out,"%s",Txt_This_post_has_been_banned_probably_for_not_satisfy_the_rules_of_the_forums);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Free image *****/ /***** Free image *****/
@ -3424,7 +3424,7 @@ static void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE],
Thr.NumMyPosts); Thr.NumMyPosts);
fprintf (Gbl.F.Out,"\" class=\"PHOTO15x20\" />"); fprintf (Gbl.F.Out,"\" class=\"PHOTO15x20\" />");
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Put an icon with thread status *****/ /***** Put an icon with thread status *****/
fprintf (Gbl.F.Out,"<td class=\"CONTEXT_COL %s\">" fprintf (Gbl.F.Out,"<td class=\"CONTEXT_COL %s\">"
@ -3475,7 +3475,7 @@ static void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE],
Frm_EndForm (); Frm_EndForm ();
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write subject and links to thread pages *****/ /***** Write subject and links to thread pages *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP %s\">",BgColor); fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP %s\">",BgColor);
@ -3491,7 +3491,7 @@ static void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE],
Thr.NumUnreadPosts ? The_ClassFormInBoxBold[Gbl.Prefs.Theme] : Thr.NumUnreadPosts ? The_ClassFormInBoxBold[Gbl.Prefs.Theme] :
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
true); true);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write the authors and date-times of first and last posts *****/ /***** Write the authors and date-times of first and last posts *****/
for (Order = For_FIRST_MSG; for (Order = For_FIRST_MSG;
@ -3505,7 +3505,7 @@ static void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE],
Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS); Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS);
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP %s\">",Style,BgColor); fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP %s\">",Style,BgColor);
Msg_WriteMsgAuthor (&UsrDat,Thr.Enabled[Order],BgColor); Msg_WriteMsgAuthor (&UsrDat,Thr.Enabled[Order],BgColor);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write the date of first or last message (it's in YYYYMMDDHHMMSS format) */ /* Write the date of first or last message (it's in YYYYMMDDHHMMSS format) */
TimeUTC = Thr.WriteTime[Order]; TimeUTC = Thr.WriteTime[Order];

View File

@ -410,7 +410,7 @@ void Gam_ShowOneGame (long GamCod,
/* Icons to remove/edit this game */ /* Icons to remove/edit this game */
Gam_PutFormsToRemEditOneGame (&Game,Anchor); Gam_PutFormsToRemEditOneGame (&Game,Anchor);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/***** Start/end date/time *****/ /***** Start/end date/time *****/
@ -434,7 +434,7 @@ void Gam_ShowOneGame (long GamCod,
(unsigned) StartEndTime,UniqueId, (unsigned) StartEndTime,UniqueId,
Game.TimeUTC[StartEndTime], Game.TimeUTC[StartEndTime],
(unsigned) Gbl.Prefs.DateFormat,Txt_Today); (unsigned) Gbl.Prefs.DateFormat,Txt_Today);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/***** Game title and main data *****/ /***** Game title and main data *****/
@ -463,7 +463,7 @@ void Gam_ShowOneGame (long GamCod,
Txt_No_of_questions, Txt_No_of_questions,
Game.NumQsts); Game.NumQsts);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Number of matches in game *****/ /***** Number of matches in game *****/
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP"); fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP");
@ -482,7 +482,7 @@ void Gam_ShowOneGame (long GamCod,
fprintf (Gbl.F.Out,"%u</a>",Game.NumMchs); fprintf (Gbl.F.Out,"%u</a>",Game.NumMchs);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** End 1st row of this game *****/ /***** End 1st row of this game *****/
Tbl_EndRow (); Tbl_EndRow ();
@ -496,7 +496,7 @@ void Gam_ShowOneGame (long GamCod,
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd); fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"\">"); fprintf (Gbl.F.Out,"\">");
Gam_WriteAuthor (&Game); Gam_WriteAuthor (&Game);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Text of the game *****/ /***** Text of the game *****/
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"LEFT_TOP"); fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"LEFT_TOP");
@ -1730,7 +1730,7 @@ static void Gam_ListOneOrMoreQuestionsForEdition (long GamCod,unsigned NumQsts,
if (ICanEditQuestions) if (ICanEditQuestions)
Ico_PutContextualIconToEdit (ActEdiOneTstQst,Tst_PutParamQstCod); Ico_PutContextualIconToEdit (ActEdiOneTstQst,Tst_PutParamQstCod);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write number of question */ /* Write number of question */
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP COLOR%u\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP COLOR%u\">"
@ -1754,7 +1754,7 @@ static void Gam_ListOneOrMoreQuestionsForEdition (long GamCod,unsigned NumQsts,
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">",
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
Tst_GetAndWriteTagsQst (Gbl.Test.QstCod); Tst_GetAndWriteTagsQst (Gbl.Test.QstCod);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write stem (row[3]) */ /* Write stem (row[3]) */
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">",
@ -1776,7 +1776,7 @@ static void Gam_ListOneOrMoreQuestionsForEdition (long GamCod,unsigned NumQsts,
/* Show answers */ /* Show answers */
Tst_WriteAnswersEdit (Gbl.Test.QstCod); Tst_WriteAnswersEdit (Gbl.Test.QstCod);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Destroy test question *****/ /***** Destroy test question *****/

View File

@ -1300,7 +1300,7 @@ static void Grp_ListGroupTypesForEdition (void)
Grp_PutParamGrpTypCod (Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].GrpTypCod); Grp_PutParamGrpTypCod (Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].GrpTypCod);
Ico_PutIconRemove (); Ico_PutIconRemove ();
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Name of group type */ /* Name of group type */
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
@ -1313,7 +1313,7 @@ static void Grp_ListGroupTypesForEdition (void)
Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].GrpTypName, Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].GrpTypName,
Gbl.Form.Id); Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Is it mandatory to register in any group? */ /* Is it mandatory to register in any group? */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -1335,7 +1335,7 @@ static void Grp_ListGroupTypesForEdition (void)
"</select>", "</select>",
Txt_It_is_mandatory_to_choose_a_group); Txt_It_is_mandatory_to_choose_a_group);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Is it possible to register in multiple groups? */ /* Is it possible to register in multiple groups? */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -1357,7 +1357,7 @@ static void Grp_ListGroupTypesForEdition (void)
"</select>", "</select>",
Txt_A_student_can_belong_to_several_groups); Txt_A_student_can_belong_to_several_groups);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Open time */ /* Open time */
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
@ -1389,11 +1389,11 @@ static void Grp_ListGroupTypesForEdition (void)
Dat_FORM_SECONDS_ON, Dat_FORM_SECONDS_ON,
Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second
true); // Submit on change true); // Submit on change
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Tbl_EndTable (); Tbl_EndTable ();
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Number of groups of this type */ /* Number of groups of this type */
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\">"
@ -1516,7 +1516,7 @@ static void Grp_ListGroupsForEdition (void)
Grp_PutParamGrpCod (Grp->GrpCod); Grp_PutParamGrpCod (Grp->GrpCod);
Ico_PutIconRemove (); Ico_PutIconRemove ();
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Icon to open/close group *****/ /***** Icon to open/close group *****/
fprintf (Gbl.F.Out,"<td class=\"BM\">"); fprintf (Gbl.F.Out,"<td class=\"BM\">");
@ -1532,7 +1532,7 @@ static void Grp_ListGroupsForEdition (void)
"lock.svg", "lock.svg",
Gbl.Title); Gbl.Title);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Icon to activate file zones for this group *****/ /***** Icon to activate file zones for this group *****/
fprintf (Gbl.F.Out,"<td class=\"BM\">"); fprintf (Gbl.F.Out,"<td class=\"BM\">");
@ -1548,7 +1548,7 @@ static void Grp_ListGroupsForEdition (void)
"folder-red.svg", "folder-red.svg",
Gbl.Title); Gbl.Title);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Group type *****/ /***** Group type *****/
/* Start selector */ /* Start selector */
@ -1574,7 +1574,7 @@ static void Grp_ListGroupsForEdition (void)
/* End selector */ /* End selector */
fprintf (Gbl.F.Out,"</select>"); fprintf (Gbl.F.Out,"</select>");
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Group name *****/ /***** Group name *****/
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -1585,7 +1585,7 @@ static void Grp_ListGroupsForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />", " onchange=\"document.getElementById('%s').submit();\" />",
Grp_MAX_CHARS_GROUP_NAME,Grp->GrpName,Gbl.Form.Id); Grp_MAX_CHARS_GROUP_NAME,Grp->GrpName,Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Classroom *****/ /***** Classroom *****/
/* Start selector */ /* Start selector */
@ -1626,7 +1626,7 @@ static void Grp_ListGroupsForEdition (void)
/* End selector */ /* End selector */
fprintf (Gbl.F.Out,"</select>"); fprintf (Gbl.F.Out,"</select>");
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Current number of users in this group *****/ /***** Current number of users in this group *****/
for (Role = Rol_TCH; for (Role = Rol_TCH;
@ -1647,7 +1647,7 @@ static void Grp_ListGroupsForEdition (void)
fprintf (Gbl.F.Out,"\" onchange=\"document.getElementById('%s').submit();\" />", fprintf (Gbl.F.Out,"\" onchange=\"document.getElementById('%s').submit();\" />",
Gbl.Form.Id); Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
} }
@ -2164,7 +2164,7 @@ static void Grp_ListGrpsToAddOrRemUsrs (struct GroupType *GrpTyp,long UsrCod)
fprintf (Gbl.F.Out," />"); fprintf (Gbl.F.Out," />");
/* End cell for checkbox */ /* End cell for checkbox */
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write cell for group */ /* Write cell for group */
Grp_WriteRowGrp (Grp,UsrBelongsToThisGroup); Grp_WriteRowGrp (Grp,UsrBelongsToThisGroup);
@ -2364,7 +2364,7 @@ static void Grp_WriteGrpHead (struct GroupType *GrpTyp)
UniqueId,(long) GrpTyp->OpenTimeUTC, UniqueId,(long) GrpTyp->OpenTimeUTC,
(unsigned) Gbl.Prefs.DateFormat,Txt_Today); (unsigned) Gbl.Prefs.DateFormat,Txt_Today);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Head row with title of each column *****/ /***** Head row with title of each column *****/
@ -2419,7 +2419,7 @@ static void Grp_WriteRowGrp (struct Group *Grp,bool Highlight)
Ico_PutIconOff (Grp->Open ? "unlock.svg" : Ico_PutIconOff (Grp->Open ? "unlock.svg" :
"lock.svg", "lock.svg",
Gbl.Title); Gbl.Title);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Group name *****/ /***** Group name *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE"); fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE");
@ -2477,7 +2477,7 @@ static void Grp_WriteRowGrp (struct Group *Grp,bool Highlight)
Vacant > 0 ? (unsigned) Vacant : Vacant > 0 ? (unsigned) Vacant :
0); 0);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -2577,10 +2577,10 @@ static void Grp_PutFormToCreateGroupType (void)
Dat_FORM_SECONDS_ON, Dat_FORM_SECONDS_ON,
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>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Tbl_EndTable (); Tbl_EndTable ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Number of groups of this type *****/ /***** Number of groups of this type *****/
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\">"
@ -2630,12 +2630,12 @@ static void Grp_PutFormToCreateGroup (void)
/***** Disabled icon to open group *****/ /***** Disabled icon to open group *****/
fprintf (Gbl.F.Out,"<td class=\"BM\">"); fprintf (Gbl.F.Out,"<td class=\"BM\">");
Ico_PutIconOff ("lock.svg",Txt_Group_closed); Ico_PutIconOff ("lock.svg",Txt_Group_closed);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Disabled icon for archive zone *****/ /***** Disabled icon for archive zone *****/
fprintf (Gbl.F.Out,"<td class=\"BM\">"); fprintf (Gbl.F.Out,"<td class=\"BM\">");
Ico_PutIconOff ("folder-red.svg",Txt_File_zones_disabled); Ico_PutIconOff ("folder-red.svg",Txt_File_zones_disabled);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Group type *****/ /***** Group type *****/
/* Start selector */ /* Start selector */

View File

@ -283,7 +283,7 @@ static void Hlp_ShowRowHelpWhatWouldYouLikeToDo (const char *Description,
Frm_StartForm (Action); Frm_StartForm (Action);
Btn_PutButtonInline (Button,TxtButton); Btn_PutButtonInline (Button,TxtButton);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }

View File

@ -110,7 +110,7 @@ void Hie_WriteMenuHierarchy (void)
"<td class=\"LEFT_MIDDLE\">", "<td class=\"LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Country); The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Country);
Cty_WriteSelectorOfCountry (); Cty_WriteSelectorOfCountry ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
if (Gbl.Hierarchy.Cty.CtyCod > 0) if (Gbl.Hierarchy.Cty.CtyCod > 0)
@ -124,7 +124,7 @@ void Hie_WriteMenuHierarchy (void)
"<td class=\"LEFT_MIDDLE\">", "<td class=\"LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Institution); The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Institution);
Ins_WriteSelectorOfInstitution (); Ins_WriteSelectorOfInstitution ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
if (Gbl.Hierarchy.Ins.InsCod > 0) if (Gbl.Hierarchy.Ins.InsCod > 0)
@ -138,7 +138,7 @@ void Hie_WriteMenuHierarchy (void)
"<td class=\"LEFT_MIDDLE\">", "<td class=\"LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Centre); The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Centre);
Ctr_WriteSelectorOfCentre (); Ctr_WriteSelectorOfCentre ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
if (Gbl.Hierarchy.Ctr.CtrCod > 0) if (Gbl.Hierarchy.Ctr.CtrCod > 0)
@ -152,7 +152,7 @@ void Hie_WriteMenuHierarchy (void)
"<td class=\"LEFT_MIDDLE\">", "<td class=\"LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Degree); The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Degree);
Deg_WriteSelectorOfDegree (); Deg_WriteSelectorOfDegree ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
if (Gbl.Hierarchy.Deg.DegCod > 0) if (Gbl.Hierarchy.Deg.DegCod > 0)
@ -166,7 +166,7 @@ void Hie_WriteMenuHierarchy (void)
"<td class=\"LEFT_MIDDLE\">", "<td class=\"LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Course); The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Course);
Crs_WriteSelectorOfCourse (); Crs_WriteSelectorOfCourse ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
} }

View File

@ -568,7 +568,7 @@ static void Hld_ListHolidaysForEdition (void)
Hld_PutParamHldCod (Hld->HldCod); Hld_PutParamHldCod (Hld->HldCod);
Ico_PutIconRemove (); Ico_PutIconRemove ();
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Holiday code */ /* Holiday code */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
@ -597,7 +597,7 @@ static void Hld_ListHolidaysForEdition (void)
Gbl.Plcs.Lst[NumPlc].ShrtName); Gbl.Plcs.Lst[NumPlc].ShrtName);
fprintf (Gbl.F.Out,"</select>"); fprintf (Gbl.F.Out,"</select>");
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Holiday type */ /* Holiday type */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -616,7 +616,7 @@ static void Hld_ListHolidaysForEdition (void)
Txt_HOLIDAY_TYPES[HolidayType]); Txt_HOLIDAY_TYPES[HolidayType]);
fprintf (Gbl.F.Out,"</select>"); fprintf (Gbl.F.Out,"</select>");
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Holiday date / Non school period start date */ /* Holiday date / Non school period start date */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -628,7 +628,7 @@ static void Hld_ListHolidaysForEdition (void)
&(Gbl.Hlds.Lst[NumHld].StartDate), &(Gbl.Hlds.Lst[NumHld].StartDate),
true,false); true,false);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Non school period end date */ /* Non school period end date */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -640,7 +640,7 @@ static void Hld_ListHolidaysForEdition (void)
&(Gbl.Hlds.Lst[NumHld].EndDate), &(Gbl.Hlds.Lst[NumHld].EndDate),
true,(Hld->HldTyp == Hld_HOLIDAY)); true,(Hld->HldTyp == Hld_HOLIDAY));
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Holiday name */ /* Holiday name */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -651,7 +651,7 @@ static void Hld_ListHolidaysForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />", " onchange=\"document.getElementById('%s').submit();\" />",
Hld_MAX_CHARS_HOLIDAY_NAME,Hld->Name,Gbl.Form.Id); Hld_MAX_CHARS_HOLIDAY_NAME,Hld->Name,Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -1033,7 +1033,7 @@ static void Hld_PutFormToCreateHoliday (void)
"Start", "Start",
&Hld_EditingHld->StartDate, &Hld_EditingHld->StartDate,
false,false); false,false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Non school period end date *****/ /***** Non school period end date *****/
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -1042,7 +1042,7 @@ static void Hld_PutFormToCreateHoliday (void)
"End", "End",
&Hld_EditingHld->EndDate, &Hld_EditingHld->EndDate,
false,false); false,false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Holiday name *****/ /***** Holiday name *****/
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"

View File

@ -127,7 +127,7 @@ void Ind_ReqIndicatorsCourses (void)
"<td class=\"LEFT_MIDDLE\">", "<td class=\"LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Scope); The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Scope);
Sco_PutSelectorScope ("ScopeInd",true); Sco_PutSelectorScope ("ScopeInd",true);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/* Compute stats for a type of degree */ /* Compute stats for a type of degree */
@ -158,7 +158,7 @@ void Ind_ReqIndicatorsCourses (void)
-1L, // First option -1L, // First option
Txt_Any_department, // Text when no department selected Txt_Any_department, // Text when no department selected
true); // Submit on change true); // Submit on change
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Get courses from database *****/ /***** Get courses from database *****/
@ -181,7 +181,7 @@ void Ind_ReqIndicatorsCourses (void)
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_No_of_indicators); Txt_No_of_indicators);
Ind_ShowNumCoursesWithIndicators (NumCrssWithIndicatorYes,NumCrss,true); Ind_ShowNumCoursesWithIndicators (NumCrssWithIndicatorYes,NumCrss,true);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/* End table and form */ /* End table and form */

View File

@ -1157,7 +1157,7 @@ void Inf_FormsToSelSendInfo (void)
} }
fprintf (Gbl.F.Out," />"); fprintf (Gbl.F.Out," />");
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Form for this info source */ /* Form for this info source */
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP"); fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP");
@ -1172,7 +1172,7 @@ void Inf_FormsToSelSendInfo (void)
Txt_INFO_SRC_HELP[InfoSrc]); Txt_INFO_SRC_HELP[InfoSrc]);
if (Inf_FormsForEditionTypes[InfoSrc]) if (Inf_FormsForEditionTypes[InfoSrc])
Inf_FormsForEditionTypes[InfoSrc] (InfoSrc); Inf_FormsForEditionTypes[InfoSrc] (InfoSrc);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }

View File

@ -206,7 +206,7 @@ void Ins_SeeInsWithPendingCtrs (void)
BgColor); BgColor);
Ins_DrawInstitutionLogoAndNameWithLink (&Ins,ActSeeCtr, Ins_DrawInstitutionLogoAndNameWithLink (&Ins,ActSeeCtr,
"DAT_NOBR","CENTER_MIDDLE"); "DAT_NOBR","CENTER_MIDDLE");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Number of pending centres (row[1]) */ /* Number of pending centres (row[1]) */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE %s\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE %s\">"
@ -394,7 +394,7 @@ static void Ins_Configuration (bool PrintView)
else // I can not move institution to another country else // I can not move institution to another country
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]); fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Institution full name *****/ /***** Institution full name *****/
@ -423,7 +423,7 @@ static void Ins_Configuration (bool PrintView)
} }
else // I can not edit institution full name else // I can not edit institution full name
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Ins.FullName); fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Ins.FullName);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Institution short name *****/ /***** Institution short name *****/
@ -452,7 +452,7 @@ static void Ins_Configuration (bool PrintView)
} }
else // I can not edit institution short name else // I can not edit institution short name
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Ins.ShrtName); fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Ins.ShrtName);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Institution WWW *****/ /***** Institution WWW *****/
@ -487,7 +487,7 @@ static void Ins_Configuration (bool PrintView)
"</div>", "</div>",
Gbl.Hierarchy.Ins.WWW, Gbl.Hierarchy.Ins.WWW,
Gbl.Hierarchy.Ins.WWW); Gbl.Hierarchy.Ins.WWW);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Shortcut to the institution *****/ /***** Shortcut to the institution *****/
@ -521,7 +521,7 @@ static void Ins_Configuration (bool PrintView)
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_QR_code); Txt_QR_code);
QR_LinkTo (250,"ins",Gbl.Hierarchy.Ins.InsCod); QR_LinkTo (250,"ins",Gbl.Hierarchy.Ins.InsCod);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
else else
@ -559,7 +559,7 @@ static void Ins_Configuration (bool PrintView)
Ctr_GetNumCtrsInIns (Gbl.Hierarchy.Ins.InsCod)); Ctr_GetNumCtrsInIns (Gbl.Hierarchy.Ins.InsCod));
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Number of degrees *****/ /***** Number of degrees *****/
@ -801,7 +801,7 @@ static void Ins_ListOneInstitutionForSeeing (struct Instit *Ins,unsigned NumIns)
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE %s\">",BgColor); fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE %s\">",BgColor);
Ins_DrawInstitutionLogoAndNameWithLink (Ins,ActSeeCtr, Ins_DrawInstitutionLogoAndNameWithLink (Ins,ActSeeCtr,
TxtClassStrong,"CENTER_MIDDLE"); TxtClassStrong,"CENTER_MIDDLE");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Stats *****/ /***** Stats *****/
/* Number of users who claim to belong to this institution */ /* Number of users who claim to belong to this institution */
@ -846,7 +846,7 @@ static void Ins_ListOneInstitutionForSeeing (struct Instit *Ins,unsigned NumIns)
TxtClassNormal,BgColor); TxtClassNormal,BgColor);
if (StatusTxt != Ins_STATUS_ACTIVE) // If active ==> do not show anything if (StatusTxt != Ins_STATUS_ACTIVE) // If active ==> do not show anything
fprintf (Gbl.F.Out,"%s",Txt_INSTITUTION_STATUS[StatusTxt]); fprintf (Gbl.F.Out,"%s",Txt_INSTITUTION_STATUS[StatusTxt]);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
@ -1497,7 +1497,7 @@ static void Ins_ListInstitutionsForEdition (void)
Ico_PutIconRemove (); Ico_PutIconRemove ();
Frm_EndForm (); Frm_EndForm ();
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Institution code */ /* Institution code */
fprintf (Gbl.F.Out,"<td class=\"DAT CODE\">" fprintf (Gbl.F.Out,"<td class=\"DAT CODE\">"
@ -1510,7 +1510,7 @@ static void Ins_ListInstitutionsForEdition (void)
" style=\"width:25px;\">", " style=\"width:25px;\">",
Ins->FullName); Ins->FullName);
Log_DrawLogo (Hie_INS,Ins->InsCod,Ins->ShrtName,20,NULL,true); Log_DrawLogo (Hie_INS,Ins->InsCod,Ins->ShrtName,20,NULL,true);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Institution short name */ /* Institution short name */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
@ -1528,7 +1528,7 @@ static void Ins_ListInstitutionsForEdition (void)
} }
else else
fprintf (Gbl.F.Out,"%s",Ins->ShrtName); fprintf (Gbl.F.Out,"%s",Ins->ShrtName);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Institution full name */ /* Institution full name */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
@ -1547,7 +1547,7 @@ static void Ins_ListInstitutionsForEdition (void)
} }
else else
fprintf (Gbl.F.Out,"%s",Ins->FullName); fprintf (Gbl.F.Out,"%s",Ins->FullName);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Institution WWW */ /* Institution WWW */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
@ -1563,7 +1563,7 @@ static void Ins_ListInstitutionsForEdition (void)
Ins->WWW, Ins->WWW,
Gbl.Form.Id); Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
else else
{ {
@ -1577,7 +1577,7 @@ static void Ins_ListInstitutionsForEdition (void)
"</div>", "</div>",
Ins->WWW,Ins->WWW,WWW); Ins->WWW,Ins->WWW,WWW);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Number of users who claim to belong to this institution */ /* Number of users who claim to belong to this institution */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
@ -1602,7 +1602,7 @@ static void Ins_ListInstitutionsForEdition (void)
Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS); Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS);
fprintf (Gbl.F.Out,"<td class=\"DAT INPUT_REQUESTER LEFT_TOP\">"); fprintf (Gbl.F.Out,"<td class=\"DAT INPUT_REQUESTER LEFT_TOP\">");
Msg_WriteMsgAuthor (&UsrDat,true,NULL); Msg_WriteMsgAuthor (&UsrDat,true,NULL);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Institution status */ /* Institution status */
StatusTxt = Ins_GetStatusTxtFromStatusBits (Ins->Status); StatusTxt = Ins_GetStatusTxtFromStatusBits (Ins->Status);
@ -1626,7 +1626,7 @@ static void Ins_ListInstitutionsForEdition (void)
} }
else if (StatusTxt != Ins_STATUS_ACTIVE) // If active ==> do not show anything else if (StatusTxt != Ins_STATUS_ACTIVE) // If active ==> do not show anything
fprintf (Gbl.F.Out,"%s",Txt_INSTITUTION_STATUS[StatusTxt]); fprintf (Gbl.F.Out,"%s",Txt_INSTITUTION_STATUS[StatusTxt]);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -2249,7 +2249,7 @@ static void Ins_PutFormToCreateInstitution (void)
/***** Institution logo *****/ /***** Institution logo *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:25px;\">"); fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:25px;\">");
Log_DrawLogo (Hie_INS,-1L,"",20,NULL,true); Log_DrawLogo (Hie_INS,-1L,"",20,NULL,true);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Institution short name *****/ /***** Institution short name *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
@ -2296,7 +2296,7 @@ static void Ins_PutFormToCreateInstitution (void)
/***** Institution requester *****/ /***** Institution requester *****/
fprintf (Gbl.F.Out,"<td class=\"DAT INPUT_REQUESTER LEFT_TOP\">"); fprintf (Gbl.F.Out,"<td class=\"DAT INPUT_REQUESTER LEFT_TOP\">");
Msg_WriteMsgAuthor (&Gbl.Usrs.Me.UsrDat,true,NULL); Msg_WriteMsgAuthor (&Gbl.Usrs.Me.UsrDat,true,NULL);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Institution status *****/ /***** Institution status *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"

View File

@ -1629,7 +1629,7 @@ void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto,
if (!PrintView) if (!PrintView)
fprintf (Gbl.F.Out,"</a>"); fprintf (Gbl.F.Out,"</a>");
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Second column: class photo title *****/ /***** Second column: class photo title *****/
fprintf (Gbl.F.Out,"<td class=\"CLASSPHOTO_TITLE CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CLASSPHOTO_TITLE CENTER_MIDDLE\">");
@ -1665,7 +1665,7 @@ void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto,
Grp_WriteNamesOfSelectedGrps (); Grp_WriteNamesOfSelectedGrps ();
} }
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Third column: degree logo *****/ /***** Third column: degree logo *****/
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\" style=\"width:80px;\">"); fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\" style=\"width:80px;\">");
@ -1679,7 +1679,7 @@ void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto,
if (!PrintView) if (!PrintView)
fprintf (Gbl.F.Out,"</a>"); fprintf (Gbl.F.Out,"</a>");
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** End table *****/ /***** End table *****/
Tbl_EndRow (); Tbl_EndRow ();

View File

@ -429,7 +429,7 @@ static void Lnk_ListLinksForEdition (void)
Lnk_PutParamLnkCod (Lnk->LnkCod); Lnk_PutParamLnkCod (Lnk->LnkCod);
Ico_PutIconRemove (); Ico_PutIconRemove ();
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Link code */ /* Link code */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
@ -448,7 +448,7 @@ static void Lnk_ListLinksForEdition (void)
Lnk_MAX_CHARS_LINK_SHRT_NAME,Lnk->ShrtName, Lnk_MAX_CHARS_LINK_SHRT_NAME,Lnk->ShrtName,
Gbl.Form.Id); Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Link full name */ /* Link full name */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -461,7 +461,7 @@ static void Lnk_ListLinksForEdition (void)
Lnk_MAX_CHARS_LINK_FULL_NAME,Lnk->FullName, Lnk_MAX_CHARS_LINK_FULL_NAME,Lnk->FullName,
Gbl.Form.Id); Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Link WWW */ /* Link WWW */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -474,7 +474,7 @@ static void Lnk_ListLinksForEdition (void)
Cns_MAX_CHARS_WWW,Lnk->WWW, Cns_MAX_CHARS_WWW,Lnk->WWW,
Gbl.Form.Id); Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }

View File

@ -491,7 +491,7 @@ static void Mai_ListMailDomainsForEdition (void)
Mai_PutParamMaiCod (Mai->MaiCod); Mai_PutParamMaiCod (Mai->MaiCod);
Ico_PutIconRemove (); Ico_PutIconRemove ();
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Mail code */ /* Mail code */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
@ -509,7 +509,7 @@ static void Mai_ListMailDomainsForEdition (void)
Cns_MAX_CHARS_EMAIL_ADDRESS,Mai->Domain, Cns_MAX_CHARS_EMAIL_ADDRESS,Mai->Domain,
Gbl.Form.Id); Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Mail domain info */ /* Mail domain info */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -521,7 +521,7 @@ static void Mai_ListMailDomainsForEdition (void)
Mai_MAX_CHARS_MAIL_INFO,Mai->Info, Mai_MAX_CHARS_MAIL_INFO,Mai->Info,
Gbl.Form.Id); Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Number of users */ /* Number of users */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
@ -1373,10 +1373,10 @@ static void Mai_ShowFormChangeUsrEmail (const struct UsrData *UsrDat,bool ItsMe,
Btn_PutConfirmButtonInline ((ItsMe && NumEmail == 1) ? Txt_Confirm_email : Btn_PutConfirmButtonInline ((ItsMe && NumEmail == 1) ? Txt_Confirm_email :
Txt_Use_this_email); Txt_Use_this_email);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -1417,7 +1417,7 @@ static void Mai_ShowFormChangeUsrEmail (const struct UsrData *UsrDat,bool ItsMe,
Btn_PutCreateButtonInline (NumEmails ? Txt_Change_email : // User already has an email address Btn_PutCreateButtonInline (NumEmails ? Txt_Change_email : // User already has an email address
Txt_Save_changes); // User has no email address yet Txt_Save_changes); // User has no email address yet
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** End table *****/ /***** End table *****/

View File

@ -138,7 +138,7 @@ void Mrk_GetAndWriteNumRowsHeaderAndFooter (void)
Gbl.RowEvenOdd, Gbl.RowEvenOdd,
Gbl.Form.Id); Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write the number of rows of footer *****/ /***** Write the number of rows of footer *****/
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP COLOR%u\">",
@ -158,7 +158,7 @@ void Mrk_GetAndWriteNumRowsHeaderAndFooter (void)
Gbl.RowEvenOdd, Gbl.RowEvenOdd,
Gbl.Form.Id); Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
} }

View File

@ -526,7 +526,7 @@ static void Mch_ListOneOrMoreMatchesIcons (const struct Match *Match)
else else
Ico_PutIconRemovalNotAllowed (); Ico_PutIconRemovalNotAllowed ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -538,7 +538,7 @@ static void Mch_ListOneOrMoreMatchesAuthor (const struct Match *Match)
/***** Match author (teacher) *****/ /***** Match author (teacher) *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">",Gbl.RowEvenOdd); fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">",Gbl.RowEvenOdd);
Usr_WriteAuthor1Line (Match->UsrCod,false); Usr_WriteAuthor1Line (Match->UsrCod,false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -586,7 +586,7 @@ static void Mch_ListOneOrMoreMatchesTitleGrps (const struct Match *Match)
if (Gbl.Crs.Grps.NumGrps) if (Gbl.Crs.Grps.NumGrps)
Mch_GetAndWriteNamesOfGrpsAssociatedToMatch (Match); Mch_GetAndWriteNamesOfGrpsAssociatedToMatch (Match);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -716,7 +716,7 @@ static void Mch_ListOneOrMoreMatchesStatus (const struct Match *Match,unsigned N
break; break;
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -780,7 +780,7 @@ static void Mch_ListOneOrMoreMatchesResult (const struct Match *Match,
break; break;
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -1284,7 +1284,7 @@ static void Mch_ShowLstGrpsToCreateMatch (void)
/***** End table and box *****/ /***** End table and box *****/
Box_EndBoxTable (); Box_EndBoxTable ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -2516,7 +2516,7 @@ static void Mch_ShowQuestionAndAnswersStd (struct Match *Match)
Frm_EndForm (); Frm_EndForm ();
/* End table cell */ /* End table cell */
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** End row *****/ /***** End row *****/
Tbl_EndRow (); Tbl_EndRow ();

View File

@ -217,7 +217,7 @@ void McR_SelUsrsToViewUsrsMchResults (void)
Usr_ListUsersToSelect (Rol_NET); Usr_ListUsersToSelect (Rol_NET);
Usr_ListUsersToSelect (Rol_STD); Usr_ListUsersToSelect (Rol_STD);
Tbl_EndTable (); Tbl_EndTable ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Starting and ending dates in the search *****/ /***** Starting and ending dates in the search *****/
@ -504,7 +504,7 @@ static void McR_ShowMchResults (Usr_MeOrOther_t MeOrOther)
if (ShowResultThisMatch) if (ShowResultThisMatch)
fprintf (Gbl.F.Out,"%.2lf", fprintf (Gbl.F.Out,"%.2lf",
ScoreInThisResult); ScoreInThisResult);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write average score per question */ /* Write average score per question */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP COLOR%u\">",
@ -513,7 +513,7 @@ static void McR_ShowMchResults (Usr_MeOrOther_t MeOrOther)
fprintf (Gbl.F.Out,"%.2lf", fprintf (Gbl.F.Out,"%.2lf",
NumQstsInThisResult ? ScoreInThisResult / (double) NumQstsInThisResult : NumQstsInThisResult ? ScoreInThisResult / (double) NumQstsInThisResult :
0.0); 0.0);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write score over Tst_SCORE_MAX */ /* Write score over Tst_SCORE_MAX */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP COLOR%u\">",
@ -522,7 +522,7 @@ static void McR_ShowMchResults (Usr_MeOrOther_t MeOrOther)
fprintf (Gbl.F.Out,"%.2lf", fprintf (Gbl.F.Out,"%.2lf",
NumQstsInThisResult ? ScoreInThisResult * Tst_SCORE_MAX / (double) NumQstsInThisResult : NumQstsInThisResult ? ScoreInThisResult * Tst_SCORE_MAX / (double) NumQstsInThisResult :
0.0); 0.0);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Link to show this result */ /* Link to show this result */
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP COLOR%u\">",
@ -548,7 +548,7 @@ static void McR_ShowMchResults (Usr_MeOrOther_t MeOrOther)
} }
else else
Ico_PutIconOff ("eye-slash.svg",Txt_Hidden_result); Ico_PutIconOff ("eye-slash.svg",Txt_Hidden_result);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -599,21 +599,21 @@ static void McR_ShowMchResultsSummaryRow (bool ShowSummaryResults,
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
if (NumResults) if (NumResults)
fprintf (Gbl.F.Out,"%u",NumTotalQsts); fprintf (Gbl.F.Out,"%u",NumTotalQsts);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write total number of questions not blank *****/ /***** Write total number of questions not blank *****/
fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE COLOR%u\">",
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
if (NumResults) if (NumResults)
fprintf (Gbl.F.Out,"%u",NumTotalQstsNotBlank); fprintf (Gbl.F.Out,"%u",NumTotalQstsNotBlank);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write total score *****/ /***** Write total score *****/
fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE COLOR%u\">",
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
if (ShowSummaryResults) if (ShowSummaryResults)
fprintf (Gbl.F.Out,"%.2lf",TotalScoreOfAllResults); fprintf (Gbl.F.Out,"%.2lf",TotalScoreOfAllResults);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write average score per question *****/ /***** Write average score per question *****/
fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE COLOR%u\">",
@ -622,7 +622,7 @@ static void McR_ShowMchResultsSummaryRow (bool ShowSummaryResults,
fprintf (Gbl.F.Out,"%.2lf", fprintf (Gbl.F.Out,"%.2lf",
NumTotalQsts ? TotalScoreOfAllResults / (double) NumTotalQsts : NumTotalQsts ? TotalScoreOfAllResults / (double) NumTotalQsts :
0.0); 0.0);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write score over Tst_SCORE_MAX *****/ /***** Write score over Tst_SCORE_MAX *****/
fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE COLOR%u\">",
@ -632,7 +632,7 @@ static void McR_ShowMchResultsSummaryRow (bool ShowSummaryResults,
NumTotalQsts ? TotalScoreOfAllResults * Tst_SCORE_MAX / NumTotalQsts ? TotalScoreOfAllResults * Tst_SCORE_MAX /
(double) NumTotalQsts : (double) NumTotalQsts :
0.0); 0.0);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Last cell *****/ /***** Last cell *****/
fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP COLOR%u\"></td>", fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP COLOR%u\"></td>",
@ -803,7 +803,7 @@ void McR_ShowOneMchResult (void)
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL : Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
NULL, NULL,
"PHOTO45x60",Pho_ZOOM,false); "PHOTO45x60",Pho_ZOOM,false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/* Start/end time (for user in this match) */ /* Start/end time (for user in this match) */
@ -867,7 +867,7 @@ void McR_ShowOneMchResult (void)
"<td class=\"DAT LEFT_TOP\">", "<td class=\"DAT LEFT_TOP\">",
Txt_Tags); Txt_Tags);
Gam_ShowTstTagsPresentInAGame (Match.GamCod); Gam_ShowTstTagsPresentInAGame (Match.GamCod);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Write answers and solutions *****/ /***** Write answers and solutions *****/

View File

@ -313,7 +313,7 @@ static void Msg_PutFormMsgUsrs (char Content[Cns_MAX_BYTES_LONG_TEXT + 1])
Tbl_EndTable (); Tbl_EndTable ();
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Subject and content sections *****/ /***** Subject and content sections *****/
@ -2972,7 +2972,7 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
Gbl.Msg.MsgCod = MsgCod; // Message to be deleted Gbl.Msg.MsgCod = MsgCod; // Message to be deleted
Ico_PutContextualIconToRemove (ActionDelMsg[Gbl.Msg.TypeOfMessages], Ico_PutContextualIconToRemove (ActionDelMsg[Gbl.Msg.TypeOfMessages],
Msg_PutHiddenParamsOneMsg); Msg_PutHiddenParamsOneMsg);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write message number *****/ /***** Write message number *****/
Msg_WriteMsgNumber (MsgNum,!Open); Msg_WriteMsgNumber (MsgNum,!Open);
@ -2984,7 +2984,7 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
Open ? "MSG_AUT_BG" : Open ? "MSG_AUT_BG" :
"MSG_AUT_BG_NEW"); "MSG_AUT_BG_NEW");
Msg_WriteMsgAuthor (&UsrDat,true,NULL); Msg_WriteMsgAuthor (&UsrDat,true,NULL);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write subject *****/ /***** Write subject *****/
Msg_WriteSentOrReceivedMsgSubject (MsgCod,Subject,Open,Expanded); Msg_WriteSentOrReceivedMsgSubject (MsgCod,Subject,Open,Expanded);
@ -3005,7 +3005,7 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
FromThisCrs = Msg_WriteCrsOrgMsg (CrsCod); FromThisCrs = Msg_WriteCrsOrgMsg (CrsCod);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Form to reply message *****/ /***** Form to reply message *****/
@ -3015,11 +3015,11 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
Gbl.Usrs.Me.Role.Logged >= Rol_USR) Gbl.Usrs.Me.Role.Logged >= Rol_USR)
// Guests (users without courses) can read messages but not reply them // Guests (users without courses) can read messages but not reply them
Msg_WriteFormToReply (MsgCod,CrsCod,FromThisCrs,Replied,&UsrDat); Msg_WriteFormToReply (MsgCod,CrsCod,FromThisCrs,Replied,&UsrDat);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Tbl_EndTable (); Tbl_EndTable ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write "From:" *****/ /***** Write "From:" *****/
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP MSG_TIT\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP MSG_TIT\">"
@ -3028,7 +3028,7 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
"<td colspan=\"2\" class=\"LEFT_TOP\">", "<td colspan=\"2\" class=\"LEFT_TOP\">",
Txt_MSG_From); Txt_MSG_From);
Msg_WriteMsgFrom (&UsrDat,Deleted); Msg_WriteMsgFrom (&UsrDat,Deleted);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Write "To:" *****/ /***** Write "To:" *****/
@ -3039,7 +3039,7 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
"<td colspan=\"2\" class=\"LEFT_TOP\">", "<td colspan=\"2\" class=\"LEFT_TOP\">",
Txt_MSG_To); Txt_MSG_To);
Msg_WriteMsgTo (MsgCod); Msg_WriteMsgTo (MsgCod);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Write "Content:" *****/ /***** Write "Content:" *****/
@ -3060,7 +3060,7 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
if (Content[0]) if (Content[0])
Msg_WriteMsgContent (Content,Cns_MAX_BYTES_LONG_TEXT,true,false); Msg_WriteMsgContent (Content,Cns_MAX_BYTES_LONG_TEXT,true,false);
Med_ShowMedia (&Media,"MSG_IMG_CONTAINER","MSG_IMG"); Med_ShowMedia (&Media,"MSG_IMG_CONTAINER","MSG_IMG");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Free image *****/ /***** Free image *****/
@ -3175,7 +3175,7 @@ static void Msg_WriteSentOrReceivedMsgSubject (long MsgCod,const char *Subject,b
Frm_EndForm (); Frm_EndForm ();
/***** End cell *****/ /***** End cell *****/
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -3212,7 +3212,7 @@ void Msg_WriteMsgAuthor (struct UsrData *UsrDat,bool Enabled,const char *BgColor
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL : Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
NULL, NULL,
"PHOTO30x40",Pho_ZOOM,false); "PHOTO30x40",Pho_ZOOM,false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Second column with user name (if author has a web page, put a link to it) *****/ /***** Second column with user name (if author has a web page, put a link to it) *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP"); fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP");
@ -3238,7 +3238,7 @@ void Msg_WriteMsgAuthor (struct UsrData *UsrDat,bool Enabled,const char *BgColor
} }
/***** End second column *****/ /***** End second column *****/
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** End table *****/ /***** End table *****/
@ -3391,7 +3391,7 @@ static void Msg_WriteMsgFrom (struct UsrData *UsrDat,bool Deleted)
else else
fprintf (Gbl.F.Out,"[%s]", fprintf (Gbl.F.Out,"[%s]",
Txt_ROLES_SINGUL_abc[Rol_UNK][Usr_SEX_UNKNOWN]); // User not found, likely an old user who has been removed Txt_ROLES_SINGUL_abc[Rol_UNK][Usr_SEX_UNKNOWN]); // User not found, likely an old user who has been removed
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Tbl_EndTable (); Tbl_EndTable ();
} }
@ -3541,7 +3541,7 @@ static void Msg_WriteMsgTo (long MsgCod)
fprintf (Gbl.F.Out,"%s",UsrDat.FullName); fprintf (Gbl.F.Out,"%s",UsrDat.FullName);
else else
fprintf (Gbl.F.Out,"[%s]",Txt_unknown_recipient); // User not found, likely a user who has been removed fprintf (Gbl.F.Out,"[%s]",Txt_unknown_recipient); // User not found, likely a user who has been removed
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -3575,7 +3575,7 @@ static void Msg_WriteMsgTo (long MsgCod)
NumRecipientsKnown - NumRecipientsToShow); NumRecipientsKnown - NumRecipientsToShow);
fprintf (Gbl.F.Out,"</a>"); fprintf (Gbl.F.Out,"</a>");
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -3616,7 +3616,7 @@ void Msg_WriteMsgDate (time_t TimeUTC,const char *ClassBackground)
(unsigned) Gbl.Prefs.DateFormat,Txt_Today); (unsigned) Gbl.Prefs.DateFormat,Txt_Today);
/***** End cell *****/ /***** End cell *****/
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -3857,7 +3857,7 @@ void Msg_ListBannedUsrs (void)
Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod);
Ico_PutIconLink ("lock.svg",Txt_Sender_banned_click_to_unban_him); Ico_PutIconLink ("lock.svg",Txt_Sender_banned_click_to_unban_him);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Show photo */ /* Show photo */
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\"" fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\""
@ -3866,7 +3866,7 @@ void Msg_ListBannedUsrs (void)
Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL : Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL :
NULL, NULL,
"PHOTO21x28",Pho_ZOOM,false); "PHOTO21x28",Pho_ZOOM,false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write user's full name */ /* Write user's full name */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"

View File

@ -362,7 +362,7 @@ static void Nck_ShowFormChangeUsrNickname (const struct UsrData *UsrDat,bool Its
Frm_EndForm (); Frm_EndForm ();
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -405,7 +405,7 @@ static void Nck_ShowFormChangeUsrNickname (const struct UsrData *UsrDat,bool Its
Btn_PutCreateButtonInline (NumNicks ? Txt_Change_nickname : // I already have a nickname Btn_PutCreateButtonInline (NumNicks ? Txt_Change_nickname : // I already have a nickname
Txt_Save_changes); // I have no nickname yet); Txt_Save_changes); // I have no nickname yet);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** End table and box *****/ /***** End table and box *****/

View File

@ -507,7 +507,7 @@ void Ntf_ShowMyNotifications (void)
else else
Ico_PutIconOff (Ntf_Icons[NotifyEvent], Ico_PutIconOff (Ntf_Icons[NotifyEvent],
Txt_NOTIFY_EVENTS_SINGULAR[NotifyEvent]); Txt_NOTIFY_EVENTS_SINGULAR[NotifyEvent]);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write event type */ /* Write event type */
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">", fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">",
@ -525,12 +525,12 @@ void Ntf_ShowMyNotifications (void)
else else
fprintf (Gbl.F.Out,"<span class=\"%s\">%s</span>", fprintf (Gbl.F.Out,"<span class=\"%s\">%s</span>",
ClassAnchor,Txt_NOTIFY_EVENTS_SINGULAR[NotifyEvent]); ClassAnchor,Txt_NOTIFY_EVENTS_SINGULAR[NotifyEvent]);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write user (from) */ /* Write user (from) */
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">",ClassAuthorBg); fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">",ClassAuthorBg);
Msg_WriteMsgAuthor (&UsrDat,true,NULL); Msg_WriteMsgAuthor (&UsrDat,true,NULL);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write location */ /* Write location */
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">", fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">",
@ -583,7 +583,7 @@ void Ntf_ShowMyNotifications (void)
else else
fprintf (Gbl.F.Out,"</span>"); fprintf (Gbl.F.Out,"</span>");
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write date and time */ /* Write date and time */
Msg_WriteMsgDate (DateTimeUTC,ClassBackground); Msg_WriteMsgDate (DateTimeUTC,ClassBackground);

View File

@ -706,7 +706,7 @@ void Pwd_ShowFormChgMyPwd (void)
fprintf (Gbl.F.Out,"<td colspan=\"2\">"); 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_, Ale_ShowAlert (Ale_INFO,Txt_Your_password_must_be_at_least_X_characters_and_can_not_contain_spaces_,
Pwd_MIN_CHARS_PLAIN_PASSWORD); Pwd_MIN_CHARS_PLAIN_PASSWORD);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** New password *****/ /***** New password *****/

View File

@ -1810,7 +1810,7 @@ static void Pho_PutSelectorForTypeOfAvg (void)
} }
fprintf (Gbl.F.Out,"</select>"); fprintf (Gbl.F.Out,"</select>");
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -1871,7 +1871,7 @@ static void Pho_PutSelectorForHowComputePhotoSize (void)
} }
fprintf (Gbl.F.Out,"</select>"); fprintf (Gbl.F.Out,"</select>");
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -1932,7 +1932,7 @@ static void Pho_PutSelectorForHowOrderDegrees (void)
} }
fprintf (Gbl.F.Out,"</select>"); fprintf (Gbl.F.Out,"</select>");
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -2152,7 +2152,7 @@ static void Pho_ShowOrPrintClassPhotoDegrees (Pho_AvgPhotoSeeOrPrint_t SeeOrPrin
/***** Show average photo of students belonging to this degree *****/ /***** Show average photo of students belonging to this degree *****/
fprintf (Gbl.F.Out,"<td class=\"CLASSPHOTO CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CLASSPHOTO CENTER_MIDDLE\">");
Pho_ShowDegreeAvgPhotoAndStat (&Deg,SeeOrPrint,Usr_SEX_ALL,NumStds,NumStdsWithPhoto); Pho_ShowDegreeAvgPhotoAndStat (&Deg,SeeOrPrint,Usr_SEX_ALL,NumStds,NumStdsWithPhoto);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
if ((++NumDegsNotEmpty % Gbl.Usrs.ClassPhoto.Cols) == 0) if ((++NumDegsNotEmpty % Gbl.Usrs.ClassPhoto.Cols) == 0)
{ {
@ -2256,7 +2256,7 @@ static void Pho_ShowOrPrintListDegrees (Pho_AvgPhotoSeeOrPrint_t SeeOrPrint)
Log_DrawLogo (Hie_DEG,Deg.DegCod,Deg.ShrtName,20,"CENTER_TOP",true); Log_DrawLogo (Hie_DEG,Deg.DegCod,Deg.ShrtName,20,"CENTER_TOP",true);
fprintf (Gbl.F.Out,"&nbsp;%s</a>",Deg.FullName); fprintf (Gbl.F.Out,"&nbsp;%s</a>",Deg.FullName);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
for (Sex = (Usr_Sex_t) 0; for (Sex = (Usr_Sex_t) 0;
Sex < Usr_NUM_SEXS; Sex < Usr_NUM_SEXS;
@ -2270,7 +2270,7 @@ static void Pho_ShowOrPrintListDegrees (Pho_AvgPhotoSeeOrPrint_t SeeOrPrint)
Pho_ShowDegreeAvgPhotoAndStat (&Deg,SeeOrPrint,Sex,NumStds,NumStdsWithPhoto); Pho_ShowDegreeAvgPhotoAndStat (&Deg,SeeOrPrint,Sex,NumStds,NumStdsWithPhoto);
else else
Pho_ShowDegreeStat (NumStds,NumStdsWithPhoto); Pho_ShowDegreeStat (NumStds,NumStdsWithPhoto);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
Tbl_EndRow (); Tbl_EndRow ();
} }

View File

@ -534,7 +534,7 @@ static void Plc_ListPlacesForEdition (void)
Ico_PutIconRemove (); Ico_PutIconRemove ();
Frm_EndForm (); Frm_EndForm ();
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Place code */ /* Place code */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
@ -552,7 +552,7 @@ static void Plc_ListPlacesForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />", " onchange=\"document.getElementById('%s').submit();\" />",
Plc_MAX_CHARS_PLACE_SHRT_NAME,Plc->ShrtName,Gbl.Form.Id); Plc_MAX_CHARS_PLACE_SHRT_NAME,Plc->ShrtName,Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Place full name */ /* Place full name */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -564,7 +564,7 @@ static void Plc_ListPlacesForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />", " onchange=\"document.getElementById('%s').submit();\" />",
Plc_MAX_CHARS_PLACE_FULL_NAME,Plc->FullName,Gbl.Form.Id); Plc_MAX_CHARS_PLACE_FULL_NAME,Plc->FullName,Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Number of centres */ /* Number of centres */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"

View File

@ -399,7 +399,7 @@ static void Plg_ListPluginsForEdition (void)
Plg_PutParamPlgCod (Plg->PlgCod); Plg_PutParamPlgCod (Plg->PlgCod);
Ico_PutIconRemove (); Ico_PutIconRemove ();
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Plugin code */ /* Plugin code */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
@ -428,7 +428,7 @@ static void Plg_ListPluginsForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />", " onchange=\"document.getElementById('%s').submit();\" />",
Plg_MAX_CHARS_PLUGIN_NAME,Plg->Name,Gbl.Form.Id); Plg_MAX_CHARS_PLUGIN_NAME,Plg->Name,Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Plugin description */ /* Plugin description */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -439,7 +439,7 @@ static void Plg_ListPluginsForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />", " onchange=\"document.getElementById('%s').submit();\" />",
Plg_MAX_CHARS_PLUGIN_DESCRIPTION,Plg->Description,Gbl.Form.Id); Plg_MAX_CHARS_PLUGIN_DESCRIPTION,Plg->Description,Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Plugin logo */ /* Plugin logo */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -450,7 +450,7 @@ static void Plg_ListPluginsForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />", " onchange=\"document.getElementById('%s').submit();\" />",
Plg_MAX_CHARS_PLUGIN_LOGO,Plg->Logo,Gbl.Form.Id); Plg_MAX_CHARS_PLUGIN_LOGO,Plg->Logo,Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Plugin application key */ /* Plugin application key */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -461,7 +461,7 @@ static void Plg_ListPluginsForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />", " onchange=\"document.getElementById('%s').submit();\" />",
Plg_MAX_CHARS_PLUGIN_APP_KEY,Plg->AppKey,Gbl.Form.Id); Plg_MAX_CHARS_PLUGIN_APP_KEY,Plg->AppKey,Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Plugin URL */ /* Plugin URL */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -472,7 +472,7 @@ static void Plg_ListPluginsForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />", " onchange=\"document.getElementById('%s').submit();\" />",
Cns_MAX_CHARS_WWW,Plg->URL,Gbl.Form.Id); Cns_MAX_CHARS_WWW,Plg->URL,Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Plugin IP */ /* Plugin IP */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -484,7 +484,7 @@ static void Plg_ListPluginsForEdition (void)
Cns_MAX_CHARS_IP,Plg->IP, Cns_MAX_CHARS_IP,Plg->IP,
Gbl.Form.Id); Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }

View File

@ -196,7 +196,7 @@ static void Pri_PutFormVisibility (const char *TxtLabel,
fprintf (Gbl.F.Out,"</ul>"); fprintf (Gbl.F.Out,"</ul>");
if (Action != ActUnk) if (Action != ActUnk)
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }

View File

@ -1735,7 +1735,7 @@ void Prf_GetAndShowRankingClicksPerDay (void)
" style=\"height:50px;\">", " style=\"height:50px;\">",
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
Str_WriteFloatNum (Gbl.F.Out,NumClicksPerDay); Str_WriteFloatNum (Gbl.F.Out,NumClicksPerDay);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -1797,5 +1797,5 @@ static void Prf_ShowUsrInRanking (struct UsrData *UsrDat,unsigned Rank)
Frm_EndForm (); Frm_EndForm ();
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }

View File

@ -993,7 +993,7 @@ static void Prj_ShowOneProject (unsigned NumIndex,struct Project *Prj,
"DATE_BLUE", "DATE_BLUE",
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"%u",NumIndex); fprintf (Gbl.F.Out,"%u",NumIndex);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
break; break;
default: default:
break; break;
@ -1009,7 +1009,7 @@ static void Prj_ShowOneProject (unsigned NumIndex,struct Project *Prj,
fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd); fprintf (Gbl.F.Out," COLOR%u",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"\">"); fprintf (Gbl.F.Out,"\">");
Prj_PutFormsToRemEditOnePrj (Prj,Anchor,ICanViewProjectFiles); Prj_PutFormsToRemEditOnePrj (Prj,Anchor,ICanViewProjectFiles);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
break; break;
default: default:
break; break;
@ -1071,7 +1071,7 @@ static void Prj_ShowOneProject (unsigned NumIndex,struct Project *Prj,
else else
fprintf (Gbl.F.Out,"%s",Prj->Title); fprintf (Gbl.F.Out,"%s",Prj->Title);
Lay_EndArticle (); Lay_EndArticle ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Department */ /* Department */
Prj_ShowOneProjectDepartment (Prj,ProjectView); Prj_ShowOneProjectDepartment (Prj,ProjectView);
@ -1112,7 +1112,7 @@ static void Prj_ShowOneProject (unsigned NumIndex,struct Project *Prj,
Txt_No); Txt_No);
Ico_PutIconOff (PreassignedNonpreassigImage[Prj->Preassigned], Ico_PutIconOff (PreassignedNonpreassigImage[Prj->Preassigned],
Txt_PROJECT_PREASSIGNED_NONPREASSIGNED_SINGUL[Prj->Preassigned]); Txt_PROJECT_PREASSIGNED_NONPREASSIGNED_SINGUL[Prj->Preassigned]);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Number of students *****/ /***** Number of students *****/
@ -1162,27 +1162,27 @@ static void Prj_ShowOneProject (unsigned NumIndex,struct Project *Prj,
fprintf (Gbl.F.Out,"<td colspan=\"6\" class=\"CENTER_MIDDLE COLOR%u\">", fprintf (Gbl.F.Out,"<td colspan=\"6\" class=\"CENTER_MIDDLE COLOR%u\">",
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
Prj_PutIconToToggleProject (UniqueId,"angle-down.svg",Txt_See_more); Prj_PutIconToToggleProject (UniqueId,"angle-down.svg",Txt_See_more);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Tbl_StartRowAttr ("id=\"prj_con_%u\" style=\"display:none;\"",UniqueId); Tbl_StartRowAttr ("id=\"prj_con_%u\" style=\"display:none;\"",UniqueId);
fprintf (Gbl.F.Out,"<td colspan=\"6\" class=\"CENTER_MIDDLE COLOR%u\">", fprintf (Gbl.F.Out,"<td colspan=\"6\" class=\"CENTER_MIDDLE COLOR%u\">",
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
Prj_PutIconToToggleProject (UniqueId,"angle-up.svg",Txt_See_less); Prj_PutIconToToggleProject (UniqueId,"angle-up.svg",Txt_See_less);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
break; break;
case Prj_FILE_BROWSER_PROJECT: case Prj_FILE_BROWSER_PROJECT:
Tbl_StartRowAttr ("id=\"prj_exp_%u\"",UniqueId); Tbl_StartRowAttr ("id=\"prj_exp_%u\"",UniqueId);
fprintf (Gbl.F.Out,"<td colspan=\"5\" class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td colspan=\"5\" class=\"CENTER_MIDDLE\">");
Prj_PutIconToToggleProject (UniqueId,"angle-down.svg",Txt_See_more); Prj_PutIconToToggleProject (UniqueId,"angle-down.svg",Txt_See_more);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Tbl_StartRowAttr ("id=\"prj_con_%u\" style=\"display:none;\"",UniqueId); Tbl_StartRowAttr ("id=\"prj_con_%u\" style=\"display:none;\"",UniqueId);
fprintf (Gbl.F.Out,"<td colspan=\"5\" class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td colspan=\"5\" class=\"CENTER_MIDDLE\">");
Prj_PutIconToToggleProject (UniqueId,"angle-up.svg",Txt_See_less); Prj_PutIconToToggleProject (UniqueId,"angle-up.svg",Txt_See_less);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
break; break;
default: default:
@ -1411,7 +1411,7 @@ static void Prj_ShowOneProjectDepartment (const struct Project *Prj,
fprintf (Gbl.F.Out,"%s",Dpt.FullName); fprintf (Gbl.F.Out,"%s",Dpt.FullName);
if (PutLink) if (PutLink)
fprintf (Gbl.F.Out,"</a>"); fprintf (Gbl.F.Out,"</a>");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -1560,7 +1560,7 @@ static void Prj_ShowOneProjectURL (const struct Project *Prj,
fprintf (Gbl.F.Out,"%s",Prj->URL); fprintf (Gbl.F.Out,"%s",Prj->URL);
if (PutLink) if (PutLink)
fprintf (Gbl.F.Out,"</a>"); fprintf (Gbl.F.Out,"</a>");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -1720,7 +1720,7 @@ static void Prj_ShowOneProjectMembersWithARole (const struct Project *Prj,
Prj_PutCurrentParams, Prj_PutCurrentParams,
"trash.svg", "trash.svg",
Txt_Remove); Txt_Remove);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/* Put user's photo */ /* Put user's photo */
@ -1729,7 +1729,7 @@ static void Prj_ShowOneProjectMembersWithARole (const struct Project *Prj,
Pho_ShowUsrPhoto (&Gbl.Usrs.Other.UsrDat,ShowPhoto ? PhotoURL : Pho_ShowUsrPhoto (&Gbl.Usrs.Other.UsrDat,ShowPhoto ? PhotoURL :
NULL, NULL,
"PHOTO21x28",Pho_ZOOM,false); "PHOTO21x28",Pho_ZOOM,false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write user's name */ /* Write user's name */
fprintf (Gbl.F.Out,"<td class=\"PRJ_MEMBER_NAM\">%s</td>", fprintf (Gbl.F.Out,"<td class=\"PRJ_MEMBER_NAM\">%s</td>",
@ -1766,7 +1766,7 @@ static void Prj_ShowOneProjectMembersWithARole (const struct Project *Prj,
Tbl_EndTable (); Tbl_EndTable ();
/***** End row with label and listing of users *****/ /***** End row with label and listing of users *****/
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -1822,7 +1822,7 @@ static void Prj_ShowTableAllProjectsMembersWithARole (const struct Project *Prj,
DB_FreeMySQLResult (&mysql_res); DB_FreeMySQLResult (&mysql_res);
/***** End column with list of all members with this role *****/ /***** End column with list of all members with this role *****/
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -3354,7 +3354,7 @@ static void Prj_PutFormProject (struct Project *Prj,bool ItsANewProject)
0, // First option 0, // First option
Txt_Another_department, // Text when no department selected Txt_Another_department, // Text when no department selected
false); // Don't submit on change false); // Don't submit on change
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/* Preassigned? */ /* Preassigned? */

View File

@ -303,7 +303,7 @@ void Rec_ListFieldsRecordsForEdition (void)
Par_PutHiddenParamLong ("FieldCod",Gbl.Crs.Records.LstFields.Lst[NumField].FieldCod); Par_PutHiddenParamLong ("FieldCod",Gbl.Crs.Records.LstFields.Lst[NumField].FieldCod);
Ico_PutIconRemove (); Ico_PutIconRemove ();
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Name of the field */ /* Name of the field */
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
@ -316,7 +316,7 @@ void Rec_ListFieldsRecordsForEdition (void)
Gbl.Crs.Records.LstFields.Lst[NumField].Name, Gbl.Crs.Records.LstFields.Lst[NumField].Name,
Gbl.Form.Id); Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Number of lines in the form */ /* Number of lines in the form */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -328,7 +328,7 @@ void Rec_ListFieldsRecordsForEdition (void)
Gbl.Crs.Records.LstFields.Lst[NumField].NumLines, Gbl.Crs.Records.LstFields.Lst[NumField].NumLines,
Gbl.Form.Id); Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Visibility of a field */ /* Visibility of a field */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -349,7 +349,7 @@ void Rec_ListFieldsRecordsForEdition (void)
} }
fprintf (Gbl.F.Out,"</select>"); fprintf (Gbl.F.Out,"</select>");
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
} }
@ -380,7 +380,7 @@ void Rec_ShowFormCreateRecordField (void)
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\">"); fprintf (Gbl.F.Out,"<td class=\"BM\">");
Ico_PutIconRemovalNotAllowed (); Ico_PutIconRemovalNotAllowed ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Field name *****/ /***** Field name *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
@ -1763,7 +1763,7 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
UsrDat->FullName); UsrDat->FullName);
Tbl_EndRow (); Tbl_EndRow ();
Tbl_EndTable (); Tbl_EndTable ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Fields of the record that depends on the course *****/ /***** Fields of the record that depends on the course *****/
@ -1806,7 +1806,7 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
TypeOfView == Rec_CRS_LIST_SEVERAL_RECORDS) TypeOfView == Rec_CRS_LIST_SEVERAL_RECORDS)
fprintf (Gbl.F.Out,"<span class=\"DAT_SMALL\"> (%s)</span>", fprintf (Gbl.F.Out,"<span class=\"DAT_SMALL\"> (%s)</span>",
Txt_RECORD_FIELD_VISIBILITY_RECORD[Gbl.Crs.Records.LstFields.Lst[NumField].Visibility]); Txt_RECORD_FIELD_VISIBILITY_RECORD[Gbl.Crs.Records.LstFields.Lst[NumField].Visibility]);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Get the text of the field */ /* Get the text of the field */
if (Rec_GetFieldFromCrsRecord (UsrDat->UsrCod,Gbl.Crs.Records.LstFields.Lst[NumField].FieldCod,&mysql_res)) if (Rec_GetFieldFromCrsRecord (UsrDat->UsrCod,Gbl.Crs.Records.LstFields.Lst[NumField].FieldCod,&mysql_res))
@ -1844,7 +1844,7 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
else else
fprintf (Gbl.F.Out,"-"); fprintf (Gbl.F.Out,"-");
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/* Free structure that stores the query result */ /* Free structure that stores the query result */
@ -2442,7 +2442,7 @@ void Rec_ShowSharedUsrRecord (Rec_SharedRecordViewType_t TypeOfView,
break; break;
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -2702,7 +2702,7 @@ static void Rec_ShowInstitutionInHead (struct Instit *Ins,bool PutFormLinks)
Frm_EndForm (); Frm_EndForm ();
} }
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Institution name *****/ /***** Institution name *****/
fprintf (Gbl.F.Out,"<td class=\"REC_C2_TOP REC_HEAD LEFT_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"REC_C2_TOP REC_HEAD LEFT_MIDDLE\">");
@ -2722,7 +2722,7 @@ static void Rec_ShowInstitutionInHead (struct Instit *Ins,bool PutFormLinks)
Frm_EndForm (); Frm_EndForm ();
} }
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -2739,7 +2739,7 @@ static void Rec_ShowPhoto (struct UsrData *UsrDat)
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL : Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
NULL, NULL,
"PHOTO186x248",Pho_ZOOM,false); "PHOTO186x248",Pho_ZOOM,false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -2810,7 +2810,7 @@ static void Rec_ShowCountryInHead (struct UsrData *UsrDat,bool ShowData)
/* Link to see country information */ /* Link to see country information */
Cty_WriteCountryName (UsrDat->CtyCod, Cty_WriteCountryName (UsrDat->CtyCod,
"REC_DAT_BOLD"); // Put link to country "REC_DAT_BOLD"); // Put link to country
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -2823,7 +2823,7 @@ static void Rec_ShowWebsAndSocialNets (struct UsrData *UsrDat,
fprintf (Gbl.F.Out,"<td class=\"REC_C3_MID CENTER_TOP\">"); fprintf (Gbl.F.Out,"<td class=\"REC_C3_MID CENTER_TOP\">");
if (TypeOfView != Rec_SHA_RECORD_PRINT) if (TypeOfView != Rec_SHA_RECORD_PRINT)
Net_ShowWebsAndSocialNets (UsrDat); Net_ShowWebsAndSocialNets (UsrDat);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -2853,7 +2853,7 @@ static void Rec_ShowEmail (struct UsrData *UsrDat,const char *ClassForm)
fprintf (Gbl.F.Out,"********"); fprintf (Gbl.F.Out,"********");
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -2873,7 +2873,7 @@ static void Rec_ShowUsrIDs (struct UsrData *UsrDat,const char *ClassForm,
"<td class=\"REC_C2_BOT REC_DAT_BOLD LEFT_TOP\">", "<td class=\"REC_C2_BOT REC_DAT_BOLD LEFT_TOP\">",
ClassForm,Txt_ID); ClassForm,Txt_ID);
ID_WriteUsrIDs (UsrDat,Anchor); ID_WriteUsrIDs (UsrDat,Anchor);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -3097,7 +3097,7 @@ static void Rec_ShowRole (struct UsrData *UsrDat,
default: default:
break; break;
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
else if (SexForm) else if (SexForm)
@ -3122,7 +3122,7 @@ static void Rec_ShowRole (struct UsrData *UsrDat,
"</label>", "</label>",
Usr_StringsSexIcons[Sex],Txt_SEX_SINGULAR_Abc[Sex]); Usr_StringsSexIcons[Sex],Txt_SEX_SINGULAR_Abc[Sex]);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
else // RoleForm == false, SexForm == false else // RoleForm == false, SexForm == false
@ -3178,7 +3178,7 @@ static void Rec_ShowSurname1 (struct UsrData *UsrDat,
} }
else if (UsrDat->Surname1[0]) else if (UsrDat->Surname1[0])
fprintf (Gbl.F.Out,"<strong>%s</strong>",UsrDat->Surname1); fprintf (Gbl.F.Out,"<strong>%s</strong>",UsrDat->Surname1);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -3210,7 +3210,7 @@ static void Rec_ShowSurname2 (struct UsrData *UsrDat,
UsrDat->Surname2); UsrDat->Surname2);
else if (UsrDat->Surname2[0]) else if (UsrDat->Surname2[0])
fprintf (Gbl.F.Out,"<strong>%s</strong>",UsrDat->Surname2); fprintf (Gbl.F.Out,"<strong>%s</strong>",UsrDat->Surname2);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -3251,7 +3251,7 @@ static void Rec_ShowFirstName (struct UsrData *UsrDat,
} }
else if (UsrDat->FirstName[0]) else if (UsrDat->FirstName[0])
fprintf (Gbl.F.Out,"<strong>%s</strong>",UsrDat->FirstName); fprintf (Gbl.F.Out,"<strong>%s</strong>",UsrDat->FirstName);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -3340,7 +3340,7 @@ static void Rec_ShowOriginPlace (struct UsrData *UsrDat,
else if (UsrDat->OriginPlace[0]) else if (UsrDat->OriginPlace[0])
fprintf (Gbl.F.Out,"%s",UsrDat->OriginPlace); fprintf (Gbl.F.Out,"%s",UsrDat->OriginPlace);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -3371,7 +3371,7 @@ static void Rec_ShowDateOfBirth (struct UsrData *UsrDat,
else if (UsrDat->StrBirthday[0]) else if (UsrDat->StrBirthday[0])
fprintf (Gbl.F.Out,"%s",UsrDat->StrBirthday); fprintf (Gbl.F.Out,"%s",UsrDat->StrBirthday);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -3405,7 +3405,7 @@ static void Rec_ShowLocalAddress (struct UsrData *UsrDat,
else if (UsrDat->LocalAddress[0]) else if (UsrDat->LocalAddress[0])
fprintf (Gbl.F.Out,"%s",UsrDat->LocalAddress); fprintf (Gbl.F.Out,"%s",UsrDat->LocalAddress);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -3441,7 +3441,7 @@ static void Rec_ShowLocalPhone (struct UsrData *UsrDat,
UsrDat->LocalPhone, UsrDat->LocalPhone,
UsrDat->LocalPhone); UsrDat->LocalPhone);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -3475,7 +3475,7 @@ static void Rec_ShowFamilyAddress (struct UsrData *UsrDat,
else if (UsrDat->FamilyAddress[0]) else if (UsrDat->FamilyAddress[0])
fprintf (Gbl.F.Out,"%s",UsrDat->FamilyAddress); fprintf (Gbl.F.Out,"%s",UsrDat->FamilyAddress);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -3511,7 +3511,7 @@ static void Rec_ShowFamilyPhone (struct UsrData *UsrDat,
UsrDat->FamilyPhone, UsrDat->FamilyPhone,
UsrDat->FamilyPhone); UsrDat->FamilyPhone);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -3546,7 +3546,7 @@ static void Rec_ShowComments (struct UsrData *UsrDat,
fprintf (Gbl.F.Out,"%s",UsrDat->Comments); fprintf (Gbl.F.Out,"%s",UsrDat->Comments);
} }
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -3600,7 +3600,7 @@ static void Rec_ShowInstitution (struct Instit *Ins,
if (Ins->WWW[0]) if (Ins->WWW[0])
fprintf (Gbl.F.Out,"</a>"); fprintf (Gbl.F.Out,"</a>");
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -3635,7 +3635,7 @@ static void Rec_ShowCentre (struct UsrData *UsrDat,
fprintf (Gbl.F.Out,"</a>"); fprintf (Gbl.F.Out,"</a>");
} }
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -3670,7 +3670,7 @@ static void Rec_ShowDepartment (struct UsrData *UsrDat,
fprintf (Gbl.F.Out,"</a>"); fprintf (Gbl.F.Out,"</a>");
} }
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -3691,7 +3691,7 @@ static void Rec_ShowOffice (struct UsrData *UsrDat,
ClassForm,Txt_Office); ClassForm,Txt_Office);
if (ShowData) if (ShowData)
fprintf (Gbl.F.Out,"%s",UsrDat->Tch.Office); fprintf (Gbl.F.Out,"%s",UsrDat->Tch.Office);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -3714,7 +3714,7 @@ static void Rec_ShowOfficePhone (struct UsrData *UsrDat,
fprintf (Gbl.F.Out,"<a href=\"tel:%s\" class=\"REC_DAT_BOLD\">%s</a>", fprintf (Gbl.F.Out,"<a href=\"tel:%s\" class=\"REC_DAT_BOLD\">%s</a>",
UsrDat->Tch.OfficePhone, UsrDat->Tch.OfficePhone,
UsrDat->Tch.OfficePhone); UsrDat->Tch.OfficePhone);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -4026,7 +4026,7 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
} }
fprintf (Gbl.F.Out,"</select>"); fprintf (Gbl.F.Out,"</select>");
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Institution *****/ /***** Institution *****/
@ -4070,7 +4070,7 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
} }
fprintf (Gbl.F.Out,"</select>"); fprintf (Gbl.F.Out,"</select>");
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
if (IAmATeacher) if (IAmATeacher)
@ -4116,7 +4116,7 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
} }
fprintf (Gbl.F.Out,"</select>"); fprintf (Gbl.F.Out,"</select>");
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Department *****/ /***** Department *****/
@ -4134,7 +4134,7 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
"", // Text when no department selected "", // Text when no department selected
true); // Submit on change true); // Submit on change
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Office *****/ /***** Office *****/
@ -4155,7 +4155,7 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
Gbl.Usrs.Me.UsrDat.Tch.Office, Gbl.Usrs.Me.UsrDat.Tch.Office,
Gbl.Form.Id); Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Phone *****/ /***** Phone *****/
@ -4177,7 +4177,7 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
Gbl.Usrs.Me.UsrDat.Tch.OfficePhone, Gbl.Usrs.Me.UsrDat.Tch.OfficePhone,
Gbl.Form.Id); Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }

View File

@ -386,7 +386,7 @@ void Sta_AskShowCrsHits (void)
Usr_ListUsersToSelect (Rol_NET); Usr_ListUsersToSelect (Rol_NET);
Usr_ListUsersToSelect (Rol_STD); Usr_ListUsersToSelect (Rol_STD);
Tbl_EndTable (); Tbl_EndTable ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Initial and final dates of the search *****/ /***** Initial and final dates of the search *****/
@ -576,7 +576,7 @@ void Sta_AskShowGblHits (void)
Gbl.Scope.Default = Hie_SYS; Gbl.Scope.Default = Hie_SYS;
Sco_GetScope ("ScopeSta"); Sco_GetScope ("ScopeSta");
Sco_PutSelectorScope ("ScopeSta",false); Sco_PutSelectorScope ("ScopeSta",false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Count type for the statistic *****/ /***** Count type for the statistic *****/
@ -1602,7 +1602,7 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql
fprintf (Gbl.F.Out,"<strong>&lt;%s</strong></a>", fprintf (Gbl.F.Out,"<strong>&lt;%s</strong></a>",
Txt_PAGES_Previous); Txt_PAGES_Previous);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
if (FirstRow > 1) if (FirstRow > 1)
Frm_EndForm (); Frm_EndForm ();
@ -1639,13 +1639,13 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql
"</a>", "</a>",
Txt_PAGES_Next); Txt_PAGES_Next);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
if (LastRow < NumRows) if (LastRow < NumRows)
Frm_EndForm (); Frm_EndForm ();
Tbl_EndRow (); Tbl_EndRow ();
Tbl_EndTable (); Tbl_EndTable ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Write heading *****/ /***** Write heading *****/
@ -1756,7 +1756,7 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql
fprintf (Gbl.F.Out,"<td class=\"LOG LEFT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"LOG LEFT_TOP COLOR%u\">",
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
Sta_WriteLogComments (LogCod); Sta_WriteLogComments (LogCod);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -1864,7 +1864,7 @@ static void Sta_ShowNumHitsPerUsr (unsigned long NumRows,MYSQL_RES *mysql_res)
Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL : Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL :
NULL, NULL,
"PHOTO15x20",Pho_ZOOM,false); "PHOTO15x20",Pho_ZOOM,false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write the user's ID if user is a student in current course */ /* Write the user's ID if user is a student in current course */
fprintf (Gbl.F.Out,"<td class=\"LOG LEFT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"LOG LEFT_TOP COLOR%u\">",
@ -2126,7 +2126,7 @@ static void Sta_ShowDistrAccessesPerDayAndHour (unsigned long NumRows,MYSQL_RES
fprintf (Gbl.F.Out,"</select>" fprintf (Gbl.F.Out,"</select>"
"</label>"); "</label>");
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Compute maximum number of pages generated per day-hour *****/ /***** Compute maximum number of pages generated per day-hour *****/
@ -2164,7 +2164,7 @@ static void Sta_ShowDistrAccessesPerDayAndHour (unsigned long NumRows,MYSQL_RES
" style=\"width:%upx;\">", " style=\"width:%upx;\">",
GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH); GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH);
Sta_DrawBarColors (SelectedColorType,Hits.Max); Sta_DrawBarColors (SelectedColorType,Hits.Max);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Tbl_StartRow (); Tbl_StartRow ();
@ -2385,14 +2385,14 @@ static void Sta_DrawBarColors (Sta_ColorType_t ColorType,float HitsMax)
GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH/5, GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH/5,
GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH/5); GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH/5);
Str_WriteFloatNum (Gbl.F.Out,(float) Interval * HitsMax / 5.0); Str_WriteFloatNum (Gbl.F.Out,(float) Interval * HitsMax / 5.0);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
fprintf (Gbl.F.Out,"<td colspan=\"%u\" class=\"LOG RIGHT_BOTTOM\"" fprintf (Gbl.F.Out,"<td colspan=\"%u\" class=\"LOG RIGHT_BOTTOM\""
" style=\"width:%upx;\">", " style=\"width:%upx;\">",
(GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH/5)/2, (GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH/5)/2,
(GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH/5)/2); (GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH/5)/2);
Str_WriteFloatNum (Gbl.F.Out,HitsMax); Str_WriteFloatNum (Gbl.F.Out,HitsMax);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Tbl_StartRow (); Tbl_StartRow ();
@ -3057,7 +3057,7 @@ static void Sta_WriteLabelsXAxisAccMin (float IncX,const char *Format)
" style=\"width:%upx;\">", " style=\"width:%upx;\">",
Sta_WIDTH_DIVISION_GRAPHIC); Sta_WIDTH_DIVISION_GRAPHIC);
fprintf (Gbl.F.Out,Format,NumX); fprintf (Gbl.F.Out,Format,NumX);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -3130,7 +3130,7 @@ static void Sta_WriteAccessMinute (unsigned Minute,float HitsNum,float MaxX)
BarWidth); BarWidth);
/***** End cell of graphic and end row *****/ /***** End cell of graphic and end row *****/
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -3473,7 +3473,7 @@ static void Sta_WriteCountry (long CtyCod)
fprintf (Gbl.F.Out,"&nbsp;-&nbsp;"); fprintf (Gbl.F.Out,"&nbsp;-&nbsp;");
/***** End cell *****/ /***** End cell *****/
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -3569,7 +3569,7 @@ static void Sta_WriteInstitution (long InsCod)
fprintf (Gbl.F.Out,">&nbsp;-&nbsp;"); fprintf (Gbl.F.Out,">&nbsp;-&nbsp;");
/***** End cell *****/ /***** End cell *****/
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -3665,7 +3665,7 @@ static void Sta_WriteCentre (long CtrCod)
fprintf (Gbl.F.Out,">&nbsp;-&nbsp;"); fprintf (Gbl.F.Out,">&nbsp;-&nbsp;");
/***** End cell *****/ /***** End cell *****/
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -3761,7 +3761,7 @@ static void Sta_WriteDegree (long DegCod)
fprintf (Gbl.F.Out,">&nbsp;-&nbsp;"); fprintf (Gbl.F.Out,">&nbsp;-&nbsp;");
/***** End cell *****/ /***** End cell *****/
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -3863,7 +3863,7 @@ static void Sta_ShowNumHitsPerCourse (unsigned long NumRows,
fprintf (Gbl.F.Out,"&nbsp;"); fprintf (Gbl.F.Out,"&nbsp;");
if (CrsOK) if (CrsOK)
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Draw bar proportional to number of hits */ /* Draw bar proportional to number of hits */
Hits.Num = Str_GetFloatNumFromStr (row[1]); Hits.Num = Str_GetFloatNumFromStr (row[1]);
@ -4243,7 +4243,7 @@ void Sta_GetAndShowLastClicks (void)
if (row[8]) if (row[8])
if (row[8][0]) if (row[8][0])
fprintf (Gbl.F.Out,"%s",row[8]); // Action fprintf (Gbl.F.Out,"%s",row[8]); // Action
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
Tbl_EndTable (); Tbl_EndTable ();

View File

@ -467,7 +467,7 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst,
fprintf (Gbl.F.Out,"\">"); fprintf (Gbl.F.Out,"\">");
if (Svy.Status.ICanEdit) if (Svy.Status.ICanEdit)
Svy_PutFormsToRemEditOneSvy (&Svy,Anchor); Svy_PutFormsToRemEditOneSvy (&Svy,Anchor);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Start date/time */ /* Start date/time */
UniqueId++; UniqueId++;
@ -576,7 +576,7 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst,
} }
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Write second row of data of this survey *****/ /***** Write second row of data of this survey *****/
@ -667,7 +667,7 @@ static void Svy_ShowOneSurvey (long SvyCod,struct SurveyQuestion *SvyQst,
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"5\">"); fprintf (Gbl.F.Out,"<td colspan=\"5\">");
Svy_ListSvyQuestions (&Svy,SvyQst); Svy_ListSvyQuestions (&Svy,SvyQst);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -1867,7 +1867,7 @@ void Svy_RequestCreatOrEditSvy (void)
Svy_SetDefaultAndAllowedScope (&Svy); Svy_SetDefaultAndAllowedScope (&Svy);
Sco_GetScope ("ScopeSvy"); Sco_GetScope ("ScopeSvy");
Sco_PutSelectorScope ("ScopeSvy",false); Sco_PutSelectorScope ("ScopeSvy",false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Survey title *****/ /***** Survey title *****/
@ -1916,7 +1916,7 @@ void Svy_RequestCreatOrEditSvy (void)
1 << Rol_TCH, 1 << Rol_TCH,
Svy.Roles, Svy.Roles,
false,false); false,false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Groups *****/ /***** Groups *****/
@ -2070,7 +2070,7 @@ static void Svy_ShowLstGrpsToEditSurvey (long SvyCod)
/***** End table and box *****/ /***** End table and box *****/
Box_EndBoxTable (); Box_EndBoxTable ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -2716,7 +2716,7 @@ static void Svy_ShowFormEditOneQst (long SvyCod,struct SurveyQuestion *SvyQst,
"</label><br />", "</label><br />",
Txt_SURVEY_STR_ANSWER_TYPES[AnsType]); Txt_SURVEY_STR_ANSWER_TYPES[AnsType]);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Answers *****/ /***** Answers *****/
@ -2750,7 +2750,7 @@ static void Svy_ShowFormEditOneQst (long SvyCod,struct SurveyQuestion *SvyQst,
Tbl_EndRow (); Tbl_EndRow ();
} }
Tbl_EndTable (); Tbl_EndTable ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
@ -3240,7 +3240,7 @@ static void Svy_ListSvyQuestions (struct Survey *Svy,
Svy_CurrentQstCod = SvyQst->QstCod; Svy_CurrentQstCod = SvyQst->QstCod;
Ico_PutContextualIconToEdit (ActEdiOneSvyQst,Svy_PutParamsToEditQuestion); Ico_PutContextualIconToEdit (ActEdiOneSvyQst,Svy_PutParamsToEditQuestion);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/* Write index of question inside survey (row[1]) */ /* Write index of question inside survey (row[1]) */
@ -3264,7 +3264,7 @@ static void Svy_ListSvyQuestions (struct Survey *Svy,
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
Svy_WriteQstStem (row[3]); Svy_WriteQstStem (row[3]);
Svy_WriteAnswersOfAQst (Svy,SvyQst,PutFormAnswerSurvey); Svy_WriteAnswersOfAQst (Svy,SvyQst,PutFormAnswerSurvey);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }

View File

@ -617,7 +617,7 @@ static void Syl_ShowRowSyllabus (unsigned NumItem,
Ico_PutIconRemove (); Ico_PutIconRemove ();
Frm_EndForm (); Frm_EndForm ();
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Icon to get up an item *****/ /***** Icon to get up an item *****/
Syl_CalculateUpSubtreeSyllabus (&Subtree,NumItem); Syl_CalculateUpSubtreeSyllabus (&Subtree,NumItem);
@ -636,7 +636,7 @@ static void Syl_ShowRowSyllabus (unsigned NumItem,
} }
else else
Ico_PutIconOff ("arrow-up.svg",Txt_Movement_not_allowed); Ico_PutIconOff ("arrow-up.svg",Txt_Movement_not_allowed);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Icon to get down item *****/ /***** Icon to get down item *****/
Syl_CalculateDownSubtreeSyllabus (&Subtree,NumItem); Syl_CalculateDownSubtreeSyllabus (&Subtree,NumItem);
@ -655,7 +655,7 @@ static void Syl_ShowRowSyllabus (unsigned NumItem,
} }
else else
Ico_PutIconOff ("arrow-down.svg",Txt_Movement_not_allowed); Ico_PutIconOff ("arrow-down.svg",Txt_Movement_not_allowed);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Icon to increase the level of an item *****/ /***** Icon to increase the level of an item *****/
fprintf (Gbl.F.Out,"<td class=\"BM%u\">",Gbl.RowEvenOdd); fprintf (Gbl.F.Out,"<td class=\"BM%u\">",Gbl.RowEvenOdd);
@ -672,7 +672,7 @@ static void Syl_ShowRowSyllabus (unsigned NumItem,
} }
else else
Ico_PutIconOff ("arrow-left.svg",Txt_Movement_not_allowed); Ico_PutIconOff ("arrow-left.svg",Txt_Movement_not_allowed);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Icon to decrease level item *****/ /***** Icon to decrease level item *****/
fprintf (Gbl.F.Out,"<td class=\"BM%u\">",Gbl.RowEvenOdd); fprintf (Gbl.F.Out,"<td class=\"BM%u\">",Gbl.RowEvenOdd);
@ -690,7 +690,7 @@ static void Syl_ShowRowSyllabus (unsigned NumItem,
} }
else else
Ico_PutIconOff ("arrow-right.svg",Txt_Movement_not_allowed); Ico_PutIconOff ("arrow-right.svg",Txt_Movement_not_allowed);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
LastLevel = Level; LastLevel = Level;
} }
@ -925,7 +925,7 @@ static void Syl_PutFormItemSyllabus (bool NewItem,unsigned NumItem,int Level,int
fprintf (Gbl.F.Out," onchange=\"document.getElementById('%s').submit();\" />", fprintf (Gbl.F.Out," onchange=\"document.getElementById('%s').submit();\" />",
Gbl.Form.Id); Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -213,6 +213,12 @@ void Tbl_EndRow (void)
/********************************* Table cells *******************************/ /********************************* Table cells *******************************/
/*****************************************************************************/ /*****************************************************************************/
void Tbl_EndCell (void)
{
fprintf (Gbl.F.Out,
"</td>");
}
void Tbl_PutEmptyCells (unsigned NumColumns) void Tbl_PutEmptyCells (unsigned NumColumns)
{ {
unsigned NumCol; unsigned NumCol;

View File

@ -40,25 +40,21 @@
/*****************************************************************************/ /*****************************************************************************/
void Tbl_StartTableClass (const char *fmt,...); void Tbl_StartTableClass (const char *fmt,...);
void Tbl_StartTablePadding (unsigned CellPadding); void Tbl_StartTablePadding (unsigned CellPadding);
void Tbl_StartTable (void); void Tbl_StartTable (void);
void Tbl_StartTableCenterPadding (unsigned CellPadding); void Tbl_StartTableCenterPadding (unsigned CellPadding);
void Tbl_StartTableCenter (void); void Tbl_StartTableCenter (void);
void Tbl_StartTableWidePadding (unsigned CellPadding); void Tbl_StartTableWidePadding (unsigned CellPadding);
void Tbl_StartTableWide (void); void Tbl_StartTableWide (void);
void Tbl_StartTableWideMarginPadding (unsigned CellPadding); void Tbl_StartTableWideMarginPadding (unsigned CellPadding);
void Tbl_StartTableWideMargin (void); void Tbl_StartTableWideMargin (void);
void Tbl_EndTable (void); void Tbl_EndTable (void);
void Tbl_StartRowAttr (const char *fmt,...); void Tbl_StartRowAttr (const char *fmt,...);
void Tbl_StartRow (void); void Tbl_StartRow (void);
void Tbl_EndRow (void); void Tbl_EndRow (void);
void Tbl_EndCell (void);
void Tbl_PutEmptyCells (unsigned NumColumns); void Tbl_PutEmptyCells (unsigned NumColumns);
void Tbl_PutEmptyColouredCells (unsigned NumColumns); void Tbl_PutEmptyColouredCells (unsigned NumColumns);

View File

@ -1078,7 +1078,7 @@ static void Tst_WriteQstAndAnsTest (Tst_ActionToDoWithQuestions_t ActionToDoWith
default: default:
break; break;
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Destroy test question *****/ /***** Destroy test question *****/
@ -1770,7 +1770,7 @@ static void Tst_ShowFormSelTags (unsigned long NumRows,MYSQL_RES *mysql_res,
} }
Tbl_EndTable (); Tbl_EndTable ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -1826,7 +1826,7 @@ static void Tst_ShowFormEditTags (void)
" onchange=\"document.getElementById('%s').submit();\" />", " onchange=\"document.getElementById('%s').submit();\" />",
Tst_MAX_CHARS_TAG,row[1],Gbl.Form.Id); Tst_MAX_CHARS_TAG,row[1],Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -1856,7 +1856,7 @@ static void Tst_PutIconEnable (long TagCod,const char *TagTxt)
TagTxt); TagTxt);
Ico_PutIconLink ("eye-slash.svg",Gbl.Title); Ico_PutIconLink ("eye-slash.svg",Gbl.Title);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -1875,7 +1875,7 @@ static void Tst_PutIconDisable (long TagCod,const char *TagTxt)
TagTxt); TagTxt);
Ico_PutIconLink ("eye.svg",Gbl.Title); Ico_PutIconLink ("eye.svg",Gbl.Title);
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -1933,7 +1933,7 @@ static void Tst_ShowFormConfigTst (void)
"</label><br />", "</label><br />",
Txt_TST_PLUGGABLE[Pluggable]); Txt_TST_PLUGGABLE[Pluggable]);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Number of questions *****/ /***** Number of questions *****/
@ -1952,7 +1952,7 @@ static void Tst_ShowFormConfigTst (void)
Tst_PutInputFieldNumQst ("NumQstMax",Txt_maximum, Tst_PutInputFieldNumQst ("NumQstMax",Txt_maximum,
Gbl.Test.Config.Max); // Maximum number of questions Gbl.Test.Config.Max); // Maximum number of questions
Tbl_EndTable (); Tbl_EndTable ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Minimum time between consecutive tests, per question *****/ /***** Minimum time between consecutive tests, per question *****/
@ -1994,7 +1994,7 @@ static void Tst_ShowFormConfigTst (void)
"</label><br />", "</label><br />",
Txt_TST_STR_FEEDBACK[Feedback]); Txt_TST_STR_FEEDBACK[Feedback]);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Tbl_EndTable (); Tbl_EndTable ();
@ -2366,7 +2366,7 @@ static void Tst_ShowFormAnswerTypes (unsigned NumCols)
} }
Tbl_EndTable (); Tbl_EndTable ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -2903,7 +2903,7 @@ static void Tst_ListOneOrMoreQuestionsForEdition (unsigned long NumRows,
/* Write icon to edit the question */ /* Write icon to edit the question */
Ico_PutContextualIconToEdit (ActEdiOneTstQst,Tst_PutParamQstCod); Ico_PutContextualIconToEdit (ActEdiOneTstQst,Tst_PutParamQstCod);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write number of question */ /* Write number of question */
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP COLOR%u\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP COLOR%u\">"
@ -2940,7 +2940,7 @@ static void Tst_ListOneOrMoreQuestionsForEdition (unsigned long NumRows,
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">",
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
Tst_GetAndWriteTagsQst (Gbl.Test.QstCod); Tst_GetAndWriteTagsQst (Gbl.Test.QstCod);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write if shuffle is enabled (row[3]) */ /* Write if shuffle is enabled (row[3]) */
fprintf (Gbl.F.Out,"<td class=\"DAT_SMALL CENTER_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"DAT_SMALL CENTER_TOP COLOR%u\">",
@ -2962,7 +2962,7 @@ static void Tst_ListOneOrMoreQuestionsForEdition (unsigned long NumRows,
Gbl.Form.Id); Gbl.Form.Id);
Frm_EndForm (); Frm_EndForm ();
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write stem (row[4]) */ /* Write stem (row[4]) */
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">",
@ -2979,7 +2979,7 @@ static void Tst_ListOneOrMoreQuestionsForEdition (unsigned long NumRows,
/* Write feedback (row[5]) and answers */ /* Write feedback (row[5]) and answers */
Tst_WriteQstFeedback (row[5],"TEST_EDI_LIGHT"); Tst_WriteQstFeedback (row[5],"TEST_EDI_LIGHT");
Tst_WriteAnswersEdit (Gbl.Test.QstCod); Tst_WriteAnswersEdit (Gbl.Test.QstCod);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Get number of hits /* Get number of hits
(number of times that the question has been answered, (number of times that the question has been answered,
@ -3013,7 +3013,7 @@ static void Tst_ListOneOrMoreQuestionsForEdition (unsigned long NumRows,
(double) NumHitsThisQst); (double) NumHitsThisQst);
else else
fprintf (Gbl.F.Out,"N.A."); fprintf (Gbl.F.Out,"N.A.");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write number of times this question has been answered (not blank) */ /* Write number of times this question has been answered (not blank) */
fprintf (Gbl.F.Out,"<td class=\"DAT_SMALL CENTER_TOP COLOR%u\">" fprintf (Gbl.F.Out,"<td class=\"DAT_SMALL CENTER_TOP COLOR%u\">"
@ -3030,7 +3030,7 @@ static void Tst_ListOneOrMoreQuestionsForEdition (unsigned long NumRows,
(double) NumHitsNotBlankThisQst); (double) NumHitsNotBlankThisQst);
else else
fprintf (Gbl.F.Out,"N.A."); fprintf (Gbl.F.Out,"N.A.");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Destroy test question *****/ /***** Destroy test question *****/
@ -3178,7 +3178,7 @@ static void Tst_ListOneOrMoreQuestionsForSelection (unsigned long NumRows,
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">",
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
Tst_GetAndWriteTagsQst (Gbl.Test.QstCod); Tst_GetAndWriteTagsQst (Gbl.Test.QstCod);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write the question type (row[2]) */ /* Write the question type (row[2]) */
Gbl.Test.AnswerType = Tst_ConvertFromStrAnsTypDBToAnsTyp (row[2]); Gbl.Test.AnswerType = Tst_ConvertFromStrAnsTypDBToAnsTyp (row[2]);
@ -3197,7 +3197,7 @@ static void Tst_ListOneOrMoreQuestionsForSelection (unsigned long NumRows,
fprintf (Gbl.F.Out," checked=\"checked\""); fprintf (Gbl.F.Out," checked=\"checked\"");
fprintf (Gbl.F.Out," disabled=\"disabled\" />"); fprintf (Gbl.F.Out," disabled=\"disabled\" />");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write stem (row[4]) */ /* Write stem (row[4]) */
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">",
@ -3216,7 +3216,7 @@ static void Tst_ListOneOrMoreQuestionsForSelection (unsigned long NumRows,
/* Write answers */ /* Write answers */
Tst_WriteAnswersEdit (Gbl.Test.QstCod); Tst_WriteAnswersEdit (Gbl.Test.QstCod);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Destroy test question *****/ /***** Destroy test question *****/
@ -3424,7 +3424,7 @@ void Tst_WriteAnswersEdit (long QstCod)
Cfg_URL_ICON_PUBLIC, Cfg_URL_ICON_PUBLIC,
Txt_TST_Answer_given_by_the_teachers, Txt_TST_Answer_given_by_the_teachers,
Txt_TST_Answer_given_by_the_teachers); Txt_TST_Answer_given_by_the_teachers);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write the number of option */ /* Write the number of option */
fprintf (Gbl.F.Out,"<td class=\"DAT_SMALL LEFT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"DAT_SMALL LEFT_TOP\">"
@ -3669,7 +3669,7 @@ static void Tst_WriteTFAnsAssessTest (struct UsrData *UsrDat,
"ANS_BAD") : "ANS_BAD") :
"ANS_0"); "ANS_0");
Tst_WriteAnsTF (AnsTF); Tst_WriteAnsTF (AnsTF);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write the correct answer *****/ /***** Write the correct answer *****/
fprintf (Gbl.F.Out,"<td class=\"ANS_0 CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"ANS_0 CENTER_MIDDLE\">");
@ -3678,7 +3678,7 @@ static void Tst_WriteTFAnsAssessTest (struct UsrData *UsrDat,
Tst_WriteAnsTF (row[1][0]); Tst_WriteAnsTF (row[1][0]);
else else
fprintf (Gbl.F.Out,"?"); fprintf (Gbl.F.Out,"?");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Write the mark *****/ /***** Write the mark *****/
@ -3797,7 +3797,7 @@ static void Tst_WriteChoiceAnsViewTest (unsigned NumQst,long QstCod,bool Shuffle
Med_ShowMedia (&Gbl.Test.Answer.Options[NumOpt].Media, Med_ShowMedia (&Gbl.Test.Answer.Options[NumOpt].Media,
"TEST_MED_SHOW_CONTAINER", "TEST_MED_SHOW_CONTAINER",
"TEST_MED_SHOW"); "TEST_MED_SHOW");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -3917,7 +3917,7 @@ static void Tst_WriteChoiceAnsAssessTest (struct UsrData *UsrDat,
"%s" "%s"
"</div>", "</div>",
Gbl.Test.Answer.Options[Indexes[NumOpt]].Feedback); Gbl.Test.Answer.Options[Indexes[NumOpt]].Feedback);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -4236,7 +4236,7 @@ static void Tst_WriteChoiceAnsViewMatch (long MchCod,unsigned QstInd,long QstCod
NumAnswerersQst, NumAnswerersQst,
Gbl.Test.Answer.Options[Indexes[NumOpt]].Correct); Gbl.Test.Answer.Options[Indexes[NumOpt]].Correct);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** End row for this option *****/ /***** End row for this option *****/
Tbl_EndRow (); Tbl_EndRow ();
@ -4362,7 +4362,7 @@ static void Tst_WriteTextAnsAssessTest (struct UsrData *UsrDat,
} }
else // If user has omitted the answer else // If user has omitted the answer
fprintf (Gbl.F.Out,">"); fprintf (Gbl.F.Out,">");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write the correct answers *****/ /***** Write the correct answers *****/
if (Gbl.Test.Config.Feedback == Tst_FEEDBACK_EACH_GOOD_BAD || if (Gbl.Test.Config.Feedback == Tst_FEEDBACK_EACH_GOOD_BAD ||
@ -4394,7 +4394,7 @@ static void Tst_WriteTextAnsAssessTest (struct UsrData *UsrDat,
"%s" "%s"
"</div>", "</div>",
Gbl.Test.Answer.Options[NumOpt].Feedback); Gbl.Test.Answer.Options[NumOpt].Feedback);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -4403,7 +4403,7 @@ static void Tst_WriteTextAnsAssessTest (struct UsrData *UsrDat,
else else
fprintf (Gbl.F.Out,"<td class=\"ANS_0 CENTER_TOP\">" fprintf (Gbl.F.Out,"<td class=\"ANS_0 CENTER_TOP\">"
"?"); "?");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Compute the mark *****/ /***** Compute the mark *****/
@ -4506,7 +4506,7 @@ static void Tst_WriteIntAnsAssessTest (struct UsrData *UsrDat,
} }
else // If user has omitted the answer else // If user has omitted the answer
fprintf (Gbl.F.Out,">"); fprintf (Gbl.F.Out,">");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write the correct answer *****/ /***** Write the correct answer *****/
fprintf (Gbl.F.Out,"<td class=\"ANS_0 CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"ANS_0 CENTER_MIDDLE\">");
@ -4515,7 +4515,7 @@ static void Tst_WriteIntAnsAssessTest (struct UsrData *UsrDat,
fprintf (Gbl.F.Out,"%ld",IntAnswerCorr); fprintf (Gbl.F.Out,"%ld",IntAnswerCorr);
else else
fprintf (Gbl.F.Out,"?"); fprintf (Gbl.F.Out,"?");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Compute the score *****/ /***** Compute the score *****/
@ -4628,7 +4628,7 @@ static void Tst_WriteFloatAnsAssessTest (struct UsrData *UsrDat,
} }
else // If user has omitted the answer else // If user has omitted the answer
fprintf (Gbl.F.Out,">"); fprintf (Gbl.F.Out,">");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write the correct answer *****/ /***** Write the correct answer *****/
fprintf (Gbl.F.Out,"<td class=\"ANS_0 CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"ANS_0 CENTER_MIDDLE\">");
@ -4637,7 +4637,7 @@ static void Tst_WriteFloatAnsAssessTest (struct UsrData *UsrDat,
fprintf (Gbl.F.Out,"[%lg; %lg]",FloatAnsCorr[0],FloatAnsCorr[1]); fprintf (Gbl.F.Out,"[%lg; %lg]",FloatAnsCorr[0],FloatAnsCorr[1]);
else else
fprintf (Gbl.F.Out,"?"); fprintf (Gbl.F.Out,"?");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Compute mark *****/ /***** Compute mark *****/
@ -5074,7 +5074,7 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\">"); fprintf (Gbl.F.Out,"<td colspan=\"2\">");
Lay_HelpPlainEditor (); Lay_HelpPlainEditor ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Get tags already existing for questions in current course *****/ /***** Get tags already existing for questions in current course *****/
@ -5142,7 +5142,7 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
} }
Tbl_EndTable (); // Table for tags Tbl_EndTable (); // Table for tags
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/* Free structure that stores the query result */ /* Free structure that stores the query result */
@ -5202,7 +5202,7 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
"</label><br />", "</label><br />",
Txt_TST_STR_ANSWER_TYPES[AnsType]); Txt_TST_STR_ANSWER_TYPES[AnsType]);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Answers *****/ /***** Answers *****/
@ -5234,7 +5234,7 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
Gbl.Test.Answer.FloatingPoint[0]); Gbl.Test.Answer.FloatingPoint[0]);
Tst_PutFloatInputField (Txt_Real_number_between_A_and_B_2,"AnsFloatMax", Tst_PutFloatInputField (Txt_Real_number_between_A_and_B_2,"AnsFloatMax",
Gbl.Test.Answer.FloatingPoint[1]); Gbl.Test.Answer.FloatingPoint[1]);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/* T/F answer */ /* T/F answer */
@ -5243,7 +5243,7 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">"); fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">");
Tst_PutTFInputField (Txt_TF_QST[0],'T'); Tst_PutTFInputField (Txt_TF_QST[0],'T');
Tst_PutTFInputField (Txt_TF_QST[1],'F'); Tst_PutTFInputField (Txt_TF_QST[1],'F');
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/* Questions can be shuffled? */ /* Questions can be shuffled? */
@ -5313,7 +5313,7 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
fprintf (Gbl.F.Out," checked=\"checked\""); fprintf (Gbl.F.Out," checked=\"checked\"");
fprintf (Gbl.F.Out," />"); fprintf (Gbl.F.Out," />");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Center column: letter of the answer and expand / contract icon *****/ /***** Center column: letter of the answer and expand / contract icon *****/
fprintf (Gbl.F.Out,"<td class=\"%s TEST_EDI_ANS_CENTER_COL COLOR%u\">" fprintf (Gbl.F.Out,"<td class=\"%s TEST_EDI_ANS_CENTER_COL COLOR%u\">"
@ -5349,7 +5349,7 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
NumOpt,Cfg_URL_ICON_PUBLIC, NumOpt,Cfg_URL_ICON_PUBLIC,
Gbl.Title,Gbl.Title); Gbl.Title,Gbl.Title);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Right column: content of the answer *****/ /***** Right column: content of the answer *****/
fprintf (Gbl.F.Out,"<td class=\"TEST_EDI_ANS_RIGHT_COL COLOR%u\">" fprintf (Gbl.F.Out,"<td class=\"TEST_EDI_ANS_RIGHT_COL COLOR%u\">"
@ -5397,7 +5397,7 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
Tbl_EndRow (); Tbl_EndRow ();
} }
Tbl_EndTable (); // Table with choice answers Tbl_EndTable (); // Table with choice answers
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** End table *****/ /***** End table *****/
@ -7465,7 +7465,7 @@ void Tst_SelUsrsToViewUsrsTstResults (void)
Usr_ListUsersToSelect (Rol_NET); Usr_ListUsersToSelect (Rol_NET);
Usr_ListUsersToSelect (Rol_STD); Usr_ListUsersToSelect (Rol_STD);
Tbl_EndTable (); Tbl_EndTable ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Starting and ending dates in the search *****/ /***** Starting and ending dates in the search *****/
@ -7830,21 +7830,21 @@ static void Tst_ShowTstResults (struct UsrData *UsrDat)
ClassDat,Gbl.RowEvenOdd); ClassDat,Gbl.RowEvenOdd);
if (ICanViewTest) if (ICanViewTest)
fprintf (Gbl.F.Out,"%u",NumQstsInThisTest); fprintf (Gbl.F.Out,"%u",NumQstsInThisTest);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write number of questions not blank */ /* Write number of questions not blank */
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP COLOR%u\">",
ClassDat,Gbl.RowEvenOdd); ClassDat,Gbl.RowEvenOdd);
if (ICanViewTest) if (ICanViewTest)
fprintf (Gbl.F.Out,"%u",NumQstsNotBlankInThisTest); fprintf (Gbl.F.Out,"%u",NumQstsNotBlankInThisTest);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write score */ /* Write score */
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP COLOR%u\">",
ClassDat,Gbl.RowEvenOdd); ClassDat,Gbl.RowEvenOdd);
if (ICanViewScore) if (ICanViewScore)
fprintf (Gbl.F.Out,"%.2lf",ScoreInThisTest); fprintf (Gbl.F.Out,"%.2lf",ScoreInThisTest);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write average score per question */ /* Write average score per question */
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP COLOR%u\">",
@ -7853,7 +7853,7 @@ static void Tst_ShowTstResults (struct UsrData *UsrDat)
fprintf (Gbl.F.Out,"%.2lf", fprintf (Gbl.F.Out,"%.2lf",
NumQstsInThisTest ? ScoreInThisTest / (double) NumQstsInThisTest : NumQstsInThisTest ? ScoreInThisTest / (double) NumQstsInThisTest :
0.0); 0.0);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write score over Tst_SCORE_MAX */ /* Write score over Tst_SCORE_MAX */
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP COLOR%u\">",
@ -7862,7 +7862,7 @@ static void Tst_ShowTstResults (struct UsrData *UsrDat)
fprintf (Gbl.F.Out,"%.2lf", fprintf (Gbl.F.Out,"%.2lf",
NumQstsInThisTest ? ScoreInThisTest * Tst_SCORE_MAX / (double) NumQstsInThisTest : NumQstsInThisTest ? ScoreInThisTest * Tst_SCORE_MAX / (double) NumQstsInThisTest :
0.0); 0.0);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Link to show this result */ /* Link to show this result */
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP COLOR%u\">",
@ -7875,7 +7875,7 @@ static void Tst_ShowTstResults (struct UsrData *UsrDat)
Ico_PutIconLink ("tasks.svg",Txt_View_test); Ico_PutIconLink ("tasks.svg",Txt_View_test);
Frm_EndForm (); Frm_EndForm ();
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
if (Gbl.Test.AllowTeachers) if (Gbl.Test.AllowTeachers)
@ -7968,21 +7968,21 @@ static void Tst_ShowTestResultsSummaryRow (bool ItsMe,
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
if (NumExams) if (NumExams)
fprintf (Gbl.F.Out,"%u",NumTotalQsts); fprintf (Gbl.F.Out,"%u",NumTotalQsts);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write total number of questions not blank *****/ /***** Write total number of questions not blank *****/
fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE COLOR%u\">",
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
if (NumExams) if (NumExams)
fprintf (Gbl.F.Out,"%u",NumTotalQstsNotBlank); fprintf (Gbl.F.Out,"%u",NumTotalQstsNotBlank);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write total score *****/ /***** Write total score *****/
fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE COLOR%u\">",
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
if (ICanViewTotalScore) if (ICanViewTotalScore)
fprintf (Gbl.F.Out,"%.2lf",TotalScoreOfAllTests); fprintf (Gbl.F.Out,"%.2lf",TotalScoreOfAllTests);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write average score per question *****/ /***** Write average score per question *****/
fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE COLOR%u\">",
@ -7991,7 +7991,7 @@ static void Tst_ShowTestResultsSummaryRow (bool ItsMe,
fprintf (Gbl.F.Out,"%.2lf", fprintf (Gbl.F.Out,"%.2lf",
NumTotalQsts ? TotalScoreOfAllTests / (double) NumTotalQsts : NumTotalQsts ? TotalScoreOfAllTests / (double) NumTotalQsts :
0.0); 0.0);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write score over Tst_SCORE_MAX *****/ /***** Write score over Tst_SCORE_MAX *****/
fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE COLOR%u\">",
@ -8001,7 +8001,7 @@ static void Tst_ShowTestResultsSummaryRow (bool ItsMe,
NumTotalQsts ? TotalScoreOfAllTests * Tst_SCORE_MAX / NumTotalQsts ? TotalScoreOfAllTests * Tst_SCORE_MAX /
(double) NumTotalQsts : (double) NumTotalQsts :
0.0); 0.0);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Last cell *****/ /***** Last cell *****/
fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP COLOR%u\"></td>", fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP COLOR%u\"></td>",
@ -8136,7 +8136,7 @@ void Tst_ShowOneTstResult (void)
Pho_ShowUsrPhoto (&Gbl.Usrs.Other.UsrDat,ShowPhoto ? PhotoURL : Pho_ShowUsrPhoto (&Gbl.Usrs.Other.UsrDat,ShowPhoto ? PhotoURL :
NULL, NULL,
"PHOTO45x60",Pho_ZOOM,false); "PHOTO45x60",Pho_ZOOM,false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/* Test date */ /* Test date */
@ -8192,7 +8192,7 @@ void Tst_ShowOneTstResult (void)
"<td class=\"DAT LEFT_TOP\">", "<td class=\"DAT LEFT_TOP\">",
Txt_Tags); Txt_Tags);
Tst_ShowTstTagsPresentInATestResult (TstCod); Tst_ShowTstTagsPresentInATestResult (TstCod);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Write answers and solutions *****/ /***** Write answers and solutions *****/

View File

@ -1037,7 +1037,7 @@ static void TsI_WriteRowImportedQst (struct XMLElement *StemElem,
ClassData,Gbl.RowEvenOdd); ClassData,Gbl.RowEvenOdd);
if (!QuestionExists) if (!QuestionExists)
fprintf (Gbl.F.Out,"%u&nbsp;",++NumNonExistingQst); fprintf (Gbl.F.Out,"%u&nbsp;",++NumNonExistingQst);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write the question tags *****/ /***** Write the question tags *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">",
@ -1067,7 +1067,7 @@ static void TsI_WriteRowImportedQst (struct XMLElement *StemElem,
fprintf (Gbl.F.Out,"<span class=\"%s\">&nbsp;(%s)&nbsp;</span>", fprintf (Gbl.F.Out,"<span class=\"%s\">&nbsp;(%s)&nbsp;</span>",
ClassData,Txt_no_tags); ClassData,Txt_no_tags);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write the question type *****/ /***** Write the question type *****/
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_TOP COLOR%u\">" fprintf (Gbl.F.Out,"<td class=\"%s CENTER_TOP COLOR%u\">"
@ -1091,7 +1091,7 @@ static void TsI_WriteRowImportedQst (struct XMLElement *StemElem,
Txt_TST_Answer_given_by_the_teachers, Txt_TST_Answer_given_by_the_teachers,
QuestionExists ? "ICO_HIDDEN " : QuestionExists ? "ICO_HIDDEN " :
""); "");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write the stem and the answers *****/ /***** Write the stem and the answers *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">",
@ -1161,7 +1161,7 @@ static void TsI_WriteRowImportedQst (struct XMLElement *StemElem,
Txt_TST_Answer_given_by_the_teachers, Txt_TST_Answer_given_by_the_teachers,
QuestionExists ? "ICO_HIDDEN " : QuestionExists ? "ICO_HIDDEN " :
""); "");
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/* Write the number of option */ /* Write the number of option */
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">"
@ -1180,7 +1180,7 @@ static void TsI_WriteRowImportedQst (struct XMLElement *StemElem,
"%s" "%s"
"</div>", "</div>",
AnswerFeedback); AnswerFeedback);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/* Free memory allocated for the answer and the feedback */ /* Free memory allocated for the answer and the feedback */
@ -1193,6 +1193,6 @@ static void TsI_WriteRowImportedQst (struct XMLElement *StemElem,
default: default:
break; break;
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }

View File

@ -1713,5 +1713,5 @@ static void TT_TimeTableDrawCell (unsigned Weekday,unsigned Interval,unsigned Co
Frm_EndForm (); Frm_EndForm ();
/***** End cell *****/ /***** End cell *****/
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }

View File

@ -3647,7 +3647,7 @@ void Usr_WriteRowUsrMainData (unsigned NumUsr,struct UsrData *UsrDat,
{ {
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE %s\">",BgColor); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE %s\">",BgColor);
Usr_PutCheckboxToSelectUser (Role,UsrDat->EncryptedUsrCod,UsrIsTheMsgSender); Usr_PutCheckboxToSelectUser (Role,UsrDat->EncryptedUsrCod,UsrIsTheMsgSender);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/***** User has accepted enrolment? *****/ /***** User has accepted enrolment? *****/
@ -3683,7 +3683,7 @@ void Usr_WriteRowUsrMainData (unsigned NumUsr,struct UsrData *UsrDat,
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL : Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
NULL, NULL,
"PHOTO21x28",Pho_ZOOM,false); "PHOTO21x28",Pho_ZOOM,false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/****** Write user's IDs ******/ /****** Write user's IDs ******/
@ -3692,7 +3692,7 @@ void Usr_WriteRowUsrMainData (unsigned NumUsr,struct UsrData *UsrDat,
"DAT_SMALL", "DAT_SMALL",
BgColor); BgColor);
ID_WriteUsrIDs (UsrDat,NULL); ID_WriteUsrIDs (UsrDat,NULL);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Write rest of main user's data *****/ /***** Write rest of main user's data *****/
Ins.InsCod = UsrDat->InsCod; Ins.InsCod = UsrDat->InsCod;
@ -3700,7 +3700,7 @@ void Usr_WriteRowUsrMainData (unsigned NumUsr,struct UsrData *UsrDat,
Usr_WriteMainUsrDataExceptUsrID (UsrDat,BgColor); Usr_WriteMainUsrDataExceptUsrID (UsrDat,BgColor);
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE %s\">",BgColor); fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE %s\">",BgColor);
Ins_DrawInstitutionLogoWithLink (&Ins,25); Ins_DrawInstitutionLogoWithLink (&Ins,25);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** End row *****/ /***** End row *****/
Tbl_EndRow (); Tbl_EndRow ();
@ -3730,7 +3730,7 @@ static void Usr_WriteRowGstAllData (struct UsrData *UsrDat)
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL : Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
NULL, NULL,
"PHOTO21x28",Pho_NO_ZOOM,false); "PHOTO21x28",Pho_NO_ZOOM,false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/****** Write user's ID ******/ /****** Write user's ID ******/
@ -3832,7 +3832,7 @@ static void Usr_WriteRowStdAllData (struct UsrData *UsrDat,char *GroupNames)
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL : Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
NULL, NULL,
"PHOTO21x28",Pho_NO_ZOOM,false); "PHOTO21x28",Pho_NO_ZOOM,false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/****** Write user's ID ******/ /****** Write user's ID ******/
@ -3951,7 +3951,7 @@ static void Usr_WriteRowTchAllData (struct UsrData *UsrDat)
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL : Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
NULL, NULL,
"PHOTO21x28",Pho_NO_ZOOM,false); "PHOTO21x28",Pho_NO_ZOOM,false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/****** Write the user's ID ******/ /****** Write the user's ID ******/
@ -4030,7 +4030,7 @@ static void Usr_WriteRowAdmData (unsigned NumUsr,struct UsrData *UsrDat)
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL : Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
NULL, NULL,
"PHOTO21x28",Pho_ZOOM,false); "PHOTO21x28",Pho_ZOOM,false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }
/****** Write the user's ID ******/ /****** Write the user's ID ******/
@ -4047,7 +4047,7 @@ static void Usr_WriteRowAdmData (unsigned NumUsr,struct UsrData *UsrDat)
Usr_WriteMainUsrDataExceptUsrID (UsrDat,Gbl.ColorRows[Gbl.RowEvenOdd]); Usr_WriteMainUsrDataExceptUsrID (UsrDat,Gbl.ColorRows[Gbl.RowEvenOdd]);
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE %s\">",Gbl.ColorRows[Gbl.RowEvenOdd]); fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE %s\">",Gbl.ColorRows[Gbl.RowEvenOdd]);
Ins_DrawInstitutionLogoWithLink (&Ins,25); Ins_DrawInstitutionLogoWithLink (&Ins,25);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Write degrees which are administrated by this administrator *****/ /***** Write degrees which are administrated by this administrator *****/
@ -6558,7 +6558,7 @@ static void Usr_ListMainDataStds (bool PutCheckBoxToSelectUsr)
fprintf (Gbl.F.Out,"<td colspan=\"%u\" class=\"TIT CENTER_MIDDLE\">", fprintf (Gbl.F.Out,"<td colspan=\"%u\" class=\"TIT CENTER_MIDDLE\">",
1 + Usr_NUM_MAIN_FIELDS_DATA_USR); 1 + Usr_NUM_MAIN_FIELDS_DATA_USR);
Grp_WriteNamesOfSelectedGrps (); Grp_WriteNamesOfSelectedGrps ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -6887,7 +6887,7 @@ void Usr_ListAllDataStds (void)
fprintf (Gbl.F.Out,"<td colspan=\"%u\" class=\"TIT CENTER_MIDDLE\">", fprintf (Gbl.F.Out,"<td colspan=\"%u\" class=\"TIT CENTER_MIDDLE\">",
NumColumnsTotal); NumColumnsTotal);
Grp_WriteNamesOfSelectedGrps (); Grp_WriteNamesOfSelectedGrps ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -7251,7 +7251,7 @@ unsigned Usr_ListUsrsFound (Rol_Role_t Role,
} }
else else
Crs_GetAndWriteCrssOfAUsr (&UsrDat,Role); Crs_GetAndWriteCrssOfAUsr (&UsrDat,Role);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -8981,7 +8981,7 @@ static void Usr_DrawClassPhoto (Usr_ClassPhotoType_t ClassPhotoType,
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
/***** End user's cell *****/ /***** End user's cell *****/
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
if ((++NumUsr % Gbl.Usrs.ClassPhoto.Cols) == 0) if ((++NumUsr % Gbl.Usrs.ClassPhoto.Cols) == 0)
{ {
@ -9749,7 +9749,7 @@ void Usr_ShowTableCellWithUsrData (struct UsrData *UsrDat,unsigned NumRows)
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL : Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
NULL, NULL,
"PHOTO45x60",Pho_ZOOM,false); "PHOTO45x60",Pho_ZOOM,false);
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
/***** Start form to go to user's record card *****/ /***** Start form to go to user's record card *****/
fprintf (Gbl.F.Out,"<td "); fprintf (Gbl.F.Out,"<td ");
@ -9787,6 +9787,6 @@ void Usr_ShowTableCellWithUsrData (struct UsrData *UsrDat,unsigned NumRows)
/***** End form *****/ /***** End form *****/
Frm_EndForm (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
} }

View File

@ -618,7 +618,7 @@ static void ZIP_ShowLinkToDownloadZIP (const char *FileName,const char *URL,
fprintf (Gbl.F.Out," (%s %s)", fprintf (Gbl.F.Out," (%s %s)",
FileSizeStr,Txt_FILE_uncompressed); FileSizeStr,Txt_FILE_uncompressed);
} }
fprintf (Gbl.F.Out,"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** End table and box *****/ /***** End table and box *****/