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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -213,13 +213,13 @@ void Ctr_SeeCtrWithPendingDegs (void)
BgColor);
Ctr_DrawCentreLogoAndNameWithLink (&Ctr,ActSeeDeg,
"DAT_NOBR","CENTER_MIDDLE");
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Number of pending degrees (row[1]) */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE %s\">"
"%s"
"</td>",
"%s",
BgColor,row[1]);
Tbl_EndCell ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
Tbl_EndRow ();
@ -410,11 +410,11 @@ static void Ctr_Configuration (bool PrintView)
/***** Institution *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"OthInsCod\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"DAT_N LEFT_MIDDLE\">",
"<label for=\"OthInsCod\" class=\"%s\">%s:</label>",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Institution);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N LEFT_MIDDLE\">");
if (!PrintView &&
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
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Ins.FullName);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Centre full name *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"FullName\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"DAT_N LEFT_MIDDLE\">",
"<label for=\"FullName\" class=\"%s\">%s:</label>",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Centre);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N LEFT_MIDDLE\">");
if (!PrintView &&
Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM)
// 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
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Ctr.FullName);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Centre short name *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"ShortName\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"DAT_N LEFT_MIDDLE\">",
"<label for=\"ShortName\" class=\"%s\">%s:</label>",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Short_name);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N LEFT_MIDDLE\">");
if (!PrintView &&
Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM)
// 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
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Ctr.ShrtName);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Place *****/
@ -512,11 +514,12 @@ static void Ctr_Configuration (bool PrintView)
Plc_GetDataOfPlaceByCod (&Plc);
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">",
"%s:",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Place);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
if (!PrintView &&
Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM)
// 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
fprintf (Gbl.F.Out,"%s",Plc.FullName);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Centre WWW *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"WWW\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">",
"<label for=\"WWW\" class=\"%s\">%s:</label>",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Web);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
if (!PrintView &&
Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM)
// Only centre admins, institution admins and system admins
@ -586,41 +590,44 @@ static void Ctr_Configuration (bool PrintView)
"</div>",
Gbl.Hierarchy.Ctr.WWW,
Gbl.Hierarchy.Ctr.WWW);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Shortcut to the centre *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
"%s:",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Shortcut);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"<a href=\"%s/%s?ctr=%ld\" class=\"DAT\" target=\"_blank\">"
"%s/%s?ctr=%ld"
"</a>"
"</td>",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Shortcut,
"</a>",
Cfg_URL_SWAD_CGI,
Lan_STR_LANG_ID[Gbl.Prefs.Language],
Gbl.Hierarchy.Ctr.CtrCod,
Cfg_URL_SWAD_CGI,
Lan_STR_LANG_ID[Gbl.Prefs.Language],
Gbl.Hierarchy.Ctr.CtrCod);
Tbl_EndCell ();
Tbl_EndRow ();
if (PrintView)
{
/***** QR code with link to the centre *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">",
"%s:",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_QR_code);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
QR_LinkTo (250,"ctr",Gbl.Hierarchy.Ctr.CtrCod);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
else
@ -628,24 +635,24 @@ static void Ctr_Configuration (bool PrintView)
/***** Number of users who claim to belong to this centre *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
"%u"
"</td>",
"%s:",
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));
Tbl_EndCell ();
Tbl_EndRow ();
/***** Number of degrees *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"LEFT_MIDDLE\">",
"%s:",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Degrees);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
/* Form to go to see degrees of this centre */
Frm_StartFormGoTo (ActSeeDeg);
@ -658,20 +665,20 @@ static void Ctr_Configuration (bool PrintView)
Deg_GetNumDegsInCtr (Gbl.Hierarchy.Ctr.CtrCod));
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Number of courses *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
"%u"
"</td>",
"%s:",
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));
Tbl_EndCell ();
Tbl_EndRow ();
/***** 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];
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
"%u"
"</td>",
"%s:",
The_ClassFormInBox[Gbl.Prefs.Theme],
(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));
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -904,54 +914,55 @@ static void Ctr_ListOneCentreForSeeing (struct Centre *Ctr,unsigned NumCtr)
BgColor = (Ctr->CtrCod == Gbl.Hierarchy.Ctr.CtrCod) ? "LIGHT_BLUE" :
Gbl.ColorRows[Gbl.RowEvenOdd];
/***** Number of centre in this list *****/
Tbl_StartRow ();
/***** Number of centre in this list *****/
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">"
"%u"
"</td>",
"%u",
TxtClassNormal,BgColor,
NumCtr);
Tbl_EndCell ();
/***** Centre logo and name *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE %s\">",BgColor);
Ctr_DrawCentreLogoAndNameWithLink (Ctr,ActSeeDeg,
TxtClassStrong,"CENTER_MIDDLE");
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Number of users who claim to belong to this centre *****/
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">"
"%u"
"</td>",
"%u",
TxtClassNormal,BgColor,
Ctr->NumUsrsWhoClaimToBelongToCtr);
Tbl_EndCell ();
/***** Place *****/
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE %s\">"
"%s"
"</td>",
"%s",
TxtClassNormal,BgColor,
Plc.ShrtName);
Tbl_EndCell ();
/***** Number of degrees *****/
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">"
"%u"
"</td>",
"%u",
TxtClassNormal,BgColor,
Ctr->Degs.Num);
Tbl_EndCell ();
/***** Number of courses *****/
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">"
"%u"
"</td>",
"%u",
TxtClassNormal,BgColor,
Ctr->NumCrss);
Tbl_EndCell ();
/***** Number of users in courses of this centre *****/
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">"
"%u"
"</td>",
"%u",
TxtClassNormal,BgColor,
Ctr->NumUsrs);
Tbl_EndCell ();
/***** Centre status *****/
StatusTxt = Ctr_GetStatusTxtFromStatusBits (Ctr->Status);
@ -959,7 +970,7 @@ static void Ctr_ListOneCentreForSeeing (struct Centre *Ctr,unsigned NumCtr)
TxtClassNormal,BgColor);
if (StatusTxt != Ctr_STATUS_ACTIVE) // If active ==> do not show anything
fprintf (Gbl.F.Out,"%s",Txt_CENTRE_STATUS[StatusTxt]);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
@ -1510,20 +1521,20 @@ static void Ctr_ListCentresForEdition (void)
Ico_PutIconRemove ();
Frm_EndForm ();
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Centre code */
fprintf (Gbl.F.Out,"<td class=\"DAT CODE\">"
"%ld"
"</td>",
"%ld",
Ctr->CtrCod);
Tbl_EndCell ();
/* Centre logo */
fprintf (Gbl.F.Out,"<td title=\"%s\" class=\"LEFT_MIDDLE\""
" style=\"width:25px;\">",
Ctr->FullName);
Log_DrawLogo (Hie_CTR,Ctr->CtrCod,Ctr->ShrtName,20,NULL,true);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Place */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
@ -1555,7 +1566,7 @@ static void Ctr_ListCentresForEdition (void)
NumPlc++)
if (Gbl.Plcs.Lst[NumPlc].PlcCod == Ctr->PlcCod)
fprintf (Gbl.F.Out,"%s",Gbl.Plcs.Lst[NumPlc].ShrtName);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Centre short name */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
@ -1569,11 +1580,11 @@ static void Ctr_ListCentresForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />",
Hie_MAX_CHARS_SHRT_NAME,Ctr->ShrtName,Gbl.Form.Id);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
}
else
fprintf (Gbl.F.Out,"%s",Ctr->ShrtName);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Centre full name */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
@ -1587,11 +1598,11 @@ static void Ctr_ListCentresForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />",
Hie_MAX_CHARS_FULL_NAME,Ctr->FullName,Gbl.Form.Id);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
}
else
fprintf (Gbl.F.Out,"%s",Ctr->FullName);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Centre WWW */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
@ -1618,32 +1629,32 @@ static void Ctr_ListCentresForEdition (void)
"</div>",
Ctr->WWW,Ctr->WWW,WWW);
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Number of users who claim to belong to this centre */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u"
"</td>",
"%u",
Ctr->NumUsrsWhoClaimToBelongToCtr);
Tbl_EndCell ();
/* Number of degrees */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u"
"</td>",
"%u",
Ctr->Degs.Num);
Tbl_EndCell ();
/* Number of users in courses of this centre */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u"
"</td>",
"%u",
Ctr->NumUsrs);
Tbl_EndCell ();
/* Centre requester */
UsrDat.UsrCod = Ctr->RequesterUsrCod;
Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS);
fprintf (Gbl.F.Out,"<td class=\"DAT INPUT_REQUESTER LEFT_TOP\">");
Msg_WriteMsgAuthor (&UsrDat,true,NULL);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Centre 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
fprintf (Gbl.F.Out,"%s",Txt_CENTRE_STATUS[StatusTxt]);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -2522,15 +2533,17 @@ static void Ctr_PutFormToCreateCentre (void)
/***** Column to remove centre, disabled here *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\"></td>");
fprintf (Gbl.F.Out,"<td class=\"BM\">");
Tbl_EndCell ();
/***** Centre code *****/
fprintf (Gbl.F.Out,"<td class=\"CODE\"></td>");
fprintf (Gbl.F.Out,"<td class=\"CODE\">");
Tbl_EndCell ();
/***** Centre logo *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:25px;\">");
Log_DrawLogo (Hie_CTR,-1L,"",20,NULL,true);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Place *****/
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].ShrtName);
fprintf (Gbl.F.Out,"</select>"
"</td>");
fprintf (Gbl.F.Out,"</select>");
Tbl_EndCell ();
/***** Centre short name *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"text\" name=\"ShortName\""
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_SHORT_NAME\""
" required=\"required\" />"
"</td>",
" required=\"required\" />",
Hie_MAX_CHARS_SHRT_NAME,Ctr_EditingCtr->ShrtName);
Tbl_EndCell ();
/***** Centre full name *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"text\" name=\"FullName\""
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_FULL_NAME\""
" required=\"required\" />"
"</td>",
" required=\"required\" />",
Hie_MAX_CHARS_FULL_NAME,Ctr_EditingCtr->FullName);
Tbl_EndCell ();
/***** Centre WWW *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"url\" name=\"WWW\""
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_WWW\""
" required=\"required\" />"
"</td>",
" required=\"required\" />",
Cns_MAX_CHARS_WWW,Ctr_EditingCtr->WWW);
Tbl_EndCell ();
/***** Number of users who claim to belong to this centre *****/
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"0"
"</td>");
"0");
Tbl_EndCell ();
/***** Number of degrees *****/
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"0"
"</td>");
"0");
Tbl_EndCell ();
/***** Number of users in courses of this centre *****/
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"0"
"</td>");
"0");
Tbl_EndCell ();
/***** Centre requester *****/
fprintf (Gbl.F.Out,"<td class=\"DAT INPUT_REQUESTER LEFT_TOP\">");
Msg_WriteMsgAuthor (&Gbl.Usrs.Me.UsrDat,true,NULL);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Centre status *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"</td>");
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
Tbl_EndCell ();
Tbl_EndRow ();
/***** 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:
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 JS_FILE "swad19.30.js"
/*
// TODO: Perico: poner un candado de bloqueo de creación/edición de proyectos (por ejemplo en asignaturas obsoletas)
Version 19.31.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.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)

View File

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

View File

@ -140,34 +140,36 @@ void Cla_SeeClassrooms (void)
NumCla < Gbl.Classrooms.Num;
NumCla++, RowEvenOdd = 1 - RowEvenOdd)
{
/* Short name */
Tbl_StartRow ();
/* Short name */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE %s\">"
"%s"
"</td>",
"%s",
Gbl.ColorRows[RowEvenOdd],
Gbl.Classrooms.Lst[NumCla].ShrtName);
Tbl_EndRow ();
/* Full name */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE %s\">"
"%s"
"</td>",
"%s",
Gbl.ColorRows[RowEvenOdd],
Gbl.Classrooms.Lst[NumCla].FullName);
Tbl_EndRow ();
/* Capacity */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE %s\">",
Gbl.ColorRows[RowEvenOdd]);
Cla_WriteCapacity (Gbl.Classrooms.Lst[NumCla].Capacity);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Location */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE %s\">"
"%s"
"</td>",
"%s",
Gbl.ColorRows[RowEvenOdd],
Gbl.Classrooms.Lst[NumCla].Location);
Tbl_EndRow ();
Tbl_EndRow ();
}
/***** End table *****/
@ -491,13 +493,13 @@ static void Cla_ListClassroomsForEdition (void)
Cla_PutParamClaCod (Cla->ClaCod);
Ico_PutIconRemove ();
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Classroom code */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%ld"
"</td>",
"%ld",
Cla->ClaCod);
Tbl_EndRow ();
/* Classroom short name */
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
@ -509,7 +511,7 @@ static void Cla_ListClassroomsForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />",
Cla_MAX_CHARS_SHRT_NAME,Cla->ShrtName,Gbl.Form.Id);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Classroom full name */
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
@ -521,7 +523,7 @@ static void Cla_ListClassroomsForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />",
Cla_MAX_CHARS_FULL_NAME,Cla->FullName,Gbl.Form.Id);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Seating capacity */
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();\" />",
Gbl.Form.Id);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Classroom location */
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
@ -545,7 +547,7 @@ static void Cla_ListClassroomsForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />",
Cla_MAX_CHARS_LOCATION,Cla->Location,Gbl.Form.Id);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -900,48 +902,52 @@ static void Cla_PutFormToCreateClassroom (void)
/***** Write heading *****/
Cla_PutHeadClassrooms ();
/***** Column to remove classroom, disabled here *****/
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 *****/
fprintf (Gbl.F.Out,"<td class=\"CODE\"></td>");
fprintf (Gbl.F.Out,"<td class=\"CODE\">");
Tbl_EndRow ();
/***** Classroom short name *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"text\" name=\"ShortName\""
" size=\"10\" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_SHORT_NAME\""
" required=\"required\" />"
"</td>",
" required=\"required\" />",
Cla_MAX_CHARS_SHRT_NAME,Cla_EditingCla->ShrtName);
Tbl_EndRow ();
/***** Classroom full name *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"text\" name=\"FullName\""
" size=\"20\" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_FULL_NAME\""
" required=\"required\" />"
"</td>",
" required=\"required\" />",
Cla_MAX_CHARS_FULL_NAME,Cla_EditingCla->FullName);
Tbl_EndRow ();
/***** Seating capacity *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"text\" name=\"Capacity\""
" size=\"3\" maxlength=\"10\" value=\"");
Cla_WriteCapacity (Cla_EditingCla->Capacity);
fprintf (Gbl.F.Out,"\" />"
"</td>");
fprintf (Gbl.F.Out,"\" />");
Tbl_EndRow ();
/***** Classroom location *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"text\" name=\"Location\""
" size=\"15\" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_FULL_NAME\" />"
"</td>",
" class=\"INPUT_FULL_NAME\" />",
Cla_MAX_CHARS_LOCATION,Cla_EditingCla->Location);
Tbl_EndRow ();
Tbl_EndRow ();
/***** End table, send button and end box *****/
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\">"
"writeLocalDateHMSFromUTC('connected_current_time',%ld,"
"%u,',&nbsp;',null,false,true,0x7);"
"</script>"
"</td>",
"</script>",
(long) Gbl.StartExecutionTimeUTC,
(unsigned) Gbl.Prefs.DateFormat);
Tbl_EndRow ();
/***** Number of connected users in the whole platform *****/
Con_ShowGlobalConnectedUsrs ();
@ -359,12 +359,12 @@ static void Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnMainZone (
{
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"CENTER_TOP\">"
"%u %s"
"</td>",
"%u %s",
Usrs.NumUsrs,
(Usrs.NumUsrs == 1) ? Txt_ROLES_SINGUL_abc[Role][Usrs.Sex] :
Txt_ROLES_PLURAL_abc[Role][Usrs.Sex]);
Tbl_EndRow ();
Tbl_EndRow ();
/***** I can see connected users *****/
Con_ShowConnectedUsrsCurrentLocationOneByOneOnMainZone (Role);
@ -393,12 +393,12 @@ static void Con_ShowConnectedUsrsWithARoleBelongingToCurrentCrsOnRightColumn (Ro
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"CON_USR_NARROW_TIT\">"
"%u %s"
"</td>",
"%u %s",
NumUsrsThisRole,
(NumUsrsThisRole == 1) ? Txt_ROLES_SINGUL_abc[Role][UsrSex] :
Txt_ROLES_PLURAL_abc[Role][UsrSex]);
Tbl_EndRow ();
Tbl_EndRow ();
/***** I can see connected users *****/
Con_ShowConnectedUsrsCurrentCrsOneByOneOnRightColumn (Role);
@ -419,7 +419,7 @@ static void Con_ShowConnectedUsrsWithARoleBelongingToCurrentCrsOnRightColumn (Ro
Cfg_URL_ICON_PUBLIC,
Txt_Connected_users,Txt_Connected_users);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
}
@ -823,7 +823,7 @@ static void Con_WriteRowConnectedUsrOnRightColumn (Rol_Role_t Role)
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
NULL,
"PHOTO21x28",Pho_ZOOM,true);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Write full name and link *****/
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>"
"</div>");
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Write time from last access *****/
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);
fprintf (Gbl.F.Out,"</div>"); // Used for automatic update, only when displayed on right column
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
if (!ItsMe)
@ -1043,7 +1043,7 @@ static void Con_ShowConnectedUsrsCurrentLocationOneByOneOnMainZone (Rol_Role_t R
Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL :
NULL,
"PHOTO21x28",Pho_ZOOM,false);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Write full name and link *****/
Font = (ThisCrs ? "CON_NAME_WIDE CON_CRS" :
@ -1075,7 +1075,7 @@ static void Con_ShowConnectedUsrsCurrentLocationOneByOneOnMainZone (Rol_Role_t R
fprintf (Gbl.F.Out,"</div>");
if (PutLinkToRecord)
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Write time from last access *****/
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\">",
Font,Gbl.RowEvenOdd);
Dat_WriteHoursMinutesSecondsFromSeconds (TimeDiff);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;

View File

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

View File

@ -276,7 +276,7 @@ static void Crs_Configuration (bool PrintView)
else // I can not move course to another degree
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Deg.FullName);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Course full name *****/
@ -305,7 +305,7 @@ static void Crs_Configuration (bool PrintView)
}
else // I can not edit course full name
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Crs.FullName);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Course short name *****/
@ -334,7 +334,7 @@ static void Crs_Configuration (bool PrintView)
}
else // I can not edit course short name
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Crs.ShrtName);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Course year *****/
@ -367,7 +367,7 @@ static void Crs_Configuration (bool PrintView)
fprintf (Gbl.F.Out,"%s",
Gbl.Hierarchy.Crs.Year ? Txt_YEAR_OF_DEGREE[Gbl.Hierarchy.Crs.Year] :
Txt_Not_applicable);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
if (!PrintView)
@ -395,7 +395,7 @@ static void Crs_Configuration (bool PrintView)
}
else
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Crs.InstitutionalCrsCod);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Internal code of the course *****/
@ -442,7 +442,7 @@ static void Crs_Configuration (bool PrintView)
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_QR_code);
QR_LinkTo (250,"crs",Gbl.Hierarchy.Crs.CrsCod);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
else
@ -478,7 +478,7 @@ static void Crs_Configuration (bool PrintView)
"exclamation-triangle.svg",
Gbl.Title);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -1309,7 +1309,7 @@ static bool Crs_ListCoursesOfAYearForSeeing (unsigned Year)
fprintf (Gbl.F.Out,"%s</a>",
Crs->FullName);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Current number of teachers in this course */
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">"
@ -1332,7 +1332,7 @@ static bool Crs_ListCoursesOfAYearForSeeing (unsigned Year)
TxtClassNormal,BgColor);
if (StatusTxt != Crs_STATUS_ACTIVE) // If active ==> do not show anything
fprintf (Gbl.F.Out,"%s",Txt_COURSE_STATUS[StatusTxt]);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
}
@ -1485,7 +1485,7 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
Ico_PutIconRemove ();
Frm_EndForm ();
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Course code */
fprintf (Gbl.F.Out,"<td class=\"DAT CODE\">"
@ -1510,7 +1510,7 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
}
else
fprintf (Gbl.F.Out,"%s",Crs->InstitutionalCrsCod);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Course year */
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_MIDDLE\">");
@ -1535,7 +1535,7 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
}
else
fprintf (Gbl.F.Out,"%s",Txt_YEAR_OF_DEGREE[Crs->Year]);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Course short name */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
@ -1553,7 +1553,7 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
}
else
fprintf (Gbl.F.Out,"%s",Crs->ShrtName);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Course full name */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
@ -1571,7 +1571,7 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
}
else
fprintf (Gbl.F.Out,"%s",Crs->FullName);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Current number of teachers in this course */
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);
fprintf (Gbl.F.Out,"<td class=\"DAT INPUT_REQUESTER LEFT_TOP\">");
Msg_WriteMsgAuthor (&UsrDat,true,NULL);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Course 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
fprintf (Gbl.F.Out,"%s",Txt_COURSE_STATUS[StatusTxt]);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
}
@ -1764,7 +1764,7 @@ static void Crs_PutFormToCreateCourse (void)
/***** Course requester *****/
fprintf (Gbl.F.Out,"<td class=\"DAT INPUT_REQUESTER LEFT_TOP\">");
Msg_WriteMsgAuthor (&Gbl.Usrs.Me.UsrDat,true,NULL);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Course status *****/
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>",
row[2],row[6]);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Write year (row[4]) *****/
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);
fprintf (Gbl.F.Out,"%s</a>",row[5]);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Write number of teachers in course *****/
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
Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second
false); // Don't submit on change
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -517,7 +517,7 @@ void Dat_PutFormStartEndClientLocalDateTimes (time_t TimeUTC[2],
FormSeconds,
Dat_HMS_DO_NOT_SET, // Don't set hour, minute and second
false); // Don't submit on change
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
}

View File

@ -218,7 +218,7 @@ void Deg_SeeDegWithPendingCrss (void)
BgColor);
Deg_DrawDegreeLogoAndNameWithLink (&Deg,ActSeeCrs,
"DAT_NOBR","CENTER_MIDDLE");
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Number of pending courses (row[1]) */
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
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Ctr.FullName);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Degree full name *****/
@ -410,7 +410,7 @@ static void Deg_Configuration (bool PrintView)
}
else // I can not edit degree full name
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Deg.FullName);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Degree short name *****/
@ -440,7 +440,7 @@ static void Deg_Configuration (bool PrintView)
}
else // I can not edit degree short name
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Deg.ShrtName);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Degree WWW *****/
@ -475,7 +475,7 @@ static void Deg_Configuration (bool PrintView)
"</div>",
Gbl.Hierarchy.Deg.WWW,
Gbl.Hierarchy.Deg.WWW);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Shortcut to the degree *****/
@ -509,7 +509,7 @@ static void Deg_Configuration (bool PrintView)
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_QR_code);
QR_LinkTo (250,"deg",Gbl.Hierarchy.Deg.DegCod);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
else
@ -534,7 +534,7 @@ static void Deg_Configuration (bool PrintView)
Crs_GetNumCrssInDeg (Gbl.Hierarchy.Deg.DegCod));
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Number of users *****/
@ -732,7 +732,7 @@ static void Deg_ListDegreesForEdition (void)
Ico_PutIconRemove ();
Frm_EndForm ();
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Degree 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;\">",
Deg->FullName);
Log_DrawLogo (Hie_DEG,Deg->DegCod,Deg->ShrtName,20,NULL,true);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Degree short name */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
@ -761,7 +761,7 @@ static void Deg_ListDegreesForEdition (void)
}
else
fprintf (Gbl.F.Out,"%s",Deg->ShrtName);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Degree full name */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
@ -778,7 +778,7 @@ static void Deg_ListDegreesForEdition (void)
}
else
fprintf (Gbl.F.Out,"%s",Deg->FullName);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Degree type */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
@ -810,7 +810,7 @@ static void Deg_ListDegreesForEdition (void)
NumDegTyp++)
if (Gbl.DegTypes.Lst[NumDegTyp].DegTypCod == Deg->DegTypCod)
fprintf (Gbl.F.Out,"%s",Gbl.DegTypes.Lst[NumDegTyp].DegTypName);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Degree WWW */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
@ -837,7 +837,7 @@ static void Deg_ListDegreesForEdition (void)
"</div>",
Deg->WWW,Deg->WWW,WWW);
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Current number of courses in this degree */
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);
fprintf (Gbl.F.Out,"<td class=\"DAT INPUT_REQUESTER LEFT_TOP\">");
Msg_WriteMsgAuthor (&UsrDat,true,NULL);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Degree 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
fprintf (Gbl.F.Out,"%s",Txt_DEGREE_STATUS[StatusTxt]);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -974,7 +974,7 @@ static void Deg_PutFormToCreateDegree (void)
/***** Degree logo *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:25px;\">");
Log_DrawLogo (Hie_DEG,-1L,"",20,NULL,true);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Degree short name *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
@ -1028,7 +1028,7 @@ static void Deg_PutFormToCreateDegree (void)
/***** Degree requester *****/
fprintf (Gbl.F.Out,"<td class=\"DAT INPUT_REQUESTER LEFT_TOP\">");
Msg_WriteMsgAuthor (&Gbl.Usrs.Me.UsrDat,true,NULL);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Degree status *****/
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);
Deg_DrawDegreeLogoAndNameWithLink (Deg,ActSeeCrs,
TxtClassStrong,"CENTER_MIDDLE");
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Type of degree *****/
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);
if (StatusTxt != Deg_STATUS_ACTIVE) // If active ==> do not show anything
fprintf (Gbl.F.Out,"%s",Txt_DEGREE_STATUS[StatusTxt]);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
@ -2593,7 +2593,7 @@ void Hie_GetAndWriteInsCtrDegAdminBy (long UsrCod,unsigned ColSpan)
Lay_WrongScopeExit ();
break;
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}

View File

@ -431,7 +431,7 @@ static void DT_ListDegreeTypesForEdition (void)
Gbl.DegTypes.Lst[NumDegTyp].DegTypName,
Gbl.Form.Id);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Number of degrees of this type */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"

View File

@ -520,7 +520,7 @@ static void Dpt_ListDepartmentsForEdition (void)
Ico_PutIconRemove ();
Frm_EndForm ();
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Department code */
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);
fprintf (Gbl.F.Out,"</select>");
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Department short name */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -561,7 +561,7 @@ static void Dpt_ListDepartmentsForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />",
Hie_MAX_CHARS_SHRT_NAME,Dpt->ShrtName,Gbl.Form.Id);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Department full name */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -573,7 +573,7 @@ static void Dpt_ListDepartmentsForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />",
Hie_MAX_CHARS_FULL_NAME,Dpt->FullName,Gbl.Form.Id);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Department WWW */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -585,7 +585,7 @@ static void Dpt_ListDepartmentsForEdition (void)
" onchange=\"document.getElementById('%s').submit();\" />",
Cns_MAX_CHARS_WWW,Dpt->WWW,Gbl.Form.Id);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Number of teachers */
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 */
Dup_PutButtonToRemoveFromListOfDupUsrs (&UsrDat);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
@ -333,7 +333,7 @@ static void Dup_ListSimilarUsrs (void)
Crs_GetAndWriteCrssOfAUsr (&UsrDat,Rol_NET);
Crs_GetAndWriteCrssOfAUsr (&UsrDat,Rol_STD);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
Tbl_StartRow ();
@ -352,7 +352,7 @@ static void Dup_ListSimilarUsrs (void)
if (Dup_CheckIfUsrIsDup (UsrDat.UsrCod))
Dup_PutButtonToRemoveFromListOfDupUsrs (&UsrDat);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;

View File

@ -2301,7 +2301,7 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
"<td class=\"LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Scope);
Sco_PutSelectorScope ("ScopeEnr",true);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/* Users' roles in listing */
@ -2316,7 +2316,7 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
1 << Rol_TCH,
RolesSelected,
false,true);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/* End table and form */
@ -2882,7 +2882,7 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
"</a>",
Deg.ShrtName,Crs.ShrtName);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Number of teachers in the course *****/
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP\">"
@ -2897,7 +2897,7 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL :
NULL,
"PHOTO21x28",Pho_ZOOM,false);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** User name *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">"
@ -2938,7 +2938,7 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod);
Btn_PutCreateButtonInline (Txt_Register);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Button to reject the request *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">");
@ -2947,7 +2947,7 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod);
Btn_PutRemoveButtonInline (Txt_Reject);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** 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);
if (TypeViewExamAnnouncement == Exa_NORMAL_VIEW)
fprintf (Gbl.F.Out,"</a>");
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Title *****/
@ -1106,7 +1106,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
else
fprintf (Gbl.F.Out,"<strong>%s</strong>",
Gbl.ExamAnns.ExaDat.CrsFullName);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Year/semester (N.A., 1º, 2º, 3º, 4º, 5º...) *****/
@ -1138,7 +1138,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
else
fprintf (Gbl.F.Out,"%s",
Txt_YEAR_OF_DEGREE[Gbl.ExamAnns.ExaDat.Year]);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Exam session *****/
@ -1157,7 +1157,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Exa_MAX_CHARS_SESSION,Gbl.ExamAnns.ExaDat.Session);
else
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.Session);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Date of the exam *****/
@ -1175,7 +1175,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Gbl.Now.Date.Year + 1,"Exam",
&(Gbl.ExamAnns.ExaDat.ExamDate),
false,false);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
}
else
{
@ -1231,7 +1231,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
fprintf (Gbl.F.Out,"%2u:%02u",
Gbl.ExamAnns.ExaDat.StartTime.Hour,
Gbl.ExamAnns.ExaDat.StartTime.Minute);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Approximate duration of the exam *****/
@ -1297,7 +1297,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Gbl.ExamAnns.ExaDat.Duration.Minute,Txt_minutes);
}
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Place where the exam will be made *****/
@ -1322,7 +1322,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Cns_MAX_BYTES_TEXT,false);
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.Place);
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Exam mode *****/
@ -1347,7 +1347,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Cns_MAX_BYTES_TEXT,false);
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.Mode);
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Structure of the exam *****/
@ -1372,7 +1372,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Cns_MAX_BYTES_TEXT,false);
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.Structure);
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Documentation required *****/
@ -1397,7 +1397,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Cns_MAX_BYTES_TEXT,false);
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.DocRequired);
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Material required *****/
@ -1422,7 +1422,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Cns_MAX_BYTES_TEXT,false);
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.MatRequired);
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Material allowed *****/
@ -1447,7 +1447,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Cns_MAX_BYTES_TEXT,false);
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.MatAllowed);
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Other information to students *****/
@ -1471,7 +1471,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Cns_MAX_BYTES_TEXT,false);
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.OtherInfo);
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** End table, send button and end box *****/

View File

@ -559,7 +559,7 @@ static void Fig_GetAndShowUsersRanking (void)
fprintf (Gbl.F.Out,"</td>"
"<td class=\"DAT LEFT_TOP\">");
Prf_GetAndShowRankingMsgSnt ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** End table and box *****/
@ -1025,7 +1025,7 @@ static void Fig_ShowHierarchyCell (const char *ClassTxt,int Num)
fprintf (Gbl.F.Out,"%d",Num);
else // < 0 ==> do not show number
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);
/***** End user's cell *****/
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
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);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Write statistic *****/
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"

View File

@ -3199,7 +3199,7 @@ static void Brw_ShowFileBrowsersAsgWrkCrs (void)
Brw_InitializeFileBrowser ();
Brw_ShowFileBrowser ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
}
@ -3367,7 +3367,7 @@ static void Brw_ShowDataOwnerAsgWrk (struct UsrData *UsrDat)
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
NULL,
"PHOTO60x80",Pho_ZOOM,false);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Start form to send a message to this user *****/
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,"</td>");
Tbl_EndCell ();
}
/*****************************************************************************/
@ -5616,7 +5616,7 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,const char *RowId,
/* Icon with file type or link */
fprintf (Gbl.F.Out,"<td class=\"BM%u\">",Gbl.RowEvenOdd);
Brw_PutIconFileWithLinkToViewMetadata (16,&FileMetadata);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
}
/* Check if is a new file or folder */
@ -5630,7 +5630,7 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,const char *RowId,
/* End column */
Tbl_EndRow ();
Tbl_EndTable ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
if (AdminMarks)
/***** 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
!(SeeDocsZone && RowSetAsHidden)) // When seeing docs, if folder is not hidden (this could happen for Level == 0)
Brw_PutButtonToDownloadZIPOfAFolder ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
}
else // File or link
/***** User who created the file or folder *****/
@ -5765,7 +5765,7 @@ static void Brw_PutIconRemove (void)
else
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],
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);
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
}
/*****************************************************************************/
@ -5852,11 +5852,11 @@ static void Brw_IndentAndWriteIconExpandContract (unsigned Level,
false); // Visible
break;
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
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);
Ico_PutContextualIconToUnhide (Brw_ActShow[Gbl.FileBrowser.Type],Anchor,
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);
Ico_PutContextualIconToHide (Brw_ActHide[Gbl.FileBrowser.Type],Anchor,
Brw_PutImplicitParamsFileBrowser);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
}
/*****************************************************************************/
@ -6055,7 +6055,7 @@ static void Brw_PutIconFolder (unsigned Level,
}
/***** End cell *****/
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
}
/*****************************************************************************/
@ -6285,7 +6285,7 @@ static void Brw_WriteFileName (unsigned Level,bool IsPublic)
/***** End cell *****/
fprintf (Gbl.F.Out,"</div>");
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
}
else // File or link
{
@ -6414,7 +6414,7 @@ static void Brw_WriteDatesAssignment (void)
else
fprintf (Gbl.F.Out,"&nbsp;(%s)",
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,
(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);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
if (Level && UsrCod > 0)
/***** Free memory used for user's data *****/
@ -9498,7 +9498,7 @@ void Brw_ShowFileMetadata (void)
fprintf (Gbl.F.Out,"<td colspan=\"2\""
" class=\"FILENAME_TXT CENTER_MIDDLE\">");
Brw_WriteBigLinkToDownloadFile (URL,&FileMetadata,FileNameToShow);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Filename *****/
@ -9509,7 +9509,7 @@ void Brw_ShowFileMetadata (void)
"<td class=\"DAT LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Filename);
Brw_WriteSmallLinkToDownloadFile (URL,&FileMetadata,FileNameToShow);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Publisher's data *****/
@ -9534,7 +9534,7 @@ void Brw_ShowFileMetadata (void)
else
/* Unknown publisher */
fprintf (Gbl.F.Out,"%s",Txt_ROLES_SINGUL_Abc[Rol_UNK][Usr_SEX_UNKNOWN]);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Free memory used for publisher's data *****/
@ -9601,7 +9601,7 @@ void Brw_ShowFileMetadata (void)
fprintf (Gbl.F.Out,"%s",
FileMetadata.IsPublic ? Txt_Public_open_educational_resource_OER_for_everyone :
Txt_Private_available_to_certain_users_identified);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** License *****/
@ -9628,7 +9628,7 @@ void Brw_ShowFileMetadata (void)
}
else // I can not edit file properties
fprintf (Gbl.F.Out,"%s",Txt_LICENSES[FileMetadata.License]);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** 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);
Frm_EndForm ();
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Write centre logo, centre short name *****/
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);
Frm_EndForm ();
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Write degree logo, degree short name *****/
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);
Frm_EndForm ();
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Write course short name *****/
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);
Frm_EndForm ();
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Write file zone *****/
switch (FileMetadata.FileBrowser)
@ -12107,7 +12107,7 @@ static void Brw_WriteRowDocData (unsigned long *NumDocsNotHidden,MYSQL_ROW row)
/* End form */
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -429,7 +429,7 @@ static void Lnk_ListLinksForEdition (void)
Lnk_PutParamLnkCod (Lnk->LnkCod);
Ico_PutIconRemove ();
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Link code */
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,
Gbl.Form.Id);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Link full name */
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,
Gbl.Form.Id);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Link WWW */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -474,7 +474,7 @@ static void Lnk_ListLinksForEdition (void)
Cns_MAX_CHARS_WWW,Lnk->WWW,
Gbl.Form.Id);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}

View File

@ -491,7 +491,7 @@ static void Mai_ListMailDomainsForEdition (void)
Mai_PutParamMaiCod (Mai->MaiCod);
Ico_PutIconRemove ();
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Mail code */
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,
Gbl.Form.Id);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Mail domain info */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -521,7 +521,7 @@ static void Mai_ListMailDomainsForEdition (void)
Mai_MAX_CHARS_MAIL_INFO,Mai->Info,
Gbl.Form.Id);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Number of users */
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 :
Txt_Use_this_email);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
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
Txt_Save_changes); // User has no email address yet
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** End table *****/

View File

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

View File

@ -526,7 +526,7 @@ static void Mch_ListOneOrMoreMatchesIcons (const struct Match *Match)
else
Ico_PutIconRemovalNotAllowed ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
}
/*****************************************************************************/
@ -538,7 +538,7 @@ static void Mch_ListOneOrMoreMatchesAuthor (const struct Match *Match)
/***** Match author (teacher) *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP COLOR%u\">",Gbl.RowEvenOdd);
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)
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;
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
}
/*****************************************************************************/
@ -780,7 +780,7 @@ static void Mch_ListOneOrMoreMatchesResult (const struct Match *Match,
break;
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
}
/*****************************************************************************/
@ -1284,7 +1284,7 @@ static void Mch_ShowLstGrpsToCreateMatch (void)
/***** End table and box *****/
Box_EndBoxTable ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -2516,7 +2516,7 @@ static void Mch_ShowQuestionAndAnswersStd (struct Match *Match)
Frm_EndForm ();
/* End table cell */
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** End row *****/
Tbl_EndRow ();

View File

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

View File

@ -313,7 +313,7 @@ static void Msg_PutFormMsgUsrs (char Content[Cns_MAX_BYTES_LONG_TEXT + 1])
Tbl_EndTable ();
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Subject and content sections *****/
@ -2972,7 +2972,7 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
Gbl.Msg.MsgCod = MsgCod; // Message to be deleted
Ico_PutContextualIconToRemove (ActionDelMsg[Gbl.Msg.TypeOfMessages],
Msg_PutHiddenParamsOneMsg);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Write message number *****/
Msg_WriteMsgNumber (MsgNum,!Open);
@ -2984,7 +2984,7 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
Open ? "MSG_AUT_BG" :
"MSG_AUT_BG_NEW");
Msg_WriteMsgAuthor (&UsrDat,true,NULL);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Write subject *****/
Msg_WriteSentOrReceivedMsgSubject (MsgCod,Subject,Open,Expanded);
@ -3005,7 +3005,7 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
FromThisCrs = Msg_WriteCrsOrgMsg (CrsCod);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Form to reply message *****/
@ -3015,11 +3015,11 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
Gbl.Usrs.Me.Role.Logged >= Rol_USR)
// Guests (users without courses) can read messages but not reply them
Msg_WriteFormToReply (MsgCod,CrsCod,FromThisCrs,Replied,&UsrDat);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
Tbl_EndTable ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Write "From:" *****/
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\">",
Txt_MSG_From);
Msg_WriteMsgFrom (&UsrDat,Deleted);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Write "To:" *****/
@ -3039,7 +3039,7 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
"<td colspan=\"2\" class=\"LEFT_TOP\">",
Txt_MSG_To);
Msg_WriteMsgTo (MsgCod);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Write "Content:" *****/
@ -3060,7 +3060,7 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
if (Content[0])
Msg_WriteMsgContent (Content,Cns_MAX_BYTES_LONG_TEXT,true,false);
Med_ShowMedia (&Media,"MSG_IMG_CONTAINER","MSG_IMG");
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Free image *****/
@ -3175,7 +3175,7 @@ static void Msg_WriteSentOrReceivedMsgSubject (long MsgCod,const char *Subject,b
Frm_EndForm ();
/***** 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 :
NULL,
"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) *****/
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 *****/
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** End table *****/
@ -3391,7 +3391,7 @@ static void Msg_WriteMsgFrom (struct UsrData *UsrDat,bool Deleted)
else
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
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
Tbl_EndTable ();
}
@ -3541,7 +3541,7 @@ static void Msg_WriteMsgTo (long MsgCod)
fprintf (Gbl.F.Out,"%s",UsrDat.FullName);
else
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 ();
}
@ -3575,7 +3575,7 @@ static void Msg_WriteMsgTo (long MsgCod)
NumRecipientsKnown - NumRecipientsToShow);
fprintf (Gbl.F.Out,"</a>");
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -3616,7 +3616,7 @@ void Msg_WriteMsgDate (time_t TimeUTC,const char *ClassBackground)
(unsigned) Gbl.Prefs.DateFormat,Txt_Today);
/***** End cell *****/
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
}
/*****************************************************************************/
@ -3857,7 +3857,7 @@ void Msg_ListBannedUsrs (void)
Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod);
Ico_PutIconLink ("lock.svg",Txt_Sender_banned_click_to_unban_him);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Show photo */
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\""
@ -3866,7 +3866,7 @@ void Msg_ListBannedUsrs (void)
Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL :
NULL,
"PHOTO21x28",Pho_ZOOM,false);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Write user's full name */
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 ();
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
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
Txt_Save_changes); // I have no nickname yet);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** End table and box *****/

View File

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

View File

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

View File

@ -1810,7 +1810,7 @@ static void Pho_PutSelectorForTypeOfAvg (void)
}
fprintf (Gbl.F.Out,"</select>");
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -1871,7 +1871,7 @@ static void Pho_PutSelectorForHowComputePhotoSize (void)
}
fprintf (Gbl.F.Out,"</select>");
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -1932,7 +1932,7 @@ static void Pho_PutSelectorForHowOrderDegrees (void)
}
fprintf (Gbl.F.Out,"</select>");
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -2152,7 +2152,7 @@ static void Pho_ShowOrPrintClassPhotoDegrees (Pho_AvgPhotoSeeOrPrint_t SeeOrPrin
/***** Show average photo of students belonging to this degree *****/
fprintf (Gbl.F.Out,"<td class=\"CLASSPHOTO CENTER_MIDDLE\">");
Pho_ShowDegreeAvgPhotoAndStat (&Deg,SeeOrPrint,Usr_SEX_ALL,NumStds,NumStdsWithPhoto);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
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);
fprintf (Gbl.F.Out,"&nbsp;%s</a>",Deg.FullName);
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
for (Sex = (Usr_Sex_t) 0;
Sex < Usr_NUM_SEXS;
@ -2270,7 +2270,7 @@ static void Pho_ShowOrPrintListDegrees (Pho_AvgPhotoSeeOrPrint_t SeeOrPrint)
Pho_ShowDegreeAvgPhotoAndStat (&Deg,SeeOrPrint,Sex,NumStds,NumStdsWithPhoto);
else
Pho_ShowDegreeStat (NumStds,NumStdsWithPhoto);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
}
Tbl_EndRow ();
}

View File

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

View File

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

View File

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

View File

@ -1735,7 +1735,7 @@ void Prf_GetAndShowRankingClicksPerDay (void)
" style=\"height:50px;\">",
Gbl.RowEvenOdd);
Str_WriteFloatNum (Gbl.F.Out,NumClicksPerDay);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -1797,5 +1797,5 @@ static void Prf_ShowUsrInRanking (struct UsrData *UsrDat,unsigned Rank)
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",
Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"%u",NumIndex);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
break;
default:
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,"\">");
Prj_PutFormsToRemEditOnePrj (Prj,Anchor,ICanViewProjectFiles);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
break;
default:
break;
@ -1071,7 +1071,7 @@ static void Prj_ShowOneProject (unsigned NumIndex,struct Project *Prj,
else
fprintf (Gbl.F.Out,"%s",Prj->Title);
Lay_EndArticle ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Department */
Prj_ShowOneProjectDepartment (Prj,ProjectView);
@ -1112,7 +1112,7 @@ static void Prj_ShowOneProject (unsigned NumIndex,struct Project *Prj,
Txt_No);
Ico_PutIconOff (PreassignedNonpreassigImage[Prj->Preassigned],
Txt_PROJECT_PREASSIGNED_NONPREASSIGNED_SINGUL[Prj->Preassigned]);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** 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\">",
Gbl.RowEvenOdd);
Prj_PutIconToToggleProject (UniqueId,"angle-down.svg",Txt_See_more);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
Tbl_StartRowAttr ("id=\"prj_con_%u\" style=\"display:none;\"",UniqueId);
fprintf (Gbl.F.Out,"<td colspan=\"6\" class=\"CENTER_MIDDLE COLOR%u\">",
Gbl.RowEvenOdd);
Prj_PutIconToToggleProject (UniqueId,"angle-up.svg",Txt_See_less);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
break;
case Prj_FILE_BROWSER_PROJECT:
Tbl_StartRowAttr ("id=\"prj_exp_%u\"",UniqueId);
fprintf (Gbl.F.Out,"<td colspan=\"5\" class=\"CENTER_MIDDLE\">");
Prj_PutIconToToggleProject (UniqueId,"angle-down.svg",Txt_See_more);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
Tbl_StartRowAttr ("id=\"prj_con_%u\" style=\"display:none;\"",UniqueId);
fprintf (Gbl.F.Out,"<td colspan=\"5\" class=\"CENTER_MIDDLE\">");
Prj_PutIconToToggleProject (UniqueId,"angle-up.svg",Txt_See_less);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
break;
default:
@ -1411,7 +1411,7 @@ static void Prj_ShowOneProjectDepartment (const struct Project *Prj,
fprintf (Gbl.F.Out,"%s",Dpt.FullName);
if (PutLink)
fprintf (Gbl.F.Out,"</a>");
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -1560,7 +1560,7 @@ static void Prj_ShowOneProjectURL (const struct Project *Prj,
fprintf (Gbl.F.Out,"%s",Prj->URL);
if (PutLink)
fprintf (Gbl.F.Out,"</a>");
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -1720,7 +1720,7 @@ static void Prj_ShowOneProjectMembersWithARole (const struct Project *Prj,
Prj_PutCurrentParams,
"trash.svg",
Txt_Remove);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
}
/* Put user's photo */
@ -1729,7 +1729,7 @@ static void Prj_ShowOneProjectMembersWithARole (const struct Project *Prj,
Pho_ShowUsrPhoto (&Gbl.Usrs.Other.UsrDat,ShowPhoto ? PhotoURL :
NULL,
"PHOTO21x28",Pho_ZOOM,false);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Write user's name */
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 ();
/***** End row with label and listing of users *****/
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -1822,7 +1822,7 @@ static void Prj_ShowTableAllProjectsMembersWithARole (const struct Project *Prj,
DB_FreeMySQLResult (&mysql_res);
/***** 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
Txt_Another_department, // Text when no department selected
false); // Don't submit on change
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/* Preassigned? */

View File

@ -303,7 +303,7 @@ void Rec_ListFieldsRecordsForEdition (void)
Par_PutHiddenParamLong ("FieldCod",Gbl.Crs.Records.LstFields.Lst[NumField].FieldCod);
Ico_PutIconRemove ();
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Name of the field */
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
@ -316,7 +316,7 @@ void Rec_ListFieldsRecordsForEdition (void)
Gbl.Crs.Records.LstFields.Lst[NumField].Name,
Gbl.Form.Id);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Number of lines in the form */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -328,7 +328,7 @@ void Rec_ListFieldsRecordsForEdition (void)
Gbl.Crs.Records.LstFields.Lst[NumField].NumLines,
Gbl.Form.Id);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Visibility of a field */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -349,7 +349,7 @@ void Rec_ListFieldsRecordsForEdition (void)
}
fprintf (Gbl.F.Out,"</select>");
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
}
@ -380,7 +380,7 @@ void Rec_ShowFormCreateRecordField (void)
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\">");
Ico_PutIconRemovalNotAllowed ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Field name *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
@ -1763,7 +1763,7 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
UsrDat->FullName);
Tbl_EndRow ();
Tbl_EndTable ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** 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)
fprintf (Gbl.F.Out,"<span class=\"DAT_SMALL\"> (%s)</span>",
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 */
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
fprintf (Gbl.F.Out,"-");
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/* Free structure that stores the query result */
@ -2442,7 +2442,7 @@ void Rec_ShowSharedUsrRecord (Rec_SharedRecordViewType_t TypeOfView,
break;
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -2702,7 +2702,7 @@ static void Rec_ShowInstitutionInHead (struct Instit *Ins,bool PutFormLinks)
Frm_EndForm ();
}
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Institution name *****/
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 ();
}
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
}
/*****************************************************************************/
@ -2739,7 +2739,7 @@ static void Rec_ShowPhoto (struct UsrData *UsrDat)
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
NULL,
"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 */
Cty_WriteCountryName (UsrDat->CtyCod,
"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\">");
if (TypeOfView != Rec_SHA_RECORD_PRINT)
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,"</div>");
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
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\">",
ClassForm,Txt_ID);
ID_WriteUsrIDs (UsrDat,Anchor);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -3097,7 +3097,7 @@ static void Rec_ShowRole (struct UsrData *UsrDat,
default:
break;
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
else if (SexForm)
@ -3122,7 +3122,7 @@ static void Rec_ShowRole (struct UsrData *UsrDat,
"</label>",
Usr_StringsSexIcons[Sex],Txt_SEX_SINGULAR_Abc[Sex]);
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
else // RoleForm == false, SexForm == false
@ -3178,7 +3178,7 @@ static void Rec_ShowSurname1 (struct UsrData *UsrDat,
}
else if (UsrDat->Surname1[0])
fprintf (Gbl.F.Out,"<strong>%s</strong>",UsrDat->Surname1);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -3210,7 +3210,7 @@ static void Rec_ShowSurname2 (struct UsrData *UsrDat,
UsrDat->Surname2);
else if (UsrDat->Surname2[0])
fprintf (Gbl.F.Out,"<strong>%s</strong>",UsrDat->Surname2);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -3251,7 +3251,7 @@ static void Rec_ShowFirstName (struct UsrData *UsrDat,
}
else if (UsrDat->FirstName[0])
fprintf (Gbl.F.Out,"<strong>%s</strong>",UsrDat->FirstName);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -3340,7 +3340,7 @@ static void Rec_ShowOriginPlace (struct UsrData *UsrDat,
else if (UsrDat->OriginPlace[0])
fprintf (Gbl.F.Out,"%s",UsrDat->OriginPlace);
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -3371,7 +3371,7 @@ static void Rec_ShowDateOfBirth (struct UsrData *UsrDat,
else if (UsrDat->StrBirthday[0])
fprintf (Gbl.F.Out,"%s",UsrDat->StrBirthday);
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -3405,7 +3405,7 @@ static void Rec_ShowLocalAddress (struct UsrData *UsrDat,
else if (UsrDat->LocalAddress[0])
fprintf (Gbl.F.Out,"%s",UsrDat->LocalAddress);
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -3441,7 +3441,7 @@ static void Rec_ShowLocalPhone (struct UsrData *UsrDat,
UsrDat->LocalPhone,
UsrDat->LocalPhone);
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -3475,7 +3475,7 @@ static void Rec_ShowFamilyAddress (struct UsrData *UsrDat,
else if (UsrDat->FamilyAddress[0])
fprintf (Gbl.F.Out,"%s",UsrDat->FamilyAddress);
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -3511,7 +3511,7 @@ static void Rec_ShowFamilyPhone (struct UsrData *UsrDat,
UsrDat->FamilyPhone,
UsrDat->FamilyPhone);
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -3546,7 +3546,7 @@ static void Rec_ShowComments (struct UsrData *UsrDat,
fprintf (Gbl.F.Out,"%s",UsrDat->Comments);
}
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -3600,7 +3600,7 @@ static void Rec_ShowInstitution (struct Instit *Ins,
if (Ins->WWW[0])
fprintf (Gbl.F.Out,"</a>");
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -3635,7 +3635,7 @@ static void Rec_ShowCentre (struct UsrData *UsrDat,
fprintf (Gbl.F.Out,"</a>");
}
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -3670,7 +3670,7 @@ static void Rec_ShowDepartment (struct UsrData *UsrDat,
fprintf (Gbl.F.Out,"</a>");
}
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -3691,7 +3691,7 @@ static void Rec_ShowOffice (struct UsrData *UsrDat,
ClassForm,Txt_Office);
if (ShowData)
fprintf (Gbl.F.Out,"%s",UsrDat->Tch.Office);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
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>",
UsrDat->Tch.OfficePhone,
UsrDat->Tch.OfficePhone);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -4026,7 +4026,7 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
}
fprintf (Gbl.F.Out,"</select>");
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Institution *****/
@ -4070,7 +4070,7 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
}
fprintf (Gbl.F.Out,"</select>");
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
if (IAmATeacher)
@ -4116,7 +4116,7 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
}
fprintf (Gbl.F.Out,"</select>");
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Department *****/
@ -4134,7 +4134,7 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
"", // Text when no department selected
true); // Submit on change
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Office *****/
@ -4155,7 +4155,7 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
Gbl.Usrs.Me.UsrDat.Tch.Office,
Gbl.Form.Id);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Phone *****/
@ -4177,7 +4177,7 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
Gbl.Usrs.Me.UsrDat.Tch.OfficePhone,
Gbl.Form.Id);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}

View File

@ -386,7 +386,7 @@ void Sta_AskShowCrsHits (void)
Usr_ListUsersToSelect (Rol_NET);
Usr_ListUsersToSelect (Rol_STD);
Tbl_EndTable ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Initial and final dates of the search *****/
@ -576,7 +576,7 @@ void Sta_AskShowGblHits (void)
Gbl.Scope.Default = Hie_SYS;
Sco_GetScope ("ScopeSta");
Sco_PutSelectorScope ("ScopeSta",false);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** 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>",
Txt_PAGES_Previous);
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
if (FirstRow > 1)
Frm_EndForm ();
@ -1639,13 +1639,13 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql
"</a>",
Txt_PAGES_Next);
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
if (LastRow < NumRows)
Frm_EndForm ();
Tbl_EndRow ();
Tbl_EndTable ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** 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\">",
Gbl.RowEvenOdd);
Sta_WriteLogComments (LogCod);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -1864,7 +1864,7 @@ static void Sta_ShowNumHitsPerUsr (unsigned long NumRows,MYSQL_RES *mysql_res)
Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL :
NULL,
"PHOTO15x20",Pho_ZOOM,false);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Write the user's ID if user is a student in current course */
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>"
"</label>");
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
/***** 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;\">",
GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH);
Sta_DrawBarColors (SelectedColorType,Hits.Max);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
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);
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\""
" style=\"width:%upx;\">",
(GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH/5)/2,
(GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH/5)/2);
Str_WriteFloatNum (Gbl.F.Out,HitsMax);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
Tbl_StartRow ();
@ -3057,7 +3057,7 @@ static void Sta_WriteLabelsXAxisAccMin (float IncX,const char *Format)
" style=\"width:%upx;\">",
Sta_WIDTH_DIVISION_GRAPHIC);
fprintf (Gbl.F.Out,Format,NumX);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
}
Tbl_EndRow ();
}
@ -3130,7 +3130,7 @@ static void Sta_WriteAccessMinute (unsigned Minute,float HitsNum,float MaxX)
BarWidth);
/***** End cell of graphic and end row *****/
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -3473,7 +3473,7 @@ static void Sta_WriteCountry (long CtyCod)
fprintf (Gbl.F.Out,"&nbsp;-&nbsp;");
/***** 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;");
/***** 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;");
/***** 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;");
/***** 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;");
if (CrsOK)
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/* Draw bar proportional to number of hits */
Hits.Num = Str_GetFloatNumFromStr (row[1]);
@ -4243,7 +4243,7 @@ void Sta_GetAndShowLastClicks (void)
if (row[8])
if (row[8][0])
fprintf (Gbl.F.Out,"%s",row[8]); // Action
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
Tbl_EndRow ();
}
Tbl_EndTable ();

View File

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

View File

@ -617,7 +617,7 @@ static void Syl_ShowRowSyllabus (unsigned NumItem,
Ico_PutIconRemove ();
Frm_EndForm ();
}
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Icon to get up an item *****/
Syl_CalculateUpSubtreeSyllabus (&Subtree,NumItem);
@ -636,7 +636,7 @@ static void Syl_ShowRowSyllabus (unsigned NumItem,
}
else
Ico_PutIconOff ("arrow-up.svg",Txt_Movement_not_allowed);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Icon to get down item *****/
Syl_CalculateDownSubtreeSyllabus (&Subtree,NumItem);
@ -655,7 +655,7 @@ static void Syl_ShowRowSyllabus (unsigned NumItem,
}
else
Ico_PutIconOff ("arrow-down.svg",Txt_Movement_not_allowed);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Icon to increase the level of an item *****/
fprintf (Gbl.F.Out,"<td class=\"BM%u\">",Gbl.RowEvenOdd);
@ -672,7 +672,7 @@ static void Syl_ShowRowSyllabus (unsigned NumItem,
}
else
Ico_PutIconOff ("arrow-left.svg",Txt_Movement_not_allowed);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
/***** Icon to decrease level item *****/
fprintf (Gbl.F.Out,"<td class=\"BM%u\">",Gbl.RowEvenOdd);
@ -690,7 +690,7 @@ static void Syl_ShowRowSyllabus (unsigned NumItem,
}
else
Ico_PutIconOff ("arrow-right.svg",Txt_Movement_not_allowed);
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
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();\" />",
Gbl.Form.Id);
Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>");
Tbl_EndCell ();
}
/*****************************************************************************/

View File

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

View File

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

View File

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

View File

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

View File

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