Version19.31.24

This commit is contained in:
Antonio Cañas Vargas 2019-10-08 22:33:19 +02:00
parent f12ab4bc97
commit cd479d7d59
9 changed files with 604 additions and 770 deletions

View File

@ -487,7 +487,7 @@ 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.23 (2019-10-08)"
#define Log_PLATFORM_VERSION "SWAD 19.31.24 (2019-10-08)"
#define CSS_FILE "swad19.29.css"
#define JS_FILE "swad19.30.js"
/*
@ -495,6 +495,7 @@ ps2pdf source.ps destination.pdf
// TODO: Un TFG preasignado sin estudiante tiene que salir un triángulo amarillo
// TODO: Hacer un nuevo rol en los TFG: tutor externo (profesor de áreas no vinculadas con el centro, profesionales de empresas, etc.)
Version 19.31.24: Oct 08, 2019 Code refactoring in HTML tables. (246882 lines)
Version 19.31.23: Oct 08, 2019 Code refactoring in HTML tables. (247076 lines)
Version 19.31.22: Oct 08, 2019 Code refactoring in HTML tables. (247099 lines)
Version 19.31.21: Oct 08, 2019 Code refactoring in HTML tables. (247124 lines)

View File

@ -148,17 +148,16 @@ void Dpt_SeeDepts (void)
/* Write data of this department */
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<a href=\"%s\" target=\"_blank\" class=\"DAT\">"
Tbl_StartCellAttr ("class=\"LEFT_MIDDLE\"");
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"DAT\">"
"%s"
"</a>",
Gbl.Dpts.Lst[NumDpt].WWW,
Gbl.Dpts.Lst[NumDpt].FullName);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u",
Gbl.Dpts.Lst[NumDpt].NumTchs);
Tbl_StartCellAttr ("class=\"DAT RIGHT_MIDDLE\"");
fprintf (Gbl.F.Out,"%u",Gbl.Dpts.Lst[NumDpt].NumTchs);
Tbl_EndCell ();
Tbl_EndRow ();
@ -170,8 +169,8 @@ void Dpt_SeeDepts (void)
/***** Separation row *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"DAT\">"
"&nbsp;");
Tbl_StartCellAttr ("colspan=\"3\" class=\"DAT\"");
fprintf (Gbl.F.Out,"&nbsp;");
Tbl_EndCell ();
Tbl_EndRow ();
@ -179,14 +178,12 @@ void Dpt_SeeDepts (void)
NumTchsInOtherDpts = Usr_GetNumTchsCurrentInsInDepartment (0);
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%s",
Txt_Other_departments);
Tbl_StartCellAttr ("class=\"DAT LEFT_MIDDLE\"");
fprintf (Gbl.F.Out,"%s",Txt_Other_departments);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u",
NumTchsInOtherDpts);
Tbl_StartCellAttr ("class=\"DAT RIGHT_MIDDLE\"");
fprintf (Gbl.F.Out,"%u",NumTchsInOtherDpts);
Tbl_EndCell ();
Tbl_EndRow ();
@ -195,13 +192,12 @@ void Dpt_SeeDepts (void)
/***** Write teachers with no department *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%s",
Txt_Department_unspecified);
Tbl_StartCellAttr ("class=\"DAT LEFT_MIDDLE\"");
fprintf (Gbl.F.Out,"%s",Txt_Department_unspecified);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u",
Tbl_StartCellAttr ("class=\"DAT RIGHT_MIDDLE\"");
fprintf (Gbl.F.Out,"%u",
Usr_GetTotalNumberOfUsersInCourses (Hie_INS,
1 << Rol_NET |
1 << Rol_TCH) -
@ -518,9 +514,10 @@ static void Dpt_ListDepartmentsForEdition (void)
Ins.InsCod = Dpt->InsCod;
Ins_GetDataOfInstitutionByCod (&Ins,Ins_GET_BASIC_DATA);
/* Put icon to remove department */
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\">");
/* Put icon to remove department */
Tbl_StartCellAttr ("class=\"BM\"");
if (Dpt->NumTchs) // Department has teachers ==> deletion forbidden
Ico_PutIconRemovalNotAllowed ();
else
@ -533,13 +530,12 @@ static void Dpt_ListDepartmentsForEdition (void)
Tbl_EndCell ();
/* Department code */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%ld&nbsp;",
Dpt->DptCod);
Tbl_StartCellAttr ("class=\"DAT RIGHT_MIDDLE\"");
fprintf (Gbl.F.Out,"%ld&nbsp;",Dpt->DptCod);
Tbl_EndCell ();
/* Institution */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
Tbl_StartCellAttr ("class=\"CENTER_MIDDLE\"");
Frm_StartForm (ActChgDptIns);
Dpt_PutParamDptCod (Dpt->DptCod);
fprintf (Gbl.F.Out,"<select name=\"OthInsCod\" style=\"width:62px;\""
@ -562,7 +558,7 @@ static void Dpt_ListDepartmentsForEdition (void)
Tbl_EndCell ();
/* Department short name */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
Tbl_StartCellAttr ("class=\"CENTER_MIDDLE\"");
Frm_StartForm (ActRenDptSho);
Dpt_PutParamDptCod (Dpt->DptCod);
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"ShortName\""
@ -574,7 +570,7 @@ static void Dpt_ListDepartmentsForEdition (void)
Tbl_EndCell ();
/* Department full name */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
Tbl_StartCellAttr ("class=\"CENTER_MIDDLE\"");
Frm_StartForm (ActRenDptFul);
Dpt_PutParamDptCod (Dpt->DptCod);
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"FullName\""
@ -586,7 +582,7 @@ static void Dpt_ListDepartmentsForEdition (void)
Tbl_EndCell ();
/* Department WWW */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
Tbl_StartCellAttr ("class=\"CENTER_MIDDLE\"");
Frm_StartForm (ActChgDptWWW);
Dpt_PutParamDptCod (Dpt->DptCod);
fprintf (Gbl.F.Out,"<input type=\"url\" name=\"WWW\""
@ -598,9 +594,8 @@ static void Dpt_ListDepartmentsForEdition (void)
Tbl_EndCell ();
/* Number of teachers */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u",
Dpt->NumTchs);
Tbl_StartCellAttr ("class=\"DAT RIGHT_MIDDLE\"");
fprintf (Gbl.F.Out,"%u",Dpt->NumTchs);
Tbl_EndCell ();
Tbl_EndRow ();
@ -940,8 +935,8 @@ static void Dpt_PutFormToCreateDepartment (void)
Tbl_StartRow ();
/***** Institution *****/
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
"<select name=\"OthInsCod\" style=\"width:62px;\">"
Tbl_StartCellAttr ("class=\"CENTER_MIDDLE\"");
fprintf (Gbl.F.Out,"<select name=\"OthInsCod\" style=\"width:62px;\">"
"<option value=\"0\"");
if (Dpt_EditingDpt->InsCod == 0)
fprintf (Gbl.F.Out," selected=\"selected\"");
@ -958,8 +953,8 @@ static void Dpt_PutFormToCreateDepartment (void)
Tbl_EndCell ();
/***** Department short name *****/
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
"<input type=\"text\" name=\"ShortName\""
Tbl_StartCellAttr ("class=\"CENTER_MIDDLE\"");
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"ShortName\""
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_SHORT_NAME\""
" required=\"required\" />",
@ -967,8 +962,8 @@ static void Dpt_PutFormToCreateDepartment (void)
Tbl_EndCell ();
/***** Department full name *****/
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
"<input type=\"text\" name=\"FullName\""
Tbl_StartCellAttr ("class=\"CENTER_MIDDLE\"");
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"FullName\""
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_FULL_NAME\""
" required=\"required\" />",
@ -976,8 +971,8 @@ static void Dpt_PutFormToCreateDepartment (void)
Tbl_EndCell ();
/***** Department WWW *****/
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
"<input type=\"url\" name=\"WWW\""
Tbl_StartCellAttr ("class=\"CENTER_MIDDLE\"");
fprintf (Gbl.F.Out,"<input type=\"url\" name=\"WWW\""
" maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_WWW\""
" required=\"required\" />",

View File

@ -187,14 +187,12 @@ void Dup_ListDuplicateUsrs (void)
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"COLOR%u\">",
Gbl.RowEvenOdd);
Tbl_StartCellAttr ("colspan=\"2\" class=\"COLOR%u\"",Gbl.RowEvenOdd);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td colspan=\"%u\""
" class=\"DAT LEFT_MIDDLE COLOR%u\">",
Usr_NUM_MAIN_FIELDS_DATA_USR-2,
Gbl.RowEvenOdd);
Tbl_StartCellAttr ("colspan=\"%u\" class=\"DAT LEFT_MIDDLE COLOR%u\"",
Usr_NUM_MAIN_FIELDS_DATA_USR-2,
Gbl.RowEvenOdd);
/* Write number of informants (row[1]) if greater than 1 */
if (sscanf (row[1],"%u",&NumInformants) != 1)
@ -324,13 +322,12 @@ static void Dup_ListSimilarUsrs (void)
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"COLOR%u\">",
Gbl.RowEvenOdd);
Tbl_StartCellAttr ("colspan=\"2\" class=\"COLOR%u\"",Gbl.RowEvenOdd);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td colspan=\"%u\" class=\"COLOR%u\">",
Usr_NUM_MAIN_FIELDS_DATA_USR-2,
Gbl.RowEvenOdd);
Tbl_StartCellAttr ("colspan=\"%u\" class=\"COLOR%u\"",
Usr_NUM_MAIN_FIELDS_DATA_USR-2,
Gbl.RowEvenOdd);
/* Show details of user's profile */
Prf_ShowDetailsUserProfile (&UsrDat);
@ -341,18 +338,18 @@ static void Dup_ListSimilarUsrs (void)
Crs_GetAndWriteCrssOfAUsr (&UsrDat,Rol_STD);
Tbl_EndCell ();
Tbl_EndRow ();
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"COLOR%u\">",
Gbl.RowEvenOdd);
Tbl_StartCellAttr ("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;\">",
Usr_NUM_MAIN_FIELDS_DATA_USR-2,
Gbl.RowEvenOdd);
Tbl_StartCellAttr ("colspan=\"%u\" class=\"LEFT_TOP COLOR%u\""
" style=\"padding-bottom:20px;\"",
Usr_NUM_MAIN_FIELDS_DATA_USR-2,
Gbl.RowEvenOdd);
/* Button to remove this user */
if (Acc_CheckIfICanEliminateAccount (UsrDat.UsrCod))

View File

@ -930,14 +930,14 @@ static void Enr_PutAreaToEnterUsrsIDs (void)
Tbl_StartTableCenterPadding (2);
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"UsrsIDs\" class=\"%s\">%s:</label>",
Tbl_StartCellAttr ("class=\"RIGHT_TOP\"");
fprintf (Gbl.F.Out,"<label for=\"UsrsIDs\" class=\"%s\">%s:</label>",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_List_of_nicks_emails_or_IDs);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">"
"<textarea id=\"UsrsIDs\" name=\"UsrsIDs\""
Tbl_StartCellAttr ("class=\"LEFT_TOP\"");
fprintf (Gbl.F.Out,"<textarea id=\"UsrsIDs\" name=\"UsrsIDs\""
" cols=\"60\" rows=\"10\">"
"</textarea>");
Tbl_EndCell ();
@ -2299,12 +2299,12 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
/* Scope (whole platform, current centre, current degree or current course) */
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"ScopeEnr\" class=\"%s\">%s:</label>",
Tbl_StartCellAttr ("class=\"RIGHT_MIDDLE\"");
fprintf (Gbl.F.Out,"<label for=\"ScopeEnr\" class=\"%s\">%s:</label>",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Scope);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
Tbl_StartCellAttr ("class=\"LEFT_MIDDLE\"");
Sco_PutSelectorScope ("ScopeEnr",true);
Tbl_EndCell ();
@ -2313,12 +2313,12 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
/* Users' roles in listing */
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label class=\"%s\">%s:</label>",
Tbl_StartCellAttr ("class=\"RIGHT_TOP\"");
fprintf (Gbl.F.Out,"<label class=\"%s\">%s:</label>",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Users);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
Tbl_StartCellAttr ("class=\"DAT LEFT_MIDDLE\"");
Rol_WriteSelectorRoles (1 << Rol_STD |
1 << Rol_NET |
1 << Rol_TCH,
@ -2871,16 +2871,15 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
{
/***** Number *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP\">"
"%lu",
NumReqs - NumReq);
Tbl_StartCellAttr ("class=\"DAT RIGHT_TOP\"");
fprintf (Gbl.F.Out,"%lu",NumReqs - NumReq);
Tbl_EndCell ();
/***** Link to course *****/
Crs_GetDataOfCourseByCod (&Crs);
Deg.DegCod = Crs.DegCod;
Deg_GetDataOfDegreeByCod (&Deg);
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">");
Tbl_StartCellAttr ("class=\"DAT LEFT_TOP\"");
Frm_StartFormGoTo (ActSeeCrsInf);
Crs_PutParamCrsCod (Crs.CrsCod);
snprintf (Gbl.Title,sizeof (Gbl.Title),
@ -2894,14 +2893,12 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
Tbl_EndCell ();
/***** Number of teachers in the course *****/
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP\">"
"%u",
Crs.NumUsrs[Rol_TCH]);
Tbl_StartCellAttr ("class=\"DAT RIGHT_TOP\"");
fprintf (Gbl.F.Out,"%u",Crs.NumUsrs[Rol_TCH]);
Tbl_EndCell ();
/***** User photo *****/
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_TOP\""
" style=\"width:22px;\">");
Tbl_StartCellAttr ("class=\"DAT CENTER_TOP\" style=\"width:22px;\"");
ShowPhoto = Pho_ShowingUsrPhotoIsAllowed (&UsrDat,PhotoURL);
Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL :
NULL,
@ -2909,23 +2906,22 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
Tbl_EndCell ();
/***** User name *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">"
"<div class=\"REQUESTER_NAME\">"); // Limited width
Tbl_StartCellAttr ("class=\"DAT LEFT_TOP\"");
fprintf (Gbl.F.Out,"<div class=\"REQUESTER_NAME\">"); // Limited width
Usr_WriteFirstNameBRSurnames (&UsrDat);
fprintf (Gbl.F.Out,"</div>");
Tbl_EndCell ();
/***** Requested role (row[3]) *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">"
"%s",
Txt_ROLES_SINGUL_abc[DesiredRole][UsrDat.Sex]);
Tbl_StartCellAttr ("class=\"DAT LEFT_TOP\"");
fprintf (Gbl.F.Out,"%s",Txt_ROLES_SINGUL_abc[DesiredRole][UsrDat.Sex]);
Tbl_EndCell ();
/***** Request time (row[4]) *****/
Msg_WriteMsgDate (Dat_GetUNIXTimeFromStr (row[4]),"DAT");
/***** Button to confirm the request *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">");
Tbl_StartCellAttr ("class=\"DAT LEFT_TOP\"");
switch (DesiredRole)
{
case Rol_STD:
@ -2950,13 +2946,14 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
Tbl_EndCell ();
/***** Button to reject the request *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">");
Tbl_StartCellAttr ("class=\"DAT LEFT_TOP\"");
Frm_StartForm (ActReqRejSignUp);
Crs_PutParamCrsCod (Crs.CrsCod);
Usr_PutParamUsrCodEncrypted (UsrDat.EncryptedUsrCod);
Btn_PutRemoveButtonInline (Txt_Reject);
Frm_EndForm ();
Tbl_EndCell ();
Tbl_EndRow ();
/***** Mark possible notification as seen *****/

View File

@ -1045,7 +1045,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
/***** Institution logo *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"CENTER_MIDDLE\">");
Tbl_StartCellAttr ("colspan=\"2\" class=\"CENTER_MIDDLE\"");
if (TypeViewExamAnnouncement == Exa_PRINT_VIEW)
fprintf (Gbl.F.Out,"<span class=\"%s\">",StyleTitle);
else
@ -1061,8 +1061,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
/***** Degree *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"%s CENTER_MIDDLE\">",
StyleTitle);
Tbl_StartCellAttr ("colspan=\"2\" class=\"%s CENTER_MIDDLE\"",StyleTitle);
if (TypeViewExamAnnouncement == Exa_NORMAL_VIEW)
fprintf (Gbl.F.Out,"<a href=\"%s\" target=\"_blank\" class=\"%s\">",
Gbl.Hierarchy.Deg.WWW,StyleTitle);
@ -1074,31 +1073,28 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
/***** Title *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"%s CENTER_MIDDLE\">"
"&nbsp;<br />"
Tbl_StartCellAttr ("colspan=\"2\" class=\"%s CENTER_MIDDLE\"",StyleNormal);
fprintf (Gbl.F.Out,"&nbsp;<br />"
"<strong>%s</strong>",
StyleNormal,Txt_EXAM_ANNOUNCEMENT);
Txt_EXAM_ANNOUNCEMENT);
Tbl_EndCell ();
Tbl_EndRow ();
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"%s LEFT_MIDDLE\">"
"&nbsp;",
StyleNormal);
Tbl_StartCellAttr ("colspan=\"2\" class=\"%s LEFT_MIDDLE\"",StyleNormal);
fprintf (Gbl.F.Out,"&nbsp;");
Tbl_EndCell ();
Tbl_EndRow ();
/***** Name of the course *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_BOTTOM\">"
"<label for=\"CrsName\" class=\"%s\">%s:</label>",
StyleForm,
Txt_EXAM_ANNOUNCEMENT_Course);
Tbl_StartCellAttr ("class=\"RIGHT_BOTTOM\"");
fprintf (Gbl.F.Out,"<label for=\"CrsName\" class=\"%s\">%s:</label>",
StyleForm,Txt_EXAM_ANNOUNCEMENT_Course);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_BOTTOM\">",
StyleNormal);
Tbl_StartCellAttr ("class=\"%s LEFT_BOTTOM\"",StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
{
fprintf (Gbl.F.Out,"<input type=\"text\" id=\"CrsName\" name=\"CrsName\""
@ -1115,14 +1111,12 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
/***** Year/semester (N.A., 1º, 2º, 3º, 4º, 5º...) *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_BOTTOM\">"
"<label for=\"Year\" class=\"%s\">%s:</label>",
StyleForm,
Txt_EXAM_ANNOUNCEMENT_Year_or_semester);
Tbl_StartCellAttr ("class=\"RIGHT_BOTTOM\"");
fprintf (Gbl.F.Out,"<label for=\"Year\" class=\"%s\">%s:</label>",
StyleForm,Txt_EXAM_ANNOUNCEMENT_Year_or_semester);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_BOTTOM\">",
StyleNormal);
Tbl_StartCellAttr ("class=\"%s LEFT_BOTTOM\"",StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
{
fprintf (Gbl.F.Out,"<select id=\"Year\" name=\"Year\">");
@ -1150,14 +1144,12 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
/***** Exam session *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_BOTTOM\">"
"<label for=\"ExamSession\" class=\"%s\">%s:</label>",
StyleForm,
Txt_EXAM_ANNOUNCEMENT_Session);
Tbl_StartCellAttr ("class=\"RIGHT_BOTTOM\"");
fprintf (Gbl.F.Out,"<label for=\"ExamSession\" class=\"%s\">%s:</label>",
StyleForm,Txt_EXAM_ANNOUNCEMENT_Session);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_BOTTOM\">",
StyleNormal);
Tbl_StartCellAttr ("class=\"%s LEFT_BOTTOM\"",StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
fprintf (Gbl.F.Out,"<input type=\"text\""
" id=\"ExamSession\" name=\"ExamSession\""
@ -1172,15 +1164,13 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
/***** Date of the exam *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_BOTTOM\">"
"%s:",
StyleForm,
Txt_EXAM_ANNOUNCEMENT_Exam_date);
Tbl_StartCellAttr ("class=\"%s RIGHT_BOTTOM\"",StyleForm);
fprintf (Gbl.F.Out,"%s:",Txt_EXAM_ANNOUNCEMENT_Exam_date);
Tbl_EndCell ();
if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
{
fprintf (Gbl.F.Out,"<td class=\"LEFT_BOTTOM\">");
Tbl_StartCellAttr ("class=\"LEFT_BOTTOM\"");
Dat_WriteFormDate (Gbl.ExamAnns.ExaDat.ExamDate.Year < Gbl.Now.Date.Year ? Gbl.ExamAnns.ExaDat.ExamDate.Year :
Gbl.Now.Date.Year,
Gbl.Now.Date.Year + 1,"Exam",
@ -1192,9 +1182,8 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
{
Dat_ConvDateToDateStr (&Gbl.ExamAnns.ExaDat.ExamDate,
StrExamDate);
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_BOTTOM\">"
"%s",
StyleNormal,StrExamDate);
Tbl_StartCellAttr ("class=\"%s LEFT_BOTTOM\"",StyleNormal);
fprintf (Gbl.F.Out,"%s",StrExamDate);
Tbl_EndCell ();
}
Tbl_EndRow ();
@ -1202,14 +1191,11 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
/***** Start time *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_BOTTOM\">"
"%s:",
StyleForm,
Txt_EXAM_ANNOUNCEMENT_Start_time);
Tbl_StartCellAttr ("class=\"%s RIGHT_BOTTOM\"",StyleForm);
fprintf (Gbl.F.Out,"%s:",Txt_EXAM_ANNOUNCEMENT_Start_time);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_BOTTOM\">",
StyleNormal);
Tbl_StartCellAttr ("class=\"%s LEFT_BOTTOM\"",StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
{
fprintf (Gbl.F.Out,"<select name=\"ExamHour\">"
@ -1251,14 +1237,11 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
/***** Approximate duration of the exam *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_BOTTOM\">"
"%s:",
StyleForm,
Txt_EXAM_ANNOUNCEMENT_Approximate_duration);
Tbl_StartCellAttr ("class=\"%s RIGHT_BOTTOM\"",StyleForm);
fprintf (Gbl.F.Out,"%s:",Txt_EXAM_ANNOUNCEMENT_Approximate_duration);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_BOTTOM\">",
StyleNormal);
Tbl_StartCellAttr ("class=\"%s LEFT_BOTTOM\"",StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
{
fprintf (Gbl.F.Out,"<select name=\"DurationHour\">");
@ -1320,14 +1303,12 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
/***** Place where the exam will be made *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"Place\" class=\"%s\">%s:</label>",
StyleForm,
Txt_EXAM_ANNOUNCEMENT_Place_of_exam);
Tbl_StartCellAttr ("class=\"RIGHT_TOP\"");
fprintf (Gbl.F.Out,"<label for=\"Place\" class=\"%s\">%s:</label>",
StyleForm,Txt_EXAM_ANNOUNCEMENT_Place_of_exam);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">",
StyleNormal);
Tbl_StartCellAttr ("class=\"%s LEFT_TOP\"",StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
fprintf (Gbl.F.Out,"<textarea id=\"Place\" name=\"Place\""
" cols=\"40\" rows=\"4\">"
@ -1348,14 +1329,12 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
/***** Exam mode *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"ExamMode\" class=\"%s\">%s:</label>",
StyleForm,
Txt_EXAM_ANNOUNCEMENT_Mode);
Tbl_StartCellAttr ("class=\"RIGHT_TOP\"");
fprintf (Gbl.F.Out,"<label for=\"ExamMode\" class=\"%s\">%s:</label>",
StyleForm,Txt_EXAM_ANNOUNCEMENT_Mode);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">",
StyleNormal);
Tbl_StartCellAttr ("class=\"%s LEFT_TOP\"",StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
fprintf (Gbl.F.Out,"<textarea id=\"ExamMode\" name=\"ExamMode\""
" cols=\"40\" rows=\"2\">"
@ -1376,14 +1355,12 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
/***** Structure of the exam *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"Structure\" class=\"%s\">%s:</label>",
StyleForm,
Txt_EXAM_ANNOUNCEMENT_Structure_of_the_exam);
Tbl_StartCellAttr ("class=\"RIGHT_TOP\"");
fprintf (Gbl.F.Out,"<label for=\"Structure\" class=\"%s\">%s:</label>",
StyleForm,Txt_EXAM_ANNOUNCEMENT_Structure_of_the_exam);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">",
StyleNormal);
Tbl_StartCellAttr ("class=\"%s LEFT_TOP\"",StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
fprintf (Gbl.F.Out,"<textarea id=\"Structure\" name=\"Structure\""
" cols=\"40\" rows=\"8\">"
@ -1404,14 +1381,12 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
/***** Documentation required *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"DocRequired\" class=\"%s\">%s:</label>",
StyleForm,
Txt_EXAM_ANNOUNCEMENT_Documentation_required);
Tbl_StartCellAttr ("class=\"RIGHT_TOP\"");
fprintf (Gbl.F.Out,"<label for=\"DocRequired\" class=\"%s\">%s:</label>",
StyleForm,Txt_EXAM_ANNOUNCEMENT_Documentation_required);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">",
StyleNormal);
Tbl_StartCellAttr ("class=\"%s LEFT_TOP\"",StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
fprintf (Gbl.F.Out,"<textarea id=\"DocRequired\" name=\"DocRequired\""
" cols=\"40\" rows=\"2\">"
@ -1432,14 +1407,12 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
/***** Material required *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"MatRequired\" class=\"%s\">%s:</label>",
StyleForm,
Txt_EXAM_ANNOUNCEMENT_Material_required);
Tbl_StartCellAttr ("class=\"RIGHT_TOP\"");
fprintf (Gbl.F.Out,"<label for=\"MatRequired\" class=\"%s\">%s:</label>",
StyleForm,Txt_EXAM_ANNOUNCEMENT_Material_required);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">",
StyleNormal);
Tbl_StartCellAttr ("class=\"%s LEFT_TOP\"",StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
fprintf (Gbl.F.Out,"<textarea id=\"MatRequired\" name=\"MatRequired\""
" cols=\"40\" rows=\"4\">"
@ -1460,14 +1433,12 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
/***** Material allowed *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"MatAllowed\" class=\"%s\">%s:</label>",
StyleForm,
Txt_EXAM_ANNOUNCEMENT_Material_allowed);
Tbl_StartCellAttr ("class=\"RIGHT_TOP\"");
fprintf (Gbl.F.Out,"<label for=\"MatAllowed\" class=\"%s\">%s:</label>",
StyleForm,Txt_EXAM_ANNOUNCEMENT_Material_allowed);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">",
StyleNormal);
Tbl_StartCellAttr ("class=\"%s LEFT_TOP\"",StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
fprintf (Gbl.F.Out,"<textarea id=\"MatAllowed\" name=\"MatAllowed\""
" cols=\"40\" rows=\"4\">"
@ -1488,13 +1459,12 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
/***** Other information to students *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"OtherInfo\" class=\"%s\">%s:</label>",
Tbl_StartCellAttr ("class=\"RIGHT_TOP\"");
fprintf (Gbl.F.Out,"<label for=\"OtherInfo\" class=\"%s\">%s:</label>",
StyleForm,Txt_EXAM_ANNOUNCEMENT_Other_information);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">",
StyleNormal);
Tbl_StartCellAttr ("class=\"%s LEFT_TOP\"",StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW)
fprintf (Gbl.F.Out,"<textarea id=\"OtherInfo\" name=\"OtherInfo\""
" cols=\"40\" rows=\"5\">"

File diff suppressed because it is too large Load Diff

View File

@ -3187,7 +3187,7 @@ static void Brw_ShowFileBrowsersAsgWrkCrs (void)
Tbl_StartRow ();
Brw_ShowDataOwnerAsgWrk (&Gbl.Usrs.Other.UsrDat);
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">");
Tbl_StartCellAttr ("class=\"LEFT_TOP\"");
/***** Show the tree with the assignments *****/
Gbl.FileBrowser.Type = Brw_ADMI_ASG_CRS;
@ -3362,7 +3362,7 @@ static void Brw_ShowDataOwnerAsgWrk (struct UsrData *UsrDat)
Act_Action_t NextAction;
/***** Show user's photo *****/
fprintf (Gbl.F.Out,"<td class=\"OWNER_WORKS_PHOTO\">");
Tbl_StartCellAttr ("class=\"OWNER_WORKS_PHOTO\"");
ShowPhoto = Pho_ShowingUsrPhotoIsAllowed (UsrDat,PhotoURL);
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
NULL,
@ -3370,7 +3370,7 @@ static void Brw_ShowDataOwnerAsgWrk (struct UsrData *UsrDat)
Tbl_EndCell ();
/***** Start form to send a message to this user *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">");
Tbl_StartCellAttr ("class=\"LEFT_TOP\"");
fprintf (Gbl.F.Out,"<div class=\"OWNER_WORKS_DATA AUTHOR_TXT\"");
@ -5588,9 +5588,9 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,const char *RowId,
/***** Indentation depending on level, icon, and file/folder name *****/
/* Start column */
fprintf (Gbl.F.Out,"<td class=\"NO_BR LEFT_TOP COLOR%u\""
" style=\"width:99%%;\">",
Gbl.RowEvenOdd);
Tbl_StartCellAttr ("class=\"NO_BR LEFT_TOP COLOR%u\" style=\"width:99%%;\"",
Gbl.RowEvenOdd);
Tbl_StartTable ();
Tbl_StartRow ();
@ -5614,7 +5614,7 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,const char *RowId,
else // File or link
{
/* Icon with file type or link */
fprintf (Gbl.F.Out,"<td class=\"BM%u\">",Gbl.RowEvenOdd);
Tbl_StartCellAttr ("class=\"BM%u\"",Gbl.RowEvenOdd);
Brw_PutIconFileWithLinkToViewMetadata (16,&FileMetadata);
Tbl_EndCell ();
}
@ -5646,7 +5646,7 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,const char *RowId,
if (Gbl.FileBrowser.FilFolLnk.Type == Brw_IS_FOLDER)
{
/***** Put icon to download ZIP of folder *****/
fprintf (Gbl.F.Out,"<td class=\"BM%u\">",Gbl.RowEvenOdd);
Tbl_StartCellAttr ("class=\"BM%u\"",Gbl.RowEvenOdd);
if (Gbl.Usrs.Me.Role.Logged >= Rol_STD && // Only ZIP folders if I am student, teacher...
!SeeMarks && // Do not ZIP folders when seeing marks
!(SeeDocsZone && RowSetAsHidden)) // When seeing docs, if folder is not hidden (this could happen for Level == 0)
@ -5743,7 +5743,7 @@ static bool Brw_CheckIfCanPasteIn (unsigned Level)
static void Brw_PutIconRemove (void)
{
fprintf (Gbl.F.Out,"<td class=\"BM%u\">",Gbl.RowEvenOdd);
Tbl_StartCellAttr ("class=\"BM%u\"",Gbl.RowEvenOdd);
if (Gbl.FileBrowser.ICanEditFileOrFolder) // Can I remove this?
switch (Gbl.FileBrowser.FilFolLnk.Type)
@ -5774,7 +5774,7 @@ static void Brw_PutIconRemove (void)
static void Brw_PutIconCopy (void)
{
fprintf (Gbl.F.Out,"<td class=\"BM%u\">",Gbl.RowEvenOdd);
Tbl_StartCellAttr ("class=\"BM%u\"",Gbl.RowEvenOdd);
/***** Form to copy into the clipboard *****/
Ico_PutContextualIconToCopy (Brw_ActCopy[Gbl.FileBrowser.Type],
@ -5791,7 +5791,7 @@ static void Brw_PutIconPaste (unsigned Level)
{
extern const char *Txt_Copy_not_allowed;
fprintf (Gbl.F.Out,"<td class=\"BM%u\">",Gbl.RowEvenOdd);
Tbl_StartCellAttr ("class=\"BM%u\"",Gbl.RowEvenOdd);
if (Gbl.FileBrowser.FilFolLnk.Type == Brw_IS_FOLDER) // Can't paste in a file or link
{
@ -5818,13 +5818,13 @@ static void Brw_IndentAndWriteIconExpandContract (unsigned Level,
const char *FileBrowserId,const char *RowId,
Brw_IconTree_t IconThisRow)
{
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
Tbl_StartCellAttr ("class=\"LEFT_MIDDLE\"");
Tbl_StartTable ();
Tbl_StartRow ();
Brw_IndentDependingOnLevel (Level);
/***** Icon to expand/contract *****/
fprintf (Gbl.F.Out,"<td class=\"BM%u\">",Gbl.RowEvenOdd);
Tbl_StartCellAttr ("class=\"BM%u\"",Gbl.RowEvenOdd);
switch (IconThisRow)
{
case Brw_ICON_TREE_NOTHING:
@ -5871,11 +5871,10 @@ static void Brw_IndentDependingOnLevel (unsigned Level)
i < Level;
i++)
{
fprintf (Gbl.F.Out,"<td class=\"BM%u\">"
"<img src=\"%s/tr16x16.gif\""
Tbl_StartCellAttr ("class=\"BM%u\"",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"<img src=\"%s/tr16x16.gif\""
" alt=\"\" title=\"\""
" class=\"ICO20x20\" />",
Gbl.RowEvenOdd,
Cfg_URL_ICON_PUBLIC);
Tbl_EndCell ();
}
@ -5951,7 +5950,7 @@ static void Brw_PutIconToContractFolder (const char *FileBrowserId,const char *R
static void Brw_PutIconShow (const char *Anchor)
{
fprintf (Gbl.F.Out,"<td class=\"BM%u\">",Gbl.RowEvenOdd);
Tbl_StartCellAttr ("class=\"BM%u\"",Gbl.RowEvenOdd);
Ico_PutContextualIconToUnhide (Brw_ActShow[Gbl.FileBrowser.Type],Anchor,
Brw_PutImplicitParamsFileBrowser);
Tbl_EndCell ();
@ -5963,7 +5962,7 @@ static void Brw_PutIconShow (const char *Anchor)
static void Brw_PutIconHide (const char *Anchor)
{
fprintf (Gbl.F.Out,"<td class=\"BM%u\">",Gbl.RowEvenOdd);
Tbl_StartCellAttr ("class=\"BM%u\"",Gbl.RowEvenOdd);
Ico_PutContextualIconToHide (Brw_ActHide[Gbl.FileBrowser.Type],Anchor,
Brw_PutImplicitParamsFileBrowser);
Tbl_EndCell ();
@ -5997,8 +5996,7 @@ static void Brw_PutIconFolder (unsigned Level,
bool ICanCreate;
/***** Start cell *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:%upx;\">",
Level * 20);
Tbl_StartCellAttr ("class=\"LEFT_MIDDLE\" style=\"width:%upx;\"",Level * 20);
/***** Put icon to create a new file or folder *****/
if ((ICanCreate = Brw_CheckIfICanCreateIntoFolder (Level))) // I can create a new file or folder
@ -6126,11 +6124,11 @@ static void Brw_PutIconNewFileOrFolder (void)
extern const char *Txt_New_FILE_OR_FOLDER;
/***** Icon that indicates new file *****/
fprintf (Gbl.F.Out,"<td class=\"BM%u\">"
"<img src=\"%s/star16x16.gif\""
Tbl_StartCellAttr ("class=\"BM%u\"",Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"<img src=\"%s/star16x16.gif\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO20x20\" />",
Gbl.RowEvenOdd,Cfg_URL_ICON_PUBLIC,
Cfg_URL_ICON_PUBLIC,
Txt_New_FILE_OR_FOLDER,
Txt_New_FILE_OR_FOLDER);
Tbl_EndCell ();
@ -6240,11 +6238,12 @@ static void Brw_WriteFileName (unsigned Level,bool IsPublic)
if (Gbl.FileBrowser.FilFolLnk.Type == Brw_IS_FOLDER)
{
/***** Start cell *****/
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE",
Gbl.FileBrowser.TxtStyle);
if (Gbl.FileBrowser.Clipboard.IsThisFile)
fprintf (Gbl.F.Out," LIGHT_GREEN");
fprintf (Gbl.F.Out,"\" style=\"width:99%%;\">");
Tbl_StartCellAttr ("class=\"%s LEFT_MIDDLE LIGHT_GREEN\" style=\"width:99%%;\"",
Gbl.FileBrowser.TxtStyle);
else
Tbl_StartCellAttr ("class=\"%s LEFT_MIDDLE\" style=\"width:99%%;\"",
Gbl.FileBrowser.TxtStyle);
fprintf (Gbl.F.Out,"<div class=\"FILENAME\">");
@ -6291,13 +6290,15 @@ static void Brw_WriteFileName (unsigned Level,bool IsPublic)
}
else // File or link
{
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE",
Gbl.FileBrowser.TxtStyle);
if (Gbl.FileBrowser.Clipboard.IsThisFile)
fprintf (Gbl.F.Out," LIGHT_GREEN");
fprintf (Gbl.F.Out,"\" style=\"width:99%%;\">&nbsp;");
Tbl_StartCellAttr ("class=\"%s LEFT_MIDDLE LIGHT_GREEN\" style=\"width:99%%;\"",
Gbl.FileBrowser.TxtStyle);
else
Tbl_StartCellAttr ("class=\"%s LEFT_MIDDLE\" style=\"width:99%%;\"",
Gbl.FileBrowser.TxtStyle);
fprintf (Gbl.F.Out,"<div class=\"FILENAME\">");
fprintf (Gbl.F.Out,"&nbsp;"
"<div class=\"FILENAME\">");
Frm_StartForm (Brw_ActDowFile[Gbl.FileBrowser.Type]);
Brw_PutImplicitParamsFileBrowser ();
@ -6382,11 +6383,10 @@ static void Brw_WriteDatesAssignment (void)
extern const char *Txt_unknown_assignment;
static unsigned UniqueId = 0;
fprintf (Gbl.F.Out,"<td colspan=\"2\""
" class=\"%s RIGHT_MIDDLE COLOR%u\">",
Gbl.FileBrowser.Asg.Open ? "ASG_LST_DATE_GREEN" :
"ASG_LST_DATE_RED",
Gbl.RowEvenOdd);
Tbl_StartCellAttr ("colspan=\"2\" class=\"%s RIGHT_MIDDLE COLOR%u\"",
Gbl.FileBrowser.Asg.Open ? "ASG_LST_DATE_GREEN" :
"ASG_LST_DATE_RED",
Gbl.RowEvenOdd);
if (Gbl.FileBrowser.Asg.AsgCod > 0)
{
@ -6434,16 +6434,15 @@ static void Brw_WriteFileSizeAndDate (struct FileMetadata *FileMetadata)
Fil_WriteFileSizeBrief ((double) FileMetadata->Size,FileSizeStr);
else
FileSizeStr[0] = '\0';
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
"&nbsp;%s",
Gbl.FileBrowser.TxtStyle,Gbl.RowEvenOdd,
FileSizeStr);
Tbl_StartCellAttr ("class=\"%s RIGHT_MIDDLE COLOR%u\"",
Gbl.FileBrowser.TxtStyle,Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"&nbsp;%s",FileSizeStr);
Tbl_EndCell ();
/***** Write the date *****/
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE COLOR%u\">"
"&nbsp;",
Gbl.FileBrowser.TxtStyle,Gbl.RowEvenOdd);
Tbl_StartCellAttr ("class=\"%s RIGHT_MIDDLE COLOR%u\"",
Gbl.FileBrowser.TxtStyle,Gbl.RowEvenOdd);
fprintf (Gbl.F.Out,"&nbsp;");
if (Gbl.FileBrowser.FilFolLnk.Type == Brw_IS_FILE ||
Gbl.FileBrowser.FilFolLnk.Type == Brw_IS_LINK)
{
@ -6482,7 +6481,7 @@ static void Brw_WriteFileOrFolderPublisher (unsigned Level,unsigned long UsrCod)
ShowUsr = Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS); // Get user's data from database
}
fprintf (Gbl.F.Out,"<td class=\"BM%u\">",Gbl.RowEvenOdd);
Tbl_StartCellAttr ("class=\"BM%u\"",Gbl.RowEvenOdd);
if (ShowUsr)
{
/***** Show photo *****/
@ -8510,35 +8509,41 @@ static void Brw_PutFormToCreateALink (const char *FileNameToShow)
/***** URL *****/
Tbl_StartTable ();
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"NewLinkURL\" class=\"%s\">"
Tbl_StartCellAttr ("class=\"RIGHT_MIDDLE\"");
fprintf (Gbl.F.Out,"<label for=\"NewLinkURL\" class=\"%s\">"
"%s:&nbsp;"
"</label>",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_URL);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"url\""
Tbl_StartCellAttr ("class=\"LEFT_MIDDLE\"");
fprintf (Gbl.F.Out,"<input type=\"url\""
" id=\"NewLinkURL\" name=\"NewLinkURL\""
" size=\"30\" maxlength=\"%u\" value=\"\""
" required=\"required\" />",
PATH_MAX);
Tbl_EndCell ();
Tbl_EndRow ();
/***** Link name *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"NewLinkName\" class=\"%s\">"
Tbl_StartCellAttr ("class=\"RIGHT_MIDDLE\"");
fprintf (Gbl.F.Out,"<label for=\"NewLinkName\" class=\"%s\">"
"%s&nbsp;(%s):&nbsp;"
"</label>",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Save_as,Txt_optional);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"text\""
Tbl_StartCellAttr ("class=\"LEFT_MIDDLE\"");
fprintf (Gbl.F.Out,"<input type=\"text\""
" id=\"NewLinkName\" name=\"NewLinkName\""
" size=\"30\" maxlength=\"%u\" value=\"\" />",
Brw_MAX_CHARS_FOLDER);
Tbl_EndCell ();
Tbl_EndRow ();
Tbl_EndTable ();
@ -9497,30 +9502,36 @@ void Brw_ShowFileMetadata (void)
/***** Link to download the file *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\""
" class=\"FILENAME_TXT CENTER_MIDDLE\">");
Tbl_StartCellAttr ("colspan=\"2\" class=\"FILENAME_TXT CENTER_MIDDLE\"");
Brw_WriteBigLinkToDownloadFile (URL,&FileMetadata,FileNameToShow);
Tbl_EndCell ();
Tbl_EndRow ();
/***** Filename *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Filename);
Tbl_StartCellAttr ("class=\"%s RIGHT_MIDDLE\"",
The_ClassFormInBox[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"%s:",Txt_Filename);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
Tbl_StartCellAttr ("class=\"DAT LEFT_MIDDLE\"");
Brw_WriteSmallLinkToDownloadFile (URL,&FileMetadata,FileNameToShow);
Tbl_EndCell ();
Tbl_EndRow ();
/***** Publisher's data *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Uploaded_by);
Tbl_StartCellAttr ("class=\"%s RIGHT_MIDDLE\"",
The_ClassFormInBox[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"%s:",Txt_Uploaded_by);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
Tbl_StartCellAttr ("class=\"DAT LEFT_MIDDLE\"");
if (FileHasPublisher)
{
/* Show photo */
@ -9537,6 +9548,7 @@ void Brw_ShowFileMetadata (void)
/* Unknown publisher */
fprintf (Gbl.F.Out,"%s",Txt_ROLES_SINGUL_Abc[Rol_UNK][Usr_SEX_UNKNOWN]);
Tbl_EndCell ();
Tbl_EndRow ();
/***** Free memory used for publisher's data *****/
@ -9546,45 +9558,48 @@ void Brw_ShowFileMetadata (void)
/***** Write the file size *****/
Fil_WriteFileSizeFull ((double) FileMetadata.Size,FileSizeStr);
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_File_size);
Tbl_StartCellAttr ("class=\"%s RIGHT_MIDDLE\"",
The_ClassFormInBox[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"%s:",Txt_File_size);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%s",
FileSizeStr);
Tbl_StartCellAttr ("class=\"DAT LEFT_MIDDLE\"");
fprintf (Gbl.F.Out,"%s",FileSizeStr);
Tbl_EndCell ();
Tbl_EndRow ();
/***** Write the date *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Date_of_creation);
Tbl_StartCellAttr ("class=\"%s RIGHT_MIDDLE\"",
The_ClassFormInBox[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"%s:",Txt_Date_of_creation);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td id=\"filedate\" class=\"DAT LEFT_MIDDLE\">"
"<script type=\"text/javascript\">"
Tbl_StartCellAttr ("id=\"filedate\" class=\"DAT LEFT_MIDDLE\"");
fprintf (Gbl.F.Out,"<script type=\"text/javascript\">"
"writeLocalDateHMSFromUTC('filedate',%ld,"
"%u,',&nbsp;','%s',true,true,0x7);"
"</script>",
(long) FileMetadata.Time,
(unsigned) Gbl.Prefs.DateFormat,Txt_Today);
Tbl_EndCell ();
Tbl_EndRow ();
/***** Private or public? *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"PublicFile\" class=\"%s\">"
Tbl_StartCellAttr ("class=\"RIGHT_MIDDLE\"");
fprintf (Gbl.F.Out,"<label for=\"PublicFile\" class=\"%s\">"
"%s:"
"</label>",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Availability);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
Tbl_StartCellAttr ("class=\"DAT LEFT_MIDDLE\"");
if (ICanChangePublic) // I can change file to public
{
fprintf (Gbl.F.Out,"<select id=\"PublicFile\" name=\"PublicFile\">");
@ -9612,12 +9627,12 @@ void Brw_ShowFileMetadata (void)
/***** License *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"License\" class=\"%s\">%s:</label>",
Tbl_StartCellAttr ("class=\"RIGHT_MIDDLE\"");
fprintf (Gbl.F.Out,"<label for=\"License\" class=\"%s\">%s:</label>",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_License);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
Tbl_StartCellAttr ("class=\"DAT LEFT_MIDDLE\"");
if (ICanEdit) // I can edit file properties
{
fprintf (Gbl.F.Out,"<select id=\"License\" name=\"License\">");
@ -9644,14 +9659,13 @@ void Brw_ShowFileMetadata (void)
{
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_My_views);
Tbl_StartCellAttr ("class=\"%s RIGHT_MIDDLE\"",
The_ClassFormInBox[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"%s:",Txt_My_views);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%u",
FileMetadata.NumMyViews);
Tbl_StartCellAttr ("class=\"DAT LEFT_MIDDLE\"");
fprintf (Gbl.F.Out,"%u",FileMetadata.NumMyViews);
Tbl_EndCell ();
Tbl_EndRow ();
@ -9660,13 +9674,13 @@ void Brw_ShowFileMetadata (void)
/***** Write number of identificated views *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Identified_views);
Tbl_StartCellAttr ("class=\"%s RIGHT_MIDDLE\"",
The_ClassFormInBox[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"%s:",Txt_Identified_views);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%u (%u %s)",
Tbl_StartCellAttr ("class=\"DAT LEFT_MIDDLE\"");
fprintf (Gbl.F.Out,"%u (%u %s)",
FileMetadata.NumViewsFromLoggedUsrs,
FileMetadata.NumLoggedUsrs,
(FileMetadata.NumLoggedUsrs == 1) ? Txt_user[Usr_SEX_UNKNOWN] :
@ -9678,14 +9692,13 @@ void Brw_ShowFileMetadata (void)
/***** Write number of public views *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Public_views);
Tbl_StartCellAttr ("class=\"%s RIGHT_MIDDLE\"",
The_ClassFormInBox[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"%s:",Txt_Public_views);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%u",
FileMetadata.NumPublicViews);
Tbl_StartCellAttr ("class=\"DAT LEFT_MIDDLE\"");
fprintf (Gbl.F.Out,"%u",FileMetadata.NumPublicViews);
Tbl_EndCell ();
Tbl_EndRow ();
@ -11939,14 +11952,12 @@ static void Brw_WriteRowDocData (unsigned long *NumDocsNotHidden,MYSQL_ROW row)
Tbl_StartRow ();
/***** Write number of document in this search *****/
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP %s\">"
"%lu",
BgColor,++(*NumDocsNotHidden));
Tbl_StartCellAttr ("class=\"DAT RIGHT_TOP %s\"",BgColor);
fprintf (Gbl.F.Out,"%lu",++(*NumDocsNotHidden));
Tbl_EndCell ();
/***** Write institution logo, institution short name *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP %s\">",
BgColor);
Tbl_StartCellAttr ("class=\"DAT LEFT_TOP %s\"",BgColor);
if (InsCod > 0)
{
Frm_StartFormGoTo (ActSeeInsInf);
@ -11962,8 +11973,7 @@ static void Brw_WriteRowDocData (unsigned long *NumDocsNotHidden,MYSQL_ROW row)
Tbl_EndCell ();
/***** Write centre logo, centre short name *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP %s\">",
BgColor);
Tbl_StartCellAttr ("class=\"DAT LEFT_TOP %s\"",BgColor);
if (CtrCod > 0)
{
Frm_StartFormGoTo (ActSeeCtrInf);
@ -11979,8 +11989,7 @@ static void Brw_WriteRowDocData (unsigned long *NumDocsNotHidden,MYSQL_ROW row)
Tbl_EndCell ();
/***** Write degree logo, degree short name *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP %s\">",
BgColor);
Tbl_StartCellAttr ("class=\"DAT LEFT_TOP %s\"",BgColor);
if (DegCod > 0)
{
Frm_StartFormGoTo (ActSeeDegInf);
@ -11996,8 +12005,7 @@ static void Brw_WriteRowDocData (unsigned long *NumDocsNotHidden,MYSQL_ROW row)
Tbl_EndCell ();
/***** Write course short name *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP %s\">",
BgColor);
Tbl_StartCellAttr ("class=\"DAT LEFT_TOP %s\"",BgColor);
if (CrsCod > 0)
{
Frm_StartFormGoTo (ActSeeCrsInf);
@ -12055,9 +12063,9 @@ static void Brw_WriteRowDocData (unsigned long *NumDocsNotHidden,MYSQL_ROW row)
Title = "";
break;
}
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP %s\">"
"%s",
BgColor,Title);
Tbl_StartCellAttr ("class=\"DAT LEFT_TOP %s\"",BgColor);
fprintf (Gbl.F.Out,"%s",Title);
Tbl_EndCell ();
/***** Get the name of the file to show *****/
@ -12066,8 +12074,7 @@ static void Brw_WriteRowDocData (unsigned long *NumDocsNotHidden,MYSQL_ROW row)
FileNameToShow);
/***** Write file name using path (row[1]) *****/
fprintf (Gbl.F.Out,"<td class=\"DAT_N LEFT_TOP %s\">",
BgColor);
Tbl_StartCellAttr ("class=\"DAT_N LEFT_TOP %s\"",BgColor);
/* Start form */
Action = Brw_ActReqDatFile[Brw_FileBrowserForFoundDocs[FileMetadata.FileBrowser]];

View File

@ -842,7 +842,7 @@ static void Fol_ShowFollowedOrFollower (struct UsrData *UsrDat)
bool ItsMe = Usr_ItsMe (UsrDat->UsrCod);
/***** Show user's photo *****/
fprintf (Gbl.F.Out,"<td class=\"FOLLOW_PHOTO\">");
Tbl_StartCellAttr ("class=\"FOLLOW_PHOTO\"");
if (Visible)
{
ShowPhoto = Pho_ShowingUsrPhotoIsAllowed (UsrDat,PhotoURL);
@ -853,7 +853,7 @@ static void Fol_ShowFollowedOrFollower (struct UsrData *UsrDat)
Tbl_EndCell ();
/***** Show user's name and icon to follow/unfollow *****/
fprintf (Gbl.F.Out,"<td class=\"FOLLOW_USR\">");
Tbl_StartCellAttr ("class=\"FOLLOW_USR\"");
if (Visible)
{
/* Put form to go to public profile */
@ -899,8 +899,7 @@ static void Fol_WriteRowUsrToFollowOnRightColumn (struct UsrData *UsrDat)
/***** Show user's photo *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"CON_PHOTO COLOR%u\">",
Gbl.RowEvenOdd);
Tbl_StartCellAttr ("class=\"CON_PHOTO COLOR%u\"",Gbl.RowEvenOdd);
if (Visible)
{
ShowPhoto = Pho_ShowingUsrPhotoIsAllowed (UsrDat,PhotoURL);
@ -911,8 +910,7 @@ static void Fol_WriteRowUsrToFollowOnRightColumn (struct UsrData *UsrDat)
Tbl_EndCell ();
/***** User's name *****/
fprintf (Gbl.F.Out,"<td class=\"CON_NAME_FOLLOW CON_CRS COLOR%u\">",
Gbl.RowEvenOdd);
Tbl_StartCellAttr ("class=\"CON_NAME_FOLLOW CON_CRS COLOR%u\"",Gbl.RowEvenOdd);
if (Visible)
{
/* Put form to go to public profile */
@ -928,8 +926,7 @@ static void Fol_WriteRowUsrToFollowOnRightColumn (struct UsrData *UsrDat)
Tbl_EndCell ();
/***** Icon to follow *****/
fprintf (Gbl.F.Out,"<td class=\"CON_ICON_FOLLOW RIGHT_MIDDLE COLOR%u\">",
Gbl.RowEvenOdd);
Tbl_StartCellAttr ("class=\"CON_ICON_FOLLOW RIGHT_MIDDLE COLOR%u\"",Gbl.RowEvenOdd);
if (!Gbl.Usrs.Me.Logged || // Not logged
ItsMe) // It's me
/* Inactive icon to follow/unfollow */

View File

@ -1177,12 +1177,12 @@ static void For_ShowAForumPost (unsigned PstNum,long PstCod,
Tbl_StartRow ();
/***** Put an icon with post status *****/
fprintf (Gbl.F.Out,"<td class=\"CONTEXT_COL %s\">"
"<img src=\"%s/%s\""
Tbl_StartCellAttr ("class=\"CONTEXT_COL %s\"",
NewPst ? "MSG_TIT_BG_NEW" :
"MSG_TIT_BG");
fprintf (Gbl.F.Out,"<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO16x16\" />",
NewPst ? "MSG_TIT_BG_NEW" :
"MSG_TIT_BG",
Cfg_URL_ICON_PUBLIC,
NewPst ? "envelope.svg" :
"envelope-open-text.svg",
@ -1200,9 +1200,8 @@ static void For_ShowAForumPost (unsigned PstNum,long PstCod,
"MSG_TIT_BG");
/***** Write subject *****/
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">",
NewPst ? "MSG_TIT_BG_NEW" :
"MSG_TIT_BG");
Tbl_StartCellAttr ("class=\"%s LEFT_TOP\"",NewPst ? "MSG_TIT_BG_NEW" :
"MSG_TIT_BG");
if (Enabled)
{
if (Subject[0])
@ -1217,7 +1216,7 @@ static void For_ShowAForumPost (unsigned PstNum,long PstCod,
/***** Form to ban/unban post *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"CONTEXT_COL\">");
Tbl_StartCellAttr ("class=\"CONTEXT_COL\"");
if (ICanModerateForum)
{
Frm_StartFormAnchor (Enabled ? For_ActionsDisPstFor[Gbl.Forum.ForumSelected.Type] :
@ -1287,8 +1286,7 @@ static void For_ShowAForumPost (unsigned PstNum,long PstCod,
/***** Write author *****/
Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS);
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"AUTHOR_TXT LEFT_TOP\""
" style=\"width:150px;\">");
Tbl_StartCellAttr ("colspan=\"2\" class=\"AUTHOR_TXT LEFT_TOP\" style=\"width:150px;\"");
Msg_WriteMsgAuthor (&UsrDat,Enabled,NULL);
if (Enabled)
/* Write number of posts from this user */
@ -1296,7 +1294,7 @@ static void For_ShowAForumPost (unsigned PstNum,long PstCod,
Tbl_EndCell ();
/***** Write post content *****/
fprintf (Gbl.F.Out,"<td class=\"MSG_TXT LEFT_TOP\">");
Tbl_StartCellAttr ("class=\"MSG_TXT LEFT_TOP\"");
if (Enabled)
{
Str_Copy (Content,OriginalContent,
@ -3405,8 +3403,7 @@ static void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE],
/***** Show my photo if I have any posts in this thread *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"CENTER_TOP %s\" style=\"width:20px;\">",
BgColor);
Tbl_StartCellAttr ("class=\"CENTER_TOP %s\" style=\"width:20px;\"",BgColor);
if (Thr.NumMyPosts)
{
fprintf (Gbl.F.Out,"<img src=\"");
@ -3428,11 +3425,10 @@ static void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE],
Tbl_EndCell ();
/***** Put an icon with thread status *****/
fprintf (Gbl.F.Out,"<td class=\"CONTEXT_COL %s\">"
"<img src=\"%s/%s\""
Tbl_StartCellAttr ("class=\"CONTEXT_COL %s\"",BgColor);
fprintf (Gbl.F.Out,"<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO16x16\" />",
BgColor,
Cfg_URL_ICON_PUBLIC,
Thr.NumUnreadPosts ? "envelope.svg" :
"envelope-open-text.svg",
@ -3479,7 +3475,7 @@ static void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE],
Tbl_EndCell ();
/***** Write subject and links to thread pages *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP %s\">",BgColor);
Tbl_StartCellAttr ("class=\"LEFT_TOP %s\"",BgColor);
PaginationPsts.NumItems = Thr.NumPosts;
PaginationPsts.CurrentPage = 1; // First page
Pag_CalculatePagination (&PaginationPsts);
@ -3504,19 +3500,19 @@ static void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE],
/* Write the author of first or last message */
UsrDat.UsrCod = Thr.UsrCod[Order];
Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,Usr_DONT_GET_PREFS);
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP %s\">",Style,BgColor);
Tbl_StartCellAttr ("class=\"%s LEFT_TOP %s\"",Style,BgColor);
Msg_WriteMsgAuthor (&UsrDat,Thr.Enabled[Order],BgColor);
Tbl_EndCell ();
/* Write the date of first or last message (it's in YYYYMMDDHHMMSS format) */
TimeUTC = Thr.WriteTime[Order];
UniqueId++;
fprintf (Gbl.F.Out,"<td id=\"thr_date_%u\" class=\"%s LEFT_TOP %s\">"
"<script type=\"text/javascript\">"
Tbl_StartCellAttr ("id=\"thr_date_%u\" class=\"%s LEFT_TOP %s\"",
UniqueId,Style,BgColor);
fprintf (Gbl.F.Out,"<script type=\"text/javascript\">"
"writeLocalDateHMSFromUTC('thr_date_%u',%ld,"
"%u,'<br />','%s',true,false,0x6);"
"</script>",
UniqueId,Style,BgColor,
UniqueId,(long) TimeUTC,
(unsigned) Gbl.Prefs.DateFormat,Txt_Today);
Tbl_EndCell ();
@ -3526,38 +3522,29 @@ static void For_ListForumThrs (long ThrCods[Pag_ITEMS_PER_PAGE],
Column <= 2;
Column++)
{
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP %s\">",
Style,BgColor);
Tbl_StartCellAttr ("class=\"%s LEFT_TOP %s\"",Style,BgColor);
Tbl_EndCell ();
}
}
/***** Write number of posts in this thread *****/
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP %s\">"
"%u&nbsp;",
Style,BgColor,
Thr.NumPosts);
Tbl_StartCellAttr ("class=\"%s RIGHT_TOP %s\"",Style,BgColor);
fprintf (Gbl.F.Out,"%u&nbsp;",Thr.NumPosts);
Tbl_EndCell ();
/***** Write number of new posts in this thread *****/
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP %s\">"
"%u&nbsp;",
Style,BgColor,
Thr.NumUnreadPosts);
Tbl_StartCellAttr ("class=\"%s RIGHT_TOP %s\"",Style,BgColor);
fprintf (Gbl.F.Out,"%u&nbsp;",Thr.NumUnreadPosts);
Tbl_EndCell ();
/***** Write number of users who have write posts in this thread *****/
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP %s\">"
"%u&nbsp;",
Style,BgColor,
Thr.NumWriters);
Tbl_StartCellAttr ("class=\"%s RIGHT_TOP %s\"",Style,BgColor);
fprintf (Gbl.F.Out,"%u&nbsp;",Thr.NumWriters);
Tbl_EndCell ();
/***** Write number of users who have read this thread *****/
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP %s\">"
"%u&nbsp;",
Style,BgColor,
Thr.NumReaders);
Tbl_StartCellAttr ("class=\"%s RIGHT_TOP %s\"",Style,BgColor);
fprintf (Gbl.F.Out,"%u&nbsp;",Thr.NumReaders);
Tbl_EndCell ();
Tbl_EndRow ();
@ -3968,13 +3955,13 @@ static void For_WriteFormForumPst (bool IsReply,const char *Subject)
/* Subject */
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"Subject\" class=\"%s\">%s:</label>",
Tbl_StartCellAttr ("class=\"RIGHT_MIDDLE\"");
fprintf (Gbl.F.Out,"<label for=\"Subject\" class=\"%s\">%s:</label>",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_MSG_Subject);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"text\" id=\"Subject\" name=\"Subject\""
Tbl_StartCellAttr ("class=\"LEFT_MIDDLE\"");
fprintf (Gbl.F.Out,"<input type=\"text\" id=\"Subject\" name=\"Subject\""
" class=\"MSG_SUBJECT\""
" maxlength=\"%u\" value=\"%s\""
" required=\"required\" />",
@ -3988,13 +3975,13 @@ static void For_WriteFormForumPst (bool IsReply,const char *Subject)
/* Content */
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"Content\" class=\"%s\">%s:</label>",
Tbl_StartCellAttr ("class=\"RIGHT_TOP\"");
fprintf (Gbl.F.Out,"<label for=\"Content\" class=\"%s\">%s:</label>",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_MSG_Content);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">"
"<textarea id=\"Content\" name=\"Content\""
Tbl_StartCellAttr ("class=\"LEFT_TOP\"");
fprintf (Gbl.F.Out,"<textarea id=\"Content\" name=\"Content\""
" class=\"MSG_CONTENT\""
" rows=\"10\">"
"</textarea>");