Version19.31.11

This commit is contained in:
Antonio Cañas Vargas 2019-10-07 08:55:06 +02:00
parent da3b69116f
commit bae037c646
6 changed files with 199 additions and 124 deletions

View File

@ -487,12 +487,13 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD: En OpenSWAD:
ps2pdf source.ps destination.pdf ps2pdf source.ps destination.pdf
*/ */
#define Log_PLATFORM_VERSION "SWAD 19.31.10 (2019-10-07)" #define Log_PLATFORM_VERSION "SWAD 19.31.11 (2019-10-07)"
#define CSS_FILE "swad19.29.css" #define CSS_FILE "swad19.29.css"
#define JS_FILE "swad19.30.js" #define JS_FILE "swad19.30.js"
/* /*
// TODO: Perico: poner un candado de bloqueo de creación/edición de proyectos (por ejemplo en asignaturas obsoletas) // TODO: Perico: poner un candado de bloqueo de creación/edición de proyectos (por ejemplo en asignaturas obsoletas)
Version 19.31.11: Oct 07, 2019 Code refactoring in HTML tables. (247111 lines)
Version 19.31.10: Oct 07, 2019 Code refactoring in HTML tables. (247106 lines) Version 19.31.10: Oct 07, 2019 Code refactoring in HTML tables. (247106 lines)
Version 19.31.9: Oct 06, 2019 Code refactoring in HTML tables. (247097 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.8: Oct 05, 2019 Code refactoring in HTML tables. (247089 lines)

View File

@ -419,12 +419,14 @@ static void Deg_Configuration (bool PrintView)
/***** Degree short name *****/ /***** Degree short name *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"ShortName\" class=\"%s\">%s:</label>", "<label for=\"ShortName\" class=\"%s\">%s:</label>",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Short_name); Txt_Short_name);
fprintf (Gbl.F.Out,"</td>" Tbl_EndCell ();
"<td class=\"DAT_N LEFT_MIDDLE\">");
fprintf (Gbl.F.Out,"<td class=\"DAT_N LEFT_MIDDLE\">");
if (!PrintView && if (!PrintView &&
Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM) Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM)
// Only centre admins, institution admins and system admins // Only centre admins, institution admins and system admins
@ -445,6 +447,7 @@ static void Deg_Configuration (bool PrintView)
else // I can not edit degree short name else // I can not edit degree short name
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Deg.ShrtName); fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Deg.ShrtName);
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Degree WWW *****/ /***** Degree WWW *****/

View File

@ -147,17 +147,20 @@ void Dpt_SeeDepts (void)
{ {
/* Write data of this department */ /* Write data of this department */
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<a href=\"%s\" target=\"_blank\" class=\"DAT\">" "<a href=\"%s\" target=\"_blank\" class=\"DAT\">"
"%s" "%s"
"</a>" "</a>",
"</td>"
"<td class=\"DAT RIGHT_MIDDLE\">"
"%u"
"</td>",
Gbl.Dpts.Lst[NumDpt].WWW, Gbl.Dpts.Lst[NumDpt].WWW,
Gbl.Dpts.Lst[NumDpt].FullName, Gbl.Dpts.Lst[NumDpt].FullName);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u",
Gbl.Dpts.Lst[NumDpt].NumTchs); Gbl.Dpts.Lst[NumDpt].NumTchs);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/* Update number of teachers from the current institution /* Update number of teachers from the current institution
@ -168,36 +171,43 @@ void Dpt_SeeDepts (void)
/***** Separation row *****/ /***** Separation row *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"DAT\">" fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"DAT\">"
"&nbsp;" "&nbsp;");
"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Write teachers with other department *****/ /***** Write teachers with other department *****/
NumTchsInOtherDpts = Usr_GetNumTchsCurrentInsInDepartment (0); NumTchsInOtherDpts = Usr_GetNumTchsCurrentInsInDepartment (0);
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%s" "%s",
"</td>" Txt_Other_departments);
"<td class=\"DAT RIGHT_MIDDLE\">" Tbl_EndCell ();
"%u"
"</td>", fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
Txt_Other_departments,NumTchsInOtherDpts); "%u",
NumTchsInOtherDpts);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
NumTchsInsWithDpt += NumTchsInOtherDpts; NumTchsInsWithDpt += NumTchsInOtherDpts;
/***** Write teachers with no department *****/ /***** Write teachers with no department *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%s" "%s",
"</td>" Txt_Department_unspecified);
"<td class=\"DAT RIGHT_MIDDLE\">" Tbl_EndCell ();
"%u"
"</td>", fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
Txt_Department_unspecified, "%u",
Usr_GetTotalNumberOfUsersInCourses (Hie_INS, Usr_GetTotalNumberOfUsersInCourses (Hie_INS,
1 << Rol_NET | 1 << Rol_NET |
1 << Rol_TCH) - 1 << Rol_TCH) -
NumTchsInsWithDpt); NumTchsInsWithDpt);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** End table and box *****/ /***** End table and box *****/
@ -524,9 +534,9 @@ static void Dpt_ListDepartmentsForEdition (void)
/* Department code */ /* Department code */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%ld&nbsp;" "%ld&nbsp;",
"</td>",
Dpt->DptCod); Dpt->DptCod);
Tbl_EndCell ();
/* Institution */ /* Institution */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -589,9 +599,10 @@ static void Dpt_ListDepartmentsForEdition (void)
/* Number of teachers */ /* Number of teachers */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u" "%u",
"</td>",
Dpt->NumTchs); Dpt->NumTchs);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -926,8 +937,9 @@ static void Dpt_PutFormToCreateDepartment (void)
Txt_WWW); Txt_WWW);
Tbl_EndRow (); Tbl_EndRow ();
/***** Institution *****/
Tbl_StartRow (); Tbl_StartRow ();
/***** Institution *****/
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
"<select name=\"OthInsCod\" style=\"width:62px;\">" "<select name=\"OthInsCod\" style=\"width:62px;\">"
"<option value=\"0\""); "<option value=\"0\"");
@ -942,35 +954,36 @@ static void Dpt_PutFormToCreateDepartment (void)
Gbl.Hierarchy.Cty.Inss.Lst[NumIns].InsCod == Dpt_EditingDpt->InsCod ? " selected=\"selected\"" : Gbl.Hierarchy.Cty.Inss.Lst[NumIns].InsCod == Dpt_EditingDpt->InsCod ? " selected=\"selected\"" :
"", "",
Gbl.Hierarchy.Cty.Inss.Lst[NumIns].ShrtName); Gbl.Hierarchy.Cty.Inss.Lst[NumIns].ShrtName);
fprintf (Gbl.F.Out,"</select>" fprintf (Gbl.F.Out,"</select>");
"</td>"); Tbl_EndCell ();
/***** Department short name *****/ /***** Department short name *****/
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
"<input type=\"text\" name=\"ShortName\"" "<input type=\"text\" name=\"ShortName\""
" maxlength=\"%u\" value=\"%s\"" " maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_SHORT_NAME\"" " class=\"INPUT_SHORT_NAME\""
" required=\"required\" />" " required=\"required\" />",
"</td>",
Hie_MAX_CHARS_SHRT_NAME,Dpt_EditingDpt->ShrtName); Hie_MAX_CHARS_SHRT_NAME,Dpt_EditingDpt->ShrtName);
Tbl_EndCell ();
/***** Department full name *****/ /***** Department full name *****/
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
"<input type=\"text\" name=\"FullName\"" "<input type=\"text\" name=\"FullName\""
" maxlength=\"%u\" value=\"%s\"" " maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_FULL_NAME\"" " class=\"INPUT_FULL_NAME\""
" required=\"required\" />" " required=\"required\" />",
"</td>",
Hie_MAX_CHARS_FULL_NAME,Dpt_EditingDpt->FullName); Hie_MAX_CHARS_FULL_NAME,Dpt_EditingDpt->FullName);
Tbl_EndCell ();
/***** Department WWW *****/ /***** Department WWW *****/
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
"<input type=\"url\" name=\"WWW\"" "<input type=\"url\" name=\"WWW\""
" maxlength=\"%u\" value=\"%s\"" " maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_WWW\"" " class=\"INPUT_WWW\""
" required=\"required\" />" " required=\"required\" />",
"</td>",
Cns_MAX_CHARS_WWW,Dpt_EditingDpt->WWW); Cns_MAX_CHARS_WWW,Dpt_EditingDpt->WWW);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** End table, send button and end box *****/ /***** End table, send button and end box *****/

View File

@ -186,10 +186,13 @@ void Dup_ListDuplicateUsrs (void)
Usr_WriteRowUsrMainData (NumUsrs - NumUsr,&UsrDat,false,Rol_UNK); Usr_WriteRowUsrMainData (NumUsrs - NumUsr,&UsrDat,false,Rol_UNK);
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"COLOR%u\"></td>"
"<td colspan=\"%u\"" fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"COLOR%u\">",
Gbl.RowEvenOdd);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td colspan=\"%u\""
" class=\"DAT LEFT_MIDDLE COLOR%u\">", " class=\"DAT LEFT_MIDDLE COLOR%u\">",
Gbl.RowEvenOdd,
Usr_NUM_MAIN_FIELDS_DATA_USR-2, Usr_NUM_MAIN_FIELDS_DATA_USR-2,
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
@ -208,6 +211,7 @@ void Dup_ListDuplicateUsrs (void)
Dup_PutButtonToRemoveFromListOfDupUsrs (&UsrDat); Dup_PutButtonToRemoveFromListOfDupUsrs (&UsrDat);
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
@ -319,9 +323,12 @@ static void Dup_ListSimilarUsrs (void)
Usr_WriteRowUsrMainData (NumUsrs - NumUsr,&UsrDat,false,Rol_UNK); Usr_WriteRowUsrMainData (NumUsrs - NumUsr,&UsrDat,false,Rol_UNK);
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"COLOR%u\"></td>"
"<td colspan=\"%u\" class=\"COLOR%u\">", fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"COLOR%u\">",
Gbl.RowEvenOdd, Gbl.RowEvenOdd);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td colspan=\"%u\" class=\"COLOR%u\">",
Usr_NUM_MAIN_FIELDS_DATA_USR-2, Usr_NUM_MAIN_FIELDS_DATA_USR-2,
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
@ -337,10 +344,13 @@ static void Dup_ListSimilarUsrs (void)
Tbl_EndRow (); Tbl_EndRow ();
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"COLOR%u\"></td>"
"<td colspan=\"%u\" class=\"LEFT_TOP COLOR%u\"" fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"COLOR%u\">",
Gbl.RowEvenOdd);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td colspan=\"%u\" class=\"LEFT_TOP COLOR%u\""
" style=\"padding-bottom:20px;\">", " style=\"padding-bottom:20px;\">",
Gbl.RowEvenOdd,
Usr_NUM_MAIN_FIELDS_DATA_USR-2, Usr_NUM_MAIN_FIELDS_DATA_USR-2,
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
@ -353,6 +363,7 @@ static void Dup_ListSimilarUsrs (void)
Dup_PutButtonToRemoveFromListOfDupUsrs (&UsrDat); Dup_PutButtonToRemoveFromListOfDupUsrs (&UsrDat);
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;

View File

@ -929,16 +929,19 @@ static void Enr_PutAreaToEnterUsrsIDs (void)
/***** Text area for users' IDs *****/ /***** Text area for users' IDs *****/
Tbl_StartTableCenterPadding (2); Tbl_StartTableCenterPadding (2);
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"UsrsIDs\" class=\"%s\">%s:</label>" "<label for=\"UsrsIDs\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"LEFT_TOP\">"
"<textarea id=\"UsrsIDs\" name=\"UsrsIDs\""
" cols=\"60\" rows=\"10\">"
"</textarea>"
"</td>",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_List_of_nicks_emails_or_IDs); Txt_List_of_nicks_emails_or_IDs);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">"
"<textarea id=\"UsrsIDs\" name=\"UsrsIDs\""
" cols=\"60\" rows=\"10\">"
"</textarea>");
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Tbl_EndTable (); Tbl_EndTable ();
} }
@ -2295,28 +2298,34 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
/* Scope (whole platform, current centre, current degree or current course) */ /* Scope (whole platform, current centre, current degree or current course) */
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"ScopeEnr\" class=\"%s\">%s:</label>" "<label for=\"ScopeEnr\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Scope); The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Scope);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
Sco_PutSelectorScope ("ScopeEnr",true); Sco_PutSelectorScope ("ScopeEnr",true);
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/* Users' roles in listing */ /* Users' roles in listing */
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label class=\"%s\">%s:</label>" "<label class=\"%s\">%s:</label>",
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Users); The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Users);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
Rol_WriteSelectorRoles (1 << Rol_STD | Rol_WriteSelectorRoles (1 << Rol_STD |
1 << Rol_NET | 1 << Rol_NET |
1 << Rol_TCH, 1 << Rol_TCH,
RolesSelected, RolesSelected,
false,true); false,true);
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/* End table and form */ /* End table and form */
@ -2863,9 +2872,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
/***** Number *****/ /***** Number *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP\">"
"%lu" "%lu",
"</td>",
NumReqs - NumReq); NumReqs - NumReq);
Tbl_EndCell ();
/***** Link to course *****/ /***** Link to course *****/
Crs_GetDataOfCourseByCod (&Crs); Crs_GetDataOfCourseByCod (&Crs);
@ -2886,9 +2895,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
/***** Number of teachers in the course *****/ /***** Number of teachers in the course *****/
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP\">"
"%u" "%u",
"</td>",
Crs.NumUsrs[Rol_TCH]); Crs.NumUsrs[Rol_TCH]);
Tbl_EndCell ();
/***** User photo *****/ /***** User photo *****/
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_TOP\"" fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_TOP\""
@ -2903,14 +2912,14 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">"
"<div class=\"REQUESTER_NAME\">"); // Limited width "<div class=\"REQUESTER_NAME\">"); // Limited width
Usr_WriteFirstNameBRSurnames (&UsrDat); Usr_WriteFirstNameBRSurnames (&UsrDat);
fprintf (Gbl.F.Out,"</div>" fprintf (Gbl.F.Out,"</div>");
"</td>"); Tbl_EndCell ();
/***** Requested role (row[3]) *****/ /***** Requested role (row[3]) *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">"
"%s" "%s",
"</td>",
Txt_ROLES_SINGUL_abc[DesiredRole][UsrDat.Sex]); Txt_ROLES_SINGUL_abc[DesiredRole][UsrDat.Sex]);
Tbl_EndCell ();
/***** Request time (row[4]) *****/ /***** Request time (row[4]) *****/
Msg_WriteMsgDate (Dat_GetUNIXTimeFromStr (row[4]),"DAT"); Msg_WriteMsgDate (Dat_GetUNIXTimeFromStr (row[4]),"DAT");

View File

@ -1052,11 +1052,11 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"%s\">", fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"%s\">",
Ins.WWW,StyleTitle); Ins.WWW,StyleTitle);
Log_DrawLogo (Hie_INS,Ins.InsCod,Ins.FullName,64,NULL,true); Log_DrawLogo (Hie_INS,Ins.InsCod,Ins.FullName,64,NULL,true);
fprintf (Gbl.F.Out,"<br />%s%s" fprintf (Gbl.F.Out,"<br />%s%s",
"</td>",
Ins.FullName, Ins.FullName,
TypeViewExamAnnouncement == Exa_PRINT_VIEW ? "</span>" : TypeViewExamAnnouncement == Exa_PRINT_VIEW ? "</span>" :
"</a>"); "</a>");
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Degree *****/ /***** Degree *****/
@ -1076,26 +1076,28 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"%s CENTER_MIDDLE\">" fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"%s CENTER_MIDDLE\">"
"&nbsp;<br />" "&nbsp;<br />"
"<strong>%s</strong>" "<strong>%s</strong>",
"</td>",
StyleNormal,Txt_EXAM_ANNOUNCEMENT); StyleNormal,Txt_EXAM_ANNOUNCEMENT);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"%s LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"%s LEFT_MIDDLE\">"
"&nbsp;" "&nbsp;",
"</td>",
StyleNormal); StyleNormal);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Name of the course *****/ /***** Name of the course *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_BOTTOM\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_BOTTOM\">"
"<label for=\"CrsName\" class=\"%s\">%s:</label>" "<label for=\"CrsName\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"%s LEFT_BOTTOM\">",
StyleForm, StyleForm,
Txt_EXAM_ANNOUNCEMENT_Course, Txt_EXAM_ANNOUNCEMENT_Course);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_BOTTOM\">",
StyleNormal); StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW) if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
{ {
@ -1107,16 +1109,19 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
fprintf (Gbl.F.Out,"<strong>%s</strong>", fprintf (Gbl.F.Out,"<strong>%s</strong>",
Gbl.ExamAnns.ExaDat.CrsFullName); Gbl.ExamAnns.ExaDat.CrsFullName);
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Year/semester (N.A., 1º, 2º, 3º, 4º, 5º...) *****/ /***** Year/semester (N.A., 1º, 2º, 3º, 4º, 5º...) *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_BOTTOM\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_BOTTOM\">"
"<label for=\"Year\" class=\"%s\">%s:</label>" "<label for=\"Year\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"%s LEFT_BOTTOM\">",
StyleForm, StyleForm,
Txt_EXAM_ANNOUNCEMENT_Year_or_semester, Txt_EXAM_ANNOUNCEMENT_Year_or_semester);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_BOTTOM\">",
StyleNormal); StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW) if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
{ {
@ -1139,16 +1144,19 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
fprintf (Gbl.F.Out,"%s", fprintf (Gbl.F.Out,"%s",
Txt_YEAR_OF_DEGREE[Gbl.ExamAnns.ExaDat.Year]); Txt_YEAR_OF_DEGREE[Gbl.ExamAnns.ExaDat.Year]);
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Exam session *****/ /***** Exam session *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_BOTTOM\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_BOTTOM\">"
"<label for=\"ExamSession\" class=\"%s\">%s:</label>" "<label for=\"ExamSession\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"%s LEFT_BOTTOM\">",
StyleForm, StyleForm,
Txt_EXAM_ANNOUNCEMENT_Session, Txt_EXAM_ANNOUNCEMENT_Session);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_BOTTOM\">",
StyleNormal); StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW) if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
fprintf (Gbl.F.Out,"<input type=\"text\"" fprintf (Gbl.F.Out,"<input type=\"text\""
@ -1158,15 +1166,18 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
else else
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.Session); fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.Session);
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Date of the exam *****/ /***** Date of the exam *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_BOTTOM\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_BOTTOM\">"
"%s:" "%s:",
"</td>",
StyleForm, StyleForm,
Txt_EXAM_ANNOUNCEMENT_Exam_date); Txt_EXAM_ANNOUNCEMENT_Exam_date);
Tbl_EndCell ();
if (TypeViewExamAnnouncement == Exa_FORM_VIEW) if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
{ {
fprintf (Gbl.F.Out,"<td class=\"LEFT_BOTTOM\">"); fprintf (Gbl.F.Out,"<td class=\"LEFT_BOTTOM\">");
@ -1182,20 +1193,22 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Dat_ConvDateToDateStr (&Gbl.ExamAnns.ExaDat.ExamDate, Dat_ConvDateToDateStr (&Gbl.ExamAnns.ExaDat.ExamDate,
StrExamDate); StrExamDate);
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_BOTTOM\">" fprintf (Gbl.F.Out,"<td class=\"%s LEFT_BOTTOM\">"
"%s" "%s",
"</td>",
StyleNormal,StrExamDate); StyleNormal,StrExamDate);
Tbl_EndCell ();
} }
Tbl_EndRow (); Tbl_EndRow ();
/***** Start time *****/ /***** Start time *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_BOTTOM\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_BOTTOM\">"
"%s:" "%s:",
"</td>"
"<td class=\"%s LEFT_BOTTOM\">",
StyleForm, StyleForm,
Txt_EXAM_ANNOUNCEMENT_Start_time, Txt_EXAM_ANNOUNCEMENT_Start_time);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_BOTTOM\">",
StyleNormal); StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW) if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
{ {
@ -1232,16 +1245,19 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
Gbl.ExamAnns.ExaDat.StartTime.Hour, Gbl.ExamAnns.ExaDat.StartTime.Hour,
Gbl.ExamAnns.ExaDat.StartTime.Minute); Gbl.ExamAnns.ExaDat.StartTime.Minute);
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Approximate duration of the exam *****/ /***** Approximate duration of the exam *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_BOTTOM\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_BOTTOM\">"
"%s:" "%s:",
"</td>"
"<td class=\"%s LEFT_BOTTOM\">",
StyleForm, StyleForm,
Txt_EXAM_ANNOUNCEMENT_Approximate_duration, Txt_EXAM_ANNOUNCEMENT_Approximate_duration);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_BOTTOM\">",
StyleNormal); StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW) if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
{ {
@ -1298,16 +1314,19 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
} }
} }
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Place where the exam will be made *****/ /***** Place where the exam will be made *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"Place\" class=\"%s\">%s:</label>" "<label for=\"Place\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"%s LEFT_TOP\">",
StyleForm, StyleForm,
Txt_EXAM_ANNOUNCEMENT_Place_of_exam, Txt_EXAM_ANNOUNCEMENT_Place_of_exam);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">",
StyleNormal); StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW) if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
fprintf (Gbl.F.Out,"<textarea id=\"Place\" name=\"Place\"" fprintf (Gbl.F.Out,"<textarea id=\"Place\" name=\"Place\""
@ -1323,16 +1342,19 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.Place); fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.Place);
} }
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Exam mode *****/ /***** Exam mode *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"ExamMode\" class=\"%s\">%s:</label>" "<label for=\"ExamMode\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"%s LEFT_TOP\">",
StyleForm, StyleForm,
Txt_EXAM_ANNOUNCEMENT_Mode, Txt_EXAM_ANNOUNCEMENT_Mode);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">",
StyleNormal); StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW) if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
fprintf (Gbl.F.Out,"<textarea id=\"ExamMode\" name=\"ExamMode\"" fprintf (Gbl.F.Out,"<textarea id=\"ExamMode\" name=\"ExamMode\""
@ -1348,16 +1370,19 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.Mode); fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.Mode);
} }
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Structure of the exam *****/ /***** Structure of the exam *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"Structure\" class=\"%s\">%s:</label>" "<label for=\"Structure\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"%s LEFT_TOP\">",
StyleForm, StyleForm,
Txt_EXAM_ANNOUNCEMENT_Structure_of_the_exam, Txt_EXAM_ANNOUNCEMENT_Structure_of_the_exam);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">",
StyleNormal); StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW) if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
fprintf (Gbl.F.Out,"<textarea id=\"Structure\" name=\"Structure\"" fprintf (Gbl.F.Out,"<textarea id=\"Structure\" name=\"Structure\""
@ -1373,16 +1398,19 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.Structure); fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.Structure);
} }
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Documentation required *****/ /***** Documentation required *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"DocRequired\" class=\"%s\">%s:</label>" "<label for=\"DocRequired\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"%s LEFT_TOP\">",
StyleForm, StyleForm,
Txt_EXAM_ANNOUNCEMENT_Documentation_required, Txt_EXAM_ANNOUNCEMENT_Documentation_required);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">",
StyleNormal); StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW) if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
fprintf (Gbl.F.Out,"<textarea id=\"DocRequired\" name=\"DocRequired\"" fprintf (Gbl.F.Out,"<textarea id=\"DocRequired\" name=\"DocRequired\""
@ -1398,16 +1426,19 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.DocRequired); fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.DocRequired);
} }
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Material required *****/ /***** Material required *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"MatRequired\" class=\"%s\">%s:</label>" "<label for=\"MatRequired\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"%s LEFT_TOP\">",
StyleForm, StyleForm,
Txt_EXAM_ANNOUNCEMENT_Material_required, Txt_EXAM_ANNOUNCEMENT_Material_required);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">",
StyleNormal); StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW) if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
fprintf (Gbl.F.Out,"<textarea id=\"MatRequired\" name=\"MatRequired\"" fprintf (Gbl.F.Out,"<textarea id=\"MatRequired\" name=\"MatRequired\""
@ -1423,16 +1454,19 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.MatRequired); fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.MatRequired);
} }
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Material allowed *****/ /***** Material allowed *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"MatAllowed\" class=\"%s\">%s:</label>" "<label for=\"MatAllowed\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"%s LEFT_TOP\">",
StyleForm, StyleForm,
Txt_EXAM_ANNOUNCEMENT_Material_allowed, Txt_EXAM_ANNOUNCEMENT_Material_allowed);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">",
StyleNormal); StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW) if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
fprintf (Gbl.F.Out,"<textarea id=\"MatAllowed\" name=\"MatAllowed\"" fprintf (Gbl.F.Out,"<textarea id=\"MatAllowed\" name=\"MatAllowed\""
@ -1448,15 +1482,18 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.MatAllowed); fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.MatAllowed);
} }
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Other information to students *****/ /***** Other information to students *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"OtherInfo\" class=\"%s\">%s:</label>" "<label for=\"OtherInfo\" class=\"%s\">%s:</label>",
"</td>" StyleForm,Txt_EXAM_ANNOUNCEMENT_Other_information);
"<td class=\"%s LEFT_TOP\">", Tbl_EndCell ();
StyleForm,Txt_EXAM_ANNOUNCEMENT_Other_information,
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">",
StyleNormal); StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW) if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
fprintf (Gbl.F.Out,"<textarea id=\"OtherInfo\" name=\"OtherInfo\"" fprintf (Gbl.F.Out,"<textarea id=\"OtherInfo\" name=\"OtherInfo\""
@ -1472,6 +1509,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.OtherInfo); fprintf (Gbl.F.Out,"%s",Gbl.ExamAnns.ExaDat.OtherInfo);
} }
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** End table, send button and end box *****/ /***** End table, send button and end box *****/