Version19.98

This commit is contained in:
Antonio Cañas Vargas 2019-12-26 22:29:04 +01:00
parent dbb35e26a7
commit 4251ee7815
32 changed files with 214 additions and 466 deletions

View File

@ -129,7 +129,7 @@ void QR_ImageQRCode (const char *QRString)
/*************** Show QR code with direct link (shortcut URL) ****************/
/*****************************************************************************/
void QR_LinkTo (unsigned Size,const char *ParamStr,long Cod)
void QR_LinkTo (unsigned Size,const char *ParamName,long Cod)
{
extern const char *Txt_Shortcut;
extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES];
@ -139,7 +139,7 @@ void QR_LinkTo (unsigned Size,const char *ParamStr,long Cod)
if (asprintf (&URL,"https://chart.googleapis.com/chart?cht=qr&chs=%ux%u&chl=%s/%s?%s=%ld",
Size,Size,
Cfg_URL_SWAD_CGI,
Lan_STR_LANG_ID[Gbl.Prefs.Language],ParamStr,Cod) < 0)
Lan_STR_LANG_ID[Gbl.Prefs.Language],ParamName,Cod) < 0)
Lay_NotEnoughMemoryExit ();
HTM_IMG (URL,NULL,Txt_Shortcut,
"style=\"width:%upx;height:%upx;\"",Size,Size);

View File

@ -45,7 +45,7 @@ void QR_PutParamQRString (void);
void QR_PrintQRCode (void);
void QR_ImageQRCode (const char *QRString);
void QR_LinkTo (unsigned Size,const char *ParamStr,long Cod);
void QR_LinkTo (unsigned Size,const char *ParamName,long Cod);
void QR_ExamAnnnouncement (void);
#endif

View File

@ -371,13 +371,9 @@ static void Acc_ShowFormRequestNewAccountWithParams (const char NewNicknameWitho
NewNicknameWithArroba[0] = '\0';
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"NewNick\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Nickname);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("NewNick",Txt_Nickname);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
HTM_INPUT_TEXT ("NewNick",1 + Nck_MAX_CHARS_NICKNAME_WITHOUT_ARROBA,
NewNicknameWithArroba,false,
"id=\"NewNick\" size=\"18\" placeholder=\"%s\" required=\"required\"",
@ -389,13 +385,9 @@ static void Acc_ShowFormRequestNewAccountWithParams (const char NewNicknameWitho
/***** Email *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"NewEmail\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Email);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("NewEmail",Txt_Email);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
HTM_INPUT_EMAIL ("NewEmail",Cns_MAX_CHARS_EMAIL_ADDRESS,NewEmail,
"id=\"NewEmail\" size=\"18\" placeholder=\"%s\" required=\"required\"",
Txt_HELP_email);

View File

@ -1445,7 +1445,6 @@ void Agd_RequestCreatOrEditEvent (void)
{
extern const char *Hlp_PROFILE_Agenda_new_event;
extern const char *Hlp_PROFILE_Agenda_edit_event;
extern const char *The_ClassFormInBox[The_NUM_THEMES];
extern const char *Txt_New_event;
extern const char *Txt_Edit_event;
extern const char *Txt_Location;
@ -1508,13 +1507,9 @@ void Agd_RequestCreatOrEditEvent (void)
/***** Event *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"Event\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Event);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("Event",Txt_Event);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
HTM_INPUT_TEXT ("Event",Agd_MAX_CHARS_EVENT,AgdEvent.Event,false,
"id=\"Event\" required=\"required\""
" class=\"TITLE_DESCRIPTION_WIDTH\"");
@ -1525,13 +1520,9 @@ void Agd_RequestCreatOrEditEvent (void)
/***** Location *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"Location\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Location);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("Location",Txt_Location);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
HTM_INPUT_TEXT ("Location",Agd_MAX_CHARS_LOCATION,AgdEvent.Location,false,
"id=\"Location\" required=\"required\""
" class=\"TITLE_DESCRIPTION_WIDTH\"");
@ -1546,11 +1537,7 @@ void Agd_RequestCreatOrEditEvent (void)
/***** Text *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RT\"");
HTM_LABEL_Begin ("for=\"Txt\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Description);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("Txt",Txt_Description);
HTM_TD_Begin ("class=\"LT\"");
HTM_TEXTAREA_Begin ("id=\"Txt\" name=\"Txt\" rows=\"5\""

View File

@ -452,11 +452,7 @@ static void Ann_PutSubjectMessage (const char *Field,const char *Label,
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RT\"");
HTM_LABEL_Begin ("for=\"%s\" class=\"%s\"",Field,The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Label);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn (Field,Label);
HTM_TD_Begin ("class=\"LT\"");
HTM_TEXTAREA_Begin ("id=\"%s\" name=\"%s\" cols=\"75\" rows=\"%u\"",

View File

@ -1166,13 +1166,9 @@ void Asg_RequestCreatOrEditAsg (void)
/***** Assignment title *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"Title\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Title);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("Title",Txt_Title);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
HTM_INPUT_TEXT ("Title",Asg_MAX_CHARS_ASSIGNMENT_TITLE,Asg.Title,false,
"id=\"Title\" required=\"required\""
" class=\"TITLE_DESCRIPTION_WIDTH\"");
@ -1203,11 +1199,7 @@ void Asg_RequestCreatOrEditAsg (void)
/***** Assignment text *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RT\"");
HTM_LABEL_Begin ("for=\"Txt\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Description);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("Txt",Txt_Description);
HTM_TD_Begin ("class=\"LT\"");
HTM_TEXTAREA_Begin ("id=\"Txt\" name=\"Txt\" rows=\"10\""

View File

@ -1001,7 +1001,6 @@ void Att_RequestCreatOrEditAttEvent (void)
{
extern const char *Hlp_USERS_Attendance_new_event;
extern const char *Hlp_USERS_Attendance_edit_event;
extern const char *The_ClassFormInBox[The_NUM_THEMES];
extern const char *Txt_New_event;
extern const char *Txt_Edit_event;
extern const char *Txt_Teachers_comment;
@ -1073,11 +1072,7 @@ void Att_RequestCreatOrEditAttEvent (void)
/***** Attendance event title *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RT\"");
HTM_LABEL_Begin ("for=\"Title\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Title);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("Title",Txt_Title);
HTM_TD_Begin ("class=\"LT\"");
HTM_INPUT_TEXT ("Title",Att_MAX_CHARS_ATTENDANCE_EVENT_TITLE,Att.Title,false,
@ -1093,11 +1088,7 @@ void Att_RequestCreatOrEditAttEvent (void)
/***** Visibility of comments *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RT\"");
HTM_LABEL_Begin ("for=\"ComTchVisible\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Teachers_comment);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("ComTchVisible",Txt_Teachers_comment);
HTM_TD_Begin ("class=\"LT\"");
HTM_SELECT_Begin (false,
@ -1113,11 +1104,7 @@ void Att_RequestCreatOrEditAttEvent (void)
/***** Attendance event description *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RT\"");
HTM_LABEL_Begin ("for=\"Txt\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Description);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("Txt",Txt_Description);
HTM_TD_Begin ("class=\"LT\"");
HTM_TEXTAREA_Begin ("id=\"Txt\" name=\"Txt\" rows=\"5\""

View File

@ -48,7 +48,6 @@
#include "swad_logo.h"
#include "swad_map.h"
#include "swad_parameter.h"
#include "swad_QR.h"
#include "swad_string.h"
/*****************************************************************************/
@ -543,9 +542,9 @@ static void Ctr_ConfigLatitude (void)
HTM_TR_Begin (NULL);
Hie_ConfigLabel ("Latitude",Txt_Latitude);
Frm_LabelColumn ("Latitude",Txt_Latitude);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
/* Form to change centre latitude */
Frm_StartForm (ActChgCtrLatCfg);
HTM_INPUT_FLOAT ("Latitude",
@ -566,9 +565,9 @@ static void Ctr_ConfigLongitude (void)
HTM_TR_Begin (NULL);
Hie_ConfigLabel ("Longitude",Txt_Longitude);
Frm_LabelColumn ("Longitude",Txt_Longitude);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
/* Form to change centre longitude */
Frm_StartForm (ActChgCtrLgtCfg);
HTM_INPUT_FLOAT ("Longitude",
@ -589,9 +588,9 @@ static void Ctr_ConfigAltitude (void)
HTM_TR_Begin (NULL);
Hie_ConfigLabel ("Altitude",Txt_Altitude);
Frm_LabelColumn ("Altitude",Txt_Altitude);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
/* Form to change centre WWW */
Frm_StartForm (ActChgCtrAltCfg);
HTM_INPUT_FLOAT ("Altitude",
@ -695,9 +694,9 @@ static void Ctr_ConfigInstitution (bool PrintView)
HTM_TR_Begin (NULL);
Hie_ConfigLabel ("OthInsCod",Txt_Institution);
Frm_LabelColumn ("OthInsCod",Txt_Institution);
HTM_TD_Begin ("class=\"DAT_N LM\"");
HTM_TD_Begin ("class=\"DAT_N LT\"");
if (!PrintView &&
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
// Only system admins can move a centre to another institution
@ -765,9 +764,9 @@ static void Ctr_ConfigPlace (bool PrintView)
Plc_GetDataOfPlaceByCod (&Plc);
HTM_TR_Begin (NULL);
Hie_ConfigLabel ("PlcCod",Txt_Place);
Frm_LabelColumn ("PlcCod",Txt_Place);
HTM_TD_Begin ("class=\"DAT LM\"");
HTM_TD_Begin ("class=\"DAT LT\"");
if (!PrintView &&
Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM)
// Only centre admins, institution admins and system admins
@ -827,17 +826,7 @@ static void Ctr_ConfigShortcut (void)
static void Ctr_ConfigQR (void)
{
extern const char *Txt_QR_code;
HTM_TR_Begin (NULL);
Hie_ConfigLabel (NULL,Txt_QR_code);
HTM_TD_Begin ("class=\"DAT LM\"");
QR_LinkTo (250,"ctr",Gbl.Hierarchy.Ctr.CtrCod);
HTM_TD_End ();
HTM_TR_End ();
Hie_ConfigQR ("ctr",Gbl.Hierarchy.Ctr.CtrCod);
}
/*****************************************************************************/
@ -850,9 +839,9 @@ static void Ctr_ConfigNumUsrs (void)
HTM_TR_Begin (NULL);
Hie_ConfigLabel (NULL,Txt_Users_of_the_centre);
Frm_LabelColumn (NULL,Txt_Users_of_the_centre);
HTM_TD_Begin ("class=\"DAT LM\"");
HTM_TD_Begin ("class=\"DAT LT\"");
HTM_Unsigned (Usr_GetNumUsrsWhoClaimToBelongToCtr (Gbl.Hierarchy.Ctr.CtrCod));
HTM_TD_End ();
@ -870,10 +859,10 @@ static void Ctr_ConfigNumDegs (void)
HTM_TR_Begin (NULL);
Hie_ConfigLabel (NULL,Txt_Degrees);
Frm_LabelColumn (NULL,Txt_Degrees);
/* Form to go to see degrees of this centre */
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
Frm_StartFormGoTo (ActSeeDeg);
Ctr_PutParamCtrCod (Gbl.Hierarchy.Ctr.CtrCod);
snprintf (Gbl.Title,sizeof (Gbl.Title),
@ -898,9 +887,9 @@ static void Ctr_ConfigNumCrss (void)
HTM_TR_Begin (NULL);
Hie_ConfigLabel (NULL,Txt_Courses);
Frm_LabelColumn (NULL,Txt_Courses);
HTM_TD_Begin ("class=\"DAT LM\"");
HTM_TD_Begin ("class=\"DAT LT\"");
HTM_Unsigned (Crs_GetNumCrssInCtr (Gbl.Hierarchy.Ctr.CtrCod));
HTM_TD_End ();
@ -918,10 +907,10 @@ static void Ctr_ShowNumUsrsInCrssOfCtr (Rol_Role_t Role)
HTM_TR_Begin (NULL);
Hie_ConfigLabel (NULL,Role == Rol_UNK ? Txt_Users_in_courses :
Txt_ROLES_PLURAL_Abc[Role][Usr_SEX_UNKNOWN]);
Frm_LabelColumn (NULL,Role == Rol_UNK ? Txt_Users_in_courses :
Txt_ROLES_PLURAL_Abc[Role][Usr_SEX_UNKNOWN]);
HTM_TD_Begin ("class=\"DAT LM\"");
HTM_TD_Begin ("class=\"DAT LT\"");
HTM_Unsigned (Usr_GetNumUsrsInCrssOfCtr (Role,Gbl.Hierarchy.Ctr.CtrCod));
HTM_TD_End ();

View File

@ -492,7 +492,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.97.13 (2019-12-26)"
#define Log_PLATFORM_VERSION "SWAD 19.98 (2019-12-26)"
#define CSS_FILE "swad19.97.13.css"
#define JS_FILE "swad19.91.1.js"
/*
@ -500,9 +500,11 @@ ps2pdf source.ps destination.pdf
// TODO: Impedir la creación y edición de proyectos si no son editables.
// TODO: No se puede entrar con DNI '1' suponiendo que no tenga password ¿por qué?
Version 19.99: Dec 26, 2019 Map in country information. (? lines)
Version 19.98: Dec 26, 2019 Map in institution information. (? lines)
Version 19.97.14: Dec 26, 2019 Code refactoring in country information. (? lines)
Version 19.101: Dec 27, 2019 Map in country information. (? lines)
Version 19.100: Dec 27, 2019 Map in institution information. (? lines)
Version 19.99: Dec 27, 2019 Code refactoring in country information. (? lines)
Version 19.98: Dec 26, 2019 Code refactoring in form labels. (249011 lines)
Version 19.97.14: Dec 26, 2019 Code refactoring in course, degree, centre and institution information. (249243 lines)
Version 19.97.13: Dec 26, 2019 Code refactoring in course, degree, centre and institution information. (249255 lines)
Version 19.97.12: Dec 26, 2019 Code refactoring in course, degree, centre and institution information. (249298 lines)
Version 19.97.11: Dec 26, 2019 Code refactoring in course, degree, centre and institution information. (249353 lines)

View File

@ -49,7 +49,6 @@
#include "swad_logo.h"
#include "swad_notification.h"
#include "swad_parameter.h"
#include "swad_QR.h"
#include "swad_role.h"
#include "swad_RSS.h"
#include "swad_tab.h"
@ -297,9 +296,9 @@ static void Crs_ConfigDegree (bool PrintView)
HTM_TR_Begin (NULL);
Hie_ConfigLabel ("OthDegCod",Txt_Degree);
Frm_LabelColumn ("OthDegCod",Txt_Degree);
HTM_TD_Begin ("class=\"DAT LM\"");
HTM_TD_Begin ("class=\"DAT LT\"");
if (!PrintView &&
Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM)
@ -368,9 +367,9 @@ static void Crs_ConfigYear (bool PutForm)
HTM_TR_Begin (NULL);
Hie_ConfigLabel ("OthCrsYear",Txt_Year_OF_A_DEGREE);
Frm_LabelColumn ("OthCrsYear",Txt_Year_OF_A_DEGREE);
HTM_TD_Begin ("class=\"DAT LM\"");
HTM_TD_Begin ("class=\"DAT LT\"");
if (PutForm)
{
Frm_StartForm (ActChgCrsYeaCfg);
@ -403,9 +402,9 @@ static void Crs_ConfigInstitutionalCode (bool PutForm)
HTM_TR_Begin (NULL);
Hie_ConfigLabel ("InsCrsCod",Txt_Institutional_code);
Frm_LabelColumn ("InsCrsCod",Txt_Institutional_code);
HTM_TD_Begin ("class=\"DAT LM\"");
HTM_TD_Begin ("class=\"DAT LT\"");
if (PutForm)
{
Frm_StartForm (ActChgInsCrsCodCfg);
@ -432,9 +431,9 @@ static void Crs_ConfigInternalCode (void)
HTM_TR_Begin (NULL);
Hie_ConfigLabel (NULL,Txt_Internal_code);
Frm_LabelColumn (NULL,Txt_Internal_code);
HTM_TD_Begin ("class=\"DAT LM\"");
HTM_TD_Begin ("class=\"DAT LT\"");
HTM_Long (Gbl.Hierarchy.Crs.CrsCod);
HTM_TD_End ();
@ -456,17 +455,7 @@ static void Crs_ConfigShortcut (void)
static void Crs_ConfigQR (void)
{
extern const char *Txt_QR_code;
HTM_TR_Begin (NULL);
Hie_ConfigLabel (NULL,Txt_QR_code);
HTM_TD_Begin ("class=\"DAT LM\"");
QR_LinkTo (250,"crs",Gbl.Hierarchy.Crs.CrsCod);
HTM_TD_End ();
HTM_TR_End ();
Hie_ConfigQR ("crs",Gbl.Hierarchy.Crs.CrsCod);
}
/*****************************************************************************/
@ -479,9 +468,9 @@ static void Crs_ShowNumUsrsInCrs (Rol_Role_t Role)
HTM_TR_Begin (NULL);
Hie_ConfigLabel (NULL,Txt_ROLES_PLURAL_Abc[Role][Usr_SEX_UNKNOWN]);
Frm_LabelColumn (NULL,Txt_ROLES_PLURAL_Abc[Role][Usr_SEX_UNKNOWN]);
HTM_TD_Begin ("class=\"DAT LM\"");
HTM_TD_Begin ("class=\"DAT LT\"");
HTM_Unsigned (Gbl.Hierarchy.Crs.NumUsrs[Role]);
HTM_TD_End ();
@ -503,9 +492,9 @@ static void Crs_ConfigIndicators (void)
NumIndicatorsFromDB,&Indicators);
HTM_TR_Begin (NULL);
Hie_ConfigLabel (NULL,Txt_Indicators);
Frm_LabelColumn (NULL,Txt_Indicators);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
Frm_StartForm (ActReqStaCrs);
snprintf (Gbl.Title,sizeof (Gbl.Title),
"%u %s %u",

View File

@ -51,7 +51,6 @@
#include "swad_logo.h"
#include "swad_notification.h"
#include "swad_parameter.h"
#include "swad_QR.h"
#include "swad_RSS.h"
#include "swad_string.h"
#include "swad_tab.h"
@ -406,9 +405,9 @@ static void Deg_ConfigCentre (bool PrintView)
HTM_TR_Begin (NULL);
Hie_ConfigLabel ("OthCtrCod",Txt_Centre);
Frm_LabelColumn ("OthCtrCod",Txt_Centre);
HTM_TD_Begin ("class=\"DAT_N LM\"");
HTM_TD_Begin ("class=\"DAT_N LT\"");
if (!PrintView &&
Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM)
// Only institution admins and system admin
@ -486,17 +485,7 @@ static void Deg_ConfigShortcut (void)
static void Deg_ConfigQR (void)
{
extern const char *Txt_QR_code;
HTM_TR_Begin (NULL);
Hie_ConfigLabel (NULL,Txt_QR_code);
HTM_TD_Begin ("class=\"DAT LM\"");
QR_LinkTo (250,"deg",Gbl.Hierarchy.Deg.DegCod);
HTM_TD_End ();
HTM_TR_End ();
Hie_ConfigQR ("deg",Gbl.Hierarchy.Deg.DegCod);
}
/*****************************************************************************/
@ -510,10 +499,10 @@ static void Deg_ConfigNumCrss (void)
HTM_TR_Begin (NULL);
Hie_ConfigLabel (NULL,Txt_Courses);
Frm_LabelColumn (NULL,Txt_Courses);
/* Form to go to see courses of this degree */
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
Frm_StartFormGoTo (ActSeeCrs);
Deg_PutParamDegCod (Gbl.Hierarchy.Deg.DegCod);
snprintf (Gbl.Title,sizeof (Gbl.Title),
@ -539,10 +528,10 @@ static void Deg_ShowNumUsrsInCrssOfDeg (Rol_Role_t Role)
HTM_TR_Begin (NULL);
Hie_ConfigLabel (NULL,Role == Rol_UNK ? Txt_Users_in_courses :
Txt_ROLES_PLURAL_Abc[Role][Usr_SEX_UNKNOWN]);
Frm_LabelColumn (NULL,Role == Rol_UNK ? Txt_Users_in_courses :
Txt_ROLES_PLURAL_Abc[Role][Usr_SEX_UNKNOWN]);
HTM_TD_Begin ("class=\"DAT LM\"");
HTM_TD_Begin ("class=\"DAT LT\"");
HTM_Unsigned (Usr_GetNumUsrsInCrssOfDeg (Role,Gbl.Hierarchy.Deg.DegCod));
HTM_TD_End ();

View File

@ -916,11 +916,7 @@ static void Enr_PutAreaToEnterUsrsIDs (void)
HTM_TABLE_BeginCenterPadding (2);
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RT\"");
HTM_LABEL_Begin ("for=\"UsrsIDs\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_List_of_nicks_emails_or_IDs);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("UsrsIDs",Txt_List_of_nicks_emails_or_IDs);
HTM_TD_Begin ("class=\"LT\"");
HTM_TEXTAREA_Begin ("id=\"UsrsIDs\" name=\"UsrsIDs\" cols=\"60\" rows=\"10\"");
@ -2261,11 +2257,7 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
/* Scope (whole platform, current centre, current degree or current course) */
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"ScopeEnr\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Scope);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("ScopeEnr",Txt_Scope);
HTM_TD_Begin ("class=\"LM\"");
Sco_PutSelectorScope ("ScopeEnr",true);
@ -2276,13 +2268,9 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
/* Users' roles in listing */
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RT\"");
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Users);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("Role",Txt_Users);
HTM_TD_Begin ("class=\"DAT LM\"");
HTM_TD_Begin ("class=\"DAT LT\"");
Rol_WriteSelectorRoles (1 << Rol_STD |
1 << Rol_NET |
1 << Rol_TCH,

View File

@ -1089,11 +1089,7 @@ static void Exa_ShowExamAnnouncement (long ExaCod,
/***** Name of the course *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RT\"");
HTM_LABEL_Begin ("for=\"CrsName\" class=\"%s\"",StyleForm);
HTM_TxtF ("%s:",Txt_EXAM_ANNOUNCEMENT_Course);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("CrsName",Txt_EXAM_ANNOUNCEMENT_Course);
HTM_TD_Begin ("class=\"%s LT\"",StyleNormal);
if (TypeViewExamAnnouncement == Exa_FORM_VIEW)

View File

@ -8521,6 +8521,7 @@ static void Brw_PutFormToCreateALink (const char *FileNameToShow)
extern const char *Txt_URL;
extern const char *Txt_Save_as;
extern const char *Txt_optional;
char *Label;
/***** Begin form *****/
Frm_StartForm (Brw_ActCreateLink[Gbl.FileBrowser.Type]);
@ -8538,13 +8539,9 @@ static void Brw_PutFormToCreateALink (const char *FileNameToShow)
HTM_TABLE_Begin (NULL);
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"NewLinkURL\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:&nbsp;",Txt_URL);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("NewLinkURL",Txt_URL);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
HTM_INPUT_URL ("NewLinkURL","",false,
"size=\"30\" required=\"required\"");
HTM_TD_End ();
@ -8554,11 +8551,10 @@ static void Brw_PutFormToCreateALink (const char *FileNameToShow)
/***** Link name *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"NewLinkName\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s&nbsp;(%s):&nbsp;",Txt_Save_as,Txt_optional);
HTM_LABEL_End ();
HTM_TD_End ();
if (asprintf (&Label,"%s&nbsp;(%s):&nbsp;",Txt_Save_as,Txt_optional) < 0)
Lay_NotEnoughMemoryExit ();
Frm_LabelColumn ("NewLinkName",Label);
free (Label);
HTM_TD_Begin ("class=\"LM\"");
HTM_INPUT_TEXT ("NewLinkName",Brw_MAX_CHARS_FOLDER,"",false,
@ -9606,14 +9602,9 @@ void Brw_ShowFileMetadata (void)
/***** Private or public? *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RT\"");
HTM_LABEL_Begin ("for=\"PublicFile\" class=\"%s\"",
The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Availability);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("PublicFile",Txt_Availability);
HTM_TD_Begin ("class=\"DAT LB\"");
HTM_TD_Begin ("class=\"DAT LT\"");
if (ICanChangePublic) // I can change file to public
{
HTM_SELECT_Begin (false,
@ -9636,14 +9627,9 @@ void Brw_ShowFileMetadata (void)
/***** License *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"License\" class=\"%s\"",
The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_License);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("License",Txt_License);
HTM_TD_Begin ("class=\"DAT LM\"");
HTM_TD_Begin ("class=\"DAT LT\"");
if (ICanEdit) // I can edit file properties
{
HTM_SELECT_Begin (false,

View File

@ -274,3 +274,23 @@ void Frm_FreeAnchorStr (char *Anchor)
Anchor = NULL;
}
}
/*****************************************************************************/
/************************* Show label column in form *************************/
/*****************************************************************************/
void Frm_LabelColumn (const char *Id,const char *Label)
{
extern const char *The_ClassFormInBox[The_NUM_THEMES];
HTM_TD_Begin ("class=\"RT\"");
if (Id)
HTM_LABEL_Begin ("for=\"%s\" class=\"%s\"",
Id,The_ClassFormInBox[Gbl.Prefs.Theme]);
else
HTM_LABEL_Begin ("class=\"%s\"",
The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Label);
HTM_LABEL_End ();
HTM_TD_End ();
}

View File

@ -68,4 +68,6 @@ void Frm_SetUniqueId (char UniqueId[Frm_MAX_BYTES_ID + 1]);
void Frm_SetAnchorStr (long Cod,char **Anchor);
void Frm_FreeAnchorStr (char *Anchor);
void Frm_LabelColumn (const char *Id,const char *Label);
#endif

View File

@ -3829,13 +3829,9 @@ static void For_WriteFormForumPst (bool IsReply,const char *Subject)
/* Subject */
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"Subject\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_MSG_Subject);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("Subject",Txt_MSG_Subject);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
HTM_INPUT_TEXT ("Subject",Cns_MAX_CHARS_SUBJECT,
IsReply ? Subject :
"",false,
@ -3847,11 +3843,7 @@ static void For_WriteFormForumPst (bool IsReply,const char *Subject)
/* Content */
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RT\"");
HTM_LABEL_Begin ("for=\"Content\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_MSG_Content);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("Content",Txt_MSG_Content);
HTM_TD_Begin ("class=\"LT\"");
HTM_TEXTAREA_Begin ("id=\"Content\" name=\"Content\" class=\"MSG_CONTENT\" rows=\"10\"");

View File

@ -1288,13 +1288,9 @@ static void Gam_PutFormsEditionGame (struct Game *Game,bool ItsANewGame)
/***** Game title *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"Title\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Title);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("Title",Txt_Title);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
HTM_INPUT_TEXT ("Title",Gam_MAX_CHARS_TITLE,Game->Title,false,
"id=\"Title\" required=\"required\""
" class=\"TITLE_DESCRIPTION_WIDTH\"");
@ -1319,11 +1315,7 @@ static void Gam_PutFormsEditionGame (struct Game *Game,bool ItsANewGame)
/***** Game text *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RT\"");
HTM_LABEL_Begin ("for=\"Txt\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Description);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("Txt",Txt_Description);
HTM_TD_Begin ("class=\"LT\"");
HTM_TEXTAREA_Begin ("id=\"Txt\" name=\"Txt\" rows=\"5\""

View File

@ -2295,7 +2295,7 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp,
HTM_TD_End ();
/* Number of students who don't belong to any group of this type */
for (Role = Rol_TCH;
for (Role = Rol_TCH;
Role >= Rol_STD;
Role--)
{

View File

@ -36,6 +36,7 @@
#include "swad_global.h"
#include "swad_HTML.h"
#include "swad_logo.h"
#include "swad_QR.h"
#include "swad_theme.h"
/*****************************************************************************/
@ -85,26 +86,6 @@ void Hie_ConfigTitle (bool PutLink,
HTM_DIV_End ();
}
/*****************************************************************************/
/****************** Show label column in configuration ***********************/
/*****************************************************************************/
void Hie_ConfigLabel (const char *Id,const char *Label)
{
extern const char *The_ClassFormInBox[The_NUM_THEMES];
HTM_TD_Begin ("class=\"RM\"");
if (Id)
HTM_LABEL_Begin ("for=\"%s\" class=\"%s\"",
Id,The_ClassFormInBox[Gbl.Prefs.Theme]);
else
HTM_LABEL_Begin ("class=\"%s\"",
The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Label);
HTM_LABEL_End ();
HTM_TD_End ();
}
/*****************************************************************************/
/********************** Show full name in configuration **********************/
/*****************************************************************************/
@ -114,9 +95,9 @@ void Hie_ConfigFullName (bool PutForm,const char *Label,Act_Action_t NextAction,
{
HTM_TR_Begin (NULL);
Hie_ConfigLabel ("FullName",Label);
Frm_LabelColumn ("FullName",Label);
HTM_TD_Begin ("class=\"DAT_N LM\"");
HTM_TD_Begin ("class=\"DAT_N LT\"");
if (PutForm)
{
/* Form to change full name */
@ -143,9 +124,9 @@ void Hie_ConfigShrtName (bool PutForm,Act_Action_t NextAction,
HTM_TR_Begin (NULL);
Hie_ConfigLabel ("ShortName",Txt_Short_name);
Frm_LabelColumn ("ShortName",Txt_Short_name);
HTM_TD_Begin ("class=\"DAT_N LM\"");
HTM_TD_Begin ("class=\"DAT_N LT\"");
if (PutForm)
{
/* Form to change short name */
@ -172,11 +153,11 @@ void Hie_ConfigWWW (bool PutForm,Act_Action_t NextAction,
HTM_TR_Begin (NULL);
Hie_ConfigLabel (PutForm ? "WWW" :
Frm_LabelColumn (PutForm ? "WWW" :
NULL,
Txt_Web);
HTM_TD_Begin ("class=\"DAT LM\"");
HTM_TD_Begin ("class=\"DAT LT\"");
if (PutForm)
{
/* Form to change web */
@ -209,9 +190,9 @@ void Hie_ConfigShortcut (const char *ParamName,long HieCod)
HTM_TR_Begin (NULL);
Hie_ConfigLabel (NULL,Txt_Shortcut);
Frm_LabelColumn (NULL,Txt_Shortcut);
HTM_TD_Begin ("class=\"DAT LM\"");
HTM_TD_Begin ("class=\"DAT LT\"");
HTM_A_Begin ("href=\"%s/%s?%s=%ld\" class=\"DAT\" target=\"_blank\"",
Cfg_URL_SWAD_CGI,
Lan_STR_LANG_ID[Gbl.Prefs.Language],
@ -226,6 +207,25 @@ void Hie_ConfigShortcut (const char *ParamName,long HieCod)
HTM_TR_End ();
}
/*****************************************************************************/
/************************* Show QR in configuration **************************/
/*****************************************************************************/
void Hie_ConfigQR (const char *ParamName,long HieCod)
{
extern const char *Txt_QR_code;
HTM_TR_Begin (NULL);
Frm_LabelColumn (NULL,Txt_QR_code);
HTM_TD_Begin ("class=\"DAT LT\"");
QR_LinkTo (250,ParamName,HieCod);
HTM_TD_End ();
HTM_TR_End ();
}
/*****************************************************************************/
/********** List pending institutions, centres, degrees and courses **********/
/*****************************************************************************/
@ -256,7 +256,6 @@ void Hie_SeePending (void)
void Hie_WriteMenuHierarchy (void)
{
extern const char *The_ClassFormInBox[The_NUM_THEMES];
extern const char *Txt_Country;
extern const char *Txt_Institution;
extern const char *Txt_Centre;
@ -270,13 +269,9 @@ void Hie_WriteMenuHierarchy (void)
with all the countries *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"cty\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Country);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("cty",Txt_Country);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
Cty_WriteSelectorOfCountry ();
HTM_TD_End ();
@ -288,13 +283,9 @@ void Hie_WriteMenuHierarchy (void)
with the institutions of selected country *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"ins\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Institution);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("ins",Txt_Institution);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
Ins_WriteSelectorOfInstitution ();
HTM_TD_End ();
@ -306,13 +297,9 @@ void Hie_WriteMenuHierarchy (void)
with all the centres of selected institution *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"ctr\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Centre);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("ctr",Txt_Centre);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
Ctr_WriteSelectorOfCentre ();
HTM_TD_End ();
@ -324,14 +311,9 @@ void Hie_WriteMenuHierarchy (void)
with all the degrees of selected centre *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"deg\" class=\"%s\"",
The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Degree);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("deg",Txt_Degree);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
Deg_WriteSelectorOfDegree ();
HTM_TD_End ();
@ -343,14 +325,9 @@ void Hie_WriteMenuHierarchy (void)
with all the courses of selected degree *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"crs\" class=\"%s\"",
The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Course);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("crs",Txt_Course);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
Crs_WriteSelectorOfCourse ();
HTM_TD_End ();

View File

@ -67,7 +67,6 @@ void Hie_ConfigTitle (bool PutLink,
char LogoFullName[Hie_MAX_BYTES_FULL_NAME + 1],
char LogoWWW[Cns_MAX_BYTES_WWW + 1],
char TextFullName[Hie_MAX_BYTES_FULL_NAME + 1]);
void Hie_ConfigLabel (const char *Id,const char *Label);
void Hie_ConfigFullName (bool PutForm,const char *Label,Act_Action_t NextAction,
const char FullName[Hie_MAX_BYTES_FULL_NAME + 1]);
void Hie_ConfigShrtName (bool PutForm,Act_Action_t NextAction,
@ -75,6 +74,7 @@ void Hie_ConfigShrtName (bool PutForm,Act_Action_t NextAction,
void Hie_ConfigWWW (bool PutForm,Act_Action_t NextAction,
const char WWW[Cns_MAX_BYTES_WWW + 1]);
void Hie_ConfigShortcut (const char *ParamName,long HieCod);
void Hie_ConfigQR (const char *ParamName,long HieCod);
void Hie_SeePending (void);

View File

@ -122,13 +122,9 @@ void Ind_ReqIndicatorsCourses (void)
/* Scope */
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"ScopeInd\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Scope);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("ScopeInd",Txt_Scope);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
Sco_PutSelectorScope ("ScopeInd",true);
HTM_TD_End ();
@ -137,14 +133,9 @@ void Ind_ReqIndicatorsCourses (void)
/* Compute stats for a type of degree */
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"OthDegTypCod\" class=\"%s\"",
The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Types_of_degree);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("OthDegTypCod",Txt_Types_of_degree);
HTM_TD_Begin ("class=\"DAT LM\"");
HTM_TD_Begin ("class=\"DAT LT\"");
DT_WriteSelectorDegreeTypes ();
HTM_Txt (" (");
HTM_TxtF (Txt_only_if_the_scope_is_X,Cfg_PLATFORM_SHORT_NAME);
@ -156,12 +147,7 @@ void Ind_ReqIndicatorsCourses (void)
/* Compute stats for courses with teachers belonging to any department or to a particular departament? */
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"%s\" class=\"%s\"",
Dpt_PARAM_DPT_COD_NAME,The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Department);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn (Dpt_PARAM_DPT_COD_NAME,Txt_Department);
HTM_TD_Begin ("class=\"LM\"");
Dpt_WriteSelectorDepartment (Gbl.Hierarchy.Ins.InsCod, // Departments in current insitution

View File

@ -42,7 +42,6 @@
#include "swad_language.h"
#include "swad_logo.h"
#include "swad_parameter.h"
#include "swad_QR.h"
#include "swad_user.h"
/*****************************************************************************/
@ -513,9 +512,9 @@ static void Ins_ConfigCountry (bool PrintView)
HTM_TR_Begin (NULL);
Hie_ConfigLabel ("OthCtyCod",Txt_Country);
Frm_LabelColumn ("OthCtyCod",Txt_Country);
HTM_TD_Begin ("class=\"DAT LM\"");
HTM_TD_Begin ("class=\"DAT LT\"");
if (!PrintView &&
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
// Only system admins can move an institution to another country
@ -592,17 +591,7 @@ static void Ins_ConfigShortcut (void)
static void Ins_ConfigQR (void)
{
extern const char *Txt_QR_code;
HTM_TR_Begin (NULL);
Hie_ConfigLabel (NULL,Txt_QR_code);
HTM_TD_Begin ("class=\"LM\"");
QR_LinkTo (250,"ins",Gbl.Hierarchy.Ins.InsCod);
HTM_TD_End ();
HTM_TR_End ();
Hie_ConfigQR ("ins",Gbl.Hierarchy.Ins.InsCod);
}
/*****************************************************************************/
@ -615,9 +604,9 @@ static void Ins_ConfigNumUsrs (void)
HTM_TR_Begin (NULL);
Hie_ConfigLabel (NULL,Txt_Users_of_the_institution);
Frm_LabelColumn (NULL,Txt_Users_of_the_institution);
HTM_TD_Begin ("class=\"DAT LM\"");
HTM_TD_Begin ("class=\"DAT LT\"");
HTM_Unsigned (Usr_GetNumUsrsWhoClaimToBelongToIns (Gbl.Hierarchy.Ins.InsCod));
HTM_TD_End ();
@ -635,10 +624,10 @@ static void Ins_ConfigNumCtrs (void)
HTM_TR_Begin (NULL);
Hie_ConfigLabel (NULL,Txt_Centres);
Frm_LabelColumn (NULL,Txt_Centres);
/* Form to go to see centres of this institution */
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
Frm_StartFormGoTo (ActSeeCtr);
Ins_PutParamInsCod (Gbl.Hierarchy.Ins.InsCod);
snprintf (Gbl.Title,sizeof (Gbl.Title),
@ -664,9 +653,9 @@ static void Ins_ConfigNumDegs (void)
/***** Number of degrees *****/
HTM_TR_Begin (NULL);
Hie_ConfigLabel (NULL,Txt_Degrees);
Frm_LabelColumn (NULL,Txt_Degrees);
HTM_TD_Begin ("class=\"DAT LM\"");
HTM_TD_Begin ("class=\"DAT LT\"");
HTM_Unsigned (Deg_GetNumDegsInIns (Gbl.Hierarchy.Ins.InsCod));
HTM_TD_End ();
@ -683,9 +672,9 @@ static void Ins_ConfigNumCrss (void)
HTM_TR_Begin (NULL);
Hie_ConfigLabel (NULL,Txt_Courses);
Frm_LabelColumn (NULL,Txt_Courses);
HTM_TD_Begin ("class=\"DAT LM\"");
HTM_TD_Begin ("class=\"DAT LT\"");
HTM_Unsigned (Crs_GetNumCrssInIns (Gbl.Hierarchy.Ins.InsCod));
HTM_TD_End ();
@ -702,9 +691,9 @@ static void Ins_ConfigNumDpts (void)
HTM_TR_Begin (NULL);
Hie_ConfigLabel (NULL,Txt_Departments);
Frm_LabelColumn (NULL,Txt_Departments);
HTM_TD_Begin ("class=\"DAT LM\"");
HTM_TD_Begin ("class=\"DAT LT\"");
HTM_Unsigned (Dpt_GetNumDepartmentsInInstitution (Gbl.Hierarchy.Ins.InsCod));
HTM_TD_End ();
@ -722,10 +711,10 @@ static void Ins_ShowNumUsrsInCrssOfIns (Rol_Role_t Role)
HTM_TR_Begin (NULL);
Hie_ConfigLabel (NULL,Role == Rol_UNK ? Txt_Users_in_courses :
Frm_LabelColumn (NULL,Role == Rol_UNK ? Txt_Users_in_courses :
Txt_ROLES_PLURAL_Abc[Role][Usr_SEX_UNKNOWN]);
HTM_TD_Begin ("class=\"DAT LM\"");
HTM_TD_Begin ("class=\"DAT LT\"");
HTM_Unsigned (Usr_GetNumUsrsInCrssOfIns (Role,Gbl.Hierarchy.Ins.InsCod));
HTM_TD_End ();

View File

@ -1224,7 +1224,6 @@ long Mch_GetParamMchCod (void)
static void Mch_PutFormNewMatch (const struct Game *Game)
{
extern const char *Hlp_ASSESSMENT_Games_matches;
extern const char *The_ClassFormInBox[The_NUM_THEMES];
extern const char *Txt_New_match;
extern const char *Txt_Title;
extern const char *Txt_Play;
@ -1244,13 +1243,9 @@ static void Mch_PutFormNewMatch (const struct Game *Game)
/***** Match title *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"Title\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Title);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("Title",Txt_Title);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
HTM_INPUT_TEXT ("Title",Gam_MAX_CHARS_TITLE,Game->Title,false,
"id=\"Title\" size=\"45\" required=\"required\"");
HTM_TD_End ();
@ -1306,6 +1301,7 @@ static void Mch_ShowLstGrpsToCreateMatch (void)
/***** First row: checkbox to select the whole course *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("colspan=\"7\" class=\"DAT LM\"");
HTM_LABEL_Begin (NULL);
HTM_INPUT_CHECKBOX ("WholeCrs",true,

View File

@ -534,14 +534,9 @@ static void Msg_WriteFormSubjectAndContentMsgToUsrs (char Content[Cns_MAX_BYTES_
/***** Message subject *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RT\"");
HTM_LABEL_Begin ("for=\"MsgSubject\" class=\"%s\"",
The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_MSG_Subject);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("MsgSubject",Txt_MSG_Subject);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
HTM_TEXTAREA_Begin ("id=\"MsgSubject\" name=\"Subject\""
" class=\"MSG_SUBJECT\" rows=\"2\"");
@ -586,12 +581,7 @@ static void Msg_WriteFormSubjectAndContentMsgToUsrs (char Content[Cns_MAX_BYTES_
/***** Message content *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RT\"");
HTM_LABEL_Begin ("for=\"MsgContent\" class=\"%s\"",
The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_MSG_Content);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("MsgContent",Txt_MSG_Content);
HTM_TD_Begin ("class=\"LM\"");
HTM_TEXTAREA_Begin ("id=\"MsgContent\" name=\"Content\""
@ -621,14 +611,9 @@ static void Msg_WriteFormSubjectAndContentMsgToUsrs (char Content[Cns_MAX_BYTES_
/***** Message content *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RT\"");
HTM_LABEL_Begin ("for=\"MsgContent\" class=\"%s\"",
The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_MSG_Content);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("MsgContent",Txt_MSG_Content);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
HTM_TEXTAREA_Begin ("id=\"MsgContent\" name=\"Content\""
" class=\"MSG_CONTENT\" rows=\"20\"");

View File

@ -734,14 +734,10 @@ void Pwd_PutFormToGetNewPasswordOnce (void)
HTM_TR_Begin (NULL);
/***** Label ****/
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"Paswd\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Password);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("Paswd",Txt_Password);
/***** Input ****/
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
HTM_INPUT_PASSWORD ("Paswd",Txt_HELP_password,NULL,true,
"id=\"Paswd\"");
HTM_TD_End ();

View File

@ -1792,13 +1792,9 @@ static void Pho_PutSelectorForTypeOfAvg (void)
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"AvgType\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Average_type);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("AvgType",Txt_Average_type);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
Frm_StartForm (ActSeePhoDeg);
Pho_PutHiddenParamPhotoSize ();
Pho_PutHiddenParamOrderDegrees ();
@ -1857,13 +1853,9 @@ static void Pho_PutSelectorForHowComputePhotoSize (void)
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"PhotoSize\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Size_of_photos);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("PhotoSize",Txt_Size_of_photos);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
Frm_StartForm (ActSeePhoDeg);
Pho_PutHiddenParamTypeOfAvg ();
Pho_PutHiddenParamOrderDegrees ();
@ -1922,13 +1914,9 @@ static void Pho_PutSelectorForHowOrderDegrees (void)
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"Order\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Sort_degrees_by);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("Order",Txt_Sort_degrees_by);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
Frm_StartForm (ActSeePhoDeg);
Pho_PutHiddenParamTypeOfAvg ();
Pho_PutHiddenParamPhotoSize ();

View File

@ -3471,13 +3471,9 @@ static void Prj_PutFormProject (struct Project *Prj,bool ItsANewProject)
/* Project title */
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"Title\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Title);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("Title",Txt_Title);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
HTM_INPUT_TEXT ("Title",Prj_MAX_CHARS_PROJECT_TITLE,Prj->Title,false,
"id=\"Title\" required=\"required\""
" class=\"TITLE_DESCRIPTION_WIDTH\"");
@ -3488,15 +3484,9 @@ static void Prj_PutFormProject (struct Project *Prj,bool ItsANewProject)
/* Department */
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"%s\" class=\"%s\"",
Dpt_PARAM_DPT_COD_NAME,
The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Department);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn (Dpt_PARAM_DPT_COD_NAME,Txt_Department);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
Dpt_WriteSelectorDepartment (Gbl.Hierarchy.Ins.InsCod, // Departments in current institution
Prj->DptCod, // Selected department
"TITLE_DESCRIPTION_WIDTH", // Selector class
@ -3582,13 +3572,9 @@ static void Prj_PutFormProject (struct Project *Prj,bool ItsANewProject)
/* URL for additional info */
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"WWW\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_URL);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("WWW",Txt_URL);
HTM_TD_Begin ("class=\"DAT LM\"");
HTM_TD_Begin ("class=\"DAT LT\"");
HTM_INPUT_URL ("URL",Prj->URL,false,
"class=\"TITLE_DESCRIPTION_WIDTH\"");
HTM_TD_End ();
@ -3620,11 +3606,7 @@ static void Prj_EditOneProjectTxtArea (const char *Id,
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RT\"");
HTM_LABEL_Begin ("for=\"%s\" class=\"%s\"",Id,The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Label);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn (Id,Label);
HTM_TD_Begin ("class=\"LT\"");
HTM_TEXTAREA_Begin ("id=\"%s\" name=\"%s\" rows=\"%u\"%s"
@ -3922,17 +3904,13 @@ void Prj_ShowFormConfig (void)
HTM_TABLE_BeginCenterPadding (2);
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"%s RT\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Editable);
HTM_TD_End ();
Frm_LabelColumn ("Editable",Txt_Editable);
HTM_TD_Begin ("class=\"LT\"");
HTM_LABEL_Begin (NULL);
HTM_INPUT_CHECKBOX ("Editable",false,
"id=\"Editable\" value=\"Y\"%s",
Gbl.Prjs.Config.Editable ? " checked=\"checked\"" : "");
HTM_Txt (Txt_Editable_by_non_editing_teachers);
HTM_LABEL_End ();
HTM_TD_End ();
HTM_TR_End ();

View File

@ -546,14 +546,14 @@ void Rol_WriteSelectorRoles (unsigned RolesAllowed,unsigned RolesSelected,
extern const char *Txt_ROLES_PLURAL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
Rol_Role_t Role;
for (Role = Rol_UNK;
for (Role = Rol_UNK;
Role <= Rol_SYS_ADM;
Role++)
if ((RolesAllowed & (1 << Role)))
{
HTM_LABEL_Begin (NULL);
HTM_INPUT_CHECKBOX ("Role",SendOnChange,
"value=\"%u\"%s%s",
"id=\"Role\" value=\"%u\"%s%s",
(unsigned) Role,
(RolesSelected & (1 << Role)) ? " checked=\"checked\"" : "",
Disabled ? " disabled=\"disabled\"" : "");

View File

@ -427,13 +427,9 @@ void Sta_AskShowGblHits (void)
/***** Users' roles whose accesses we want to see *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"Role\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Users);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("Role",Txt_Users);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
HTM_SELECT_Begin (false,
"id=\"Role\" name=\"Role\" class=\"STAT_SEL\"");
for (RoleStat = (Sta_Role_t) 0;
@ -456,13 +452,9 @@ void Sta_AskShowGblHits (void)
/***** Clicks made from anywhere, current centre, current degree or current course *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"ScopeSta\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Scope);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("ScopeSta",Txt_Scope);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
Gbl.Scope.Allowed = 1 << Hie_SYS |
1 << Hie_CTY |
1 << Hie_INS |
@ -479,13 +471,9 @@ void Sta_AskShowGblHits (void)
/***** Count type for the statistic *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"CountType\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Show);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("CountType",Txt_Show);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
Sta_WriteSelectorCountType ();
/***** Type of statistic *****/
@ -604,11 +592,7 @@ static void Sta_WriteSelectorAction (void)
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"StatAct\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Action);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("StatAct",Txt_Action);
HTM_TD_Begin ("class=\"LM\"");
HTM_SELECT_Begin (false,

View File

@ -1863,13 +1863,9 @@ void Svy_RequestCreatOrEditSvy (void)
/***** Scope of the survey *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"ScopeSvy\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Scope);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("ScopeSvy",Txt_Scope);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
Svy_SetDefaultAndAllowedScope (&Svy);
Sco_GetScope ("ScopeSvy");
Sco_PutSelectorScope ("ScopeSvy",false);
@ -1880,13 +1876,9 @@ void Svy_RequestCreatOrEditSvy (void)
/***** Survey title *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"Title\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Title);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("Title",Txt_Title);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
HTM_INPUT_TEXT ("Title",Svy_MAX_CHARS_SURVEY_TITLE,Svy.Title,false,
"id=\"Title\" required=\"required\""
" class=\"TITLE_DESCRIPTION_WIDTH\"");
@ -1900,11 +1892,7 @@ void Svy_RequestCreatOrEditSvy (void)
/***** Survey text *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RT\"");
HTM_LABEL_Begin ("for=\"Txt\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Description);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("Txt",Txt_Description);
HTM_TD_Begin ("class=\"LT\"");
HTM_TEXTAREA_Begin ("id=\"Txt\" name=\"Txt\" rows=\"5\""
@ -2692,11 +2680,7 @@ static void Svy_ShowFormEditOneQst (long SvyCod,struct SurveyQuestion *SvyQst,
/***** Stem *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RT\"");
HTM_LABEL_Begin ("for=\"Txt\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Wording);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("Txt",Txt_Wording);
HTM_TD_Begin ("class=\"LT\"");
HTM_TEXTAREA_Begin ("id=\"Txt\" name=\"Txt\" cols=\"60\" rows=\"4\"");

View File

@ -303,7 +303,6 @@ static void Tst_GetTestResultQuestionsFromDB (long TstCod);
void Tst_ShowFormAskTst (void)
{
extern const char *Hlp_ASSESSMENT_Tests;
extern const char *The_ClassFormInBox[The_NUM_THEMES];
extern const char *Txt_Take_a_test;
extern const char *Txt_No_of_questions;
extern const char *Txt_Generate_test;
@ -337,13 +336,9 @@ void Tst_ShowFormAskTst (void)
/***** Number of questions to generate ****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
HTM_LABEL_Begin ("for=\"NumQst\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_No_of_questions);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("NumQst",Txt_No_of_questions);
HTM_TD_Begin ("class=\"LM\"");
HTM_TD_Begin ("class=\"LT\"");
HTM_INPUT_LONG ("NumQst",
(long) Gbl.Test.Config.Min,
(long) Gbl.Test.Config.Max,
@ -1952,14 +1947,9 @@ static void Tst_ShowFormConfigTst (void)
/***** Minimum time between consecutive tests, per question *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RT\"");
HTM_LABEL_Begin ("for=\"MinTimeNxtTstPerQst\" class=\"%s\"",
The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Minimum_time_seconds_per_question_between_two_tests);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("MinTimeNxtTstPerQst",Txt_Minimum_time_seconds_per_question_between_two_tests);
HTM_TD_Begin ("class=\"LB\"");
HTM_TD_Begin ("class=\"LT\"");
snprintf (StrMinTimeNxtTstPerQst,sizeof (StrMinTimeNxtTstPerQst),
"%lu",
Gbl.Test.Config.MinTimeNxtTstPerQst);
@ -5203,11 +5193,7 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
/***** Stem and image *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RT\"");
HTM_LABEL_Begin ("for=\"Stem\" class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
HTM_TxtF ("%s:",Txt_Wording);
HTM_LABEL_End ();
HTM_TD_End ();
Frm_LabelColumn ("Stem",Txt_Wording);
HTM_TD_Begin ("class=\"LT\"");
HTM_TEXTAREA_Begin ("id=\"Stem\" name=\"Stem\" class=\"STEM_TEXTAREA\""