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:
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 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: 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.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)

View File

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

View File

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

View File

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

View File

@ -155,18 +155,22 @@ void Mai_SeeMailDomains (void)
{
/* Write data of this mail domain */
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">"
"%s"
"</td>"
"<td class=\"DAT LEFT_TOP\">"
"%s"
"</td>"
"<td class=\"DAT RIGHT_TOP\">"
"%u"
"</td>",
Gbl.Mails.Lst[NumMai].Domain,
Gbl.Mails.Lst[NumMai].Info,
"%s",
Gbl.Mails.Lst[NumMai].Domain);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">"
"%s",
Gbl.Mails.Lst[NumMai].Info);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP\">"
"%u",
Gbl.Mails.Lst[NumMai].NumUsrs);
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -495,9 +499,9 @@ static void Mai_ListMailDomainsForEdition (void)
/* Mail code */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%ld"
"</td>",
"%ld",
Mai->MaiCod);
Tbl_EndCell ();
/* Mail domain */
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">");
@ -525,9 +529,10 @@ static void Mai_ListMailDomainsForEdition (void)
/* Number of users */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_MIDDLE\">"
"%u"
"</td>",
"%u",
Mai->NumUsrs);
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -768,17 +773,17 @@ static void Mai_PutFormToCreateMailDomain (void)
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
"<input type=\"text\" name=\"Domain\""
" size=\"15\" maxlength=\"%u\" value=\"%s\""
" required=\"required\" />"
"</td>",
" required=\"required\" />",
Cns_MAX_CHARS_EMAIL_ADDRESS,Mai_EditingMai->Domain);
Tbl_EndCell ();
/***** Mail domain info *****/
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
"<input type=\"text\" name=\"Info\""
" size=\"40\" maxlength=\"%u\" value=\"%s\""
" required=\"required\" />"
"</td>",
" required=\"required\" />",
Mai_MAX_CHARS_MAIL_INFO,Mai_EditingMai->Info);
Tbl_EndCell ();
Tbl_PutEmptyCells (1);
@ -1277,18 +1282,21 @@ static void Mai_ShowFormChangeUsrEmail (const struct UsrData *UsrDat,bool ItsMe,
{
/* The first mail is the current one */
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_TOP\">"
"<label for=\"Email\" class=\"%s\">"
"%s:"
"</label>"
"</td>"
"<td class=\"REC_C2_BOT LEFT_TOP USR_ID\">",
"</label>",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Current_email);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"REC_C2_BOT LEFT_TOP USR_ID\">");
}
else // NumEmail >= 2
{
Tbl_StartRow ();
if (NumEmail == 2)
fprintf (Gbl.F.Out,"<td rowspan=\"%u\" class=\"REC_C1_BOT RIGHT_TOP\">"
"<label for=\"Email\" class=\"%s\">"
@ -1297,8 +1305,9 @@ static void Mai_ShowFormChangeUsrEmail (const struct UsrData *UsrDat,bool ItsMe,
NumEmails - 1,
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Other_emails);
fprintf (Gbl.F.Out,"</td>"
"<td class=\"REC_C2_BOT LEFT_TOP DAT\">");
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"REC_C2_BOT LEFT_TOP DAT\">");
}
/* Form to remove email */
@ -1382,13 +1391,15 @@ static void Mai_ShowFormChangeUsrEmail (const struct UsrData *UsrDat,bool ItsMe,
/***** Form to enter new email *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_TOP\">"
"<label for=\"NewEmail\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"REC_C2_BOT LEFT_TOP DAT\">",
"<label for=\"NewEmail\" class=\"%s\">%s:</label>",
The_ClassFormInBox[Gbl.Prefs.Theme],
NumEmails ? Txt_New_email : // A new email
Txt_Email); // The first email
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"REC_C2_BOT LEFT_TOP DAT\">");
if (ItsMe)
Frm_StartFormAnchor (ActChgMyMai,Mai_EMAIL_SECTION_ID);
else
@ -1418,6 +1429,7 @@ static void Mai_ShowFormChangeUsrEmail (const struct UsrData *UsrDat,bool ItsMe,
Txt_Save_changes); // User has no email address yet
Frm_EndForm ();
Tbl_EndCell ();
Tbl_EndRow ();
/***** 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\">"
"writeLocalDateHMSFromUTC('mch_time_%u_%u',"
"%ld,%u,'<br />','%s',true,true,0x7);"
"</script>"
"</td>",
"</script>",
(unsigned) StartEndTime,UniqueId,
Match->TimeUTC[StartEndTime],
(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 ******/
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP COLOR%u\">"
"%u"
"</td>",
"%u",
Gbl.RowEvenOdd,
Mch_GetNumUsrsWhoHaveAnswerMch (Match->MchCod));
Tbl_EndCell ();
}
/*****************************************************************************/
@ -1195,17 +1195,20 @@ static void Mch_PutFormNewMatch (struct Game *Game)
/***** Match title *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_MIDDLE\">"
"<label for=\"Title\" class=\"%s\">%s:</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">"
"<label for=\"Title\" class=\"%s\">%s:</label>",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Title);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<input type=\"text\" id=\"Title\" name=\"Title\""
" size=\"45\" maxlength=\"%u\" value=\"%s\""
" required=\"required\" />"
"</td>",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Title,
" required=\"required\" />",
Gam_MAX_CHARS_TITLE,Game->Title);
Tbl_EndCell ();
Tbl_EndRow ();
/***** Groups *****/
@ -1250,12 +1253,14 @@ static void Mch_ShowLstGrpsToCreateMatch (void)
{
/***** Start box and table *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">"
"%s:"
"</td>"
"<td class=\"LEFT_TOP\">",
"%s:",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Groups);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">");
Box_StartBoxTable ("95%",NULL,NULL,
NULL,Box_NOT_CLOSABLE,0);
@ -1268,9 +1273,10 @@ static void Mch_ShowLstGrpsToCreateMatch (void)
" checked=\"checked\""
" onclick=\"uncheckChildren(this,'GrpCods')\" />"
"%s %s"
"</label>"
"</td>",
"</label>",
Txt_The_whole_course,Gbl.Hierarchy.Crs.ShrtName);
Tbl_EndCell ();
Tbl_EndRow ();
/***** List the groups for each group type *****/
@ -3151,10 +3157,13 @@ static void Mch_DrawBarNumUsrs (unsigned NumAnswerersAns,unsigned NumAnswerersQs
for (i = 0;
i < 100;
i++)
fprintf (Gbl.F.Out,"<td class=\"%s\"></td>",
{
fprintf (Gbl.F.Out,"<td class=\"%s\">",
(i < BarWidth) ? (Correct ? "MATCH_RES_CORRECT" :
"MATCH_RES_WRONG") :
"MATCH_RES_VOID");
Tbl_EndCell ();
}
Tbl_EndRow ();
Tbl_EndTable ();

View File

@ -206,11 +206,13 @@ void McR_SelUsrsToViewUsrsMchResults (void)
/***** Put list of users to select some of them *****/
Tbl_StartTableCenterPadding (2);
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">"
"%s:"
"</td>"
"<td colspan=\"2\" class=\"%s LEFT_TOP\">",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Users,
"%s:",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_Users);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"%s LEFT_TOP\">",
The_ClassFormInBox[Gbl.Prefs.Theme]);
Tbl_StartTablePadding (2);
Usr_ListUsersToSelect (Rol_TCH);
@ -218,6 +220,7 @@ void McR_SelUsrsToViewUsrsMchResults (void)
Usr_ListUsersToSelect (Rol_STD);
Tbl_EndTable ();
Tbl_EndCell ();
Tbl_EndRow ();
/***** Starting and ending dates in the search *****/
@ -457,18 +460,19 @@ static void McR_ShowMchResults (Usr_MeOrOther_t MeOrOther)
"<script type=\"text/javascript\">"
"writeLocalDateHMSFromUTC('mch_time_%u_%u',"
"%ld,%u,'<br />','%s',true,false,0x7);"
"</script>"
"</td>",
"</script>",
(unsigned) StartEndTime,UniqueId,
Gbl.RowEvenOdd,
(unsigned) StartEndTime,UniqueId,
(long) TimeUTC[StartEndTime],
(unsigned) Gbl.Prefs.DateFormat,Txt_Today);
Tbl_EndCell ();
}
/* 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);
Tbl_EndCell ();
/* Get number of questions (row[3]) */
if (sscanf (row[3],"%u",&NumQstsInThisResult) != 1)
@ -491,12 +495,14 @@ static void McR_ShowMchResults (Usr_MeOrOther_t MeOrOther)
}
/* 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);
Tbl_EndCell ();
/* 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);
Tbl_EndCell ();
/* Write score */
fprintf (Gbl.F.Out,"<td class=\"DAT RIGHT_TOP COLOR%u\">",
@ -589,10 +595,10 @@ static void McR_ShowMchResultsSummaryRow (bool ShowSummaryResults,
/***** Row title *****/
fprintf (Gbl.F.Out,"<td colspan=\"3\""
" class=\"DAT_N_LINE_TOP RIGHT_MIDDLE COLOR%u\">"
"%s: %u"
"</td>",
"%s: %u",
Gbl.RowEvenOdd,
Txt_Matches,NumResults);
Tbl_EndCell ();
/***** Write total number of questions *****/
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 ();
/***** 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);
Tbl_EndCell ();
/***** End row *****/
Tbl_EndRow ();
@ -784,11 +791,13 @@ void McR_ShowOneMchResult (void)
/* User */
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_TOP\">",
"%s:",
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);
fprintf (Gbl.F.Out," %s",
UsrDat->Surname1);
@ -804,6 +813,7 @@ void McR_ShowOneMchResult (void)
NULL,
"PHOTO45x60",Pho_ZOOM,false);
Tbl_EndCell ();
Tbl_EndRow ();
/* Start/end time (for user in this match) */
@ -812,42 +822,50 @@ void McR_ShowOneMchResult (void)
StartEndTime++)
{
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\">"
"%s:"
"</td>"
"<td id=\"match_%u\" class=\"DAT LEFT_TOP\">"
"%s:",
Txt_START_END_TIME[StartEndTime]);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td id=\"match_%u\" class=\"DAT LEFT_TOP\">"
"<script type=\"text/javascript\">"
"writeLocalDateHMSFromUTC('match_%u',%ld,"
"%u,',&nbsp;','%s',true,true,0x7);"
"</script>"
"</td>",
Txt_START_END_TIME[StartEndTime],
"</script>",
(unsigned) StartEndTime,
(unsigned) StartEndTime,
TimeUTC[StartEndTime],
(unsigned) Gbl.Prefs.DateFormat,Txt_Today);
Tbl_EndCell ();
Tbl_EndRow ();
}
/* Number of questions */
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_TOP\">"
"%u (%u %s)"
"</td>",
Txt_Questions,
"%s:",
Txt_Questions);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">"
"%u (%u %s)",
NumQsts,NumQstsNotBlank,Txt_non_blank_QUESTIONS);
Tbl_EndCell ();
Tbl_EndRow ();
/* Score */
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_TOP\">",
"%s:",
Txt_Score);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">");
if (ICanViewScore)
fprintf (Gbl.F.Out,"%.2lf (%.2lf",
TotalScore,
@ -855,19 +873,24 @@ void McR_ShowOneMchResult (void)
0.0);
else
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);
Tbl_EndCell ();
Tbl_EndRow ();
/* Tags present in this result */
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"DAT_N RIGHT_TOP\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_TOP\">",
"%s:",
Txt_Tags);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_TOP\">");
Gam_ShowTstTagsPresentInAGame (Match.GamCod);
Tbl_EndCell ();
Tbl_EndRow ();
/***** 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) *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_TOP\">"
"%s:"
"</td>"
"<td class=\"LEFT_TOP\">",
"%s:",
The_ClassFormInBox[Gbl.Prefs.Theme],Txt_MSG_To);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"LEFT_TOP\">");
if (Gbl.Msg.ShowOnlyOneRecipient)
/***** Show only one user as recipient *****/
Msg_ShowOneUniqueRecipient ();
@ -312,8 +314,8 @@ static void Msg_PutFormMsgUsrs (char Content[Cns_MAX_BYTES_LONG_TEXT + 1])
Msg_WriteFormUsrsIDsOrNicksOtherRecipients (); // Other users (nicknames)
Tbl_EndTable ();
}
Tbl_EndCell ();
Tbl_EndRow ();
/***** Subject and content sections *****/
@ -492,6 +494,7 @@ static void Msg_WriteFormUsrsIDsOrNicksOtherRecipients (void)
/***** Textarea with users' @nicknames, emails or IDs *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td");
if (Colspan > 1)
fprintf (Gbl.F.Out," colspan=\"%u\"",Colspan);
@ -507,8 +510,9 @@ static void Msg_WriteFormUsrsIDsOrNicksOtherRecipients (void)
// write @nickname of original sender
if (Nck_GetNicknameFromUsrCod (Gbl.Usrs.Other.UsrDat.UsrCod,Nickname))
fprintf (Gbl.F.Out,"@%s",Nickname);
fprintf (Gbl.F.Out,"</textarea>"
"</td>");
fprintf (Gbl.F.Out,"</textarea>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -533,16 +537,18 @@ static void Msg_WriteFormSubjectAndContentMsgToUsrs (char Content[Cns_MAX_BYTES_
/***** Message subject *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"MsgSubject\" class=\"%s\">"
"%s:"
"</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">"
"<textarea id=\"MsgSubject\" name=\"Subject\""
" class=\"MSG_SUBJECT\" rows=\"2\">",
"</label>",
The_ClassFormInBox[Gbl.Prefs.Theme],
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 (MsgCod > 0) // It's a reply
@ -576,22 +582,25 @@ static void Msg_WriteFormSubjectAndContentMsgToUsrs (char Content[Cns_MAX_BYTES_
if (!SubjectAndContentComeFromForm)
fprintf (Gbl.F.Out,"Re: ");
fprintf (Gbl.F.Out,"%s"
"</textarea>"
"</td>",
"</textarea>",
Gbl.Msg.Subject);
Tbl_EndCell ();
Tbl_EndRow ();
/***** Message content *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"MsgContent\" class=\"%s\">"
"%s:"
"</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">"
"<textarea id=\"MsgContent\" name=\"Content\""
" class=\"MSG_CONTENT\" rows=\"20\">",
"</label>",
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.
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
{
/* End message subject */
fprintf (Gbl.F.Out,"%s</textarea>"
"</td>",
fprintf (Gbl.F.Out,"%s</textarea>",
Gbl.Msg.Subject);
Tbl_EndCell ();
Tbl_EndRow ();
/***** Message content *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP\">"
"<label for=\"MsgContent\" class=\"%s\">"
"%s:"
"</label>"
"</td>"
"<td class=\"LEFT_MIDDLE\">"
"<textarea id=\"MsgContent\" name=\"Content\""
" class=\"MSG_CONTENT\" rows=\"20\">",
"</label>",
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.
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 */
fprintf (Gbl.F.Out,"\n%s",Content);
}
fprintf (Gbl.F.Out,"</textarea>"
"</td>");
fprintf (Gbl.F.Out,"</textarea>");
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -2644,18 +2657,19 @@ void Msg_ShowFormToFilterMsgs (void)
/***** Start table *****/
Tbl_StartTableCenterPadding (2);
/***** Filter authors/recipients *****/
Tbl_StartRow ();
/***** Filter authors/recipients *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
"<label class=\"%s\">"
"%s:&nbsp;"
"<input type=\"search\" name=\"FilterFromTo\""
" size=\"20\" maxlength=\"%u\" value=\"%s\" />"
"</label>"
"</td>",
"</label>",
The_ClassFormInBox[Gbl.Prefs.Theme],
TxtFromTo[Gbl.Msg.TypeOfMessages],
Usr_MAX_CHARS_FIRSTNAME_OR_SURNAME * 3,Gbl.Msg.FilterFromTo);
Tbl_EndCell ();
/***** Filter message content *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\">"
@ -2663,11 +2677,12 @@ void Msg_ShowFormToFilterMsgs (void)
"%s:&nbsp;"
"<input type=\"search\" name=\"FilterContent\""
" size=\"20\" maxlength=\"%u\" value=\"%s\" />"
"</label>"
"</td>",
"</label>",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_MSG_Content,
Msg_MAX_CHARS_FILTER_CONTENT,Gbl.Msg.FilterContent);
Tbl_EndCell ();
Tbl_EndRow ();
/***** End table *****/
@ -3023,31 +3038,37 @@ static void Msg_ShowASentOrReceivedMessage (long MsgNum,long MsgCod)
/***** Write "From:" *****/
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP MSG_TIT\">"
"%s:&nbsp;"
"</td>"
"<td colspan=\"2\" class=\"LEFT_TOP\">",
"%s:&nbsp;",
Txt_MSG_From);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"LEFT_TOP\">");
Msg_WriteMsgFrom (&UsrDat,Deleted);
Tbl_EndCell ();
Tbl_EndRow ();
/***** Write "To:" *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP MSG_TIT\">"
"%s:&nbsp;"
"</td>"
"<td colspan=\"2\" class=\"LEFT_TOP\">",
"%s:&nbsp;",
Txt_MSG_To);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"LEFT_TOP\">");
Msg_WriteMsgTo (MsgCod);
Tbl_EndCell ();
Tbl_EndRow ();
/***** Write "Content:" *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"RIGHT_TOP MSG_TIT\">"
"%s:&nbsp;"
"</td>",
"%s:&nbsp;",
Txt_MSG_Content);
Tbl_EndCell ();
/***** Initialize image *****/
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)
{
fprintf (Gbl.F.Out,"<td class=\"%s CENTER_TOP\" style=\"width:45px;\">"
"%lu:"
"</td>",
"%lu:",
NewMsg ? "MSG_TIT_BG_NEW" :
"MSG_TIT_BG",
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\""
" alt=\"%s\" title=\"%s\""
" class=\"PHOTO30x40\" />"
"</td>"
"<td class=\"LEFT_MIDDLE",
" class=\"PHOTO30x40\" />",
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)
fprintf (Gbl.F.Out," %s",BgColor);
fprintf (Gbl.F.Out,"\">");
@ -3348,14 +3371,14 @@ static void Msg_WriteMsgFrom (struct UsrData *UsrDat,bool Deleted)
bool ShowPhoto;
char PhotoURL[PATH_MAX + 1];
/***** Put an icon to show if user has read the message *****/
Tbl_StartTable ();
Tbl_StartRow ();
/***** Put an icon to show if user has read the message *****/
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:20px;\">"
"<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO16x16\" />"
"</td>",
" class=\"ICO16x16\" />",
Cfg_URL_ICON_PUBLIC,
Deleted ? "share-red.svg" :
"share.svg",
@ -3363,6 +3386,7 @@ static void Msg_WriteMsgFrom (struct UsrData *UsrDat,bool Deleted)
Txt_MSG_Sent,
Deleted ? Txt_MSG_Sent_and_deleted :
Txt_MSG_Sent);
Tbl_EndCell ();
/***** Put user's photo *****/
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 :
NULL,
"PHOTO21x28",Pho_ZOOM,false);
Tbl_EndCell ();
/***** Write user's name *****/
fprintf (Gbl.F.Out,"</td>"
"<td class=\"AUTHOR_TXT LEFT_MIDDLE\">");
fprintf (Gbl.F.Out,"<td class=\"AUTHOR_TXT LEFT_MIDDLE\">");
if (UsrDat->UsrCod > 0)
{
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]",
Txt_ROLES_SINGUL_abc[Rol_UNK][Usr_SEX_UNKNOWN]); // User not found, likely an old user who has been removed
Tbl_EndCell ();
Tbl_EndRow ();
Tbl_EndTable ();
}
@ -3515,14 +3540,14 @@ static void Msg_WriteMsgTo (long MsgCod)
fprintf (Gbl.F.Out,"<td class=\"LEFT_MIDDLE\" style=\"width:20px;\">"
"<img src=\"%s/%s\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO16x16\" />"
"</td>",
" class=\"ICO16x16\" />",
Cfg_URL_ICON_PUBLIC,
OpenByDst ? (Deleted ? "envelope-open-text-red.svg" :
"envelope-open-text.svg") :
(Deleted ? "envelope-red.svg" :
"envelope.svg"),
Title,Title);
Tbl_EndCell ();
/* Put user's photo */
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 :
NULL,
"PHOTO21x28",Pho_ZOOM,false);
Tbl_EndCell ();
/* Write user's name */
fprintf (Gbl.F.Out,"</td>"
"<td class=\"%s LEFT_MIDDLE\">",
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_MIDDLE\">",
OpenByDst ? "AUTHOR_TXT" :
"AUTHOR_TXT_NEW");
if (UsrValid)
@ -3550,13 +3575,14 @@ static void Msg_WriteMsgTo (long MsgCod)
{
/***** Start form to show all the users *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td colspan=\"3\" class=\"AUTHOR_TXT LEFT_MIDDLE\">"
"[%u %s]"
"</td>",
"[%u %s]",
NumRecipientsUnknown,
(NumRecipientsUnknown == 1) ?
Txt_unknown_recipient :
Txt_unknown_recipients);
(NumRecipientsUnknown == 1) ? Txt_unknown_recipient :
Txt_unknown_recipients);
Tbl_EndCell ();
Tbl_EndRow ();
}
@ -3870,9 +3896,10 @@ void Msg_ListBannedUsrs (void)
/* Write user's full name */
fprintf (Gbl.F.Out,"<td class=\"DAT LEFT_MIDDLE\">"
"%s"
"</td>",
"%s",
UsrDat.FullName);
Tbl_EndCell ();
Tbl_EndRow ();
}
}

View File

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

View File

@ -268,32 +268,35 @@ static void Nck_ShowFormChangeUsrNickname (const struct UsrData *UsrDat,bool Its
/* Get nickname */
row = mysql_fetch_row (mysql_res);
Tbl_StartRow ();
if (NumNick == 1)
{
/* The first nickname is the current one */
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_TOP\">"
"<label for=\"Nick\" class=\"%s\">"
"%s:"
"</label>"
"</td>"
"<td class=\"REC_C2_BOT LEFT_TOP USR_ID\">",
"</label>",
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Current_nickname);
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"REC_C2_BOT LEFT_TOP USR_ID\">");
}
else // NumNick >= 2
{
Tbl_StartRow ();
if (NumNick == 2)
{
fprintf (Gbl.F.Out,"<td rowspan=\"%u\""
" class=\"REC_C1_BOT RIGHT_TOP\">"
"<label for=\"Nick\" class=\"%s\">"
"%s:"
"</label>"
"</td>",
"</label>",
NumNicks - 1,
The_ClassFormInBox[Gbl.Prefs.Theme],
Txt_Other_nicknames);
Tbl_EndCell ();
}
fprintf (Gbl.F.Out,"<td class=\"REC_C2_BOT LEFT_TOP DAT\">");
/* Form to remove old nickname */
@ -368,15 +371,17 @@ static void Nck_ShowFormChangeUsrNickname (const struct UsrData *UsrDat,bool Its
/***** Form to enter new nickname *****/
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"REC_C1_BOT RIGHT_TOP\">"
"<label for=\"NewNick\" class=\"%s\">"
"%s:"
"</label>"
"</td>"
"<td class=\"REC_C2_BOT LEFT_TOP DAT\">",
"</label>",
The_ClassFormInBox[Gbl.Prefs.Theme],
NumNicks ? Txt_New_nickname : // A new nickname
Txt_Nickname); // The first nickname
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"REC_C2_BOT LEFT_TOP DAT\">");
if (ItsMe)
Frm_StartFormAnchor (ActChgMyNck,Nck_NICKNAME_SECTION_ID);
else
@ -406,6 +411,7 @@ static void Nck_ShowFormChangeUsrNickname (const struct UsrData *UsrDat,bool Its
Txt_Save_changes); // I have no nickname yet);
Frm_EndForm ();
Tbl_EndCell ();
Tbl_EndRow ();
/***** 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) */
fprintf (Gbl.F.Out,"<td class=\"%s LEFT_TOP\">"
"%s"
"</td>",
"%s",
ClassBackground,Txt_NOTIFICATION_STATUS[StatusTxt]);
Tbl_EndCell ();
Tbl_EndRow ();
/***** Write content of the event *****/
@ -602,14 +603,20 @@ void Ntf_ShowMyNotifications (void)
Ntf_GetNotifSummaryAndContent (SummaryStr,&ContentStr,NotifyEvent,
Cod,Crs.CrsCod,Gbl.Usrs.Me.UsrDat.UsrCod,
false);
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;\">"
"%s"
"</td>",
"%s",
SummaryStr);
Tbl_EndCell ();
Tbl_EndRow ();
if (ContentStr != NULL)
{
free ((void *) ContentStr);
@ -1958,25 +1965,29 @@ void Ntf_PutFormChangeNotifSentByEMail (void)
NotifyEvent++) // O is reserved for Ntf_EVENT_UNKNOWN
{
Tbl_StartRow ();
fprintf (Gbl.F.Out,"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"CENTER_MIDDLE\">"
"<input type=\"checkbox\" name=\"%s\" value=\"Y\"",
"%s:",
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]);
if ((Gbl.Usrs.Me.UsrDat.NtfEvents.CreateNotif & (1 << NotifyEvent)))
fprintf (Gbl.F.Out," checked=\"checked\"");
fprintf (Gbl.F.Out," />"
"</td>"
"<td class=\"CENTER_MIDDLE\">"
fprintf (Gbl.F.Out," />");
Tbl_EndCell ();
fprintf (Gbl.F.Out,"<td class=\"CENTER_MIDDLE\">"
"<input type=\"checkbox\" name=\"%s\" value=\"Y\"",
Ntf_ParamEmailMeAboutNotifyEvents[NotifyEvent]);
if ((Gbl.Usrs.Me.UsrDat.NtfEvents.SendEmail & (1 << NotifyEvent)))
fprintf (Gbl.F.Out," checked=\"checked\"");
fprintf (Gbl.F.Out," />"
"</td>");
fprintf (Gbl.F.Out," />");
Tbl_EndCell ();
Tbl_EndRow ();
}

View File

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

View File

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