mirror of https://github.com/acanas/swad-core.git
Version19.31.15
This commit is contained in:
parent
b093e1b9bf
commit
58fd148727
|
@ -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)
|
||||
|
|
|
@ -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 *****/
|
||||
|
|
|
@ -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 *****/
|
||||
|
|
20
swad_link.c
20
swad_link.c
|
@ -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 ();
|
||||
|
||||
|
|
64
swad_mail.c
64
swad_mail.c
|
@ -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 *****/
|
||||
|
|
43
swad_match.c
43
swad_match.c
|
@ -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 ();
|
||||
|
||||
|
|
|
@ -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,', ','%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 *****/
|
||||
|
|
151
swad_message.c
151
swad_message.c
|
@ -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: "
|
||||
"<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: "
|
||||
"<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: "
|
||||
"</td>"
|
||||
"<td colspan=\"2\" class=\"LEFT_TOP\">",
|
||||
"%s: ",
|
||||
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: "
|
||||
"</td>"
|
||||
"<td colspan=\"2\" class=\"LEFT_TOP\">",
|
||||
"%s: ",
|
||||
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: "
|
||||
"</td>",
|
||||
"%s: ",
|
||||
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 ();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 ();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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 *****/
|
||||
|
|
|
@ -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 ();
|
||||
}
|
||||
|
||||
|
|
|
@ -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 ();
|
||||
}
|
||||
|
||||
|
|
41
swad_photo.c
41
swad_photo.c
|
@ -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 ();
|
||||
}
|
||||
|
||||
|
|
|
@ -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\">");
|
||||
|
|
Loading…
Reference in New Issue