Version19.31.15

This commit is contained in:
Antonio Cañas Vargas 2019-10-07 17:36:41 +02:00
parent b093e1b9bf
commit 58fd148727
14 changed files with 504 additions and 341 deletions

View File

@ -487,7 +487,7 @@ 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.13 (2019-10-07)" #define Log_PLATFORM_VERSION "SWAD 19.31.15 (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"
/* /*
@ -495,6 +495,8 @@ ps2pdf source.ps destination.pdf
// TODO: Un TFG preasignado sin estudiante tiene que salir un triángulo amarillo // 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.) // 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.15: Oct 07, 2019 Code refactoring in HTML tables. (247153 lines)
Version 19.31.14: Oct 07, 2019 Code refactoring in HTML tables. (247138 lines)
Version 19.31.13: Oct 07, 2019 Code refactoring in HTML tables. (247135 lines) Version 19.31.13: Oct 07, 2019 Code refactoring in HTML tables. (247135 lines)
Version 19.31.12: Oct 07, 2019 Code refactoring in HTML tables. (247121 lines) Version 19.31.12: Oct 07, 2019 Code refactoring in HTML tables. (247121 lines)
Version 19.31.11: Oct 07, 2019 Code refactoring in HTML tables. (247111 lines) Version 19.31.11: Oct 07, 2019 Code refactoring in HTML tables. (247111 lines)

View File

@ -210,9 +210,10 @@ void Ins_SeeInsWithPendingCtrs (void)
/* Number of pending centres (row[1]) */ /* Number of pending centres (row[1]) */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE %s\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE %s\">"
"%s" "%s",
"</td>",
BgColor,row[1]); BgColor,row[1]);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
@ -357,13 +358,14 @@ static void Ins_Configuration (bool PrintView)
/***** Country *****/ /***** Country *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"OthCtyCod\" class=\"%s\">%s:</label>" "<label for=\"OthCtyCod\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Country); Txt_Country);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
if (!PrintView && if (!PrintView &&
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
// Only system admins can move an institution to another country // Only system admins can move an institution to another country
@ -393,18 +395,20 @@ static void Ins_Configuration (bool PrintView)
} }
else // I can not move institution to another country else // I can not move institution to another country
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]); fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]);
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Institution full name *****/ /***** Institution full name *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"FullName\" class=\"%s\">%s:</label>" "<label for=\"FullName\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"DAT_N LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Institution); Txt_Institution);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N LEFT_MIDDLE\">");
if (!PrintView && if (!PrintView &&
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
// Only system admins can edit institution full name // Only system admins can edit institution full name
@ -424,16 +428,19 @@ static void Ins_Configuration (bool PrintView)
else // I can not edit institution full name else // I can not edit institution full name
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Ins.FullName); fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Ins.FullName);
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Institution short name *****/ /***** Institution short name *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"ShortName\" class=\"%s\">%s:</label>" "<label for=\"ShortName\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"DAT_N LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Short_name); Txt_Short_name);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N LEFT_MIDDLE\">");
if (!PrintView && if (!PrintView &&
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
// Only system admins can edit institution short name // Only system admins can edit institution short name
@ -453,16 +460,19 @@ static void Ins_Configuration (bool PrintView)
else // I can not edit institution short name else // I can not edit institution short name
fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Ins.ShrtName); fprintf (Gbl.F.Out,"%s",Gbl.Hierarchy.Ins.ShrtName);
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Institution WWW *****/ /***** Institution WWW *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"WWW\" class=\"%s\">%s:</label>" "<label for=\"WWW\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Web); Txt_Web);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
if (!PrintView && if (!PrintView &&
Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM) Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM)
// Only institution admins and system admins // Only institution admins and system admins
@ -488,67 +498,77 @@ static void Ins_Configuration (bool PrintView)
Gbl.Hierarchy.Ins.WWW, Gbl.Hierarchy.Ins.WWW,
Gbl.Hierarchy.Ins.WWW); Gbl.Hierarchy.Ins.WWW);
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Shortcut to the institution *****/ /***** Shortcut to the institution *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:" "%s:",
"</td>" The_ClassFormInBox[Gbl.Prefs.Theme],
"<td class=\"LEFT_MIDDLE\">" Txt_Shortcut);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<a href=\"%s/%s?ins=%ld\" class=\"DAT\" target=\"_blank\">" "<a href=\"%s/%s?ins=%ld\" class=\"DAT\" target=\"_blank\">"
"%s/%s?ins=%ld" "%s/%s?ins=%ld"
"</a>" "</a>",
"</td>",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Shortcut,
Cfg_URL_SWAD_CGI, Cfg_URL_SWAD_CGI,
Lan_STR_LANG_ID[Gbl.Prefs.Language], Lan_STR_LANG_ID[Gbl.Prefs.Language],
Gbl.Hierarchy.Ins.InsCod, Gbl.Hierarchy.Ins.InsCod,
Cfg_URL_SWAD_CGI, Cfg_URL_SWAD_CGI,
Lan_STR_LANG_ID[Gbl.Prefs.Language], Lan_STR_LANG_ID[Gbl.Prefs.Language],
Gbl.Hierarchy.Ins.InsCod); Gbl.Hierarchy.Ins.InsCod);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
if (PrintView) if (PrintView)
{ {
/***** QR code with link to the institution *****/ /***** QR code with link to the institution *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:" "%s:",
"</td>"
"<td class=\"LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_QR_code); Txt_QR_code);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
QR_LinkTo (250,"ins",Gbl.Hierarchy.Ins.InsCod); QR_LinkTo (250,"ins",Gbl.Hierarchy.Ins.InsCod);
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
else else
{ {
/***** Number of users who claim to belong to this institution *****/ /***** Number of users who claim to belong to this institution *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:" "%s:",
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
"%u"
"</td>",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Users_of_the_institution, Txt_Users_of_the_institution);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%u",
Usr_GetNumUsrsWhoClaimToBelongToIns (Gbl.Hierarchy.Ins.InsCod)); Usr_GetNumUsrsWhoClaimToBelongToIns (Gbl.Hierarchy.Ins.InsCod));
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Tbl_StartRow ();
/***** Number of centres *****/ /***** Number of centres *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:" "%s:",
"</td>"
"<td class=\"LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Centres); Txt_Centres);
Tbl_EndCell ();
/* Form to go to see centres of this institution */ /* Form to go to see centres of this institution */
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
Frm_StartFormGoTo (ActSeeCtr); Frm_StartFormGoTo (ActSeeCtr);
Ins_PutParamInsCod (Gbl.Hierarchy.Ins.InsCod); Ins_PutParamInsCod (Gbl.Hierarchy.Ins.InsCod);
snprintf (Gbl.Title,sizeof (Gbl.Title), snprintf (Gbl.Title,sizeof (Gbl.Title),
@ -558,47 +578,56 @@ static void Ins_Configuration (bool PrintView)
fprintf (Gbl.F.Out,"%u</a>", fprintf (Gbl.F.Out,"%u</a>",
Ctr_GetNumCtrsInIns (Gbl.Hierarchy.Ins.InsCod)); Ctr_GetNumCtrsInIns (Gbl.Hierarchy.Ins.InsCod));
Frm_EndForm (); Frm_EndForm ();
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Number of degrees *****/ /***** Number of degrees *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:" "%s:",
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
"%u"
"</td>",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Degrees, Txt_Degrees);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%u",
Deg_GetNumDegsInIns (Gbl.Hierarchy.Ins.InsCod)); Deg_GetNumDegsInIns (Gbl.Hierarchy.Ins.InsCod));
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Number of courses *****/ /***** Number of courses *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:" "%s:",
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
"%u"
"</td>",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Courses, Txt_Courses);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%u",
Crs_GetNumCrssInIns (Gbl.Hierarchy.Ins.InsCod)); Crs_GetNumCrssInIns (Gbl.Hierarchy.Ins.InsCod));
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Number of departments *****/ /***** Number of departments *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:" "%s:",
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
"%u"
"</td>",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Departments, Txt_Departments);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%u",
Dpt_GetNumDepartmentsInInstitution (Gbl.Hierarchy.Ins.InsCod)); Dpt_GetNumDepartmentsInInstitution (Gbl.Hierarchy.Ins.InsCod));
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Number of users in courses of this institution *****/ /***** Number of users in courses of this institution *****/
@ -643,16 +672,19 @@ static void Ins_ShowNumUsrsInCrssOfIns (Rol_Role_t Role)
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:" "%s:",
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
"%u"
"</td>",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
(Role == Rol_UNK) ? Txt_Users_in_courses : (Role == Rol_UNK) ? Txt_Users_in_courses :
Txt_ROLES_PLURAL_Abc[Role][Usr_SEX_UNKNOWN], Txt_ROLES_PLURAL_Abc[Role][Usr_SEX_UNKNOWN]);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%u",
Usr_GetNumUsrsInCrssOfIns (Role,Gbl.Hierarchy.Ins.InsCod)); Usr_GetNumUsrsInCrssOfIns (Role,Gbl.Hierarchy.Ins.InsCod));
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -789,13 +821,14 @@ static void Ins_ListOneInstitutionForSeeing (struct Instit *Ins,unsigned NumIns)
BgColor = (Ins->InsCod == Gbl.Hierarchy.Ins.InsCod) ? "LIGHT_BLUE" : BgColor = (Ins->InsCod == Gbl.Hierarchy.Ins.InsCod) ? "LIGHT_BLUE" :
Gbl.ColorRows[Gbl.RowEvenOdd]; Gbl.ColorRows[Gbl.RowEvenOdd];
/***** Number of institution in this list *****/
Tbl_StartRow (); Tbl_StartRow ();
/***** Number of institution in this list *****/
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">"
"%u" "%u",
"</td>",
TxtClassNormal,BgColor, TxtClassNormal,BgColor,
NumIns); NumIns);
Tbl_EndCell ();
/***** Institution logo and name *****/ /***** Institution logo and name *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE %s\">",BgColor); fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE %s\">",BgColor);
@ -806,39 +839,39 @@ static void Ins_ListOneInstitutionForSeeing (struct Instit *Ins,unsigned NumIns)
/***** Stats *****/ /***** Stats *****/
/* Number of users who claim to belong to this institution */ /* Number of users who claim to belong to this institution */
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">"
"%u" "%u",
"</td>",
TxtClassNormal,BgColor,Ins->NumUsrsWhoClaimToBelongToIns); TxtClassNormal,BgColor,Ins->NumUsrsWhoClaimToBelongToIns);
Tbl_EndCell ();
/* Number of centres in this institution */ /* Number of centres in this institution */
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">"
"%u" "%u",
"</td>",
TxtClassNormal,BgColor,Ins->Ctrs.Num); TxtClassNormal,BgColor,Ins->Ctrs.Num);
Tbl_EndCell ();
/* Number of degrees in this institution */ /* Number of degrees in this institution */
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">"
"%u" "%u",
"</td>",
TxtClassNormal,BgColor,Ins->NumDegs); TxtClassNormal,BgColor,Ins->NumDegs);
Tbl_EndCell ();
/* Number of courses in this institution */ /* Number of courses in this institution */
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">"
"%u" "%u",
"</td>",
TxtClassNormal,BgColor,Ins->NumCrss); TxtClassNormal,BgColor,Ins->NumCrss);
Tbl_EndCell ();
/* Number of departments in this institution */ /* Number of departments in this institution */
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">"
"%u" "%u",
"</td>",
TxtClassNormal,BgColor,Ins->NumDpts); TxtClassNormal,BgColor,Ins->NumDpts);
Tbl_EndCell ();
/* Number of users in courses of this institution */ /* Number of users in courses of this institution */
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE %s\">"
"%u" "%u",
"</td>",
TxtClassNormal,BgColor,Ins->NumUsrs); TxtClassNormal,BgColor,Ins->NumUsrs);
Tbl_EndCell ();
/***** Institution status *****/ /***** Institution status *****/
StatusTxt = Ins_GetStatusTxtFromStatusBits (Ins->Status); StatusTxt = Ins_GetStatusTxtFromStatusBits (Ins->Status);
@ -847,6 +880,7 @@ static void Ins_ListOneInstitutionForSeeing (struct Instit *Ins,unsigned NumIns)
if (StatusTxt != Ins_STATUS_ACTIVE) // If active ==> do not show anything if (StatusTxt != Ins_STATUS_ACTIVE) // If active ==> do not show anything
fprintf (Gbl.F.Out,"%s",Txt_INSTITUTION_STATUS[StatusTxt]); fprintf (Gbl.F.Out,"%s",Txt_INSTITUTION_STATUS[StatusTxt]);
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd;
@ -1501,9 +1535,9 @@ static void Ins_ListInstitutionsForEdition (void)
/* Institution code */ /* Institution code */
fprintf (Gbl.F.Out,"<td class=\"DAT CODE\">" fprintf (Gbl.F.Out,"<td class=\"DAT CODE\">"
"%ld" "%ld",
"</td>",
Ins->InsCod); Ins->InsCod);
Tbl_EndCell ();
/* Institution logo */ /* Institution logo */
fprintf (Gbl.F.Out,"<td title=\"%s\" class=\"LEFT_MIDDLE\"" fprintf (Gbl.F.Out,"<td title=\"%s\" class=\"LEFT_MIDDLE\""
@ -1581,21 +1615,21 @@ static void Ins_ListInstitutionsForEdition (void)
/* Number of users who claim to belong to this institution */ /* Number of users who claim to belong to this institution */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u" "%u",
"</td>",
Ins->NumUsrsWhoClaimToBelongToIns); Ins->NumUsrsWhoClaimToBelongToIns);
Tbl_EndCell ();
/* Number of centres */ /* Number of centres */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u" "%u",
"</td>",
Ins->Ctrs.Num); Ins->Ctrs.Num);
Tbl_EndCell ();
/* Number of users in courses of this institution */ /* Number of users in courses of this institution */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u" "%u",
"</td>",
Ins->NumUsrs); Ins->NumUsrs);
Tbl_EndCell ();
/* Institution requester */ /* Institution requester */
UsrDat.UsrCod = Ins->RequesterUsrCod; UsrDat.UsrCod = Ins->RequesterUsrCod;
@ -2239,12 +2273,15 @@ static void Ins_PutFormToCreateInstitution (void)
/***** Write heading *****/ /***** Write heading *****/
Ins_PutHeadInstitutionsForEdition (); Ins_PutHeadInstitutionsForEdition ();
/***** Column to remove institution, disabled here *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"BM\"></td>");
/***** Column to remove institution, disabled here *****/
fprintf (Gbl.F.Out,"<td class=\"BM\">");
Tbl_EndCell ();
/***** Institution code *****/ /***** Institution code *****/
fprintf (Gbl.F.Out,"<td class=\"CODE\"></td>"); fprintf (Gbl.F.Out,"<td class=\"CODE\">");
Tbl_EndCell ();
/***** Institution logo *****/ /***** Institution logo *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:25px;\">"); fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:25px;\">");
@ -2256,42 +2293,42 @@ static void Ins_PutFormToCreateInstitution (void)
"<input type=\"text\" name=\"ShortName\"" "<input type=\"text\" name=\"ShortName\""
" maxlength=\"%u\" value=\"%s\"" " maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_SHORT_NAME\"" " class=\"INPUT_SHORT_NAME\""
" required=\"required\" />" " required=\"required\" />",
"</td>",
Hie_MAX_CHARS_SHRT_NAME,Ins_EditingIns->ShrtName); Hie_MAX_CHARS_SHRT_NAME,Ins_EditingIns->ShrtName);
Tbl_EndCell ();
/***** Institution full name *****/ /***** Institution full name *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"text\" name=\"FullName\"" "<input type=\"text\" name=\"FullName\""
" maxlength=\"%u\" value=\"%s\"" " maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_FULL_NAME\"" " class=\"INPUT_FULL_NAME\""
" required=\"required\" />" " required=\"required\" />",
"</td>",
Hie_MAX_CHARS_FULL_NAME,Ins_EditingIns->FullName); Hie_MAX_CHARS_FULL_NAME,Ins_EditingIns->FullName);
Tbl_EndCell ();
/***** Institution WWW *****/ /***** Institution WWW *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"url\" name=\"WWW\"" "<input type=\"url\" name=\"WWW\""
" maxlength=\"%u\" value=\"%s\"" " maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_WWW\"" " class=\"INPUT_WWW\""
" required=\"required\" />" " required=\"required\" />",
"</td>",
Cns_MAX_CHARS_WWW,Ins_EditingIns->WWW); Cns_MAX_CHARS_WWW,Ins_EditingIns->WWW);
Tbl_EndCell ();
/***** Number of users who claim to belong to this institution ****/ /***** Number of users who claim to belong to this institution ****/
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"0" "0");
"</td>"); Tbl_EndCell ();
/***** Number of centres *****/ /***** Number of centres *****/
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"0" "0");
"</td>"); Tbl_EndCell ();
/***** Number of users in courses of this institution ****/ /***** Number of users in courses of this institution ****/
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"0" "0");
"</td>"); Tbl_EndCell ();
/***** Institution requester *****/ /***** Institution requester *****/
fprintf (Gbl.F.Out,"<td class=\"DAT INPUT_REQUESTER LEFT_TOP\">"); fprintf (Gbl.F.Out,"<td class=\"DAT INPUT_REQUESTER LEFT_TOP\">");
@ -2299,8 +2336,9 @@ static void Ins_PutFormToCreateInstitution (void)
Tbl_EndCell (); Tbl_EndCell ();
/***** Institution status *****/ /***** Institution status *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">");
"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** End table, send button and end box *****/ /***** End table, send button and end box *****/

View File

@ -1713,11 +1713,11 @@ void Lay_AdvertisementMobile (void)
"<img src=\"%s/SWADroid200x300.png\"" "<img src=\"%s/SWADroid200x300.png\""
" alt=\"SWADroid\" title=\"%s\"" " alt=\"SWADroid\" title=\"%s\""
" style=\"width:250px; height:375px;\" />" " style=\"width:250px; height:375px;\" />"
"</a>" "</a>",
"</td>",
Txt_Stay_connected_with_SWADroid, Txt_Stay_connected_with_SWADroid,
Cfg_URL_ICON_PUBLIC, Cfg_URL_ICON_PUBLIC,
Txt_Stay_connected_with_SWADroid); Txt_Stay_connected_with_SWADroid);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** End table and box *****/ /***** End table and box *****/

View File

@ -433,9 +433,9 @@ static void Lnk_ListLinksForEdition (void)
/* Link code */ /* Link code */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%ld" "%ld",
"</td>",
Lnk->LnkCod); Lnk->LnkCod);
Tbl_EndCell ();
/* Link short name */ /* Link short name */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -748,7 +748,9 @@ static void Lnk_PutFormToCreateLink (void)
Tbl_StartRow (); Tbl_StartRow ();
/***** Link code *****/ /***** Link code *****/
fprintf (Gbl.F.Out,"<td class=\"BM\"></td>"); fprintf (Gbl.F.Out,"<td class=\"BM\">");
Tbl_EndCell ();
Tbl_PutEmptyCells (1); Tbl_PutEmptyCells (1);
/***** Link short name *****/ /***** Link short name *****/
@ -756,27 +758,27 @@ static void Lnk_PutFormToCreateLink (void)
"<input type=\"text\" name=\"ShortName\"" "<input type=\"text\" name=\"ShortName\""
" maxlength=\"%u\" value=\"%s\"" " maxlength=\"%u\" value=\"%s\""
" class=\"INPUT_SHORT_NAME\"" " class=\"INPUT_SHORT_NAME\""
" required=\"required\" />" " required=\"required\" />",
"</td>",
Lnk_MAX_CHARS_LINK_SHRT_NAME,Lnk_EditingLnk->ShrtName); Lnk_MAX_CHARS_LINK_SHRT_NAME,Lnk_EditingLnk->ShrtName);
Tbl_EndCell ();
/***** Link full name *****/ /***** Link 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>",
Lnk_MAX_CHARS_LINK_FULL_NAME,Lnk_EditingLnk->FullName); Lnk_MAX_CHARS_LINK_FULL_NAME,Lnk_EditingLnk->FullName);
Tbl_EndCell ();
/***** Link WWW *****/ /***** Link 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,Lnk_EditingLnk->WWW); Cns_MAX_CHARS_WWW,Lnk_EditingLnk->WWW);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();

View File

@ -155,18 +155,22 @@ void Mai_SeeMailDomains (void)
{ {
/* Write data of this mail domain */ /* Write data of this mail domain */
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">"
"%s" "%s",
"</td>" Gbl.Mails.Lst[NumMai].Domain);
"<td class=\"DAT LEFT_TOP\">" Tbl_EndCell ();
"%s"
"</td>" fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">"
"<td class=\"DAT RIGHT_TOP\">" "%s",
"%u" Gbl.Mails.Lst[NumMai].Info);
"</td>", Tbl_EndCell ();
Gbl.Mails.Lst[NumMai].Domain,
Gbl.Mails.Lst[NumMai].Info, fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP\">"
"%u",
Gbl.Mails.Lst[NumMai].NumUsrs); Gbl.Mails.Lst[NumMai].NumUsrs);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -495,9 +499,9 @@ static void Mai_ListMailDomainsForEdition (void)
/* Mail code */ /* Mail code */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%ld" "%ld",
"</td>",
Mai->MaiCod); Mai->MaiCod);
Tbl_EndCell ();
/* Mail domain */ /* Mail domain */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -525,9 +529,10 @@ static void Mai_ListMailDomainsForEdition (void)
/* Number of users */ /* Number of users */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u" "%u",
"</td>",
Mai->NumUsrs); Mai->NumUsrs);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -768,17 +773,17 @@ static void Mai_PutFormToCreateMailDomain (void)
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
"<input type=\"text\" name=\"Domain\"" "<input type=\"text\" name=\"Domain\""
" size=\"15\" maxlength=\"%u\" value=\"%s\"" " size=\"15\" maxlength=\"%u\" value=\"%s\""
" required=\"required\" />" " required=\"required\" />",
"</td>",
Cns_MAX_CHARS_EMAIL_ADDRESS,Mai_EditingMai->Domain); Cns_MAX_CHARS_EMAIL_ADDRESS,Mai_EditingMai->Domain);
Tbl_EndCell ();
/***** Mail domain info *****/ /***** Mail domain info *****/
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
"<input type=\"text\" name=\"Info\"" "<input type=\"text\" name=\"Info\""
" size=\"40\" maxlength=\"%u\" value=\"%s\"" " size=\"40\" maxlength=\"%u\" value=\"%s\""
" required=\"required\" />" " required=\"required\" />",
"</td>",
Mai_MAX_CHARS_MAIL_INFO,Mai_EditingMai->Info); Mai_MAX_CHARS_MAIL_INFO,Mai_EditingMai->Info);
Tbl_EndCell ();
Tbl_PutEmptyCells (1); Tbl_PutEmptyCells (1);
@ -1277,18 +1282,21 @@ static void Mai_ShowFormChangeUsrEmail (const struct UsrData *UsrDat,bool ItsMe,
{ {
/* The first mail is the current one */ /* The first mail is the current one */
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_TOP\">"
"<label for=\"Email\" class=\"%s\">" "<label for=\"Email\" class=\"%s\">"
"%s:" "%s:"
"</label>" "</label>",
"</td>"
"<td class=\"REC_C2_BOT LEFT_TOP USR_ID\">",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Current_email); Txt_Current_email);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"REC_C2_BOT LEFT_TOP USR_ID\">");
} }
else // NumEmail >= 2 else // NumEmail >= 2
{ {
Tbl_StartRow (); Tbl_StartRow ();
if (NumEmail == 2) if (NumEmail == 2)
fprintf (Gbl.F.Out,"<td rowspan=\"%u\" class=\"REC_C1_BOT RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td rowspan=\"%u\" class=\"REC_C1_BOT RIGHT_TOP\">"
"<label for=\"Email\" class=\"%s\">" "<label for=\"Email\" class=\"%s\">"
@ -1297,8 +1305,9 @@ static void Mai_ShowFormChangeUsrEmail (const struct UsrData *UsrDat,bool ItsMe,
NumEmails - 1, NumEmails - 1,
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Other_emails); Txt_Other_emails);
fprintf (Gbl.F.Out,"</td>" Tbl_EndCell ();
"<td class=\"REC_C2_BOT LEFT_TOP DAT\">");
fprintf (Gbl.F.Out,"<td class=\"REC_C2_BOT LEFT_TOP DAT\">");
} }
/* Form to remove email */ /* Form to remove email */
@ -1382,13 +1391,15 @@ static void Mai_ShowFormChangeUsrEmail (const struct UsrData *UsrDat,bool ItsMe,
/***** Form to enter new email *****/ /***** Form to enter new email *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_TOP\">"
"<label for=\"NewEmail\" class=\"%s\">%s:</label>" "<label for=\"NewEmail\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"REC_C2_BOT LEFT_TOP DAT\">",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
NumEmails ? Txt_New_email : // A new email NumEmails ? Txt_New_email : // A new email
Txt_Email); // The first email Txt_Email); // The first email
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"REC_C2_BOT LEFT_TOP DAT\">");
if (ItsMe) if (ItsMe)
Frm_StartFormAnchor (ActChgMyMai,Mai_EMAIL_SECTION_ID); Frm_StartFormAnchor (ActChgMyMai,Mai_EMAIL_SECTION_ID);
else else
@ -1418,6 +1429,7 @@ static void Mai_ShowFormChangeUsrEmail (const struct UsrData *UsrDat,bool ItsMe,
Txt_Save_changes); // User has no email address yet Txt_Save_changes); // User has no email address yet
Frm_EndForm (); Frm_EndForm ();
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** End table *****/ /***** End table *****/

View File

@ -563,11 +563,11 @@ static void Mch_ListOneOrMoreMatchesTimes (const struct Match *Match,unsigned Un
fprintf (Gbl.F.Out,"<script type=\"text/javascript\">" fprintf (Gbl.F.Out,"<script type=\"text/javascript\">"
"writeLocalDateHMSFromUTC('mch_time_%u_%u'," "writeLocalDateHMSFromUTC('mch_time_%u_%u',"
"%ld,%u,'<br />','%s',true,true,0x7);" "%ld,%u,'<br />','%s',true,true,0x7);"
"</script>" "</script>",
"</td>",
(unsigned) StartEndTime,UniqueId, (unsigned) StartEndTime,UniqueId,
Match->TimeUTC[StartEndTime], Match->TimeUTC[StartEndTime],
(unsigned) Gbl.Prefs.DateFormat,Txt_Today); (unsigned) Gbl.Prefs.DateFormat,Txt_Today);
Tbl_EndCell ();
} }
} }
@ -661,10 +661,10 @@ static void Mch_ListOneOrMoreMatchesNumPlayers (const struct Match *Match)
{ {
/***** Number of players who have answered any question in the match ******/ /***** Number of players who have answered any question in the match ******/
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP COLOR%u\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP COLOR%u\">"
"%u" "%u",
"</td>",
Gbl.RowEvenOdd, Gbl.RowEvenOdd,
Mch_GetNumUsrsWhoHaveAnswerMch (Match->MchCod)); Mch_GetNumUsrsWhoHaveAnswerMch (Match->MchCod));
Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -1195,17 +1195,20 @@ static void Mch_PutFormNewMatch (struct Game *Game)
/***** Match title *****/ /***** Match title *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"Title\" class=\"%s\">%s:</label>" "<label for=\"Title\" class=\"%s\">%s:</label>",
"</td>" The_ClassFormInBox[Gbl.Prefs.Theme],
"<td class=\"LEFT_MIDDLE\">" Txt_Title);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"text\" id=\"Title\" name=\"Title\"" "<input type=\"text\" id=\"Title\" name=\"Title\""
" size=\"45\" maxlength=\"%u\" value=\"%s\"" " size=\"45\" maxlength=\"%u\" value=\"%s\""
" required=\"required\" />" " required=\"required\" />",
"</td>",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Title,
Gam_MAX_CHARS_TITLE,Game->Title); Gam_MAX_CHARS_TITLE,Game->Title);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Groups *****/ /***** Groups *****/
@ -1250,12 +1253,14 @@ static void Mch_ShowLstGrpsToCreateMatch (void)
{ {
/***** Start box and table *****/ /***** Start box and table *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">"
"%s:" "%s:",
"</td>"
"<td class=\"LEFT_TOP\">",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Groups); Txt_Groups);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">");
Box_StartBoxTable ("95%",NULL,NULL, Box_StartBoxTable ("95%",NULL,NULL,
NULL,Box_NOT_CLOSABLE,0); NULL,Box_NOT_CLOSABLE,0);
@ -1268,9 +1273,10 @@ static void Mch_ShowLstGrpsToCreateMatch (void)
" checked=\"checked\"" " checked=\"checked\""
" onclick=\"uncheckChildren(this,'GrpCods')\" />" " onclick=\"uncheckChildren(this,'GrpCods')\" />"
"%s %s" "%s %s"
"</label>" "</label>",
"</td>",
Txt_The_whole_course,Gbl.Hierarchy.Crs.ShrtName); Txt_The_whole_course,Gbl.Hierarchy.Crs.ShrtName);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** List the groups for each group type *****/ /***** List the groups for each group type *****/
@ -3151,10 +3157,13 @@ static void Mch_DrawBarNumUsrs (unsigned NumAnswerersAns,unsigned NumAnswerersQs
for (i = 0; for (i = 0;
i < 100; i < 100;
i++) i++)
fprintf (Gbl.F.Out,"<td class=\"%s\"></td>", {
fprintf (Gbl.F.Out,"<td class=\"%s\">",
(i < BarWidth) ? (Correct ? "MATCH_RES_CORRECT" : (i < BarWidth) ? (Correct ? "MATCH_RES_CORRECT" :
"MATCH_RES_WRONG") : "MATCH_RES_WRONG") :
"MATCH_RES_VOID"); "MATCH_RES_VOID");
Tbl_EndCell ();
}
Tbl_EndRow (); Tbl_EndRow ();
Tbl_EndTable (); Tbl_EndTable ();

View File

@ -206,11 +206,13 @@ void McR_SelUsrsToViewUsrsMchResults (void)
/***** Put list of users to select some of them *****/ /***** Put list of users to select some of them *****/
Tbl_StartTableCenterPadding (2); Tbl_StartTableCenterPadding (2);
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">"
"%s:" "%s:",
"</td>" The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Users);
"<td colspan=\"2\" class=\"%s LEFT_TOP\">", Tbl_EndCell ();
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Users,
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"%s LEFT_TOP\">",
The_ClassFormInBox[Gbl.Prefs.Theme]); The_ClassFormInBox[Gbl.Prefs.Theme]);
Tbl_StartTablePadding (2); Tbl_StartTablePadding (2);
Usr_ListUsersToSelect (Rol_TCH); Usr_ListUsersToSelect (Rol_TCH);
@ -218,6 +220,7 @@ void McR_SelUsrsToViewUsrsMchResults (void)
Usr_ListUsersToSelect (Rol_STD); Usr_ListUsersToSelect (Rol_STD);
Tbl_EndTable (); Tbl_EndTable ();
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Starting and ending dates in the search *****/ /***** Starting and ending dates in the search *****/
@ -457,18 +460,19 @@ static void McR_ShowMchResults (Usr_MeOrOther_t MeOrOther)
"<script type=\"text/javascript\">" "<script type=\"text/javascript\">"
"writeLocalDateHMSFromUTC('mch_time_%u_%u'," "writeLocalDateHMSFromUTC('mch_time_%u_%u',"
"%ld,%u,'<br />','%s',true,false,0x7);" "%ld,%u,'<br />','%s',true,false,0x7);"
"</script>" "</script>",
"</td>",
(unsigned) StartEndTime,UniqueId, (unsigned) StartEndTime,UniqueId,
Gbl.RowEvenOdd, Gbl.RowEvenOdd,
(unsigned) StartEndTime,UniqueId, (unsigned) StartEndTime,UniqueId,
(long) TimeUTC[StartEndTime], (long) TimeUTC[StartEndTime],
(unsigned) Gbl.Prefs.DateFormat,Txt_Today); (unsigned) Gbl.Prefs.DateFormat,Txt_Today);
Tbl_EndCell ();
} }
/* Write match title */ /* Write match title */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP COLOR%u\">%s</td>", fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP COLOR%u\">%s",
Gbl.RowEvenOdd,Match.Title); Gbl.RowEvenOdd,Match.Title);
Tbl_EndCell ();
/* Get number of questions (row[3]) */ /* Get number of questions (row[3]) */
if (sscanf (row[3],"%u",&NumQstsInThisResult) != 1) if (sscanf (row[3],"%u",&NumQstsInThisResult) != 1)
@ -491,12 +495,14 @@ static void McR_ShowMchResults (Usr_MeOrOther_t MeOrOther)
} }
/* Write number of questions */ /* Write number of questions */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP COLOR%u\">%u</td>", fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP COLOR%u\">%u",
Gbl.RowEvenOdd,NumQstsInThisResult); Gbl.RowEvenOdd,NumQstsInThisResult);
Tbl_EndCell ();
/* Write number of questions not blank */ /* Write number of questions not blank */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP COLOR%u\">%u</td>", fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP COLOR%u\">%u",
Gbl.RowEvenOdd,NumQstsNotBlankInThisResult); Gbl.RowEvenOdd,NumQstsNotBlankInThisResult);
Tbl_EndCell ();
/* Write score */ /* Write score */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP COLOR%u\">",
@ -589,10 +595,10 @@ static void McR_ShowMchResultsSummaryRow (bool ShowSummaryResults,
/***** Row title *****/ /***** Row title *****/
fprintf (Gbl.F.Out,"<td colspan=\"3\"" fprintf (Gbl.F.Out,"<td colspan=\"3\""
" class=\"DAT_N_LINE_TOP RIGHT_MIDDLE COLOR%u\">" " class=\"DAT_N_LINE_TOP RIGHT_MIDDLE COLOR%u\">"
"%s: %u" "%s: %u",
"</td>",
Gbl.RowEvenOdd, Gbl.RowEvenOdd,
Txt_Matches,NumResults); Txt_Matches,NumResults);
Tbl_EndCell ();
/***** Write total number of questions *****/ /***** Write total number of questions *****/
fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP RIGHT_MIDDLE COLOR%u\">",
@ -635,8 +641,9 @@ static void McR_ShowMchResultsSummaryRow (bool ShowSummaryResults,
Tbl_EndCell (); Tbl_EndCell ();
/***** Last cell *****/ /***** Last cell *****/
fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP COLOR%u\"></td>", fprintf (Gbl.F.Out,"<td class=\"DAT_N_LINE_TOP COLOR%u\">",
Gbl.RowEvenOdd); Gbl.RowEvenOdd);
Tbl_EndCell ();
/***** End row *****/ /***** End row *****/
Tbl_EndRow (); Tbl_EndRow ();
@ -784,11 +791,13 @@ void McR_ShowOneMchResult (void)
/* User */ /* User */
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\">"
"%s:" "%s:",
"</td>"
"<td class=\"DAT LEFT_TOP\">",
Txt_ROLES_SINGUL_Abc[UsrDat->Roles.InCurrentCrs.Role][UsrDat->Sex]); Txt_ROLES_SINGUL_Abc[UsrDat->Roles.InCurrentCrs.Role][UsrDat->Sex]);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">");
ID_WriteUsrIDs (UsrDat,NULL); ID_WriteUsrIDs (UsrDat,NULL);
fprintf (Gbl.F.Out," %s", fprintf (Gbl.F.Out," %s",
UsrDat->Surname1); UsrDat->Surname1);
@ -804,6 +813,7 @@ void McR_ShowOneMchResult (void)
NULL, NULL,
"PHOTO45x60",Pho_ZOOM,false); "PHOTO45x60",Pho_ZOOM,false);
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/* Start/end time (for user in this match) */ /* Start/end time (for user in this match) */
@ -812,42 +822,50 @@ void McR_ShowOneMchResult (void)
StartEndTime++) StartEndTime++)
{ {
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\">"
"%s:" "%s:",
"</td>" Txt_START_END_TIME[StartEndTime]);
"<td id=\"match_%u\" class=\"DAT LEFT_TOP\">" Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td id=\"match_%u\" class=\"DAT LEFT_TOP\">"
"<script type=\"text/javascript\">" "<script type=\"text/javascript\">"
"writeLocalDateHMSFromUTC('match_%u',%ld," "writeLocalDateHMSFromUTC('match_%u',%ld,"
"%u,',&nbsp;','%s',true,true,0x7);" "%u,',&nbsp;','%s',true,true,0x7);"
"</script>" "</script>",
"</td>",
Txt_START_END_TIME[StartEndTime],
(unsigned) StartEndTime, (unsigned) StartEndTime,
(unsigned) StartEndTime, (unsigned) StartEndTime,
TimeUTC[StartEndTime], TimeUTC[StartEndTime],
(unsigned) Gbl.Prefs.DateFormat,Txt_Today); (unsigned) Gbl.Prefs.DateFormat,Txt_Today);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
/* Number of questions */ /* Number of questions */
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\">"
"%s:" "%s:",
"</td>" Txt_Questions);
"<td class=\"DAT LEFT_TOP\">" Tbl_EndCell ();
"%u (%u %s)"
"</td>", fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">"
Txt_Questions, "%u (%u %s)",
NumQsts,NumQstsNotBlank,Txt_non_blank_QUESTIONS); NumQsts,NumQstsNotBlank,Txt_non_blank_QUESTIONS);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/* Score */ /* Score */
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\">"
"%s:" "%s:",
"</td>"
"<td class=\"DAT LEFT_TOP\">",
Txt_Score); Txt_Score);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">");
if (ICanViewScore) if (ICanViewScore)
fprintf (Gbl.F.Out,"%.2lf (%.2lf", fprintf (Gbl.F.Out,"%.2lf (%.2lf",
TotalScore, TotalScore,
@ -855,19 +873,24 @@ void McR_ShowOneMchResult (void)
0.0); 0.0);
else else
fprintf (Gbl.F.Out,"? (?"); // No feedback fprintf (Gbl.F.Out,"? (?"); // No feedback
fprintf (Gbl.F.Out," %s %u)</td>", fprintf (Gbl.F.Out," %s %u)",
Txt_out_of_PART_OF_A_SCORE,Tst_SCORE_MAX); Txt_out_of_PART_OF_A_SCORE,Tst_SCORE_MAX);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/* Tags present in this result */ /* Tags present in this result */
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\">"
"%s:" "%s:",
"</td>"
"<td class=\"DAT LEFT_TOP\">",
Txt_Tags); Txt_Tags);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">");
Gam_ShowTstTagsPresentInAGame (Match.GamCod); Gam_ShowTstTagsPresentInAGame (Match.GamCod);
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Write answers and solutions *****/ /***** Write answers and solutions *****/

View File

@ -291,11 +291,13 @@ static void Msg_PutFormMsgUsrs (char Content[Cns_MAX_BYTES_LONG_TEXT + 1])
/***** "To:" section (recipients) *****/ /***** "To:" section (recipients) *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">"
"%s:" "%s:",
"</td>"
"<td class=\"LEFT_TOP\">",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_MSG_To); The_ClassFormInBox[Gbl.Prefs.Theme],Txt_MSG_To);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">");
if (Gbl.Msg.ShowOnlyOneRecipient) if (Gbl.Msg.ShowOnlyOneRecipient)
/***** Show only one user as recipient *****/ /***** Show only one user as recipient *****/
Msg_ShowOneUniqueRecipient (); Msg_ShowOneUniqueRecipient ();
@ -312,8 +314,8 @@ static void Msg_PutFormMsgUsrs (char Content[Cns_MAX_BYTES_LONG_TEXT + 1])
Msg_WriteFormUsrsIDsOrNicksOtherRecipients (); // Other users (nicknames) Msg_WriteFormUsrsIDsOrNicksOtherRecipients (); // Other users (nicknames)
Tbl_EndTable (); Tbl_EndTable ();
} }
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Subject and content sections *****/ /***** Subject and content sections *****/
@ -492,6 +494,7 @@ static void Msg_WriteFormUsrsIDsOrNicksOtherRecipients (void)
/***** Textarea with users' @nicknames, emails or IDs *****/ /***** Textarea with users' @nicknames, emails or IDs *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td"); fprintf (Gbl.F.Out,"<td");
if (Colspan > 1) if (Colspan > 1)
fprintf (Gbl.F.Out," colspan=\"%u\"",Colspan); fprintf (Gbl.F.Out," colspan=\"%u\"",Colspan);
@ -507,8 +510,9 @@ static void Msg_WriteFormUsrsIDsOrNicksOtherRecipients (void)
// write @nickname of original sender // write @nickname of original sender
if (Nck_GetNicknameFromUsrCod (Gbl.Usrs.Other.UsrDat.UsrCod,Nickname)) if (Nck_GetNicknameFromUsrCod (Gbl.Usrs.Other.UsrDat.UsrCod,Nickname))
fprintf (Gbl.F.Out,"@%s",Nickname); fprintf (Gbl.F.Out,"@%s",Nickname);
fprintf (Gbl.F.Out,"</textarea>" fprintf (Gbl.F.Out,"</textarea>");
"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -533,16 +537,18 @@ static void Msg_WriteFormSubjectAndContentMsgToUsrs (char Content[Cns_MAX_BYTES_
/***** Message subject *****/ /***** Message subject *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"MsgSubject\" class=\"%s\">" "<label for=\"MsgSubject\" class=\"%s\">"
"%s:" "%s:"
"</label>" "</label>",
"</td>"
"<td class=\"LEFT_MIDDLE\">"
"<textarea id=\"MsgSubject\" name=\"Subject\""
" class=\"MSG_SUBJECT\" rows=\"2\">",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_MSG_Subject); Txt_MSG_Subject);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<textarea id=\"MsgSubject\" name=\"Subject\""
" class=\"MSG_SUBJECT\" rows=\"2\">");
/* If message is a reply ==> get original message */ /* If message is a reply ==> get original message */
if (MsgCod > 0) // It's a reply if (MsgCod > 0) // It's a reply
@ -576,22 +582,25 @@ static void Msg_WriteFormSubjectAndContentMsgToUsrs (char Content[Cns_MAX_BYTES_
if (!SubjectAndContentComeFromForm) if (!SubjectAndContentComeFromForm)
fprintf (Gbl.F.Out,"Re: "); fprintf (Gbl.F.Out,"Re: ");
fprintf (Gbl.F.Out,"%s" fprintf (Gbl.F.Out,"%s"
"</textarea>" "</textarea>",
"</td>",
Gbl.Msg.Subject); Gbl.Msg.Subject);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Message content *****/ /***** Message content *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"MsgContent\" class=\"%s\">" "<label for=\"MsgContent\" class=\"%s\">"
"%s:" "%s:"
"</label>" "</label>",
"</td>"
"<td class=\"LEFT_MIDDLE\">"
"<textarea id=\"MsgContent\" name=\"Content\""
" class=\"MSG_CONTENT\" rows=\"20\">",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_MSG_Content); The_ClassFormInBox[Gbl.Prefs.Theme],Txt_MSG_Content);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<textarea id=\"MsgContent\" name=\"Content\""
" class=\"MSG_CONTENT\" rows=\"20\">");
/* Start textarea with a '\n', that will be not visible in textarea. /* Start textarea with a '\n', that will be not visible in textarea.
When Content is "\nLorem ipsum" (a white line before "Lorem ipsum"), When Content is "\nLorem ipsum" (a white line before "Lorem ipsum"),
@ -608,23 +617,26 @@ static void Msg_WriteFormSubjectAndContentMsgToUsrs (char Content[Cns_MAX_BYTES_
else // It's not a reply else // It's not a reply
{ {
/* End message subject */ /* End message subject */
fprintf (Gbl.F.Out,"%s</textarea>" fprintf (Gbl.F.Out,"%s</textarea>",
"</td>",
Gbl.Msg.Subject); Gbl.Msg.Subject);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Message content *****/ /***** Message content *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"MsgContent\" class=\"%s\">" "<label for=\"MsgContent\" class=\"%s\">"
"%s:" "%s:"
"</label>" "</label>",
"</td>"
"<td class=\"LEFT_MIDDLE\">"
"<textarea id=\"MsgContent\" name=\"Content\""
" class=\"MSG_CONTENT\" rows=\"20\">",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_MSG_Content); Txt_MSG_Content);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<textarea id=\"MsgContent\" name=\"Content\""
" class=\"MSG_CONTENT\" rows=\"20\">");
/* Start textarea with a '\n', that will be not visible in textarea. /* Start textarea with a '\n', that will be not visible in textarea.
When Content is "\nLorem ipsum" (a white line before "Lorem ipsum"), When Content is "\nLorem ipsum" (a white line before "Lorem ipsum"),
@ -632,8 +644,9 @@ static void Msg_WriteFormSubjectAndContentMsgToUsrs (char Content[Cns_MAX_BYTES_
by "Lorem", without the white line */ by "Lorem", without the white line */
fprintf (Gbl.F.Out,"\n%s",Content); fprintf (Gbl.F.Out,"\n%s",Content);
} }
fprintf (Gbl.F.Out,"</textarea>" fprintf (Gbl.F.Out,"</textarea>");
"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -2644,18 +2657,19 @@ void Msg_ShowFormToFilterMsgs (void)
/***** Start table *****/ /***** Start table *****/
Tbl_StartTableCenterPadding (2); Tbl_StartTableCenterPadding (2);
/***** Filter authors/recipients *****/
Tbl_StartRow (); Tbl_StartRow ();
/***** Filter authors/recipients *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<label class=\"%s\">" "<label class=\"%s\">"
"%s:&nbsp;" "%s:&nbsp;"
"<input type=\"search\" name=\"FilterFromTo\"" "<input type=\"search\" name=\"FilterFromTo\""
" size=\"20\" maxlength=\"%u\" value=\"%s\" />" " size=\"20\" maxlength=\"%u\" value=\"%s\" />"
"</label>" "</label>",
"</td>",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
TxtFromTo[Gbl.Msg.TypeOfMessages], TxtFromTo[Gbl.Msg.TypeOfMessages],
Usr_MAX_CHARS_FIRSTNAME_OR_SURNAME * 3,Gbl.Msg.FilterFromTo); Usr_MAX_CHARS_FIRSTNAME_OR_SURNAME * 3,Gbl.Msg.FilterFromTo);
Tbl_EndCell ();
/***** Filter message content *****/ /***** Filter message content *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
@ -2663,11 +2677,12 @@ void Msg_ShowFormToFilterMsgs (void)
"%s:&nbsp;" "%s:&nbsp;"
"<input type=\"search\" name=\"FilterContent\"" "<input type=\"search\" name=\"FilterContent\""
" size=\"20\" maxlength=\"%u\" value=\"%s\" />" " size=\"20\" maxlength=\"%u\" value=\"%s\" />"
"</label>" "</label>",
"</td>",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_MSG_Content, Txt_MSG_Content,
Msg_MAX_CHARS_FILTER_CONTENT,Gbl.Msg.FilterContent); Msg_MAX_CHARS_FILTER_CONTENT,Gbl.Msg.FilterContent);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** End table *****/ /***** End table *****/
@ -3023,31 +3038,37 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
/***** Write "From:" *****/ /***** Write "From:" *****/
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP MSG_TIT\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP MSG_TIT\">"
"%s:&nbsp;" "%s:&nbsp;",
"</td>"
"<td colspan=\"2\" class=\"LEFT_TOP\">",
Txt_MSG_From); Txt_MSG_From);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"LEFT_TOP\">");
Msg_WriteMsgFrom (&UsrDat,Deleted); Msg_WriteMsgFrom (&UsrDat,Deleted);
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Write "To:" *****/ /***** Write "To:" *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP MSG_TIT\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP MSG_TIT\">"
"%s:&nbsp;" "%s:&nbsp;",
"</td>"
"<td colspan=\"2\" class=\"LEFT_TOP\">",
Txt_MSG_To); Txt_MSG_To);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"LEFT_TOP\">");
Msg_WriteMsgTo (MsgCod); Msg_WriteMsgTo (MsgCod);
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Write "Content:" *****/ /***** Write "Content:" *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP MSG_TIT\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP MSG_TIT\">"
"%s:&nbsp;" "%s:&nbsp;",
"</td>",
Txt_MSG_Content); Txt_MSG_Content);
Tbl_EndCell ();
/***** Initialize image *****/ /***** Initialize image *****/
Med_MediaConstructor (&Media); Med_MediaConstructor (&Media);
@ -3130,11 +3151,11 @@ void Msg_GetNotifMessage (char SummaryStr[Ntf_MAX_BYTES_SUMMARY + 1],
void Msg_WriteMsgNumber (unsigned long MsgNum,bool NewMsg) void Msg_WriteMsgNumber (unsigned long MsgNum,bool NewMsg)
{ {
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_TOP\" style=\"width:45px;\">" fprintf (Gbl.F.Out,"<td class=\"%s CENTER_TOP\" style=\"width:45px;\">"
"%lu:" "%lu:",
"</td>",
NewMsg ? "MSG_TIT_BG_NEW" : NewMsg ? "MSG_TIT_BG_NEW" :
"MSG_TIT_BG", "MSG_TIT_BG",
MsgNum); MsgNum);
Tbl_EndCell ();
} }
/*****************************************************************************/ /*****************************************************************************/
@ -3227,11 +3248,13 @@ void Msg_WriteMsgAuthor (struct UsrData *UsrDat,bool Enabled,const char *BgColor
{ {
fprintf (Gbl.F.Out,"<img src=\"%s/usr_bl.jpg\"" fprintf (Gbl.F.Out,"<img src=\"%s/usr_bl.jpg\""
" alt=\"%s\" title=\"%s\"" " alt=\"%s\" title=\"%s\""
" class=\"PHOTO30x40\" />" " class=\"PHOTO30x40\" />",
"</td>"
"<td class=\"LEFT_MIDDLE",
Cfg_URL_ICON_PUBLIC, Cfg_URL_ICON_PUBLIC,
Txt_Unknown_or_without_photo,Txt_Unknown_or_without_photo); Txt_Unknown_or_without_photo,
Txt_Unknown_or_without_photo);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE");
if (BgColor) if (BgColor)
fprintf (Gbl.F.Out," %s",BgColor); fprintf (Gbl.F.Out," %s",BgColor);
fprintf (Gbl.F.Out,"\">"); fprintf (Gbl.F.Out,"\">");
@ -3348,14 +3371,14 @@ static void Msg_WriteMsgFrom (struct UsrData *UsrDat,bool Deleted)
bool ShowPhoto; bool ShowPhoto;
char PhotoURL[PATH_MAX + 1]; char PhotoURL[PATH_MAX + 1];
/***** Put an icon to show if user has read the message *****/
Tbl_StartTable (); Tbl_StartTable ();
Tbl_StartRow (); Tbl_StartRow ();
/***** Put an icon to show if user has read the message *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:20px;\">" fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:20px;\">"
"<img src=\"%s/%s\"" "<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\"" " alt=\"%s\" title=\"%s\""
" class=\"ICO16x16\" />" " class=\"ICO16x16\" />",
"</td>",
Cfg_URL_ICON_PUBLIC, Cfg_URL_ICON_PUBLIC,
Deleted ? "share-red.svg" : Deleted ? "share-red.svg" :
"share.svg", "share.svg",
@ -3363,6 +3386,7 @@ static void Msg_WriteMsgFrom (struct UsrData *UsrDat,bool Deleted)
Txt_MSG_Sent, Txt_MSG_Sent,
Deleted ? Txt_MSG_Sent_and_deleted : Deleted ? Txt_MSG_Sent_and_deleted :
Txt_MSG_Sent); Txt_MSG_Sent);
Tbl_EndCell ();
/***** Put user's photo *****/ /***** Put user's photo *****/
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\" style=\"width:30px;\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\" style=\"width:30px;\">");
@ -3370,10 +3394,10 @@ static void Msg_WriteMsgFrom (struct UsrData *UsrDat,bool Deleted)
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL : Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
NULL, NULL,
"PHOTO21x28",Pho_ZOOM,false); "PHOTO21x28",Pho_ZOOM,false);
Tbl_EndCell ();
/***** Write user's name *****/ /***** Write user's name *****/
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"<td class=\"AUTHOR_TXT LEFT_MIDDLE\">");
"<td class=\"AUTHOR_TXT LEFT_MIDDLE\">");
if (UsrDat->UsrCod > 0) if (UsrDat->UsrCod > 0)
{ {
fprintf (Gbl.F.Out,"%s",UsrDat->FullName); fprintf (Gbl.F.Out,"%s",UsrDat->FullName);
@ -3392,6 +3416,7 @@ static void Msg_WriteMsgFrom (struct UsrData *UsrDat,bool Deleted)
fprintf (Gbl.F.Out,"[%s]", fprintf (Gbl.F.Out,"[%s]",
Txt_ROLES_SINGUL_abc[Rol_UNK][Usr_SEX_UNKNOWN]); // User not found, likely an old user who has been removed Txt_ROLES_SINGUL_abc[Rol_UNK][Usr_SEX_UNKNOWN]); // User not found, likely an old user who has been removed
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
Tbl_EndTable (); Tbl_EndTable ();
} }
@ -3515,14 +3540,14 @@ static void Msg_WriteMsgTo (long MsgCod)
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:20px;\">" fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:20px;\">"
"<img src=\"%s/%s\"" "<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\"" " alt=\"%s\" title=\"%s\""
" class=\"ICO16x16\" />" " class=\"ICO16x16\" />",
"</td>",
Cfg_URL_ICON_PUBLIC, Cfg_URL_ICON_PUBLIC,
OpenByDst ? (Deleted ? "envelope-open-text-red.svg" : OpenByDst ? (Deleted ? "envelope-open-text-red.svg" :
"envelope-open-text.svg") : "envelope-open-text.svg") :
(Deleted ? "envelope-red.svg" : (Deleted ? "envelope-red.svg" :
"envelope.svg"), "envelope.svg"),
Title,Title); Title,Title);
Tbl_EndCell ();
/* Put user's photo */ /* Put user's photo */
fprintf (Gbl.F.Out,"<td class=\"CENTER_TOP\" style=\"width:30px;\">"); fprintf (Gbl.F.Out,"<td class=\"CENTER_TOP\" style=\"width:30px;\">");
@ -3531,10 +3556,10 @@ static void Msg_WriteMsgTo (long MsgCod)
Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL : Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL :
NULL, NULL,
"PHOTO21x28",Pho_ZOOM,false); "PHOTO21x28",Pho_ZOOM,false);
Tbl_EndCell ();
/* Write user's name */ /* Write user's name */
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE\">",
"<td class=\"%s LEFT_MIDDLE\">",
OpenByDst ? "AUTHOR_TXT" : OpenByDst ? "AUTHOR_TXT" :
"AUTHOR_TXT_NEW"); "AUTHOR_TXT_NEW");
if (UsrValid) if (UsrValid)
@ -3550,13 +3575,14 @@ static void Msg_WriteMsgTo (long MsgCod)
{ {
/***** Start form to show all the users *****/ /***** Start form to show all the users *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"AUTHOR_TXT LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"AUTHOR_TXT LEFT_MIDDLE\">"
"[%u %s]" "[%u %s]",
"</td>",
NumRecipientsUnknown, NumRecipientsUnknown,
(NumRecipientsUnknown == 1) ? (NumRecipientsUnknown == 1) ? Txt_unknown_recipient :
Txt_unknown_recipient : Txt_unknown_recipients);
Txt_unknown_recipients); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -3870,9 +3896,10 @@ void Msg_ListBannedUsrs (void)
/* Write user's full name */ /* Write user's full name */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%s" "%s",
"</td>",
UsrDat.FullName); UsrDat.FullName);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
} }

View File

@ -324,6 +324,7 @@ void Net_ShowFormMyWebsAndSocialNets (void)
/***** Row for this web / social network *****/ /***** Row for this web / social network *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT LEFT_MIDDLE\">"
"<label for=\"URL%u\" class=\"%s\">" "<label for=\"URL%u\" class=\"%s\">"
"<img src=\"%s/%s\"" "<img src=\"%s/%s\""
@ -331,21 +332,22 @@ void Net_ShowFormMyWebsAndSocialNets (void)
" class=\"CONTEXT_ICO_16x16\"" " class=\"CONTEXT_ICO_16x16\""
" style=\"margin-right:6px;\" />" " style=\"margin-right:6px;\" />"
"%s:" "%s:"
"</label>" "</label>",
"</td>"
"<td class=\"REC_C2_BOT LEFT_MIDDLE\">"
"<input type=\"url\" id=\"URL%u\" name=\"URL%u\""
" maxlength=\"%u\" value=\"%s\""
" class=\"REC_C2_BOT_INPUT\" />"
"</td>",
(unsigned) NumURL,The_ClassFormInBox[Gbl.Prefs.Theme], (unsigned) NumURL,The_ClassFormInBox[Gbl.Prefs.Theme],
Cfg_URL_ICON_PUBLIC,Net_WebsAndSocialNetworksIcons[NumURL], Cfg_URL_ICON_PUBLIC,Net_WebsAndSocialNetworksIcons[NumURL],
Net_WebsAndSocialNetworksTitle[NumURL], Net_WebsAndSocialNetworksTitle[NumURL],
Net_WebsAndSocialNetworksTitle[NumURL], Net_WebsAndSocialNetworksTitle[NumURL],
Net_WebsAndSocialNetworksTitle[NumURL], Net_WebsAndSocialNetworksTitle[NumURL]);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"REC_C2_BOT LEFT_MIDDLE\">"
"<input type=\"url\" id=\"URL%u\" name=\"URL%u\""
" maxlength=\"%u\" value=\"%s\""
" class=\"REC_C2_BOT_INPUT\" />",
(unsigned) NumURL,(unsigned) NumURL, (unsigned) NumURL,(unsigned) NumURL,
Cns_MAX_CHARS_WWW,URL); Cns_MAX_CHARS_WWW,URL);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -591,25 +593,30 @@ void Net_ShowWebAndSocialNetworksStats (void)
Lay_ShowErrorAndExit ("Error when getting number of files."); Lay_ShowErrorAndExit ("Error when getting number of files.");
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"<img src=\"%s/%s\"" "<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\"" " alt=\"%s\" title=\"%s\""
" class=\"CONTEXT_ICO_16x16\"" " class=\"CONTEXT_ICO_16x16\""
" style=\"margin-right:6px;\" />" " style=\"margin-right:6px;\" />"
"%s</td>" "%s",
"<td class=\"DAT RIGHT_MIDDLE\">"
"%u"
"</td>"
"<td class=\"DAT RIGHT_MIDDLE\">"
"%.2f%%"
"</td>",
Cfg_URL_ICON_PUBLIC,Net_WebsAndSocialNetworksIcons[Web], Cfg_URL_ICON_PUBLIC,Net_WebsAndSocialNetworksIcons[Web],
Net_WebsAndSocialNetworksTitle[Web], Net_WebsAndSocialNetworksTitle[Web],
Net_WebsAndSocialNetworksTitle[Web], Net_WebsAndSocialNetworksTitle[Web],
Net_WebsAndSocialNetworksTitle[Web], Net_WebsAndSocialNetworksTitle[Web]);
NumUsrs, Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u",
NumUsrs);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%.2f%%",
NumUsrsTotal ? 100.0 * (float) NumUsrs / (float) NumUsrsTotal : NumUsrsTotal ? 100.0 * (float) NumUsrs / (float) NumUsrsTotal :
0.0); 0.0);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
} }

View File

@ -268,32 +268,35 @@ static void Nck_ShowFormChangeUsrNickname (const struct UsrData *UsrDat,bool Its
/* Get nickname */ /* Get nickname */
row = mysql_fetch_row (mysql_res); row = mysql_fetch_row (mysql_res);
Tbl_StartRow ();
if (NumNick == 1) if (NumNick == 1)
{ {
/* The first nickname is the current one */ /* The first nickname is the current one */
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_TOP\">"
"<label for=\"Nick\" class=\"%s\">" "<label for=\"Nick\" class=\"%s\">"
"%s:" "%s:"
"</label>" "</label>",
"</td>"
"<td class=\"REC_C2_BOT LEFT_TOP USR_ID\">",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Current_nickname); Txt_Current_nickname);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"REC_C2_BOT LEFT_TOP USR_ID\">");
} }
else // NumNick >= 2 else // NumNick >= 2
{ {
Tbl_StartRow ();
if (NumNick == 2) if (NumNick == 2)
{
fprintf (Gbl.F.Out,"<td rowspan=\"%u\"" fprintf (Gbl.F.Out,"<td rowspan=\"%u\""
" class=\"REC_C1_BOT RIGHT_TOP\">" " class=\"REC_C1_BOT RIGHT_TOP\">"
"<label for=\"Nick\" class=\"%s\">" "<label for=\"Nick\" class=\"%s\">"
"%s:" "%s:"
"</label>" "</label>",
"</td>",
NumNicks - 1, NumNicks - 1,
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Other_nicknames); Txt_Other_nicknames);
Tbl_EndCell ();
}
fprintf (Gbl.F.Out,"<td class=\"REC_C2_BOT LEFT_TOP DAT\">"); fprintf (Gbl.F.Out,"<td class=\"REC_C2_BOT LEFT_TOP DAT\">");
/* Form to remove old nickname */ /* Form to remove old nickname */
@ -368,15 +371,17 @@ static void Nck_ShowFormChangeUsrNickname (const struct UsrData *UsrDat,bool Its
/***** Form to enter new nickname *****/ /***** Form to enter new nickname *****/
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_TOP\">"
"<label for=\"NewNick\" class=\"%s\">" "<label for=\"NewNick\" class=\"%s\">"
"%s:" "%s:"
"</label>" "</label>",
"</td>"
"<td class=\"REC_C2_BOT LEFT_TOP DAT\">",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
NumNicks ? Txt_New_nickname : // A new nickname NumNicks ? Txt_New_nickname : // A new nickname
Txt_Nickname); // The first nickname Txt_Nickname); // The first nickname
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"REC_C2_BOT LEFT_TOP DAT\">");
if (ItsMe) if (ItsMe)
Frm_StartFormAnchor (ActChgMyNck,Nck_NICKNAME_SECTION_ID); Frm_StartFormAnchor (ActChgMyNck,Nck_NICKNAME_SECTION_ID);
else else
@ -406,6 +411,7 @@ static void Nck_ShowFormChangeUsrNickname (const struct UsrData *UsrDat,bool Its
Txt_Save_changes); // I have no nickname yet); Txt_Save_changes); // I have no nickname yet);
Frm_EndForm (); Frm_EndForm ();
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** End table and box *****/ /***** End table and box *****/

View File

@ -590,9 +590,10 @@ void Ntf_ShowMyNotifications (void)
/* Write status (sent by email / pending to be sent by email) */ /* Write status (sent by email / pending to be sent by email) */
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">"
"%s" "%s",
"</td>",
ClassBackground,Txt_NOTIFICATION_STATUS[StatusTxt]); ClassBackground,Txt_NOTIFICATION_STATUS[StatusTxt]);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** Write content of the event *****/ /***** Write content of the event *****/
@ -602,14 +603,20 @@ void Ntf_ShowMyNotifications (void)
Ntf_GetNotifSummaryAndContent (SummaryStr,&ContentStr,NotifyEvent, Ntf_GetNotifSummaryAndContent (SummaryStr,&ContentStr,NotifyEvent,
Cod,Crs.CrsCod,Gbl.Usrs.Me.UsrDat.UsrCod, Cod,Crs.CrsCod,Gbl.Usrs.Me.UsrDat.UsrCod,
false); false);
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"2\"></td>"
"<td colspan=\"4\" class=\"DAT LEFT_TOP\"" fprintf (Gbl.F.Out,"<td colspan=\"2\">");
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td colspan=\"4\" class=\"DAT LEFT_TOP\""
" style=\"padding-bottom:12px;\">" " style=\"padding-bottom:12px;\">"
"%s" "%s",
"</td>",
SummaryStr); SummaryStr);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
if (ContentStr != NULL) if (ContentStr != NULL)
{ {
free ((void *) ContentStr); free ((void *) ContentStr);
@ -1958,25 +1965,29 @@ void Ntf_PutFormChangeNotifSentByEMail (void)
NotifyEvent++) // O is reserved for Ntf_EVENT_UNKNOWN NotifyEvent++) // O is reserved for Ntf_EVENT_UNKNOWN
{ {
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:" "%s:",
"</td>"
"<td class=\"CENTER_MIDDLE\">"
"<input type=\"checkbox\" name=\"%s\" value=\"Y\"",
The_ClassFormInBox[Gbl.Prefs.Theme], The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_NOTIFY_EVENTS_PLURAL[NotifyEvent], Txt_NOTIFY_EVENTS_PLURAL[NotifyEvent]);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
"<input type=\"checkbox\" name=\"%s\" value=\"Y\"",
Ntf_ParamNotifMeAboutNotifyEvents[NotifyEvent]); Ntf_ParamNotifMeAboutNotifyEvents[NotifyEvent]);
if ((Gbl.Usrs.Me.UsrDat.NtfEvents.CreateNotif & (1 << NotifyEvent))) if ((Gbl.Usrs.Me.UsrDat.NtfEvents.CreateNotif & (1 << NotifyEvent)))
fprintf (Gbl.F.Out," checked=\"checked\""); fprintf (Gbl.F.Out," checked=\"checked\"");
fprintf (Gbl.F.Out," />" fprintf (Gbl.F.Out," />");
"</td>" Tbl_EndCell ();
"<td class=\"CENTER_MIDDLE\">"
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
"<input type=\"checkbox\" name=\"%s\" value=\"Y\"", "<input type=\"checkbox\" name=\"%s\" value=\"Y\"",
Ntf_ParamEmailMeAboutNotifyEvents[NotifyEvent]); Ntf_ParamEmailMeAboutNotifyEvents[NotifyEvent]);
if ((Gbl.Usrs.Me.UsrDat.NtfEvents.SendEmail & (1 << NotifyEvent))) if ((Gbl.Usrs.Me.UsrDat.NtfEvents.SendEmail & (1 << NotifyEvent)))
fprintf (Gbl.F.Out," checked=\"checked\""); fprintf (Gbl.F.Out," checked=\"checked\"");
fprintf (Gbl.F.Out," />" fprintf (Gbl.F.Out," />");
"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }

View File

@ -686,18 +686,21 @@ void Pwd_ShowFormChgMyPwd (void)
if (IHaveAPasswordInDB) // If I have a password in database... if (IHaveAPasswordInDB) // If I have a password in database...
{ {
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
"<label for=\"UsrPwd\" class=\"%s\">%s:</label>" "<label for=\"UsrPwd\" class=\"%s\">%s:</label>",
"</td>" The_ClassFormInBox[Gbl.Prefs.Theme],
"<td class=\"REC_C2_BOT LEFT_MIDDLE\">" Txt_Current_password);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"REC_C2_BOT LEFT_MIDDLE\">"
"<input type=\"password\"" "<input type=\"password\""
" id=\"UsrPwd\" name=\"UsrPwd\"" " id=\"UsrPwd\" name=\"UsrPwd\""
" size=\"18\" maxlength=\"%u\"" " size=\"18\" maxlength=\"%u\""
" autocomplete=\"off\" required=\"required\" />" " autocomplete=\"off\" required=\"required\" />",
"</td>",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Current_password,
Pwd_MAX_CHARS_PLAIN_PASSWORD); Pwd_MAX_CHARS_PLAIN_PASSWORD);
Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -734,16 +737,18 @@ void Pwd_PutFormToGetNewPasswordOnce (void)
extern const char *Txt_Password; extern const char *Txt_Password;
extern const char *Txt_HELP_password; extern const char *Txt_HELP_password;
/***** Start form element ****/
Tbl_StartRow (); Tbl_StartRow ();
/***** Start form element ****/
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"Passwd\" class=\"%s\">%s:</label>" "<label for=\"Passwd\" class=\"%s\">%s:</label>",
"</td>" The_ClassFormInBox[Gbl.Prefs.Theme],
"<td class=\"LEFT_MIDDLE\">" Txt_Password);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"password\" id=\"Passwd\" name=\"Paswd\"" "<input type=\"password\" id=\"Passwd\" name=\"Paswd\""
" size=\"18\" maxlength=\"%u\" placeholder=\"", " size=\"18\" maxlength=\"%u\" placeholder=\"",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Password,
Pwd_MAX_CHARS_PLAIN_PASSWORD); Pwd_MAX_CHARS_PLAIN_PASSWORD);
/***** Placeholder *****/ /***** Placeholder *****/
@ -752,8 +757,9 @@ void Pwd_PutFormToGetNewPasswordOnce (void)
/***** End form element ****/ /***** End form element ****/
fprintf (Gbl.F.Out,"\"" fprintf (Gbl.F.Out,"\""
" required=\"required\" />" " required=\"required\" />");
"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -771,15 +777,17 @@ void Pwd_PutFormToGetNewPasswordTwice (void)
/***** 1st password *****/ /***** 1st password *****/
/* Start form element */ /* Start form element */
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
"<label for=\"Paswd1\" class=\"%s\">%s:</label>" "<label for=\"Paswd1\" class=\"%s\">%s:</label>",
"</td>" The_ClassFormInBox[Gbl.Prefs.Theme],
"<td class=\"REC_C2_BOT LEFT_MIDDLE\">" Txt_New_password);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"REC_C2_BOT LEFT_MIDDLE\">"
"<input type=\"password\" id=\"Paswd1\" name=\"Paswd1\"" "<input type=\"password\" id=\"Paswd1\" name=\"Paswd1\""
" size=\"18\" maxlength=\"%u\"" " size=\"18\" maxlength=\"%u\""
" placeholder=\"", " placeholder=\"",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_New_password,
Pwd_MAX_CHARS_PLAIN_PASSWORD); Pwd_MAX_CHARS_PLAIN_PASSWORD);
/* Placeholder */ /* Placeholder */
@ -787,22 +795,25 @@ void Pwd_PutFormToGetNewPasswordTwice (void)
Pwd_MIN_CHARS_PLAIN_PASSWORD); Pwd_MIN_CHARS_PLAIN_PASSWORD);
/* End form element */ /* End form element */
fprintf (Gbl.F.Out,"\" required=\"required\" />" fprintf (Gbl.F.Out,"\" required=\"required\" />");
"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
/***** 2nd password *****/ /***** 2nd password *****/
/* Start form element */ /* Start form element */
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_MIDDLE\">"
"<label for=\"Paswd2\" class=\"%s\">%s:</label>" "<label for=\"Paswd2\" class=\"%s\">%s:</label>",
"</td>" The_ClassFormInBox[Gbl.Prefs.Theme],
"<td class=\"REC_C2_BOT LEFT_MIDDLE\">" Txt_Retype_new_password);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"REC_C2_BOT LEFT_MIDDLE\">"
"<input type=\"password\" id=\"Paswd2\" name=\"Paswd2\"" "<input type=\"password\" id=\"Paswd2\" name=\"Paswd2\""
" size=\"18\" maxlength=\"%u\"" " size=\"18\" maxlength=\"%u\""
" placeholder=\"", " placeholder=\"",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Retype_new_password,
Pwd_MAX_CHARS_PLAIN_PASSWORD); Pwd_MAX_CHARS_PLAIN_PASSWORD);
/* Placeholder */ /* Placeholder */
@ -810,8 +821,9 @@ void Pwd_PutFormToGetNewPasswordTwice (void)
Pwd_MIN_CHARS_PLAIN_PASSWORD); Pwd_MIN_CHARS_PLAIN_PASSWORD);
/* End form element */ /* End form element */
fprintf (Gbl.F.Out,"\" required=\"required\" />" fprintf (Gbl.F.Out,"\" required=\"required\" />");
"</td>"); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }

View File

@ -896,18 +896,20 @@ static void Pho_UpdatePhoto2 (void)
for (NumPhoto = 0; for (NumPhoto = 0;
NumPhoto < 3; NumPhoto < 3;
NumPhoto++) NumPhoto++)
{
fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_TOP\" style=\"width:33%%;\">" fprintf (Gbl.F.Out,"<td class=\"DAT CENTER_TOP\" style=\"width:33%%;\">"
"<img src=\"%s/%s_paso%u.jpg\"" "<img src=\"%s/%s_paso%u.jpg\""
" alt=\"%s\" title=\"%s\"" " alt=\"%s\" title=\"%s\""
" style=\"width:%upx; height:%upx;\" />" " style=\"width:%upx; height:%upx;\" />"
"<br />%s" "<br />%s",
"</td>",
Cfg_URL_PHOTO_TMP_PUBLIC, Cfg_URL_PHOTO_TMP_PUBLIC,
Gbl.Usrs.FileNamePhoto,NumPhoto + 1, Gbl.Usrs.FileNamePhoto,NumPhoto + 1,
Txt_PHOTO_PROCESSING_CAPTIONS[NumPhoto], Txt_PHOTO_PROCESSING_CAPTIONS[NumPhoto],
Txt_PHOTO_PROCESSING_CAPTIONS[NumPhoto], Txt_PHOTO_PROCESSING_CAPTIONS[NumPhoto],
Pho_PHOTO_REAL_WIDTH,Pho_PHOTO_REAL_HEIGHT, Pho_PHOTO_REAL_WIDTH,Pho_PHOTO_REAL_HEIGHT,
Txt_PHOTO_PROCESSING_CAPTIONS[NumPhoto]); Txt_PHOTO_PROCESSING_CAPTIONS[NumPhoto]);
Tbl_EndCell ();
}
Tbl_EndRow (); Tbl_EndRow ();
Tbl_EndTable (); Tbl_EndTable ();
@ -1787,11 +1789,13 @@ static void Pho_PutSelectorForTypeOfAvg (void)
Pho_AvgPhotoTypeOfAverage_t TypeOfAvg; Pho_AvgPhotoTypeOfAverage_t TypeOfAvg;
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"AvgType\" class=\"%s\">%s:</label>" "<label for=\"AvgType\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Average_type); The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Average_type);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
Frm_StartForm (ActSeePhoDeg); Frm_StartForm (ActSeePhoDeg);
Pho_PutHiddenParamPhotoSize (); Pho_PutHiddenParamPhotoSize ();
Pho_PutHiddenParamOrderDegrees (); Pho_PutHiddenParamOrderDegrees ();
@ -1811,6 +1815,7 @@ static void Pho_PutSelectorForTypeOfAvg (void)
fprintf (Gbl.F.Out,"</select>"); fprintf (Gbl.F.Out,"</select>");
Frm_EndForm (); Frm_EndForm ();
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -1848,11 +1853,13 @@ static void Pho_PutSelectorForHowComputePhotoSize (void)
Pho_HowComputePhotoSize_t PhoSi; Pho_HowComputePhotoSize_t PhoSi;
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"PhotoSize\" class=\"%s\">%s:</label>" "<label for=\"PhotoSize\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Size_of_photos); The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Size_of_photos);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
Frm_StartForm (ActSeePhoDeg); Frm_StartForm (ActSeePhoDeg);
Pho_PutHiddenParamTypeOfAvg (); Pho_PutHiddenParamTypeOfAvg ();
Pho_PutHiddenParamOrderDegrees (); Pho_PutHiddenParamOrderDegrees ();
@ -1872,6 +1879,7 @@ static void Pho_PutSelectorForHowComputePhotoSize (void)
fprintf (Gbl.F.Out,"</select>"); fprintf (Gbl.F.Out,"</select>");
Frm_EndForm (); Frm_EndForm ();
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -1909,11 +1917,13 @@ static void Pho_PutSelectorForHowOrderDegrees (void)
Pho_HowOrderDegrees_t Order; Pho_HowOrderDegrees_t Order;
Tbl_StartRow (); Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">" fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"Order\" class=\"%s\">%s:</label>" "<label for=\"Order\" class=\"%s\">%s:</label>",
"</td>"
"<td class=\"LEFT_MIDDLE\">",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Sort_degrees_by); The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Sort_degrees_by);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">");
Frm_StartForm (ActSeePhoDeg); Frm_StartForm (ActSeePhoDeg);
Pho_PutHiddenParamTypeOfAvg (); Pho_PutHiddenParamTypeOfAvg ();
Pho_PutHiddenParamPhotoSize (); Pho_PutHiddenParamPhotoSize ();
@ -1933,6 +1943,7 @@ static void Pho_PutSelectorForHowOrderDegrees (void)
fprintf (Gbl.F.Out,"</select>"); fprintf (Gbl.F.Out,"</select>");
Frm_EndForm (); Frm_EndForm ();
Tbl_EndCell (); Tbl_EndCell ();
Tbl_EndRow (); Tbl_EndRow ();
} }
@ -2238,12 +2249,13 @@ static void Pho_ShowOrPrintListDegrees (Pho_AvgPhotoSeeOrPrint_t SeeOrPrint)
/* Get data of degree */ /* Get data of degree */
Deg_GetDataOfDegreeByCod (&Deg); Deg_GetDataOfDegreeByCod (&Deg);
/***** Show logo and name of this degree *****/
Tbl_StartRow (); Tbl_StartRow ();
/***** Show logo and name of this degree *****/
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE COLOR%u\">" fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE COLOR%u\">"
"%u" "%u",
"</td>",
Gbl.RowEvenOdd,++NumDegsNotEmpty); Gbl.RowEvenOdd,++NumDegsNotEmpty);
Tbl_EndCell ();
/***** Show logo and name of this degree *****/ /***** Show logo and name of this degree *****/
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE COLOR%u\">", fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE COLOR%u\">",
@ -2272,6 +2284,7 @@ static void Pho_ShowOrPrintListDegrees (Pho_AvgPhotoSeeOrPrint_t SeeOrPrint)
Pho_ShowDegreeStat (NumStds,NumStdsWithPhoto); Pho_ShowDegreeStat (NumStds,NumStdsWithPhoto);
Tbl_EndCell (); Tbl_EndCell ();
} }
Tbl_EndRow (); Tbl_EndRow ();
} }

View File

@ -155,15 +155,16 @@ static void Pri_PutFormVisibility (const char *TxtLabel,
extern const char *Txt_PRIVACY_OPTIONS[Pri_NUM_OPTIONS_PRIVACY]; extern const char *Txt_PRIVACY_OPTIONS[Pri_NUM_OPTIONS_PRIVACY];
Pri_Visibility_t Visibility; Pri_Visibility_t Visibility;
/***** Select visibility *****/
Tbl_StartRow (); Tbl_StartRow ();
/***** Select visibility *****/
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">" fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">"
"%s:" "%s:"
"</td>" "</td>",
"<td class=\"LEFT_TOP\">",
The_ClassFormInBox[Gbl.Prefs.Theme],TxtLabel); The_ClassFormInBox[Gbl.Prefs.Theme],TxtLabel);
/***** Form with list of options *****/ /***** Form with list of options *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">");
if (Action != ActUnk) if (Action != ActUnk)
Frm_StartFormAnchor (Action,Pri_PRIVACY_ID); Frm_StartFormAnchor (Action,Pri_PRIVACY_ID);
fprintf (Gbl.F.Out,"<ul class=\"PRI_LIST LIST_LEFT\">"); fprintf (Gbl.F.Out,"<ul class=\"PRI_LIST LIST_LEFT\">");