Compare commits

...

3 Commits

Author SHA1 Message Date
acanas 1fde56504e Version 23.64: Jan 30, 2024 Responsive design. 2024-01-30 15:55:59 +01:00
acanas 7e04aabced Version 23.64: Jan 30, 2024 Responsive design. 2024-01-30 15:08:53 +01:00
acanas 2a49a54c7b Version 23.63.4: Jan 30, 2024 Code refactoring in users. 2024-01-30 14:12:03 +01:00
33 changed files with 517 additions and 410 deletions

View File

@ -3235,6 +3235,96 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;}
width:200px;
}
/**************************** Forms with 2 colums ****************************/
@media only screen and (max-width: 480px)
{ /* For mobile-phones */
.Frm_C1
{
box-sizing:border-box;
width:80px;
max-width:80px;
overflow:hidden;
}
.Frm_C2
{
box-sizing:border-box;
width:188px;
max-width:188px;
overflow:hidden;
}
.Frm_C2_INPUT
{
box-sizing:border-box;
width:184px;
}
}
@media only screen and (min-width: 480px) and (max-width: 600px)
{ /* For mobile-phones */
.Frm_C1
{
box-sizing:border-box;
width:150px;
max-width:150px;
overflow:hidden;
}
.Frm_C2
{
box-sizing:border-box;
width:280px;
max-width:280px;
overflow:hidden;
}
.Frm_C2_INPUT
{
box-sizing:border-box;
width:276px;
}
}
@media only screen and (min-width: 600px) and (max-width: 1024px)
{ /* For desktop */
.Frm_C1
{
box-sizing:border-box;
width:150px;
max-width:150px;
overflow:hidden;
}
.Frm_C2
{
box-sizing:border-box;
width:386px;
max-width:386px;
overflow:hidden;
}
.Frm_C2_INPUT
{
box-sizing:border-box;
width:382px;
}
}
@media only screen and (min-width: 1024px)
{ /* For desktop */
.Frm_C1
{
box-sizing:border-box;
width:150px;
max-width:150px;
overflow:hidden;
}
.Frm_C2
{
box-sizing:border-box;
width:704px;
max-width:704px;
overflow:hidden;
}
.Frm_C2_INPUT
{
box-sizing:border-box;
width:700px;
}
}
/******************************** Class photo ********************************/
.CLASSPHOTO_TITLE
{
@ -4377,13 +4467,6 @@ legend {font-size:12pt;}
.ATT_CROSS_YELLOW,
.ATT_CROSS_PINK {color:#660000;}
.ATT_CROSS_DARK {color:#ff8080;}
/********************* Edition of attendance events, games *******************/
.TITLE_DESCRIPTION_WIDTH
{
box-sizing:border-box;
width:500px;
}
/**************************** Enrolment requests *****************************/
.REQUESTER_NAME
@ -5157,7 +5240,7 @@ table.TBL_WIDE > tbody > tr > th {padding: 2px;}
margin: 0 auto;
}
}
@media only screen and (min-width: 1024px) and (max-width: 1600px)
@media only screen and (min-width: 1024px) and (max-width: 1800px)
{ /* For desktop */
.TBL_SCROLL
{
@ -5167,13 +5250,13 @@ table.TBL_WIDE > tbody > tr > th {padding: 2px;}
margin: 0 auto;
}
}
@media only screen and (min-width: 1600px)
@media only screen and (min-width: 1800px)
{ /* For desktop */
.TBL_SCROLL
{
display: block;
overflow-x: auto;
width: 1200px;
width: 1440px;
margin: 0 auto;
}
}
@ -5184,7 +5267,7 @@ table.TBL_WIDE > tbody > tr > th {padding: 2px;}
{
display: block;
overflow-x: auto;
width: 186px;
width: 186px; /* Frm_C2 - 2px */
margin: 0 auto;
}
}
@ -5194,17 +5277,27 @@ table.TBL_WIDE > tbody > tr > th {padding: 2px;}
{
display: block;
overflow-x: auto;
width: 278px;
width: 278px; /* Frm_C2 - 2px */
margin: 0 auto;
}
}
@media only screen and (min-width: 600px)
@media only screen and (min-width: 600px) and (max-width: 1024px)
{ /* For desktop */
.TBL_SCROLL_C2
{
display: block;
overflow-x: auto;
width: 384px;
width: 384px; /* Frm_C2 - 2px */
margin: 0 auto;
}
}
@media only screen and (min-width: 1024px)
{ /* For desktop */
.TBL_SCROLL_C2
{
display: block;
overflow-x: auto;
width: 702px; /* Frm_C2 - 2px */
margin: 0 auto;
}
}
@ -5244,7 +5337,7 @@ table.TBL_WIDE > tbody > tr > th {padding: 2px;}
.INPUT_FULL_NAME
{
box-sizing:border-box;
width:180px;
width:240px;
}
.INPUT_LONG
{

View File

@ -565,11 +565,10 @@ static void ID_ShowFormChangeUsrID (Usr_MeOrOther_t MeOrOther,bool IShouldFillIn
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT",NULL,Txt_ID_identity_number);
Frm_LabelColumn ("Frm_C1 RT",NULL,Txt_ID_identity_number);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT DAT_STRONG_%s\"",
The_GetSuffix ());
HTM_TD_Begin ("class=\"Frm_C2 LT DAT_STRONG_%s\"",The_GetSuffix ());
}
else // NumID >= 1
HTM_BR ();
@ -624,13 +623,12 @@ static void ID_ShowFormChangeUsrID (Usr_MeOrOther_t MeOrOther,bool IShouldFillIn
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","NewID",
Frm_LabelColumn ("Frm_C1 RT","NewID",
UsrDat[MeOrOther]->IDs.Num ? Txt_Another_ID : // A new user's ID
Txt_ID_identity_number); // The first user's ID
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT DAT_%s\"",
The_GetSuffix ());
HTM_TD_Begin ("class=\"Frm_C2 LT DAT_%s\"",The_GetSuffix ());
Frm_BeginFormAnchor (ActID[MeOrOther].Change,ID_ID_SECTION_ID);
if (MeOrOther == Usr_OTHER)
Usr_PutParUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EnUsrCod);
@ -638,8 +636,7 @@ static void ID_ShowFormChangeUsrID (Usr_MeOrOther_t MeOrOther,bool IShouldFillIn
UsrDat[MeOrOther]->IDs.Num ? UsrDat[MeOrOther]->IDs.List[UsrDat[MeOrOther]->IDs.Num - 1].ID :
"", // Show the most recent ID
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"NewID\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\""
"id=\"NewID\" class=\"Frm_C2_INPUT INPUT_%s\""
" size=\"16\"",
The_GetSuffix ());
HTM_BR ();

View File

@ -1374,13 +1374,13 @@ void Agd_ReqCreatOrEditEvent (void)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("RT","Event",Txt_Event);
Frm_LabelColumn ("Frm_C1 RT","Event",Txt_Event);
/* Data */
HTM_TD_Begin ("class=\"LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_INPUT_TEXT ("Event",Agd_MAX_CHARS_EVENT,AgdEvent.Title,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Event\" class=\"TITLE_DESCRIPTION_WIDTH INPUT_%s\""
"id=\"Event\" class=\"Frm_C2_INPUT INPUT_%s\""
" required=\"required\"",
The_GetSuffix ());
HTM_TD_End ();
@ -1393,13 +1393,13 @@ void Agd_ReqCreatOrEditEvent (void)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("RT","Location",Txt_Location);
Frm_LabelColumn ("Frm_C1 RT","Location",Txt_Location);
/* Data */
HTM_TD_Begin ("class=\"LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_INPUT_TEXT ("Location",Agd_MAX_CHARS_LOCATION,AgdEvent.Location,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Location\" class=\"TITLE_DESCRIPTION_WIDTH INPUT_%s\""
"id=\"Location\" class=\"Frm_C2_INPUT INPUT_%s\""
" required=\"required\"",
The_GetSuffix ());
HTM_TD_End ();
@ -1417,12 +1417,12 @@ void Agd_ReqCreatOrEditEvent (void)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("RT","Txt",Txt_Description);
Frm_LabelColumn ("Frm_C1 RT","Txt",Txt_Description);
/* Data */
HTM_TD_Begin ("class=\"LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_TEXTAREA_Begin ("id=\"Txt\" name=\"Txt\" rows=\"5\""
" class=\"TITLE_DESCRIPTION_WIDTH INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
if (!ItsANewEvent)
HTM_Txt (Txt);

View File

@ -1221,14 +1221,14 @@ void Asg_ReqCreatOrEditAsg (void)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RM","Title",Txt_Title);
Frm_LabelColumn ("Frm_C1 RM","Title",Txt_Title);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LM\"");
HTM_TD_Begin ("class=\"Frm_C2 LM\"");
HTM_INPUT_TEXT ("Title",Asg_MAX_CHARS_ASSIGNMENT_TITLE,Assignments.Asg.Title,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Title\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\""
" class=\"Frm_C2_INPUT INPUT_%s\""
" required=\"required\"",
The_GetSuffix ());
HTM_TD_End ();
@ -1245,15 +1245,15 @@ void Asg_ReqCreatOrEditAsg (void)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RM","Folder",Folder_to_upload_files);
Frm_LabelColumn ("Frm_C1 RM","Folder",Folder_to_upload_files);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LM\"");
HTM_TD_Begin ("class=\"Frm_C2 LM\"");
HTM_LABEL_Begin ("class=\"DAT_%s\"",The_GetSuffix ());
HTM_INPUT_TEXT ("Folder",Brw_MAX_CHARS_FOLDER,Assignments.Asg.Folder,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Folder\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
HTM_LABEL_End ();
HTM_TD_End ();
@ -1264,12 +1264,12 @@ void Asg_ReqCreatOrEditAsg (void)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","Txt",Txt_Description);
Frm_LabelColumn ("Frm_C1 RT","Txt",Txt_Description);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_TEXTAREA_Begin ("id=\"Txt\" name=\"Txt\" rows=\"10\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
if (!ItsANewAssignment)
HTM_Txt (Txt);
@ -1313,10 +1313,10 @@ static void Asg_ShowLstGrpsToEditAssignment (long AsgCod)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","",Txt_Groups);
Frm_LabelColumn ("Frm_C1 RT","",Txt_Groups);
/* Groups */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_TABLE_Begin (NULL);
/***** First row: checkbox to select the whole course *****/

View File

@ -988,13 +988,13 @@ void Att_ReqCreatOrEditEvent (void)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("RT","Title",Txt_Title);
Frm_LabelColumn ("Frm_C1 RT","Title",Txt_Title);
/* Data */
HTM_TD_Begin ("class=\"LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_INPUT_TEXT ("Title",Att_MAX_CHARS_ATTENDANCE_EVENT_TITLE,Events.Event.Title,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Title\" class=\"TITLE_DESCRIPTION_WIDTH INPUT_%s\""
"id=\"Title\" class=\"Frm_C2_INPUT INPUT_%s\""
" required=\"required\"",
The_GetSuffix ());
HTM_TD_End ();
@ -1010,13 +1010,13 @@ void Att_ReqCreatOrEditEvent (void)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("RT","ComTchVisible",Txt_Teachers_comment);
Frm_LabelColumn ("Frm_C1 RT","ComTchVisible",Txt_Teachers_comment);
/* Data */
HTM_TD_Begin ("class=\"LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
"id=\"ComTchVisible\" name=\"ComTchVisible\""
" class=\"INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
HTM_OPTION (HTM_Type_STRING,"N",
Events.Event.CommentTchVisible ? HTM_OPTION_UNSELECTED :
@ -1037,12 +1037,12 @@ void Att_ReqCreatOrEditEvent (void)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("RT","Txt",Txt_Description);
Frm_LabelColumn ("Frm_C1 RT","Txt",Txt_Description);
/* Data */
HTM_TD_Begin ("class=\"LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_TEXTAREA_Begin ("id=\"Txt\" name=\"Txt\" rows=\"5\""
" class=\"TITLE_DESCRIPTION_WIDTH INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
if (!ItsANewAttEvent)
HTM_Txt (Description);
@ -1086,10 +1086,10 @@ static void Att_ShowLstGrpsToEditEvent (long AttCod)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","",Txt_Groups);
Frm_LabelColumn ("Frm_C1 RT","",Txt_Groups);
/* Groups */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_TABLE_Begin (NULL);
/***** First row: checkbox to select the whole course *****/

View File

@ -984,20 +984,19 @@ static void Cfe_ShowCallForExam (struct Cfe_CallsForExams *CallsForExams,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT",
Frm_LabelColumn ("Frm_C1 RT",
ViewType == Vie_EDIT ? "CrsName" :
NULL,
Txt_CALL_FOR_EXAM_Course);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LB DAT_STRONG_%s\"",
The_GetSuffix ());
HTM_TD_Begin ("class=\"Frm_C2 LB DAT_STRONG_%s\"",The_GetSuffix ());
if (ViewType == Vie_EDIT)
HTM_INPUT_TEXT ("CrsName",Nam_MaxChars[Nam_FULL_NAME],
CallsForExams->CallForExam.CrsFullName,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"CrsName\" size=\"30\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
else
{
@ -1013,14 +1012,13 @@ static void Cfe_ShowCallForExam (struct Cfe_CallsForExams *CallsForExams,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT",
Frm_LabelColumn ("Frm_C1 RT",
ViewType == Vie_EDIT ? "Year" :
NULL,
Txt_CALL_FOR_EXAM_Year_or_semester);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LB DAT_STRONG_%s\"",
The_GetSuffix ());
HTM_TD_Begin ("class=\"Frm_C2 LB DAT_STRONG_%s\"",The_GetSuffix ());
if (ViewType == Vie_EDIT)
{
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
@ -1047,19 +1045,18 @@ static void Cfe_ShowCallForExam (struct Cfe_CallsForExams *CallsForExams,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT",
Frm_LabelColumn ("Frm_C1 RT",
ViewType == Vie_EDIT ? "ExamSession" :
NULL,
Txt_CALL_FOR_EXAM_Session);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LB DAT_STRONG_%s\"",
The_GetSuffix ());
HTM_TD_Begin ("class=\"Frm_C2 LB DAT_STRONG_%s\"",The_GetSuffix ());
if (ViewType == Vie_EDIT)
HTM_INPUT_TEXT ("ExamSession",Cfe_MAX_CHARS_SESSION,CallsForExams->CallForExam.Session,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"ExamSession\" size=\"30\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
else
HTM_Txt (CallsForExams->CallForExam.Session);
@ -1071,7 +1068,7 @@ static void Cfe_ShowCallForExam (struct Cfe_CallsForExams *CallsForExams,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT",
Frm_LabelColumn ("Frm_C1 RT",
ViewType == Vie_EDIT ? "ExamYear" :
NULL,
Txt_CALL_FOR_EXAM_Exam_date);
@ -1079,7 +1076,7 @@ static void Cfe_ShowCallForExam (struct Cfe_CallsForExams *CallsForExams,
/* Data */
if (ViewType == Vie_EDIT)
{
HTM_TD_Begin ("class=\"REC_C2_BOT LB\"");
HTM_TD_Begin ("class=\"Frm_C2 LB\"");
Dat_WriteFormDate (CallsForExams->CallForExam.ExamDate.Year < CurrentYear ? CallsForExams->CallForExam.ExamDate.Year :
CurrentYear,
CurrentYear + 1,"Exam",
@ -1092,8 +1089,7 @@ static void Cfe_ShowCallForExam (struct Cfe_CallsForExams *CallsForExams,
{
Dat_ConvDateToDateStr (&CallsForExams->CallForExam.ExamDate,
StrExamDate);
HTM_TD_Begin ("class=\"REC_C2_BOT LB DAT_STRONG_%s\"",
The_GetSuffix ());
HTM_TD_Begin ("class=\"Frm_C2 LB DAT_STRONG_%s\"",The_GetSuffix ());
HTM_Txt (StrExamDate);
HTM_TD_End ();
}
@ -1103,14 +1099,13 @@ static void Cfe_ShowCallForExam (struct Cfe_CallsForExams *CallsForExams,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT",
Frm_LabelColumn ("Frm_C1 RT",
ViewType == Vie_EDIT ? "ExamHour" :
NULL,
Txt_CALL_FOR_EXAM_Start_time);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LB DAT_STRONG_%s\"",
The_GetSuffix ());
HTM_TD_Begin ("class=\"Frm_C2 LB DAT_STRONG_%s\"",The_GetSuffix ());
if (ViewType == Vie_EDIT)
{
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
@ -1157,14 +1152,13 @@ static void Cfe_ShowCallForExam (struct Cfe_CallsForExams *CallsForExams,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT",
Frm_LabelColumn ("Frm_C1 RT",
ViewType == Vie_EDIT ? "DurationHour" :
NULL,
Txt_CALL_FOR_EXAM_Approximate_duration);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LB DAT_STRONG_%s\"",
The_GetSuffix ());
HTM_TD_Begin ("class=\"Frm_C2 LB DAT_STRONG_%s\"",The_GetSuffix ());
if (ViewType == Vie_EDIT)
{
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
@ -1224,19 +1218,18 @@ static void Cfe_ShowCallForExam (struct Cfe_CallsForExams *CallsForExams,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT",
Frm_LabelColumn ("Frm_C1 RT",
ViewType == Vie_EDIT ? "Place" :
NULL,
Txt_CALL_FOR_EXAM_Place_of_exam);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LB DAT_STRONG_%s\"",
The_GetSuffix ());
HTM_TD_Begin ("class=\"Frm_C2 LB DAT_STRONG_%s\"",The_GetSuffix ());
if (ViewType == Vie_EDIT)
{
HTM_TEXTAREA_Begin ("id=\"Place\" name=\"Place\""
" rows=\"4\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
HTM_Txt (CallsForExams->CallForExam.Place);
HTM_TEXTAREA_End ();
@ -1256,19 +1249,18 @@ static void Cfe_ShowCallForExam (struct Cfe_CallsForExams *CallsForExams,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT",
Frm_LabelColumn ("Frm_C1 RT",
ViewType == Vie_EDIT ? "ExamMode" :
NULL,
Txt_CALL_FOR_EXAM_Mode);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LB DAT_STRONG_%s\"",
The_GetSuffix ());
HTM_TD_Begin ("class=\"Frm_C2 LB DAT_STRONG_%s\"",The_GetSuffix ());
if (ViewType == Vie_EDIT)
{
HTM_TEXTAREA_Begin ("id=\"ExamMode\" name=\"ExamMode\""
" rows=\"2\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
HTM_Txt (CallsForExams->CallForExam.Mode);
HTM_TEXTAREA_End ();
@ -1288,19 +1280,18 @@ static void Cfe_ShowCallForExam (struct Cfe_CallsForExams *CallsForExams,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT",
Frm_LabelColumn ("Frm_C1 RT",
ViewType == Vie_EDIT ? "Structure" :
NULL,
Txt_CALL_FOR_EXAM_Structure_of_the_exam);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LB DAT_STRONG_%s\"",
The_GetSuffix ());
HTM_TD_Begin ("class=\"Frm_C2 LB DAT_STRONG_%s\"",The_GetSuffix ());
if (ViewType == Vie_EDIT)
{
HTM_TEXTAREA_Begin ("id=\"Structure\" name=\"Structure\""
" rows=\"8\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
HTM_Txt (CallsForExams->CallForExam.Structure);
HTM_TEXTAREA_End ();
@ -1320,19 +1311,18 @@ static void Cfe_ShowCallForExam (struct Cfe_CallsForExams *CallsForExams,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT",
Frm_LabelColumn ("Frm_C1 RT",
ViewType == Vie_EDIT ? "DocRequired" :
NULL,
Txt_CALL_FOR_EXAM_Documentation_required);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LB DAT_STRONG_%s\"",
The_GetSuffix ());
HTM_TD_Begin ("class=\"Frm_C2 LB DAT_STRONG_%s\"",The_GetSuffix ());
if (ViewType == Vie_EDIT)
{
HTM_TEXTAREA_Begin ("id=\"DocRequired\" name=\"DocRequired\""
" rows=\"2\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
HTM_Txt (CallsForExams->CallForExam.DocRequired);
HTM_TEXTAREA_End ();
@ -1352,19 +1342,18 @@ static void Cfe_ShowCallForExam (struct Cfe_CallsForExams *CallsForExams,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT",
Frm_LabelColumn ("Frm_C1 RT",
ViewType == Vie_EDIT ? "MatRequired" :
NULL,
Txt_CALL_FOR_EXAM_Material_required);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LB DAT_STRONG_%s\"",
The_GetSuffix ());
HTM_TD_Begin ("class=\"Frm_C2 LB DAT_STRONG_%s\"",The_GetSuffix ());
if (ViewType == Vie_EDIT)
{
HTM_TEXTAREA_Begin ("id=\"MatRequired\" name=\"MatRequired\""
" rows=\"4\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
HTM_Txt (CallsForExams->CallForExam.MatRequired);
HTM_TEXTAREA_End ();
@ -1384,19 +1373,18 @@ static void Cfe_ShowCallForExam (struct Cfe_CallsForExams *CallsForExams,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT",
Frm_LabelColumn ("Frm_C1 RT",
ViewType == Vie_EDIT ? "MatAllowed" :
NULL,
Txt_CALL_FOR_EXAM_Material_allowed);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LB DAT_STRONG_%s\"",
The_GetSuffix ());
HTM_TD_Begin ("class=\"Frm_C2 LB DAT_STRONG_%s\"",The_GetSuffix ());
if (ViewType == Vie_EDIT)
{
HTM_TEXTAREA_Begin ("id=\"MatAllowed\" name=\"MatAllowed\""
" rows=\"4\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
HTM_Txt (CallsForExams->CallForExam.MatAllowed);
HTM_TEXTAREA_End ();
@ -1416,19 +1404,18 @@ static void Cfe_ShowCallForExam (struct Cfe_CallsForExams *CallsForExams,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT",
Frm_LabelColumn ("Frm_C1 RT",
ViewType == Vie_EDIT ? "OtherInfo" :
NULL,
Txt_CALL_FOR_EXAM_Other_information);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LB DAT_STRONG_%s\"",
The_GetSuffix ());
HTM_TD_Begin ("class=\"Frm_C2 LB DAT_STRONG_%s\"",The_GetSuffix ());
if (ViewType == Vie_EDIT)
{
HTM_TEXTAREA_Begin ("id=\"OtherInfo\" name=\"OtherInfo\""
" rows=\"5\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
HTM_Txt (CallsForExams->CallForExam.OtherInfo);
HTM_TEXTAREA_End ();

View File

@ -633,10 +633,13 @@ Me sale este error, no s
"can npt create received message (duplicated entry '243218-2160773' for key 'UsrCod_MsgCod')
*/
#define Log_PLATFORM_VERSION "SWAD 23.63.2 (2024-01-30)"
#define CSS_FILE "swad23.63.2.css"
#define Log_PLATFORM_VERSION "SWAD 23.64 (2024-01-30)"
#define CSS_FILE "swad23.64.css"
#define JS_FILE "swad23.53.6.js"
/*
Version 23.64: Jan 30, 2024 Responsive design. (335503 lines)
Version 23.63.4: Jan 30, 2024 Code refactoring in users. (335414 lines)
Version 23.63.3: Jan 30, 2024 Responsive design. (335406 lines)
Version 23.63.2: Jan 30, 2024 Responsive design in questions. (335405 lines)
Version 23.63.1: Jan 30, 2024 Responsive design in questions. (335400 lines)
Version 23.63: Jan 29, 2024 Responsive design in tables.

View File

@ -621,10 +621,10 @@ void Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (const Dat_SetHMS
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","",Txt_START_END_TIME[Dat_STR_TIME]);
Frm_LabelColumn ("Frm_C1 RT","",Txt_START_END_TIME[Dat_STR_TIME]);
/* Data (date-time) */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
Dat_WriteFormClientLocalDateTimeFromTimeUTC ("Start",
Dat_STR_TIME,
Dat_Time.Range.TimeUTC[Dat_STR_TIME],
@ -650,10 +650,10 @@ void Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (const Dat_SetHMS
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","",Txt_START_END_TIME[Dat_END_TIME]);
Frm_LabelColumn ("Frm_C1 RT","",Txt_START_END_TIME[Dat_END_TIME]);
/* Data (date-time) */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
Dat_WriteFormClientLocalDateTimeFromTimeUTC ("End",
Dat_END_TIME,
Dat_Time.Range.TimeUTC[Dat_END_TIME],

View File

@ -114,7 +114,7 @@ void DegTyp_WriteSelectorDegreeTypes (long SelectedDegTypCod)
/* List degree types */
HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,NULL,
"id=\"OthDegTypCod\" name=\"OthDegTypCod\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
HTM_OPTION (HTM_Type_STRING,"-1",
SelectedDegTypCod <= 0 ? HTM_OPTION_SELECTED :

View File

@ -1287,14 +1287,20 @@ void Exa_PutFormsOneExam (struct Exa_Exams *Exams,
/***** Show list of sets inside box *****/
if (ExistingNewExam == Exa_EXISTING_EXAM)
{
HTM_BR ();
ExaSet_ListExamSets (Exams);
}
/***** End box ****/
Box_BoxEnd ();
/***** Show exams again outside box *****/
if (ExistingNewExam == Exa_NEW_EXAM)
{
HTM_BR ();
Exa_ListAllExams (Exams);
}
}
/*****************************************************************************/
@ -1338,14 +1344,14 @@ static void Exa_PutFormEditionExam (struct Exa_Exams *Exams,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RM","Title",Txt_Title);
Frm_LabelColumn ("Frm_C1_BOT RM","Title",Txt_Title);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LM\"");
HTM_TD_Begin ("class=\"Frm_C2 LM\"");
HTM_INPUT_TEXT ("Title",Exa_MAX_CHARS_TITLE,Exams->Exam.Title,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Title\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\""
" class=\"Frm_C2_INPUT INPUT_%s\""
" required=\"required\"",
The_GetSuffix ());
HTM_TD_End ();
@ -1355,14 +1361,15 @@ static void Exa_PutFormEditionExam (struct Exa_Exams *Exams,
/***** Maximum grade *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"REC_C1_BOT RM FORM_IN_%s\"",The_GetSuffix ());
HTM_TxtColon (Txt_Maximum_grade);
HTM_TD_End ();
/* Label */
Frm_LabelColumn ("Frm_C1_BOT RT","MaxGrade",Txt_Maximum_grade);
HTM_TD_Begin ("class=\"REC_C2_BOT LM\"");
/* Data */
HTM_TD_Begin ("class=\"Frm_C2 LM\"");
HTM_INPUT_FLOAT ("MaxGrade",0.0,DBL_MAX,0.01,Exams->Exam.MaxGrade,
HTM_DONT_SUBMIT_ON_CHANGE,false,
" class=\"INPUT_%s\" required=\"required\"",
" class=\"Frm_C2_INPUT INPUT_%s\""
" required=\"required\"",
The_GetSuffix ());
HTM_TD_End ();
@ -1370,24 +1377,27 @@ static void Exa_PutFormEditionExam (struct Exa_Exams *Exams,
/***** Visibility of results *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"REC_C1_BOT RT FORM_IN_%s\"",The_GetSuffix ());
HTM_TxtColon (Txt_Result_visibility);
HTM_TD_End ();
HTM_TD_Begin ("class=\"REC_C2_BOT LB\"");
/* Label */
Frm_LabelColumn ("Frm_C1_BOT RT","",Txt_Result_visibility);
/* Data */
HTM_TD_Begin ("class=\"Frm_C2 LB\"");
TstVis_PutVisibilityCheckboxes (Exams->Exam.Visibility);
HTM_TD_End ();
HTM_TR_End ();
/***** Exam text *****/
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","Txt",Txt_Description);
Frm_LabelColumn ("Frm_C1_BOT RT","Txt",Txt_Description);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_TEXTAREA_Begin ("id=\"Txt\" name=\"Txt\" rows=\"5\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
HTM_Txt (Txt);
HTM_TEXTAREA_End ();

View File

@ -941,13 +941,13 @@ static void ExaSes_PutFormSession (struct ExaSes_Session *Session)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","Title",Txt_Title);
Frm_LabelColumn ("Frm_C1 RT","Title",Txt_Title);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_INPUT_TEXT ("Title",ExaSes_MAX_CHARS_TITLE,Session->Title,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Title\" class=\"REC_C2_BOT_INPUT INPUT_%s\""
"id=\"Title\" class=\"Frm_C2_INPUT INPUT_%s\""
" required=\"required\"",
The_GetSuffix ());
HTM_TD_End ();
@ -994,10 +994,10 @@ static void ExaSes_ShowLstGrpsToCreateSession (long SesCod)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","",Txt_Groups);
Frm_LabelColumn ("Frm_C1 RT","",Txt_Groups);
/* Groups */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_TABLE_Begin (NULL);
/***** First row: checkbox to select the whole course *****/

View File

@ -203,7 +203,7 @@ static void ExaSet_PutFormNewSet (struct Exa_Exams *Exams,
HTM_INPUT_TEXT ("Title",ExaSet_MAX_CHARS_TITLE,Set->Title,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Title\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\""
" class=\"Frm_C2_INPUT INPUT_%s\""
" required=\"required\"",
The_GetSuffix ());
HTM_TD_End ();
@ -628,7 +628,7 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams,
HTM_INPUT_TEXT ("Title",ExaSet_MAX_CHARS_TITLE,Set.Title,
HTM_SUBMIT_ON_CHANGE,
"id=\"Title\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\""
" class=\"Frm_C2_INPUT INPUT_%s\""
" required=\"required\"",
The_GetSuffix ());
Frm_EndForm ();

View File

@ -111,10 +111,10 @@ static void Fig_ReqShowFigure (Fig_FigureType_t SelectedFigureType)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RM","FigScope",Txt_Scope);
Frm_LabelColumn ("Frm_C1 RM","FigScope",Txt_Scope);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LM DAT_%s\"",The_GetSuffix ());
HTM_TD_Begin ("class=\"Frm_C2 LM DAT_%s\"",The_GetSuffix ());
Sco_PutSelectorScope ("FigScope",HTM_DONT_SUBMIT_ON_CHANGE);
HTM_TD_End ();
@ -124,13 +124,13 @@ static void Fig_ReqShowFigure (Fig_FigureType_t SelectedFigureType)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RM","FigureType",Txt_Statistic);
Frm_LabelColumn ("Frm_C1 RM","FigureType",Txt_Statistic);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LM DAT_%s\"",The_GetSuffix ());
HTM_TD_Begin ("class=\"Frm_C2 LM DAT_%s\"",The_GetSuffix ());
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
"name=\"FigureType\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
for (FigType = (Fig_FigureType_t) 0;
FigType <= (Fig_FigureType_t) (Fig_NUM_FIGURES - 1);

View File

@ -2795,16 +2795,16 @@ static void For_WriteFormForumPst (struct For_Forums *Forums,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","Subject",Txt_MSG_Subject);
Frm_LabelColumn ("Frm_C1 RT","Subject",Txt_MSG_Subject);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_INPUT_TEXT ("Subject",Cns_MAX_CHARS_SUBJECT,
IsReply ? Subject :
"",
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Subject\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\""
" class=\"Frm_C2_INPUT INPUT_%s\""
" required=\"required\"",
The_GetSuffix ());
HTM_TD_End ();
@ -2815,12 +2815,12 @@ static void For_WriteFormForumPst (struct For_Forums *Forums,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","Content",Txt_MSG_Content);
Frm_LabelColumn ("Frm_C1 RT","Content",Txt_MSG_Content);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_TEXTAREA_Begin ("id=\"Content\" name=\"Content\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\""
" class=\"Frm_C2_INPUT INPUT_%s\""
" rows=\"10\"",
The_GetSuffix ());
HTM_TEXTAREA_End ();

View File

@ -1292,14 +1292,20 @@ void Gam_PutFormsOneGame (struct Gam_Games *Games,
/***** Show list of questions inside box *****/
if (ExistingNewGame == Gam_EXISTING_GAME)
{
HTM_BR ();
Gam_ListGameQuestions (Games);
}
/***** End box ****/
Box_BoxEnd ();
/***** Show games again outside box *****/
if (ExistingNewGame == Gam_NEW_GAME)
{
HTM_BR ();
Gam_ListAllGames (Games);
}
}
/*****************************************************************************/
@ -1339,20 +1345,20 @@ static void Gam_PutFormEditionGame (struct Gam_Games *Games,
Gam_PutPars (Games);
/***** Begin table *****/
HTM_TABLE_BeginWidePadding (2);
HTM_TABLE_BeginPadding (2);
/***** Game title *****/
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("RT","Title",Txt_Title);
Frm_LabelColumn ("Frm_C1 RT","Title",Txt_Title);
/* Data */
HTM_TD_Begin ("class=\"LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_INPUT_TEXT ("Title",Gam_MAX_CHARS_TITLE,Games->Game.Title,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Title\""
" class=\"TITLE_DESCRIPTION_WIDTH INPUT_%s\""
" class=\"Frm_C2_INPUT INPUT_%s\""
" required=\"required\"",
The_GetSuffix ());
HTM_TD_End ();
@ -1362,14 +1368,14 @@ static void Gam_PutFormEditionGame (struct Gam_Games *Games,
/***** Maximum grade *****/
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM FORM_IN_%s\"",The_GetSuffix ());
HTM_TxtColon (Txt_Maximum_grade);
HTM_TD_End ();
/* Label */
Frm_LabelColumn ("Frm_C1 RT","MaxGrade",Txt_Maximum_grade);
HTM_TD_Begin ("class=\"LM\"");
/* Data */
HTM_TD_Begin ("class=\"Frm_C2 LM\"");
HTM_INPUT_FLOAT ("MaxGrade",0.0,DBL_MAX,0.01,Games->Game.MaxGrade,
HTM_DONT_SUBMIT_ON_CHANGE,false,
" class=\"INPUT_%s\" required=\"required\"",
" class=\"Frm_C2_INPUT INPUT_%s\" required=\"required\"",
The_GetSuffix ());
HTM_TD_End ();
@ -1377,22 +1383,27 @@ static void Gam_PutFormEditionGame (struct Gam_Games *Games,
/***** Visibility of results *****/
HTM_TR_Begin (NULL);
HTM_TD_TxtColon (Txt_Result_visibility);
HTM_TD_Begin ("class=\"LB\"");
/* Label */
Frm_LabelColumn ("Frm_C1 RT","",Txt_Result_visibility);
/* Data */
HTM_TD_Begin ("class=\"Frm_C2 LB\"");
TstVis_PutVisibilityCheckboxes (Games->Game.Visibility);
HTM_TD_End ();
HTM_TR_End ();
/***** Game text *****/
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("RT","Txt",Txt_Description);
Frm_LabelColumn ("Frm_C1 RT","Txt",Txt_Description);
/* Data */
HTM_TD_Begin ("class=\"LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_TEXTAREA_Begin ("id=\"Txt\" name=\"Txt\" rows=\"5\""
" class=\"TITLE_DESCRIPTION_WIDTH INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
HTM_Txt (Txt);
HTM_TEXTAREA_End ();

View File

@ -133,10 +133,10 @@ void Ind_ReqIndicatorsCourses (void)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","ScopeInd",Txt_Scope);
Frm_LabelColumn ("Frm_C1 RT","ScopeInd",Txt_Scope);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
Sco_PutSelectorScope ("ScopeInd",HTM_SUBMIT_ON_CHANGE);
HTM_TD_End ();
@ -146,10 +146,10 @@ void Ind_ReqIndicatorsCourses (void)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT",Par_CodeStr[ParCod_OthDegTyp],Txt_Types_of_degree);
Frm_LabelColumn ("Frm_C1 RT",Par_CodeStr[ParCod_OthDegTyp],Txt_Types_of_degree);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT DAT_%s\"",The_GetSuffix ());
HTM_TD_Begin ("class=\"Frm_C2 LT DAT_%s\"",The_GetSuffix ());
DegTyp_WriteSelectorDegreeTypes (Indicators.DegTypCod);
HTM_Txt (" (");
HTM_TxtF (Txt_only_if_the_scope_is_X,Cfg_PLATFORM_SHORT_NAME);
@ -162,11 +162,11 @@ void Ind_ReqIndicatorsCourses (void)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT",Par_CodeStr[ParCod_Dpt],Txt_Department);
Frm_LabelColumn ("Frm_C1 RT",Par_CodeStr[ParCod_Dpt],Txt_Department);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
if (asprintf (&SelectClass,"REC_C2_BOT_INPUT INPUT_%s",
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
if (asprintf (&SelectClass,"Frm_C2_INPUT INPUT_%s",
The_GetSuffix ()) < 0)
Err_NotEnoughMemoryExit ();
Dpt_WriteSelectorDepartment (Gbl.Hierarchy.Node[Hie_INS].HieCod, // Departments in current insitution
@ -195,9 +195,9 @@ void Ind_ReqIndicatorsCourses (void)
/* Selection of the number of indicators */
HTM_TR_Begin (NULL);
Frm_LabelColumn ("REC_C1_BOT RT","",Txt_Number_of_indicators);
Frm_LabelColumn ("Frm_C1 RT","",Txt_Number_of_indicators);
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
Ind_ShowNumCoursesWithIndicators (&Indicators,NumCrssWithIndicatorYes,NumCrss,true);
HTM_TD_End ();

View File

@ -1019,13 +1019,13 @@ void Mai_PutFormToGetNewEmail (const char *NewEmail)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RM","NewEmail",Txt_Email);
Frm_LabelColumn ("Frm_C1 RM","NewEmail",Txt_Email);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LM\"");
HTM_TD_Begin ("class=\"Frm_C2 LM\"");
HTM_INPUT_EMAIL ("NewEmail",Cns_MAX_CHARS_EMAIL_ADDRESS,NewEmail,
"id=\"NewEmail\" size=\"16\" placeholder=\"%s\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\""
" class=\"Frm_C2_INPUT INPUT_%s\""
" required=\"required\"",
Txt_HELP_email,
The_GetSuffix ());
@ -1183,22 +1183,20 @@ static void Mai_ShowFormChangeUsrEmail (Usr_MeOrOther_t MeOrOther,
/* The first mail is the current one */
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT",NULL,Txt_Current_email);
Frm_LabelColumn ("Frm_C1 RT",NULL,Txt_Current_email);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT DAT_STRONG_%s\"",
The_GetSuffix ());
HTM_TD_Begin ("class=\"Frm_C2 LT DAT_STRONG_%s\"",The_GetSuffix ());
}
else if (NumEmail == 2)
{
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT",NULL,Txt_Other_emails);
Frm_LabelColumn ("Frm_C1 RT",NULL,Txt_Other_emails);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT DAT_%s\"",
The_GetSuffix ());
HTM_TD_Begin ("class=\"Frm_C2 LT DAT_%s\"",The_GetSuffix ());
}
/* Form to remove email */
@ -1244,19 +1242,18 @@ static void Mai_ShowFormChangeUsrEmail (Usr_MeOrOther_t MeOrOther,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","NewEmail",
Frm_LabelColumn ("Frm_C1 RT","NewEmail",
NumEmails ? Txt_New_email : // A new email
Txt_Email); // The first email
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT DAT_%s\"",
The_GetSuffix ());
HTM_TD_Begin ("class=\"Frm_C2 LT DAT_%s\"",The_GetSuffix ());
Frm_BeginFormAnchor (ActMail[MeOrOther].Change,Mai_EMAIL_SECTION_ID);
if (MeOrOther == Usr_OTHER)
Usr_PutParUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EnUsrCod);
HTM_INPUT_EMAIL ("NewEmail",Cns_MAX_CHARS_EMAIL_ADDRESS,UsrDat[MeOrOther]->Email,
"id=\"NewEmail\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\" size=\"16\"",
" class=\"Frm_C2_INPUT INPUT_%s\" size=\"16\"",
The_GetSuffix ());
HTM_BR ();
Btn_PutCreateButtonInline (NumEmails ? Txt_Change_email : // User already has an email address

View File

@ -1199,14 +1199,13 @@ static void Mch_PutFormMatch (struct Mch_Match *Match)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","Title",Txt_Title);
Frm_LabelColumn ("Frm_C1 RT","Title",Txt_Title);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_INPUT_TEXT ("Title",Mch_MAX_CHARS_TITLE,Match->Title,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Title\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\""
"id=\"Title\" class=\"Frm_C2_INPUT INPUT_%s\""
" required=\"required\"",
The_GetSuffix ());
HTM_TD_End ();
@ -1247,10 +1246,10 @@ static void Mch_ShowLstGrpsToEditMatch (long MchCod)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","",Txt_Groups);
Frm_LabelColumn ("Frm_C1 RT","",Txt_Groups);
/* Groups */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_TABLE_Begin (NULL);
/***** First row: checkbox to select the whole course *****/

View File

@ -332,10 +332,10 @@ static void Msg_PutFormMsgUsrs (struct Msg_Messages *Messages,
/***** "To:" section (recipients) *****/
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","",Txt_MSG_To);
Frm_LabelColumn ("Frm_C1 RT","",Txt_MSG_To);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
if (Messages->ShowOnlyOneRecipient)
/***** Show only one user as recipient *****/
Msg_ShowOneUniqueRecipient ();
@ -344,11 +344,7 @@ static void Msg_PutFormMsgUsrs (struct Msg_Messages *Messages,
/***** Show potential recipients *****/
HTM_TABLE_Begin ("TBL_SCROLL_C2");
if (ShowUsrsInCrs)
{
Usr_ListUsersToSelect (Rol_TCH,&Gbl.Usrs.Selected); // All teachers in course
Usr_ListUsersToSelect (Rol_NET,&Gbl.Usrs.Selected); // All non-editing teachers in course
Usr_ListUsersToSelect (Rol_STD,&Gbl.Usrs.Selected); // All students in selected groups
}
Usr_ListUsersToSelect (&Gbl.Usrs.Selected);
Msg_WriteFormUsrsIDsOrNicksOtherRecipients (); // Other users (nicknames)
HTM_TABLE_End ();
}
@ -548,7 +544,7 @@ static void Msg_WriteFormUsrsIDsOrNicksOtherRecipients (void)
HTM_TR_Begin (NULL);
HTM_TD_Begin ("colspan=\"%u\" class=\"LM\"",ColSpan);
HTM_TEXTAREA_Begin ("id=\"OtherRecipients\" name=\"OtherRecipients\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\" rows=\"2\""
" class=\"Frm_C2_INPUT INPUT_%s\" rows=\"2\""
" placeholder=\"%s\"",
The_GetSuffix (),
Txt_nicks_emails_or_IDs_separated_by_commas);
@ -589,12 +585,12 @@ static void Msg_WriteFormSubjectAndContentMsgToUsrs (struct Msg_Messages *Messag
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","MsgSubject",Txt_MSG_Subject);
Frm_LabelColumn ("Frm_C1 RT","MsgSubject",Txt_MSG_Subject);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_TEXTAREA_Begin ("id=\"MsgSubject\" name=\"Subject\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\" rows=\"2\"",
" class=\"Frm_C2_INPUT INPUT_%s\" rows=\"2\"",
The_GetSuffix ());
/* If message is a reply ==> get original message */
@ -629,12 +625,12 @@ static void Msg_WriteFormSubjectAndContentMsgToUsrs (struct Msg_Messages *Messag
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","MsgContent",Txt_MSG_Content);
Frm_LabelColumn ("Frm_C1 RT","MsgContent",Txt_MSG_Content);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_TEXTAREA_Begin ("id=\"MsgContent\" name=\"Content\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\""
" class=\"Frm_C2_INPUT INPUT_%s\""
" rows=\"20\"",
The_GetSuffix ());
@ -665,12 +661,12 @@ static void Msg_WriteFormSubjectAndContentMsgToUsrs (struct Msg_Messages *Messag
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","MsgContent",Txt_MSG_Content);
Frm_LabelColumn ("Frm_C1 RT","MsgContent",Txt_MSG_Content);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_TEXTAREA_Begin ("id=\"MsgContent\" name=\"Content\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\""
" class=\"Frm_C2_INPUT INPUT_%s\""
" rows=\"20\"",
The_GetSuffix ());

View File

@ -138,10 +138,10 @@ void Nck_PutFormToGetNewNickname (const char *NewNickWithoutArr)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RM","NewNick",Txt_Nickname);
Frm_LabelColumn ("Frm_C1 RM","NewNick",Txt_Nickname);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LM\"");
HTM_TD_Begin ("class=\"Frm_C2 LM\"");
if (NewNickWithoutArr[0])
snprintf (NewNickWithArr,sizeof (NewNickWithArr),"@%s",
NewNickWithoutArr);
@ -150,7 +150,7 @@ void Nck_PutFormToGetNewNickname (const char *NewNickWithoutArr)
HTM_INPUT_TEXT ("NewNick",1 + Nck_MAX_CHARS_NICK_WITHOUT_ARROBA,
NewNickWithArr,HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"NewNick\" size=\"16\" placeholder=\"%s\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\""
" class=\"Frm_C2_INPUT INPUT_%s\""
" required=\"required\"",
Txt_HELP_nickname,
The_GetSuffix ());
@ -273,10 +273,10 @@ static void Nck_ShowFormChangeUsrNickname (Usr_MeOrOther_t MeOrOther,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT",NULL,Txt_Current_nickname);
Frm_LabelColumn ("Frm_C1 RT",NULL,Txt_Current_nickname);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT DAT_STRONG_%s\"",
HTM_TD_Begin ("class=\"Frm_C2 LT DAT_STRONG_%s\"",
The_GetSuffix ());
}
else // NumNick >= 2
@ -286,10 +286,10 @@ static void Nck_ShowFormChangeUsrNickname (Usr_MeOrOther_t MeOrOther,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT",NULL,Txt_Other_nicknames);
Frm_LabelColumn ("Frm_C1 RT",NULL,Txt_Other_nicknames);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT DAT_%s\"",
HTM_TD_Begin ("class=\"Frm_C2 LT DAT_%s\"",
The_GetSuffix ());
}
@ -333,13 +333,12 @@ static void Nck_ShowFormChangeUsrNickname (Usr_MeOrOther_t MeOrOther,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","NewNick",
Frm_LabelColumn ("Frm_C1 RT","NewNick",
NumNicks ? Txt_New_nickname : // A new nickname
Txt_Nickname); // The first nickname
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT DAT_%s\"",
The_GetSuffix ());
HTM_TD_Begin ("class=\"Frm_C2 LT DAT_%s\"",The_GetSuffix ());
Frm_BeginFormAnchor (ActNck[MeOrOther].Change,Nck_NICKNAME_SECTION_ID);
if (MeOrOther == Usr_OTHER)
Usr_PutParUsrCodEncrypted (Gbl.Usrs.Other.UsrDat.EnUsrCod);
@ -348,7 +347,7 @@ static void Nck_ShowFormChangeUsrNickname (Usr_MeOrOther_t MeOrOther,
HTM_INPUT_TEXT ("NewNick",1 + Nck_MAX_CHARS_NICK_WITHOUT_ARROBA,
NickWithArr,HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"NewNick\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\""
" class=\"Frm_C2_INPUT INPUT_%s\""
" size=\"16\"",
The_GetSuffix ());
HTM_BR ();

View File

@ -611,15 +611,14 @@ void Pwd_ShowFormChgMyPwd (void)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RM","UsrPwd",
Txt_Current_password);
Frm_LabelColumn ("Frm_C1 RM","UsrPwd",Txt_Current_password);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LM\"");
HTM_TD_Begin ("class=\"Frm_C2 LM\"");
HTM_INPUT_PASSWORD ("UsrPwd",NULL,"off",
true, // Required
"id=\"UsrPwd\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
HTM_TD_End ();
@ -662,10 +661,10 @@ void Pwd_PutFormToGetNewPasswordOnce (void)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RM","Paswd",Txt_Password);
Frm_LabelColumn ("Frm_C1 RM","Paswd",Txt_Password);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LM\"");
HTM_TD_Begin ("class=\"Frm_C2 LM\"");
HTM_INPUT_PASSWORD ("Paswd",Txt_HELP_password,NULL,
true, // Required
"id=\"Paswd\" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
@ -690,13 +689,13 @@ void Pwd_PutFormToGetNewPasswordTwice (void)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RM","Paswd1",Txt_New_password);
Frm_LabelColumn ("Frm_C1 RM","Paswd1",Txt_New_password);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LM\"");
HTM_TD_Begin ("class=\"Frm_C2 LM\"");
HTM_INPUT_PASSWORD ("Paswd1",Txt_HELP_password,NULL,
true, // Required
"id=\"Paswd1\" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
"id=\"Paswd1\" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
HTM_TD_End ();
@ -706,13 +705,13 @@ void Pwd_PutFormToGetNewPasswordTwice (void)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RM","Paswd2",Txt_Retype_new_password);
Frm_LabelColumn ("Frm_C1 RM","Paswd2",Txt_Retype_new_password);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LM\"");
HTM_TD_Begin ("class=\"Frm_C2 LM\"");
HTM_INPUT_PASSWORD ("Paswd2",Txt_HELP_password,NULL,
true, // Required
"id=\"Paswd2\" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
"id=\"Paswd2\" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
HTM_TD_End ();

View File

@ -1782,17 +1782,17 @@ static void Pho_PutSelectorForTypeOfAvg (const struct Pho_DegPhotos *DegPhotos)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RM","AvgType",Txt_Average_type);
Frm_LabelColumn ("Frm_C1 RM","AvgType",Txt_Average_type);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LM\"");
HTM_TD_Begin ("class=\"Frm_C2 LM\"");
Frm_BeginForm (ActSeePhoDeg);
Pho_PutParPhotoSize (DegPhotos->HowComputePhotoSize);
Pho_PutParOrderDegrees (DegPhotos->HowOrderDegrees);
Set_PutParsPrefsAboutUsrList ();
HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,NULL,
"id=\"AvgType\" name=\"AvgType\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
for (TypeOfAvg = (Pho_AvgPhotoTypeOfAverage_t) 0;
TypeOfAvg <= (Pho_AvgPhotoTypeOfAverage_t) (Pho_NUM_AVERAGE_PHOTO_TYPES - 1);
@ -1849,17 +1849,17 @@ static void Pho_PutSelectorForHowComputePhotoSize (const struct Pho_DegPhotos *D
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RM","PhotoSize",Txt_Size_of_photos);
Frm_LabelColumn ("Frm_C1 RM","PhotoSize",Txt_Size_of_photos);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LM\"");
HTM_TD_Begin ("class=\"Frm_C2 LM\"");
Frm_BeginForm (ActSeePhoDeg);
Pho_PutParTypeOfAvg (DegPhotos->TypeOfAverage);
Pho_PutParOrderDegrees (DegPhotos->HowOrderDegrees);
Set_PutParsPrefsAboutUsrList ();
HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,NULL,
"id=\"PhotoSize\" name=\"PhotoSize\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
for (PhoSi = (Pho_HowComputePhotoSize_t) 0;
PhoSi <= (Pho_HowComputePhotoSize_t) (Pho_NUM_HOW_COMPUTE_PHOTO_SIZES - 1);
@ -1916,17 +1916,17 @@ static void Pho_PutSelectorForHowOrderDegrees (const struct Pho_DegPhotos *DegPh
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RM","Order",Txt_Sort_degrees_by);
Frm_LabelColumn ("Frm_C1 RM","Order",Txt_Sort_degrees_by);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LM\"");
HTM_TD_Begin ("class=\"Frm_C2 LM\"");
Frm_BeginForm (ActSeePhoDeg);
Pho_PutParTypeOfAvg (DegPhotos->TypeOfAverage);
Pho_PutParPhotoSize (DegPhotos->HowComputePhotoSize);
Set_PutParsPrefsAboutUsrList ();
HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE,NULL,
"id=\"Order\" name=\"Order\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
for (Order = (Pho_HowOrderDegrees_t) 0;
Order <= (Pho_HowOrderDegrees_t) (Pho_NUM_HOW_ORDER_DEGREES - 1);
@ -2032,7 +2032,7 @@ static void Pho_PutLinkToCalculateDegreeStats (const struct Pho_DegPhotos *DegPh
/* Selector with all degrees with students */
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
"name=\"OthDegCod\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
for (NumDeg = 0;
NumDeg < Degs.Num;

View File

@ -844,7 +844,7 @@ static void Prj_ShowFormToFilterByDpt (const struct Prj_Projects *Projects)
-1L);
/***** Write selector with departments *****/
if (asprintf (&SelectClass,"REC_C2_BOT_INPUT INPUT_%s",
if (asprintf (&SelectClass,"Frm_C2_INPUT INPUT_%s",
The_GetSuffix ()) < 0)
Err_NotEnoughMemoryExit ();
Dpt_WriteSelectorDepartment (Gbl.Hierarchy.Node[Hie_INS].HieCod, // Departments in current institution
@ -1808,7 +1808,7 @@ static void Prj_ShowReviewStatus (struct Prj_Projects *Projects,
/* Show text form */
HTM_BR ();
HTM_TEXTAREA_Begin ("name=\"ReviewTxt\" rows=\"2\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\""
" class=\"Frm_C2_INPUT INPUT_%s\""
" placeholder=\"%s&hellip;\""
" onchange=\"unhideElement('prj_rev_%ld');return false;\"",
The_GetSuffix (),Txt_Comments,
@ -1849,7 +1849,7 @@ static void Prj_PutSelectorReviewStatus (struct Prj_Projects *Projects)
Err_NotEnoughMemoryExit ();
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,FuncOnChange,
"id=\"ReviewStatus\" name=\"ReviewStatus\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
free (FuncOnChange);
for (ReviewStatus = (Prj_ReviewStatus_t) 0;
@ -3756,14 +3756,14 @@ static void Prj_PutFormProject (struct Prj_Projects *Projects,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("RT","Title",Txt_Title);
Frm_LabelColumn ("Frm_C1 RT","Title",Txt_Title);
/* Data */
HTM_TD_Begin ("class=\"LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_INPUT_TEXT ("Title",Prj_MAX_CHARS_TITLE,Projects->Prj.Title,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Title\""
" class=\"TITLE_DESCRIPTION_WIDTH INPUT_%s\""
" class=\"Frm_C2_INPUT INPUT_%s\""
" required=\"required\"",
The_GetSuffix ());
HTM_TD_End ();
@ -3774,11 +3774,11 @@ static void Prj_PutFormProject (struct Prj_Projects *Projects,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("RT",Par_CodeStr[ParCod_Dpt],Txt_Department);
Frm_LabelColumn ("Frm_C1 RT",Par_CodeStr[ParCod_Dpt],Txt_Department);
/* Data */
HTM_TD_Begin ("class=\"LT\"");
if (asprintf (&SelectClass,"TITLE_DESCRIPTION_WIDTH INPUT_%s",
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
if (asprintf (&SelectClass,"Frm_C2_INPUT INPUT_%s",
The_GetSuffix ()) < 0)
Err_NotEnoughMemoryExit ();
Dpt_WriteSelectorDepartment (Gbl.Hierarchy.Node[Hie_INS].HieCod, // Departments in current institution
@ -3796,13 +3796,14 @@ static void Prj_PutFormProject (struct Prj_Projects *Projects,
/* Assigned? */
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM FORM_IN_%s\"",The_GetSuffix ());
HTM_TxtColon (Txt_Assigned_QUESTION);
HTM_TD_End ();
/* Label */
Frm_LabelColumn ("Frm_C1 RT","",Txt_Assigned_QUESTION);
HTM_TD_Begin ("class=\"LM\"");
/* Data */
HTM_TD_Begin ("class=\"Frm_C2 LM\"");
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
"name=\"Assigned\" class=\"INPUT_%s\"",
"name=\"Assigned\""
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
HTM_OPTION (HTM_Type_STRING,"Y",
Projects->Prj.Assigned == Prj_ASSIGNED ? HTM_OPTION_SELECTED :
@ -3822,14 +3823,14 @@ static void Prj_PutFormProject (struct Prj_Projects *Projects,
/* Number of students */
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM FORM_IN_%s\"",The_GetSuffix ());
HTM_TxtColon (Txt_Number_of_students);
HTM_TD_End ();
/* Label */
Frm_LabelColumn ("Frm_C1 RT","",Txt_Number_of_students);
HTM_TD_Begin ("class=\"LM\"");
/* Data */
HTM_TD_Begin ("class=\"Frm_C2 LM\"");
HTM_INPUT_LONG ("NumStds",(long) 0,(long) UINT_MAX,(long) Projects->Prj.NumStds,
HTM_DONT_SUBMIT_ON_CHANGE,false,
"class=\"INPUT_%s\"",
"class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
HTM_TD_End ();
@ -3838,14 +3839,14 @@ static void Prj_PutFormProject (struct Prj_Projects *Projects,
/* Proposal */
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM FORM_IN_%s\"",The_GetSuffix ());
HTM_TxtColon (Txt_Proposal);
HTM_TD_End ();
/* Label */
Frm_LabelColumn ("Frm_C1 RT","",Txt_Proposal);
HTM_TD_Begin ("class=\"LM\"");
/* Data */
HTM_TD_Begin ("class=\"Frm_C2 LM\"");
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
"name=\"Proposal\""
" class=\"TITLE_DESCRIPTION_WIDTH INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
for (Proposal = (Prj_Proposal_t) 0;
Proposal <= (Prj_Proposal_t) (Prj_NUM_PROPOSAL_TYPES - 1);
@ -3882,12 +3883,12 @@ static void Prj_PutFormProject (struct Prj_Projects *Projects,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("RT","WWW",Txt_URL);
Frm_LabelColumn ("Frm_C1 RT","WWW",Txt_URL);
/* Data */
HTM_TD_Begin ("class=\"LT DAT_%s\"",The_GetSuffix ());
HTM_TD_Begin ("class=\"Frm_C2 LT DAT_%s\"",The_GetSuffix ());
HTM_INPUT_URL ("URL",Projects->Prj.URL,HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"TITLE_DESCRIPTION_WIDTH INPUT_%s\"",
"class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
HTM_TD_End ();
@ -3923,12 +3924,12 @@ static void Prj_EditOneProjectTxtArea (const char *Id,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("RT",Id,Label);
Frm_LabelColumn ("Frm_C1 RT",Id,Label);
/* Data */
HTM_TD_Begin ("class=\"LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_TEXTAREA_Begin ("id=\"%s\" name=\"%s\" rows=\"%u\""
" class=\"TITLE_DESCRIPTION_WIDTH INPUT_%s\"%s",
" class=\"Frm_C2_INPUT INPUT_%s\"%s",
Id,Id,NumRows,
The_GetSuffix (),
Required ? " required=\"required\"" :

View File

@ -221,10 +221,10 @@ void Qst_ShowFormAnswerTypes (const struct Qst_AnswerTypes *AnswerTypes)
HTM_TR_Begin (NULL);
/***** Label *****/
Frm_LabelColumn ("REC_C1_BOT RT","",Txt_Types_of_answers);
Frm_LabelColumn ("Frm_C1 RT","",Txt_Types_of_answers);
/***** Select all types of answers *****/
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_TABLE_BeginPadding (2);
HTM_TR_Begin (NULL);

View File

@ -814,7 +814,10 @@ void Rub_PutFormsOneRubric (struct Rub_Rubrics *Rubrics,
/***** Show rubrics again outside box *****/
if (ExistingNewRubric == Rub_NEW_RUBRIC)
{
HTM_BR ();
Rub_ListAllRubrics (Rubrics);
}
}
/*****************************************************************************/
@ -855,14 +858,14 @@ static void Rub_PutFormEditionRubric (struct Rub_Rubrics *Rubrics,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("RT","Title",Txt_Title);
Frm_LabelColumn ("Frm_C1 RT","Title",Txt_Title);
/* Data */
HTM_TD_Begin ("class=\"LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_INPUT_TEXT ("Title",Rub_MAX_CHARS_TITLE,Rubrics->Rubric.Title,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Title\""
" class=\"TITLE_DESCRIPTION_WIDTH INPUT_%s\""
" class=\"Frm_C2_INPUT INPUT_%s\""
" required=\"required\"",
The_GetSuffix ());
HTM_TD_End ();
@ -873,12 +876,12 @@ static void Rub_PutFormEditionRubric (struct Rub_Rubrics *Rubrics,
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("RT","Txt",Txt_Description);
Frm_LabelColumn ("Frm_C1 RT","Txt",Txt_Description);
/* Data */
HTM_TD_Begin ("class=\"LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_TEXTAREA_Begin ("id=\"Txt\" name=\"Txt\" rows=\"5\""
" class=\"TITLE_DESCRIPTION_WIDTH INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
HTM_Txt (Rubrics->Rubric.Txt);
HTM_TEXTAREA_End ();

View File

@ -194,7 +194,7 @@ static void RubCri_PutFormNewCriterion (struct Rub_Rubrics *Rubrics,
HTM_INPUT_TEXT ("Title",RubCri_MAX_CHARS_TITLE,Rubrics->Criterion.Title,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Title\""
" class=\"TITLE_DESCRIPTION_WIDTH INPUT_%s\""
" class=\"INPUT_FULL_NAME INPUT_%s\""
" required=\"required\"",
The_GetSuffix ());
HTM_TD_End ();
@ -723,7 +723,7 @@ static void RubCri_ListOneOrMoreCriteriaForEdition (struct Rub_Rubrics *Rubrics,
HTM_INPUT_TEXT ("Title",RubCri_MAX_CHARS_TITLE,Rubrics->Criterion.Title,
HTM_SUBMIT_ON_CHANGE,
"id=\"Title\""
" class=\"TITLE_DESCRIPTION_WIDTH INPUT_%s\""
" class=\"INPUT_FULL_NAME INPUT_%s\""
" required=\"required\"",
The_GetSuffix ());
Frm_EndForm ();

View File

@ -53,7 +53,7 @@ void Sco_PutSelectorScope (const char *ParName,HTM_SubmitOnChange_t SubmitOnChan
HTM_SELECT_Begin (SubmitOnChange,NULL,
"id=\"%s\" name=\"%s\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
ParName,ParName,The_GetSuffix ());
for (Level = (Hie_Level_t) 1;

View File

@ -303,15 +303,12 @@ static void Sta_PutFormCrsHits (struct Sta_Stats *Stats)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","",Txt_Users);
Frm_LabelColumn ("Frm_C1 RT","",Txt_Users);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT FORM_IN_%s\"",
The_GetSuffix ());
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_TABLE_Begin ("TBL_SCROLL_C2");
Usr_ListUsersToSelect (Rol_TCH,&Gbl.Usrs.Selected);
Usr_ListUsersToSelect (Rol_NET,&Gbl.Usrs.Selected);
Usr_ListUsersToSelect (Rol_STD,&Gbl.Usrs.Selected);
Usr_ListUsersToSelect (&Gbl.Usrs.Selected);
HTM_TABLE_End ();
HTM_TD_End ();
HTM_TR_End ();
@ -336,10 +333,10 @@ static void Sta_PutFormCrsHits (struct Sta_Stats *Stats)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","",Txt_Show);
Frm_LabelColumn ("Frm_C1 RT","",Txt_Show);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LM\"");
HTM_TD_Begin ("class=\"Frm_C2 LM\"");
if ((Stats->ClicksGroupedBy < Sta_CLICKS_CRS_PER_USR ||
Stats->ClicksGroupedBy > Sta_CLICKS_CRS_PER_ACTION) &&
@ -513,13 +510,13 @@ static void Sta_PutFormGblHits (struct Sta_Stats *Stats)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","Role",Txt_Users);
Frm_LabelColumn ("Frm_C1 RT","Role",Txt_Users);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
"id=\"Role\" name=\"Role\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
for (RoleStat = (Sta_Role_t) 0;
RoleStat <= (Sta_Role_t) (Sta_NUM_ROLES_STAT - 1);
@ -544,10 +541,10 @@ static void Sta_PutFormGblHits (struct Sta_Stats *Stats)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","ScopeSta",Txt_Scope);
Frm_LabelColumn ("Frm_C1 RT","ScopeSta",Txt_Scope);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
Gbl.Scope.Allowed = 1 << Hie_SYS |
1 << Hie_CTY |
1 << Hie_INS |
@ -564,10 +561,10 @@ static void Sta_PutFormGblHits (struct Sta_Stats *Stats)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","CountType",Txt_Show);
Frm_LabelColumn ("Frm_C1 RT","CountType",Txt_Show);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
Sta_WriteSelectorCountType (Stats);
/***** Type of statistic *****/
@ -582,7 +579,7 @@ static void Sta_PutFormGblHits (struct Sta_Stats *Stats)
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
"name=\"GroupedBy\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
for (ClicksGroupedBy = Sta_CLICKS_GBL_PER_DAY;
ClicksGroupedBy <= Sta_CLICKS_GBL_PER_COURSE;
@ -665,7 +662,7 @@ static void Sta_WriteSelectorCountType (const struct Sta_Stats *Stats)
/**** Count type *****/
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
"id=\"CountType\" name=\"CountType\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
for (StatCountType = (Sta_CountType_t) 0;
StatCountType <= (Sta_CountType_t) (Sta_NUM_COUNT_TYPES - 1);
@ -698,12 +695,12 @@ static void Sta_WriteSelectorAction (const struct Sta_Stats *Stats)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","StatAct",Txt_Action);
Frm_LabelColumn ("Frm_C1 RT","StatAct",Txt_Action);
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
"id=\"StatAct\" name=\"StatAct\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
HTM_OPTION (HTM_Type_STRING,"0",
Stats->NumAction == 0 ? HTM_OPTION_SELECTED :

View File

@ -1644,10 +1644,10 @@ void Svy_ReqCreatOrEditSvy (void)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","ScopeSvy",Txt_Scope);
Frm_LabelColumn ("Frm_C1 RT","ScopeSvy",Txt_Scope);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
Svy_SetAllowedScopes (&Surveys.Svy);
Sco_GetScope ("ScopeSvy",Surveys.Svy.Level);
Sco_PutSelectorScope ("ScopeSvy",HTM_DONT_SUBMIT_ON_CHANGE);
@ -1659,14 +1659,14 @@ void Svy_ReqCreatOrEditSvy (void)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","Title",Txt_Title);
Frm_LabelColumn ("Frm_C1 RT","Title",Txt_Title);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_INPUT_TEXT ("Title",Svy_MAX_CHARS_SURVEY_TITLE,Surveys.Svy.Title,
HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Title\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\""
" class=\"Frm_C2_INPUT INPUT_%s\""
" required=\"required\"",
The_GetSuffix ());
HTM_TD_End ();
@ -1682,12 +1682,12 @@ void Svy_ReqCreatOrEditSvy (void)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","Txt",Txt_Description);
Frm_LabelColumn ("Frm_C1 RT","Txt",Txt_Description);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_TEXTAREA_Begin ("id=\"Txt\" name=\"Txt\" rows=\"5\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
" class=\"Frm_C2_INPUT INPUT_%s\"",
The_GetSuffix ());
if (!ItsANewSurvey)
HTM_Txt (Txt);
@ -1700,7 +1700,7 @@ void Svy_ReqCreatOrEditSvy (void)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","",Txt_Users);
Frm_LabelColumn ("Frm_C1 RT","",Txt_Users);
/* Data */
HTM_TD_Begin ("class=\"LM DAT_%s\"",The_GetSuffix ());
@ -1828,10 +1828,10 @@ static void Svy_ShowLstGrpsToEditSurvey (long SvyCod)
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","",Txt_Groups);
Frm_LabelColumn ("Frm_C1 RT","",Txt_Groups);
/* Groups */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_TABLE_Begin (NULL);
/***** First row: checkbox to select the whole course *****/

View File

@ -294,10 +294,10 @@ void Tag_ShowFormSelTags (const struct Tag_Tags *Tags,
HTM_TR_Begin (NULL);
/***** Label *****/
Frm_LabelColumn ("REC_C1_BOT RT","",Txt_Tags);
Frm_LabelColumn ("Frm_C1 RT","",Txt_Tags);
/***** Select all tags *****/
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_TABLE_BeginPadding (2);

View File

@ -178,19 +178,18 @@ static void Tst_ShowFormNumQsts (void)
HTM_TR_Begin (NULL);
/***** Label *****/
Frm_LabelColumn ("REC_C1_BOT RT","NumQst",
Frm_LabelColumn ("Frm_C1 RT","NumQst",
Txt_Number_of_questions);
/***** Data *****/
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_INPUT_LONG ("NumQst",
(long) TstCfg_GetConfigMin (),
(long) TstCfg_GetConfigMax (),
(long) TstCfg_GetConfigDef (),
HTM_DONT_SUBMIT_ON_CHANGE,
TstCfg_GetConfigMin () == TstCfg_GetConfigMax (),
"id=\"NumQst\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\""
"id=\"NumQst\" class=\"Frm_C2_INPUT INPUT_%s\""
" required=\"required\"",
The_GetSuffix ());
HTM_TD_End ();

View File

@ -206,8 +206,12 @@ static void Usr_AllocateListOtherRecipients (void);
static void Set_FormToSelectUsrListType (void (*FuncPars) (void *Args),void *Args,
Set_ShowUsrsType_t ListType);
static void Usr_PutCheckboxToSelectAllUsers (Rol_Role_t Role,
struct Usr_SelectedUsrs *SelectedUsrs);
static void Usr_ListUsersByRoleToSelect (struct Usr_SelectedUsrs *SelectedUsrs,
Rol_Role_t Role);
static void Usr_ListUsrsForSelection (struct Usr_SelectedUsrs *SelectedUsrs,
Rol_Role_t Role);
static void Usr_PutCheckboxToSelectAllUsers (struct Usr_SelectedUsrs *SelectedUsrs,
Rol_Role_t Role);
static Usr_Sex_t Usr_GetSexOfUsrsLst (Rol_Role_t Role);
static void Usr_PutCheckboxToSelectUser (Rol_Role_t Role,
const char *EncryptedUsrCod,
@ -219,8 +223,6 @@ static void Usr_ListMainDataGsts (bool PutCheckBoxToSelectUsr);
static void Usr_ListMainDataStds (bool PutCheckBoxToSelectUsr);
static void Usr_ListMainDataTchs (Rol_Role_t Role,
bool PutCheckBoxToSelectUsr);
static void Usr_ListUsrsForSelection (Rol_Role_t Role,
struct Usr_SelectedUsrs *SelectedUsrs);
static void Usr_ListRowsAllDataTchs (Rol_Role_t Role,
const char *FieldNames[Usr_NUM_ALL_FIELDS_DATA_TCH],
unsigned NumColumns);
@ -249,9 +251,9 @@ static void Usr_ShowGstsAllDataPars (__attribute__((unused)) void *Args);
static void Usr_ShowStdsAllDataPars (__attribute__((unused)) void *Args);
static void Usr_ShowTchsAllDataPars (__attribute__((unused)) void *Args);
static void Usr_DrawClassPhoto (Usr_ClassPhotoType_t ClassPhotoType,
static void Usr_DrawClassPhoto (struct Usr_SelectedUsrs *SelectedUsrs,
Rol_Role_t Role,
struct Usr_SelectedUsrs *SelectedUsrs,
Usr_ClassPhotoType_t ClassPhotoType,
bool PutCheckBoxToSelectUsr);
static void Usr_GetAndShowNumUsrsInCrss (Rol_Role_t Role);
@ -3754,15 +3756,12 @@ void Usr_PutFormToSelectUsrsToGoToAct (struct Usr_SelectedUsrs *SelectedUsrs,
/* Put list of users to select some of them */
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("RT","Txt",Txt_Users);
Frm_LabelColumn ("Frm_C1 RT","Txt",Txt_Users);
/* Data */
HTM_TD_Begin ("class=\"LT FORM_IN_%s\"",
The_GetSuffix ());
HTM_TABLE_Begin ("TBL_SCROLL");
Usr_ListUsersToSelect (Rol_TCH,SelectedUsrs);
Usr_ListUsersToSelect (Rol_NET,SelectedUsrs);
Usr_ListUsersToSelect (Rol_STD,SelectedUsrs);
HTM_TD_Begin ("class=\"Frm_C2 LT\"");
HTM_TABLE_Begin ("TBL_SCROLL_C2");
Usr_ListUsersToSelect (SelectedUsrs);
HTM_TABLE_End ();
HTM_TD_End ();
HTM_TR_End ();
@ -3823,11 +3822,23 @@ void Usr_GetSelectedUsrsAndGoToAct (struct Usr_SelectedUsrs *SelectedUsrs,
Usr_FreeListsSelectedEncryptedUsrsCods (SelectedUsrs);
}
/*****************************************************************************/
/********************** List users to select some of them ********************/
/*****************************************************************************/
void Usr_ListUsersToSelect (struct Usr_SelectedUsrs *SelectedUsrs)
{
Usr_ListUsersByRoleToSelect (SelectedUsrs,Rol_TCH);
Usr_ListUsersByRoleToSelect (SelectedUsrs,Rol_NET);
Usr_ListUsersByRoleToSelect (SelectedUsrs,Rol_STD);
}
/*****************************************************************************/
/*********** List users with a given role to select some of them *************/
/*****************************************************************************/
void Usr_ListUsersToSelect (Rol_Role_t Role,struct Usr_SelectedUsrs *SelectedUsrs)
static void Usr_ListUsersByRoleToSelect (struct Usr_SelectedUsrs *SelectedUsrs,
Rol_Role_t Role)
{
/***** If there are no users, don't list anything *****/
if (!Gbl.Usrs.LstUsrs[Role].NumUsrs)
@ -3837,22 +3848,71 @@ void Usr_ListUsersToSelect (Rol_Role_t Role,struct Usr_SelectedUsrs *SelectedUsr
switch (Gbl.Usrs.Me.ListType)
{
case Set_USR_LIST_AS_CLASS_PHOTO:
Usr_DrawClassPhoto (Usr_CLASS_PHOTO_SEL,Role,SelectedUsrs,true);
Usr_DrawClassPhoto (SelectedUsrs,Role,Usr_CLASS_PHOTO_SEL,
true); // Put checkbox to select user
break;
case Set_USR_LIST_AS_LISTING:
Usr_ListUsrsForSelection (Role,SelectedUsrs);
Usr_ListUsrsForSelection (SelectedUsrs,Role);
break;
default:
break;
}
}
/*****************************************************************************/
/*************** List users (of current course) for selection ****************/
/*****************************************************************************/
static void Usr_ListUsrsForSelection (struct Usr_SelectedUsrs *SelectedUsrs,
Rol_Role_t Role)
{
unsigned NumUsr;
struct Usr_Data UsrDat;
if (Gbl.Usrs.LstUsrs[Role].NumUsrs)
{
/***** Initialize field names *****/
Usr_SetUsrDatMainFieldNames ();
/***** Put a row to select all users *****/
Usr_PutCheckboxToSelectAllUsers (SelectedUsrs,Role);
/***** Heading row with column names *****/
Usr_WriteHeaderFieldsUsrDat (true); // Columns for the data
/***** Initialize structure with user's data *****/
Usr_UsrDataConstructor (&UsrDat);
/***** List users' data *****/
for (NumUsr = 0, The_ResetRowColor ();
NumUsr < Gbl.Usrs.LstUsrs[Role].NumUsrs; )
{
UsrDat.UsrCod = Gbl.Usrs.LstUsrs[Role].Lst[NumUsr].UsrCod;
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,
Usr_DONT_GET_PREFS,
Usr_DONT_GET_ROLE_IN_CRS))
{
UsrDat.Roles.InCurrentCrs = Role; // We know the user's role.
// It is not necessary to retrieve
// his/her role from database.
UsrDat.Accepted = Gbl.Usrs.LstUsrs[Role].Lst[NumUsr].Accepted;
Usr_WriteRowUsrMainData (++NumUsr,&UsrDat,true,Role,SelectedUsrs);
The_ChangeRowColor ();
}
}
/***** Free memory used for user's data *****/
Usr_UsrDataDestructor (&UsrDat);
}
}
/*****************************************************************************/
/******** Put a row, in a classphoto or a list, to select all users **********/
/*****************************************************************************/
static void Usr_PutCheckboxToSelectAllUsers (Rol_Role_t Role,
struct Usr_SelectedUsrs *SelectedUsrs)
static void Usr_PutCheckboxToSelectAllUsers (struct Usr_SelectedUsrs *SelectedUsrs,
Rol_Role_t Role)
{
extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
@ -4041,7 +4101,7 @@ static void Usr_ListMainDataGsts (bool PutCheckBoxToSelectUsr)
/***** Put a row to select all users *****/
if (PutCheckBoxToSelectUsr)
Usr_PutCheckboxToSelectAllUsers (Rol_GST,&Gbl.Usrs.Selected);
Usr_PutCheckboxToSelectAllUsers (&Gbl.Usrs.Selected,Rol_GST);
/***** Heading row with column names *****/
Usr_WriteHeaderFieldsUsrDat (PutCheckBoxToSelectUsr); // Columns for the data
@ -4111,7 +4171,7 @@ static void Usr_ListMainDataStds (bool PutCheckBoxToSelectUsr)
/***** Put a row to select all users *****/
if (PutCheckBoxToSelectUsr)
Usr_PutCheckboxToSelectAllUsers (Rol_STD,&Gbl.Usrs.Selected);
Usr_PutCheckboxToSelectAllUsers (&Gbl.Usrs.Selected,Rol_STD);
/***** Heading row with column names *****/
Usr_WriteHeaderFieldsUsrDat (PutCheckBoxToSelectUsr); // Columns for the data
@ -4168,7 +4228,7 @@ static void Usr_ListMainDataTchs (Rol_Role_t Role,
{
/***** Put a row to select all users *****/
if (PutCheckBoxToSelectUsr)
Usr_PutCheckboxToSelectAllUsers (Role,&Gbl.Usrs.Selected);
Usr_PutCheckboxToSelectAllUsers (&Gbl.Usrs.Selected,Role);
/***** Heading row with column names *****/
/* Begin row */
@ -4536,54 +4596,6 @@ void Usr_ListAllDataStds (void)
Grp_FreeListGrpTypesAndGrps ();
}
/*****************************************************************************/
/*************** List users (of current course) for selection ****************/
/*****************************************************************************/
static void Usr_ListUsrsForSelection (Rol_Role_t Role,
struct Usr_SelectedUsrs *SelectedUsrs)
{
unsigned NumUsr;
struct Usr_Data UsrDat;
if (Gbl.Usrs.LstUsrs[Role].NumUsrs)
{
/***** Initialize field names *****/
Usr_SetUsrDatMainFieldNames ();
/***** Put a row to select all users *****/
Usr_PutCheckboxToSelectAllUsers (Role,SelectedUsrs);
/***** Heading row with column names *****/
Usr_WriteHeaderFieldsUsrDat (true); // Columns for the data
/***** Initialize structure with user's data *****/
Usr_UsrDataConstructor (&UsrDat);
/***** List users' data *****/
for (NumUsr = 0, The_ResetRowColor ();
NumUsr < Gbl.Usrs.LstUsrs[Role].NumUsrs; )
{
UsrDat.UsrCod = Gbl.Usrs.LstUsrs[Role].Lst[NumUsr].UsrCod;
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat,
Usr_DONT_GET_PREFS,
Usr_DONT_GET_ROLE_IN_CRS))
{
UsrDat.Roles.InCurrentCrs = Role; // We know the user's role.
// It is not necessary to retrieve
// his/her role from database.
UsrDat.Accepted = Gbl.Usrs.LstUsrs[Role].Lst[NumUsr].Accepted;
Usr_WriteRowUsrMainData (++NumUsr,&UsrDat,true,Role,SelectedUsrs);
The_ChangeRowColor ();
}
}
/***** Free memory used for user's data *****/
Usr_UsrDataDestructor (&UsrDat);
}
}
/*****************************************************************************/
/************************** List all teachers' data **************************/
/*****************************************************************************/
@ -5093,12 +5105,12 @@ void Usr_SeeGuests (void)
switch (Gbl.Usrs.Me.ListType)
{
case Set_USR_LIST_AS_CLASS_PHOTO:
Usr_DrawClassPhoto (Usr_CLASS_PHOTO_SEL_SEE,
Rol_GST,&Gbl.Usrs.Selected,
PutForm); // Put checkbox to select users?
Usr_DrawClassPhoto (&Gbl.Usrs.Selected,Rol_GST,
Usr_CLASS_PHOTO_SEL_SEE,
PutForm); // Put checkbox to select user?
break;
case Set_USR_LIST_AS_LISTING:
Usr_ListMainDataGsts (PutForm); // Put checkbox to select users?
Usr_ListMainDataGsts (PutForm); // Put checkbox to select user?
break;
default:
break;
@ -5247,12 +5259,12 @@ void Usr_SeeStudents (void)
switch (Gbl.Usrs.Me.ListType)
{
case Set_USR_LIST_AS_CLASS_PHOTO:
Usr_DrawClassPhoto (Usr_CLASS_PHOTO_SEL_SEE,
Rol_STD,&Gbl.Usrs.Selected,
PutForm); // Put checkbox to select users?
Usr_DrawClassPhoto (&Gbl.Usrs.Selected,Rol_STD,
Usr_CLASS_PHOTO_SEL_SEE,
PutForm); // Put checkbox to select user?
break;
case Set_USR_LIST_AS_LISTING:
Usr_ListMainDataStds (PutForm); // Put checkbox to select users?
Usr_ListMainDataStds (PutForm); // Put checkbox to select user?
break;
default:
break;
@ -5415,12 +5427,12 @@ void Usr_SeeTeachers (void)
{
case Set_USR_LIST_AS_CLASS_PHOTO:
/* List teachers and non-editing teachers */
Usr_DrawClassPhoto (Usr_CLASS_PHOTO_SEL_SEE,
Rol_TCH,&Gbl.Usrs.Selected,
PutForm); // Put checkbox to select users?
Usr_DrawClassPhoto (Usr_CLASS_PHOTO_SEL_SEE,
Rol_NET,&Gbl.Usrs.Selected,
PutForm); // Put checkbox to select users?
Usr_DrawClassPhoto (&Gbl.Usrs.Selected,Rol_TCH,
Usr_CLASS_PHOTO_SEL_SEE,
PutForm); // Put checkbox to select user?
Usr_DrawClassPhoto (&Gbl.Usrs.Selected,Rol_NET,
Usr_CLASS_PHOTO_SEL_SEE,
PutForm); // Put checkbox to select user?
break;
case Set_USR_LIST_AS_LISTING:
/* Initialize field names */
@ -5428,9 +5440,9 @@ void Usr_SeeTeachers (void)
/* List teachers and non-editing teachers */
Usr_ListMainDataTchs (Rol_TCH,
PutForm); // Put checkbox to select users?
PutForm); // Put checkbox to select user?
Usr_ListMainDataTchs (Rol_NET,
PutForm); // Put checkbox to select users?
PutForm); // Put checkbox to select user?
break;
default:
break;
@ -5924,8 +5936,9 @@ void Usr_SeeGstClassPhotoPrn (void)
/***** Draw the guests' class photo *****/
Lay_WriteHeaderClassPhoto (Vie_PRINT);
HTM_TABLE_BeginWide ();
Usr_DrawClassPhoto (Usr_CLASS_PHOTO_PRN,
Rol_GST,&Gbl.Usrs.Selected,false);
Usr_DrawClassPhoto (&Gbl.Usrs.Selected,Rol_GST,
Usr_CLASS_PHOTO_PRN,
false); // Don't put checkbox to select user
HTM_TABLE_End ();
}
else // Gbl.Usrs.LstUsrs[Rol_GST].NumUsrs
@ -5962,8 +5975,9 @@ void Usr_SeeStdClassPhotoPrn (void)
/***** Draw the students' class photo *****/
Lay_WriteHeaderClassPhoto (Vie_PRINT);
HTM_TABLE_BeginWide ();
Usr_DrawClassPhoto (Usr_CLASS_PHOTO_PRN,
Rol_STD,&Gbl.Usrs.Selected,false);
Usr_DrawClassPhoto (&Gbl.Usrs.Selected,Rol_STD,
Usr_CLASS_PHOTO_PRN,
false); // Don't put checkbox to select user
HTM_TABLE_End ();
}
else // Gbl.Usrs.LstUsrs[Rol_STD].NumUsrs == 0
@ -6026,10 +6040,12 @@ void Usr_SeeTchClassPhotoPrn (void)
HTM_TABLE_BeginWide ();
/* List teachers and non-editing teachers */
Usr_DrawClassPhoto (Usr_CLASS_PHOTO_PRN,
Rol_TCH,&Gbl.Usrs.Selected,false);
Usr_DrawClassPhoto (Usr_CLASS_PHOTO_PRN,
Rol_NET,&Gbl.Usrs.Selected,false);
Usr_DrawClassPhoto (&Gbl.Usrs.Selected,Rol_TCH,
Usr_CLASS_PHOTO_PRN,
false); // Don't put checkbox to select user
Usr_DrawClassPhoto (&Gbl.Usrs.Selected,Rol_NET,
Usr_CLASS_PHOTO_PRN,
false); // Don't put checkbox to select user
HTM_TABLE_End ();
}
@ -6049,9 +6065,9 @@ void Usr_SeeTchClassPhotoPrn (void)
/****************** Draw class photo with students or teachers ***************/
/*****************************************************************************/
static void Usr_DrawClassPhoto (Usr_ClassPhotoType_t ClassPhotoType,
static void Usr_DrawClassPhoto (struct Usr_SelectedUsrs *SelectedUsrs,
Rol_Role_t Role,
struct Usr_SelectedUsrs *SelectedUsrs,
Usr_ClassPhotoType_t ClassPhotoType,
bool PutCheckBoxToSelectUsr)
{
static const char *ClassPhoto[Usr_NUM_CLASS_PHOTO_TYPE][PhoSha_NUM_SHAPES] =
@ -6078,7 +6094,7 @@ static void Usr_DrawClassPhoto (Usr_ClassPhotoType_t ClassPhotoType,
{
/***** Put a row to select all users *****/
if (PutCheckBoxToSelectUsr)
Usr_PutCheckboxToSelectAllUsers (Role,SelectedUsrs);
Usr_PutCheckboxToSelectAllUsers (SelectedUsrs,Role);
/***** Initialize structure with user's data *****/
Usr_UsrDataConstructor (&UsrDat);

View File

@ -407,7 +407,7 @@ void Usr_PutFormToSelectUsrsToGoToAct (struct Usr_SelectedUsrs *SelectedUsrs,
void Usr_GetSelectedUsrsAndGoToAct (struct Usr_SelectedUsrs *SelectedUsrs,
void (*FuncWhenUsrsSelected) (void *ArgsSelected),void *ArgsSelected,
void (*FuncWhenNoUsrsSelected) (void *ArgsNoSelected),void *ArgsNoSelected);
void Usr_ListUsersToSelect (Rol_Role_t Role,struct Usr_SelectedUsrs *SelectedUsrs);
void Usr_ListUsersToSelect (struct Usr_SelectedUsrs *SelectedUsrs);
void Usr_ListAllDataGsts (void);
void Usr_ListAllDataStds (void);