From 2971a8904ff7674c5db466a2acc34af7f1bff1d1 Mon Sep 17 00:00:00 2001 From: acanas Date: Sat, 19 Mar 2022 02:05:53 +0100 Subject: [PATCH] Version 21.84: Mar 19, 2022 Code refactoring on row colors. --- css/swad21.83.8.css | 38 +++++++- swad_HTML.c | 2 +- swad_account.c | 10 +-- swad_agenda.c | 10 +-- swad_assignment.c | 32 +++---- swad_attendance.c | 78 ++++++++-------- swad_browser.c | 200 ++++++++++++++++++++--------------------- swad_building.c | 12 +-- swad_center.c | 4 +- swad_changelog.h | 3 +- swad_connected.c | 12 +-- swad_country.c | 4 +- swad_course.c | 7 +- swad_degree.c | 4 +- swad_degree_type.c | 2 +- swad_duplicate.c | 16 ++-- swad_exam.c | 12 +-- swad_exam_log.c | 16 ++-- swad_exam_print.c | 2 +- swad_exam_result.c | 78 ++++++++-------- swad_exam_session.c | 12 +-- swad_exam_set.c | 18 ++-- swad_follow.c | 6 +- swad_forum.c | 4 +- swad_game.c | 14 +-- swad_global.c | 1 - swad_global.h | 1 - swad_hierarchy.c | 4 +- swad_indicator.c | 90 +++++++++---------- swad_institution.c | 4 +- swad_mark.c | 8 +- swad_match.c | 16 ++-- swad_match_result.c | 54 +++++------ swad_photo.c | 8 +- swad_profile.c | 14 +-- swad_program.c | 18 ++-- swad_project.c | 61 ++++++------- swad_question.c | 54 +++++------ swad_question_import.c | 14 +-- swad_record.c | 6 +- swad_room.c | 19 ++-- swad_setting.c | 1 - swad_statistic.c | 30 +++---- swad_survey.c | 22 ++--- swad_syllabus.c | 26 +++--- swad_test_print.c | 52 +++++------ swad_text.c | 14 +-- swad_theme.c | 8 +- swad_theme.h | 2 +- swad_user.c | 104 +++++++++++---------- 50 files changed, 625 insertions(+), 602 deletions(-) diff --git a/css/swad21.83.8.css b/css/swad21.83.8.css index 6f6b80f3..056d012a 100644 --- a/css/swad21.83.8.css +++ b/css/swad21.83.8.css @@ -2555,10 +2555,40 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;} .LST_REC_HID {color:#92b380; font-size:11pt; white-space:nowrap;} .LST_REC_HID {color:#406020; font-size:11pt; white-space:nowrap;} -.LST_EDIT {width:250px; color:#202020; font-weight:bold; font-size:11pt; height:20px; padding:0; margin:-1px; border-width:1px; border-style:solid; border-color:#ECE9D8;} -.LST_EDIT_HID {width:250px; color:#a0a0a0; font-weight:bold; font-size:11pt; height:20px; padding:0; margin:-1px; border-width:1px; border-style:solid; border-color:#ECE9D8;} -.LST_EDIT_REC {width:250px; color:#008000; font-weight:bold; font-size:11pt; height:20px; padding:0; margin:-1px; border-width:1px; border-style:solid; border-color:#ECE9D8;} -.LST_EDIT_REC_HID {width:250px; color:#89be87; font-weight:bold; font-size:11pt; height:20px; padding:0; margin:-1px; border-width:1px; border-style:solid; border-color:#ECE9D8;} +.LST_EDIT {width:250px; font-weight:bold; font-size:11pt; height:20px; padding:0; margin:-1px; border-width:1px; border-style:solid;} + +.LST_EDIT_WHITE {color:#202020; border-color:#ece9d8;} +.LST_EDIT_GREY {color:#202020; border-color:#ece9d8;} +.LST_EDIT_PURPLE {color:#202020; border-color:#ece9d8;} +.LST_EDIT_BLUE {color:#202020; border-color:#ece9d8;} +.LST_EDIT_YELLOW {color:#202020; border-color:#ece9d8;} +.LST_EDIT_PINK {color:#202020; border-color:#ece9d8;} +.LST_EDIT_DARK {color:#e0e0e0; border-color:#ece9d8;} + +.LST_EDIT_HID_WHITE {color:#a0a0a0; border-color:#ece9d8;} +.LST_EDIT_HID_GREY {color:#a0a0a0; border-color:#ece9d8;} +.LST_EDIT_HID_PURPLE {color:#a0a0a0; border-color:#ece9d8;} +.LST_EDIT_HID_BLUE {color:#a0a0a0; border-color:#ece9d8;} +.LST_EDIT_HID_YELLOW {color:#a0a0a0; border-color:#ece9d8;} +.LST_EDIT_HID_PINK {color:#a0a0a0; border-color:#ece9d8;} +.LST_EDIT_HID_DARK {color:#909090; border-color:#ece9d8;} + +.LST_EDIT_REC_WHITE {color:#008000; border-color:#ece9d8;} +.LST_EDIT_REC_GREY {color:#008000; border-color:#ece9d8;} +.LST_EDIT_REC_PURPLE {color:#008000; border-color:#ece9d8;} +.LST_EDIT_REC_BLUE {color:#008000; border-color:#ece9d8;} +.LST_EDIT_REC_YELLOW {color:#008000; border-color:#ece9d8;} +.LST_EDIT_REC_PINK {color:#008000; border-color:#ece9d8;} +.LST_EDIT_REC_DARK {color:#008000; border-color:#ece9d8;} + +.LST_EDIT_REC_HID_WHITE {color:#89be87; border-color:#ece9d8;} +.LST_EDIT_REC_HID_GREY {color:#89be87; border-color:#ece9d8;} +.LST_EDIT_REC_HID_PURPLE {color:#89be87; border-color:#ece9d8;} +.LST_EDIT_REC_HID_BLUE {color:#89be87; border-color:#ece9d8;} +.LST_EDIT_REC_HID_YELLOW {color:#89be87; border-color:#ece9d8;} +.LST_EDIT_REC_HID_PINK {color:#89be87; border-color:#ece9d8;} +.LST_EDIT_REC_HID_DARK {color:#89be87; border-color:#ece9d8;} + .LST_EDIT_ROWS {width:30px; color:#202020; font-weight:bold; font-size:11pt; height:20px; padding:0; margin:-1px; border-width:1px; border-style:solid; border-color:#ECE9D8;} .PUBLIC_FILE {max-width:400px;} diff --git a/swad_HTML.c b/swad_HTML.c index f77cf964..06f82f98 100644 --- a/swad_HTML.c +++ b/swad_HTML.c @@ -565,7 +565,7 @@ void HTM_TD_ColouredEmpty (unsigned NumColumns) NumCol < NumColumns; NumCol++) { - HTM_TD_Begin ("class=\"%s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"%s\"",The_GetColorRows ()); HTM_TD_End (); } } diff --git a/swad_account.c b/swad_account.c index c9d27d47..4afa4c21 100644 --- a/swad_account.c +++ b/swad_account.c @@ -229,7 +229,7 @@ void Acc_CheckIfEmptyAccountExists (void) Usr_UsrDataConstructor (&UsrDat); /***** List users found *****/ - for (NumUsr = 1, Gbl.RowEvenOdd = 0; + for (NumUsr = 1; NumUsr <= NumUsrs; NumUsr++, Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd) { @@ -288,14 +288,14 @@ static void Acc_WriteRowEmptyAccount (unsigned NumUsr,const char *ID,struct UsrD /***** Write number of user in the list *****/ HTM_TD_Begin ("rowspan=\"2\" class=\"USR_LIST_NUM_N RT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Unsigned (NumUsr); HTM_TD_End (); /***** Write user's ID and name *****/ HTM_TD_Begin ("class=\"%s LT %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TxtF ("%s: %s",Txt_ID,ID); HTM_BR (); HTM_TxtColonNBSP (Txt_Name); @@ -314,7 +314,7 @@ static void Acc_WriteRowEmptyAccount (unsigned NumUsr,const char *ID,struct UsrD HTM_TD_End (); /***** Button to login with this account *****/ - HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"RT %s\"",The_GetColorRows ()); Frm_BeginForm (ActLogInNew); Usr_PutParamUsrCodEncrypted (UsrDat->EnUsrCod); Btn_PutCreateButtonInline (Txt_Its_me); @@ -328,7 +328,7 @@ static void Acc_WriteRowEmptyAccount (unsigned NumUsr,const char *ID,struct UsrD HTM_TR_Begin (NULL); /***** Courses of this user *****/ - HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"",The_GetColorRows ()); UsrDat->Sex = Usr_SEX_UNKNOWN; Crs_GetAndWriteCrssOfAUsr (UsrDat,Rol_TCH); Crs_GetAndWriteCrssOfAUsr (UsrDat,Rol_NET); diff --git a/swad_agenda.c b/swad_agenda.c index 40c59543..eefb971a 100644 --- a/swad_agenda.c +++ b/swad_agenda.c @@ -838,7 +838,7 @@ static void Agd_ShowOneEvent (struct Agd_Agenda *Agenda, Id, AgdEvent.Hidden ? Dat_TimeStatusClassHidden[AgdEvent.TimeStatus] : Dat_TimeStatusClassVisible[AgdEvent.TimeStatus], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Dat_WriteLocalDateHMSFromUTC (Id,AgdEvent.TimeUTC[StartEndTime], Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,true,0x6); @@ -850,14 +850,14 @@ static void Agd_ShowOneEvent (struct Agd_Agenda *Agenda, HTM_TD_Begin ("class=\"%s LT %s\"", AgdEvent.Hidden ? "ASG_TITLE_LIGHT" : "ASG_TITLE", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_ARTICLE_Begin (Anchor); HTM_Txt (AgdEvent.Event); HTM_ARTICLE_End (); HTM_TD_End (); /* Location */ - HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ()); HTM_DIV_Begin ("class=\"%s\"",AgdEvent.Hidden ? "ASG_TITLE_LIGHT" : "ASG_TITLE"); HTM_Txt (AgdEvent.Location); @@ -869,7 +869,7 @@ static void Agd_ShowOneEvent (struct Agd_Agenda *Agenda, /***** Write second row of data of this event *****/ HTM_TR_Begin (NULL); - HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"",The_GetColorRows ()); switch (AgendaType) { case Agd_MY_AGENDA_TODAY: @@ -883,7 +883,7 @@ static void Agd_ShowOneEvent (struct Agd_Agenda *Agenda, HTM_TD_End (); /* Text of the event */ - HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"",The_GetColorRows ()); HTM_DIV_Begin ("class=\"PAR %s\"", AgdEvent.Hidden ? The_ClassDatLight[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme]); diff --git a/swad_assignment.c b/swad_assignment.c index e91d7ea1..a63e7e7c 100644 --- a/swad_assignment.c +++ b/swad_assignment.c @@ -419,7 +419,7 @@ static void Asg_ShowOneAssignment (struct Asg_Assignments *Assignments, else { HTM_TD_Begin ("rowspan=\"2\" class=\"CONTEXT_COL %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Asg_PutFormsToRemEditOneAsg (Assignments,&Asg,Anchor); } HTM_TD_End (); @@ -447,7 +447,7 @@ static void Asg_ShowOneAssignment (struct Asg_Assignments *Assignments, "DATE_RED_LIGHT") : (Asg.Open ? "DATE_GREEN" : "DATE_RED"), - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Dat_WriteLocalDateHMSFromUTC (Id,Asg.TimeUTC[StartEndTime], Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,true,0x7); @@ -464,7 +464,7 @@ static void Asg_ShowOneAssignment (struct Asg_Assignments *Assignments, HTM_TD_Begin ("class=\"%s LT %s\"", Asg.Hidden ? "ASG_TITLE_LIGHT" : "ASG_TITLE", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_ARTICLE_Begin (Anchor); HTM_Txt (Asg.Title); HTM_ARTICLE_End (); @@ -477,7 +477,7 @@ static void Asg_ShowOneAssignment (struct Asg_Assignments *Assignments, else HTM_TD_Begin ("class=\"%s LT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (Asg.SendWork == Asg_SEND_WORK) Asg_WriteAssignmentFolder (&Asg,PrintView); HTM_TD_End (); @@ -492,7 +492,7 @@ static void Asg_ShowOneAssignment (struct Asg_Assignments *Assignments, HTM_TD_Begin ("colspan=\"2\" class=\"LT\""); else HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Asg_WriteAsgAuthor (&Asg); HTM_TD_End (); @@ -504,8 +504,7 @@ static void Asg_ShowOneAssignment (struct Asg_Assignments *Assignments, if (PrintView) HTM_TD_Begin ("colspan=\"2\" class=\"LT\""); else - HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"",The_GetColorRows ()); if (Gbl.Crs.Grps.NumGrps) Asg_GetAndWriteNamesOfGrpsAssociatedToAsg (&Asg); @@ -573,15 +572,18 @@ static void Asg_WriteAssignmentFolder (struct Asg_Assignment *Asg,bool PrintView Err_WrongRoleExit (); break; } - Str_Copy (Gbl.FileBrowser.FilFolLnk.Path,Brw_INTERNAL_NAME_ROOT_FOLDER_ASSIGNMENTS, - sizeof (Gbl.FileBrowser.FilFolLnk.Path) - 1); - Str_Copy (Gbl.FileBrowser.FilFolLnk.Name,Asg->Folder, - sizeof (Gbl.FileBrowser.FilFolLnk.Name) - 1); - Gbl.FileBrowser.FilFolLnk.Type = Brw_IS_FOLDER; - Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk); - Ico_PutIconLink ("folder-open-yellow-plus.png",Ico_UNCHANGED, - Txt_Upload_file_or_create_folder); + + Str_Copy (Gbl.FileBrowser.FilFolLnk.Path,Brw_INTERNAL_NAME_ROOT_FOLDER_ASSIGNMENTS, + sizeof (Gbl.FileBrowser.FilFolLnk.Path) - 1); + Str_Copy (Gbl.FileBrowser.FilFolLnk.Name,Asg->Folder, + sizeof (Gbl.FileBrowser.FilFolLnk.Name) - 1); + Gbl.FileBrowser.FilFolLnk.Type = Brw_IS_FOLDER; + Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk); + Ico_PutIconLink ("folder-open-yellow-plus.png",Ico_UNCHANGED, + Txt_Upload_file_or_create_folder); + Frm_EndForm (); + switch (Gbl.Usrs.Me.Role.Logged) { case Rol_STD: diff --git a/swad_attendance.c b/swad_attendance.c index 6cd14fc8..e20f8851 100644 --- a/swad_attendance.c +++ b/swad_attendance.c @@ -290,7 +290,7 @@ static void Att_ShowAllAttEvents (struct Att_Events *Events) HTM_TR_End (); /***** Write all attendance events *****/ - for (NumAttEvent = Pagination.FirstItemVisible, Gbl.RowEvenOdd = 0; + for (NumAttEvent = Pagination.FirstItemVisible; NumAttEvent <= Pagination.LastItemVisible; NumAttEvent++) Att_ShowOneAttEvent (Events, @@ -471,7 +471,7 @@ static void Att_ShowOneAttEvent (struct Att_Events *Events, HTM_TD_Begin ("rowspan=\"2\" class=\"CONTEXT_COL\""); else HTM_TD_Begin ("rowspan=\"2\" class=\"CONTEXT_COL %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); switch (Gbl.Usrs.Me.Role.Logged) { case Rol_TCH: @@ -505,7 +505,7 @@ static void Att_ShowOneAttEvent (struct Att_Events *Events, "DATE_RED_LIGHT") : (Event->Open ? "DATE_GREEN" : "DATE_RED"), - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Dat_WriteLocalDateHMSFromUTC (Id,Event->TimeUTC[StartEndTime], Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,true,0x7); @@ -522,7 +522,7 @@ static void Att_ShowOneAttEvent (struct Att_Events *Events, HTM_TD_Begin ("class=\"%s LT %s\"", Event->Hidden ? "ASG_TITLE_LIGHT" : "ASG_TITLE", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_ARTICLE_Begin (Anchor); Att_PutLinkAttEvent (Event,Txt_View_event,Event->Title); HTM_ARTICLE_End (); @@ -537,7 +537,7 @@ static void Att_ShowOneAttEvent (struct Att_Events *Events, HTM_TD_Begin ("class=\"%s RT %s\"", Event->Hidden ? "ASG_TITLE_LIGHT" : "ASG_TITLE", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Unsigned (Event->NumStdsTotal); HTM_TD_End (); @@ -550,8 +550,7 @@ static void Att_ShowOneAttEvent (struct Att_Events *Events, if (ShowOnlyThisAttEventComplete) HTM_TD_Begin ("colspan=\"2\" class=\"LT\""); else - HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"",The_GetColorRows ()); Att_WriteAttEventAuthor (Event); HTM_TD_End (); @@ -563,8 +562,7 @@ static void Att_ShowOneAttEvent (struct Att_Events *Events, if (ShowOnlyThisAttEventComplete) HTM_TD_Begin ("colspan=\"2\" class=\"LT\""); else - HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"",The_GetColorRows ()); if (Gbl.Crs.Grps.NumGrps) Att_GetAndWriteNamesOfGrpsAssociatedToAttEvent (Event); @@ -1645,7 +1643,7 @@ static void Att_ListAttStudents (struct Att_Events *Events, HTM_TR_End (); /* List of students */ - for (NumUsr = 0, Gbl.RowEvenOdd = 0; + for (NumUsr = 0; NumUsr < Gbl.Usrs.LstUsrs[Rol_STD].NumUsrs; NumUsr++) { @@ -1749,14 +1747,14 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr, HTM_TR_Begin (NULL); /***** Icon to show if the user is already present *****/ - HTM_TD_Begin ("class=\"BT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BT %s\"",The_GetColorRows ()); HTM_LABEL_Begin ("for=\"Std%u\"",NumUsr); Att_PutCheckOrCross (Present); HTM_LABEL_End (); HTM_TD_End (); /***** Checkbox to select user *****/ - HTM_TD_Begin ("class=\"CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"CT %s\"",The_GetColorRows ()); HTM_INPUT_CHECKBOX ("UsrCodStd",HTM_DONT_SUBMIT_ON_CHANGE, "id=\"Std%u\" value=\"%s\"%s%s", NumUsr,UsrDat->EnUsrCod, @@ -1769,14 +1767,14 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr, HTM_TD_Begin ("class=\"%s RT %s\"", UsrDat->Accepted ? The_ClassDatStrong[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Unsigned (NumUsr); HTM_TD_End (); /***** Show student's photo *****/ if (Gbl.Usrs.Listing.WithPhotos) { - HTM_TD_Begin ("class=\"%s LT\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"%s LT\"",The_GetColorRows ()); Pho_ShowUsrPhotoIfAllowed (UsrDat, ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM, false); @@ -1787,7 +1785,7 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr, HTM_TD_Begin ("class=\"%s %s LT\"", UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] : The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); ID_WriteUsrIDs (UsrDat,NULL); HTM_TD_End (); @@ -1795,7 +1793,7 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr, HTM_TD_Begin ("class=\"%s LT %s\"", UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] : The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Txt (UsrDat->Surname1); if (UsrDat->Surname2[0]) HTM_TxtF (" %s",UsrDat->Surname2); @@ -1806,7 +1804,7 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr, HTM_TD_Begin ("class=\"%s LT %s\"", UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] : The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanEditStdComment) // Show with form { HTM_TEXTAREA_Begin ("name=\"CommentStd%s\" cols=\"40\" rows=\"3\"" @@ -1828,7 +1826,7 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr, HTM_TD_Begin ("class=\"%s LT %s\"", UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] : The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanEditTchComment) // Show with form { HTM_TEXTAREA_Begin ("name=\"CommentTch%s\" cols=\"40\" rows=\"3\"" @@ -2717,7 +2715,7 @@ static void Att_ListEventsToSelect (const struct Att_Events *Events, HTM_TR_End (); /***** List the events *****/ - for (NumAttEvent = 0, UniqueId = 1, Gbl.RowEvenOdd = 0; + for (NumAttEvent = 0, UniqueId = 1; NumAttEvent < Events->Num; NumAttEvent++, UniqueId++, Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd) { @@ -2730,7 +2728,7 @@ static void Att_ListEventsToSelect (const struct Att_Events *Events, HTM_TD_Begin ("class=\"%s CT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_INPUT_CHECKBOX ("AttCods",HTM_DONT_SUBMIT_ON_CHANGE, "id=\"Event%u\" value=\"%ld\"%s", NumAttEvent,Events->Lst[NumAttEvent].AttCod, @@ -2740,7 +2738,7 @@ static void Att_ListEventsToSelect (const struct Att_Events *Events, HTM_TD_Begin ("class=\"%s RT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_LABEL_Begin ("for=\"Event%u\"",NumAttEvent); HTM_TxtF ("%u:",NumAttEvent + 1); HTM_LABEL_End (); @@ -2748,7 +2746,7 @@ static void Att_ListEventsToSelect (const struct Att_Events *Events, HTM_TD_Begin ("class=\"%s LT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (asprintf (&Id,"att_date_start_%u",UniqueId) < 0) Err_NotEnoughMemoryExit (); HTM_LABEL_Begin ("for=\"Event%u\"",NumAttEvent); @@ -2763,13 +2761,13 @@ static void Att_ListEventsToSelect (const struct Att_Events *Events, HTM_TD_Begin ("class=\"%s LT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Txt (Events->Lst[NumAttEvent].Title); HTM_TD_End (); HTM_TD_Begin ("class=\"%s RT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Unsigned (Events->Lst[NumAttEvent].NumStdsTotal); HTM_TD_End (); @@ -2851,7 +2849,7 @@ static void Att_ListUsrsAttendanceTable (const struct Att_Events *Events, Att_WriteTableHeadSeveralAttEvents (Events); /***** List the users *****/ - for (NumUsr = 0, Gbl.RowEvenOdd = 0; + for (NumUsr = 0; NumUsr < NumUsrsInList; NumUsr++) { @@ -2980,14 +2978,14 @@ static void Att_WriteRowUsrSeveralAttEvents (const struct Att_Events *Events, HTM_TD_Begin ("class=\"%s RM %s\"", UsrDat->Accepted ? The_ClassDatStrong[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Unsigned (NumUsr + 1); HTM_TD_End (); /***** Show user's photo *****/ if (Gbl.Usrs.Listing.WithPhotos) { - HTM_TD_Begin ("class=\"LM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LM %s\"",The_GetColorRows ()); Pho_ShowUsrPhotoIfAllowed (UsrDat, ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM, false); @@ -2998,7 +2996,7 @@ static void Att_WriteRowUsrSeveralAttEvents (const struct Att_Events *Events, HTM_TD_Begin ("class=\"%s LM %s\"", UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] : The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); ID_WriteUsrIDs (UsrDat,NULL); HTM_TD_End (); @@ -3006,7 +3004,7 @@ static void Att_WriteRowUsrSeveralAttEvents (const struct Att_Events *Events, HTM_TD_Begin ("class=\"%s LM %s\"", UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] : The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Txt (UsrDat->Surname1); if (UsrDat->Surname2[0]) HTM_TxtF (" %s",UsrDat->Surname2); @@ -3025,7 +3023,7 @@ static void Att_WriteRowUsrSeveralAttEvents (const struct Att_Events *Events, UsrDat->UsrCod); /* Write check or cross */ - HTM_TD_Begin ("class=\"BM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ()); Att_PutCheckOrCross (Present); HTM_TD_End (); @@ -3036,7 +3034,7 @@ static void Att_WriteRowUsrSeveralAttEvents (const struct Att_Events *Events, /***** Last column with the number of times this user is present *****/ HTM_TD_Begin ("class=\"%s RM %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Unsigned (NumTimesPresent); HTM_TD_End (); @@ -3095,7 +3093,7 @@ static void Att_ListStdsWithAttEventsDetails (const struct Att_Events *Events, NULL,Box_NOT_CLOSABLE,2); /***** List students with attendance details *****/ - for (NumUsr = 0, Gbl.RowEvenOdd = 0; + for (NumUsr = 0; NumUsr < NumUsrsInList; NumUsr++) { @@ -3157,19 +3155,19 @@ static void Att_ListAttEventsForAStd (const struct Att_Events *Events, HTM_TD_Begin ("class=\"%s RM %s\"", UsrDat->Accepted ? The_ClassDatStrong[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TxtF ("%u:",NumUsr); HTM_TD_End (); /***** Show student's photo *****/ HTM_TD_Begin ("colspan=\"2\" class=\"RM %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Pho_ShowUsrPhotoIfAllowed (UsrDat, ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM, false); HTM_TD_End (); - HTM_TD_Begin ("class=\"LM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LM %s\"",The_GetColorRows ()); HTM_TABLE_Begin (NULL); HTM_TR_Begin (NULL); @@ -3223,17 +3221,17 @@ static void Att_ListAttEventsForAStd (const struct Att_Events *Events, HTM_TD_Begin ("class=\"%s RT %s\"", Present ? "DAT_GREEN" : "DAT_RED", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TxtF ("%u:",NumAttEvent + 1); HTM_TD_End (); - HTM_TD_Begin ("class=\"BT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BT %s\"",The_GetColorRows ()); Att_PutCheckOrCross (Present); HTM_TD_End (); HTM_TD_Begin ("class=\"%s LT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (asprintf (&Id,"att_date_start_%u_%u",NumUsr,UniqueId) < 0) Err_NotEnoughMemoryExit (); HTM_SPAN_Begin ("id=\"%s\"",Id); @@ -3255,12 +3253,12 @@ static void Att_ListAttEventsForAStd (const struct Att_Events *Events, HTM_TD_ColouredEmpty (2); - HTM_TD_Begin ("class=\"BT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BT %s\"",The_GetColorRows ()); HTM_TD_End (); HTM_TD_Begin ("class=\"%s LM %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_DL_Begin (); if (ShowCommentStd) diff --git a/swad_browser.c b/swad_browser.c index 6e1a0483..c96d2f2c 100644 --- a/swad_browser.c +++ b/swad_browser.c @@ -4601,7 +4601,7 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,const char *RowId, /***** Indentation depending on level, icon, and file/folder name *****/ /* Begin column */ HTM_TD_Begin ("class=\"NO_BR LM %s\" style=\"width:99%%;\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TABLE_Begin (NULL); HTM_TR_Begin (NULL); @@ -4664,7 +4664,7 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,const char *RowId, if (Gbl.FileBrowser.FilFolLnk.Type == Brw_IS_FOLDER) { /***** Put icon to download ZIP of folder *****/ - HTM_TD_Begin ("class=\"BM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ()); if (Gbl.Usrs.Me.Role.Logged >= Rol_STD && // Only ZIP folders if I am student, teacher... !SeeMarks && // Do not ZIP folders when seeing marks !(SeeDocsZone && RowSetAsHidden)) // When seeing docs, if folder is not hidden (this could happen for Level == 0) @@ -4760,7 +4760,7 @@ static bool Brw_CheckIfCanPasteIn (unsigned Level) static void Brw_PutIconRemove (void) { - HTM_TD_Begin ("class=\"BM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ()); if (Brw_GetIfICanEditFileOrFolder ()) // Can I remove this? switch (Gbl.FileBrowser.FilFolLnk.Type) @@ -4791,7 +4791,7 @@ static void Brw_PutIconRemove (void) static void Brw_PutIconCopy (void) { - HTM_TD_Begin ("class=\"BM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ()); /***** Form to copy into the clipboard *****/ Ico_PutContextualIconToCopy (Brw_ActCopy[Gbl.FileBrowser.Type], @@ -4808,7 +4808,7 @@ static void Brw_PutIconPaste (unsigned Level) { extern const char *Txt_Copy_not_allowed; - HTM_TD_Begin ("class=\"BM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ()); if (Gbl.FileBrowser.FilFolLnk.Type == Brw_IS_FOLDER) // Can't paste in a file or link { @@ -4841,7 +4841,7 @@ static void Brw_IndentAndWriteIconExpandContract (unsigned Level, Brw_IndentDependingOnLevel (Level); /***** Icon to expand/contract *****/ - HTM_TD_Begin ("class=\"BM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ()); switch (IconThisRow) { case Brw_ICON_TREE_NOTHING: @@ -4885,7 +4885,7 @@ static void Brw_IndentDependingOnLevel (unsigned Level) i < Level; i++) { - HTM_TD_Begin ("class=\"BM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ()); Ico_PutIcon ("tr16x16.gif",Ico_UNCHANGED,"","ICO20x20"); HTM_TD_End (); } @@ -4962,7 +4962,7 @@ static void Brw_PutIconToContractFolder (const char *FileBrowserId,const char *R static void Brw_PutIconShow (const char *Anchor) { - HTM_TD_Begin ("class=\"BM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ()); Ico_PutContextualIconToUnhide (Brw_ActShow[Gbl.FileBrowser.Type],Anchor, Brw_PutImplicitParamsFileBrowser,&Gbl.FileBrowser.FilFolLnk); HTM_TD_End (); @@ -4974,7 +4974,7 @@ static void Brw_PutIconShow (const char *Anchor) static void Brw_PutIconHide (const char *Anchor) { - HTM_TD_Begin ("class=\"BM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ()); Ico_PutContextualIconToHide (Brw_ActHide[Gbl.FileBrowser.Type],Anchor, Brw_PutImplicitParamsFileBrowser,&Gbl.FileBrowser.FilFolLnk); HTM_TD_End (); @@ -5008,7 +5008,7 @@ static void Brw_PutIconFolder (unsigned Level, bool ICanCreate; /***** Begin cell *****/ - HTM_TD_Begin ("class=\"BM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ()); /***** Put icon to create a new file or folder *****/ if ((ICanCreate = Brw_CheckIfICanCreateIntoFolder (Level))) // I can create a new file or folder @@ -5084,7 +5084,7 @@ static void Brw_PutIconFolderWithoutPlus (const char *FileBrowserId,const char * Open ? "open" : "closed", FileBrowserId,RowId, - Gbl.ColorRows[Gbl.RowEvenOdd], + The_GetColorRows (), Hidden ? " style=\"display:none;\"" : ""); @@ -5110,7 +5110,7 @@ static void Brw_PutIconFolderWithPlus (const char *FileBrowserId,const char *Row Open ? "open" : "closed", FileBrowserId,RowId, - Gbl.ColorRows[Gbl.RowEvenOdd], + The_GetColorRows (), Hidden ? " style=\"display:none;\"" : ""); @@ -5132,7 +5132,7 @@ static void Brw_PutIconNewFileOrFolder (void) extern const char *Txt_New_FILE_OR_FOLDER; /***** Icon that indicates new file *****/ - HTM_TD_Begin ("class=\"BM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ()); Ico_PutIcon ("star16x16.gif",Ico_UNCHANGED,Txt_New_FILE_OR_FOLDER,"ICO20x20"); HTM_TD_End (); } @@ -5147,7 +5147,7 @@ static void Brw_PutIconFileWithLinkToViewMetadata (const struct FileMetadata *Fi extern const char *Txt_Link; /***** Begin cell *****/ - HTM_TD_Begin ("class=\"BM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ()); /***** Begin form *****/ Frm_BeginForm (Brw_ActReqDatFile[Gbl.FileBrowser.Type]); @@ -5239,10 +5239,10 @@ static void Brw_PutButtonToDownloadZIPOfAFolder (void) static void Brw_WriteFileName (unsigned Level,bool IsPublic) { + extern const char *The_Colors[The_NUM_THEMES]; extern const char *Txt_Check_marks_in_the_file; extern const char *Txt_Download; extern const char *Txt_Public_open_educational_resource_OER_for_everyone; - bool ICanEditFileOrFolder; char FileNameToShow[NAME_MAX + 1]; /***** Get the name of the file to show *****/ @@ -5253,86 +5253,86 @@ static void Brw_WriteFileName (unsigned Level,bool IsPublic) FileNameToShow); /***** Name and link of the folder, file or link *****/ - if (Gbl.FileBrowser.FilFolLnk.Type == Brw_IS_FOLDER) + switch (Gbl.FileBrowser.FilFolLnk.Type) { - ICanEditFileOrFolder = Brw_GetIfICanEditFileOrFolder (); + case Brw_IS_FOLDER: + /***** Begin cell *****/ + HTM_TD_Begin (Gbl.FileBrowser.Clipboard.IsThisFile ? "class=\"%s LM LIGHT_GREEN\" style=\"width:99%%;\"" : + "class=\"%s LM\" style=\"width:99%%;\"", + Gbl.FileBrowser.TxtStyle); - /***** Begin cell *****/ - HTM_TD_Begin (Gbl.FileBrowser.Clipboard.IsThisFile ? "class=\"%s LM LIGHT_GREEN\" style=\"width:99%%;\"" : - "class=\"%s LM\" style=\"width:99%%;\"", - Gbl.FileBrowser.TxtStyle); + HTM_DIV_Begin ("class=\"FILENAME\""); - HTM_DIV_Begin ("class=\"FILENAME\""); - - /***** Form to rename folder *****/ - if (ICanEditFileOrFolder) // Can I rename this folder? - { - Frm_BeginForm (Brw_ActRenameFolder[Gbl.FileBrowser.Type]); - Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk); - } - - /***** Write name of the folder *****/ - HTM_NBSP (); - if (ICanEditFileOrFolder) // Can I rename this folder? - { - HTM_INPUT_TEXT ("NewFolderName",Brw_MAX_CHARS_FOLDER,Gbl.FileBrowser.FilFolLnk.Name, - HTM_SUBMIT_ON_CHANGE, - "class=\"%s %s\"", - Gbl.FileBrowser.InputStyle, - Gbl.FileBrowser.Clipboard.IsThisFile ? "LIGHT_GREEN" : - Gbl.ColorRows[Gbl.RowEvenOdd]); - Frm_EndForm (); - } - else - { - if ((Level == 1) && - (Gbl.FileBrowser.Type == Brw_ADMI_ASG_USR || - Gbl.FileBrowser.Type == Brw_ADMI_ASG_CRS)) - HTM_SPAN_Begin ("title=\"%s\"",Gbl.FileBrowser.Asg.Title); - - HTM_STRONG_Begin (); - HTM_Txt (FileNameToShow); - HTM_STRONG_End (); HTM_NBSP (); - if ((Level == 1) && - (Gbl.FileBrowser.Type == Brw_ADMI_ASG_USR || - Gbl.FileBrowser.Type == Brw_ADMI_ASG_CRS)) - HTM_SPAN_End (); - } + if (Brw_GetIfICanEditFileOrFolder ()) // Can I rename this folder? + { + /***** Form to rename folder *****/ + Frm_BeginForm (Brw_ActRenameFolder[Gbl.FileBrowser.Type]); + Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk); + HTM_INPUT_TEXT ("NewFolderName",Brw_MAX_CHARS_FOLDER,Gbl.FileBrowser.FilFolLnk.Name, + HTM_SUBMIT_ON_CHANGE, + "class=\"LST_EDIT %s_%s %s\"", + Gbl.FileBrowser.InputStyle, + The_Colors[Gbl.Prefs.Theme], + Gbl.FileBrowser.Clipboard.IsThisFile ? "LIGHT_GREEN" : + The_GetColorRows ()); + Frm_EndForm (); + } + else + { + /***** Write name of the folder *****/ + if ((Level == 1) && + (Gbl.FileBrowser.Type == Brw_ADMI_ASG_USR || + Gbl.FileBrowser.Type == Brw_ADMI_ASG_CRS)) + HTM_SPAN_Begin ("title=\"%s\"",Gbl.FileBrowser.Asg.Title); - /***** End cell *****/ - HTM_DIV_End (); + HTM_STRONG_Begin (); + HTM_Txt (FileNameToShow); + HTM_STRONG_End (); + HTM_NBSP (); - HTM_TD_End (); - } - else // File or link - { - HTM_TD_Begin (Gbl.FileBrowser.Clipboard.IsThisFile ? "class=\"%s LM LIGHT_GREEN\" style=\"width:99%%;\"" : - "class=\"%s LM\" style=\"width:99%%;\"", - Gbl.FileBrowser.TxtStyle); + if ((Level == 1) && + (Gbl.FileBrowser.Type == Brw_ADMI_ASG_USR || + Gbl.FileBrowser.Type == Brw_ADMI_ASG_CRS)) + HTM_SPAN_End (); + } - HTM_NBSP (); + /***** End cell *****/ + HTM_DIV_End (); - Frm_BeginForm (Brw_ActDowFile[Gbl.FileBrowser.Type]); - Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk); + HTM_TD_End (); + break; + case Brw_IS_FILE: + case Brw_IS_LINK: + HTM_TD_Begin (Gbl.FileBrowser.Clipboard.IsThisFile ? "class=\"%s LM LIGHT_GREEN\" style=\"width:99%%;\"" : + "class=\"%s LM\" style=\"width:99%%;\"", + Gbl.FileBrowser.TxtStyle); - /* Link to the form and to the file */ - HTM_BUTTON_OnSubmit_Begin ((Gbl.FileBrowser.Type == Brw_SHOW_MRK_CRS || - Gbl.FileBrowser.Type == Brw_SHOW_MRK_GRP) ? Txt_Check_marks_in_the_file : - Txt_Download, - "BT_LINK FILENAME",NULL); - HTM_Txt (FileNameToShow); - HTM_BUTTON_End (); + HTM_NBSP (); - Frm_EndForm (); + Frm_BeginForm (Brw_ActDowFile[Gbl.FileBrowser.Type]); + Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk); - /* Put icon to make public/private file */ - if (IsPublic) - Ico_PutIconOff ("unlock.svg",Ico_GREEN, - Txt_Public_open_educational_resource_OER_for_everyone); + /* Link to the form and to the file */ + HTM_BUTTON_OnSubmit_Begin ((Gbl.FileBrowser.Type == Brw_SHOW_MRK_CRS || + Gbl.FileBrowser.Type == Brw_SHOW_MRK_GRP) ? Txt_Check_marks_in_the_file : + Txt_Download, + "BT_LINK FILENAME",NULL); + HTM_Txt (FileNameToShow); + HTM_BUTTON_End (); - HTM_TD_End (); + Frm_EndForm (); + + /* Put icon to make public/private file */ + if (IsPublic) + Ico_PutIconOff ("unlock.svg",Ico_GREEN, + Txt_Public_open_educational_resource_OER_for_everyone); + + HTM_TD_End (); + break; + default: + break; } } @@ -5399,7 +5399,7 @@ static void Brw_WriteDatesAssignment (void) HTM_TD_Begin ("colspan=\"2\" class=\"%s RM %s\"", Gbl.FileBrowser.Asg.Open ? "ASG_LST_DATE_GREEN" : "ASG_LST_DATE_RED", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (Gbl.FileBrowser.Asg.AsgCod > 0) { @@ -5451,13 +5451,13 @@ static void Brw_WriteFileSizeAndDate (struct FileMetadata *FileMetadata) else FileSizeStr[0] = '\0'; HTM_TD_Begin ("class=\"%s RM %s\"", - Gbl.FileBrowser.TxtStyle,Gbl.ColorRows[Gbl.RowEvenOdd]); + Gbl.FileBrowser.TxtStyle,The_GetColorRows ()); HTM_TxtF (" %s",FileSizeStr); HTM_TD_End (); /***** Write the date *****/ HTM_TD_Begin ("class=\"%s RM %s\"", - Gbl.FileBrowser.TxtStyle,Gbl.ColorRows[Gbl.RowEvenOdd]); + Gbl.FileBrowser.TxtStyle,The_GetColorRows ()); HTM_NBSP (); if (Gbl.FileBrowser.FilFolLnk.Type == Brw_IS_FILE || Gbl.FileBrowser.FilFolLnk.Type == Brw_IS_LINK) @@ -5504,7 +5504,7 @@ static void Brw_WriteFileOrFolderPublisher (unsigned Level,long UsrCod) Usr_DONT_GET_ROLE_IN_CURRENT_CRS); } - HTM_TD_Begin ("class=\"BM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ()); if (ShowUsr) /***** Show photo *****/ @@ -7864,7 +7864,7 @@ bool Brw_CheckIfFileOrFolderIsSetAsHiddenInDB (Brw_FileType_t FileType,const cha void Brw_ShowFileMetadata (void) { - extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_The_file_of_folder_no_longer_exists_or_is_now_hidden; extern const char *Txt_Filename; extern const char *Txt_File_size; @@ -8033,7 +8033,7 @@ void Brw_ShowFileMetadata (void) Frm_LabelColumn ("RT",NULL,Txt_Filename); - HTM_TD_Begin ("class=\"%s LB\"",The_ClassDat[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"LB %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); Brw_WriteSmallLinkToDownloadFile (URL,&FileMetadata,FileNameToShow); HTM_TD_End (); @@ -8044,7 +8044,7 @@ void Brw_ShowFileMetadata (void) Frm_LabelColumn ("RT",NULL,Txt_Uploaded_by); - HTM_TD_Begin ("class=\"%s LB\"",The_ClassDat[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"LB %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); if (FileHasPublisher) { /* Show photo */ @@ -8073,7 +8073,7 @@ void Brw_ShowFileMetadata (void) Frm_LabelColumn ("RT",NULL,Txt_File_size); - HTM_TD_Begin ("class=\"%s LB\"",The_ClassDat[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"LB %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Txt (FileSizeStr); HTM_TD_End (); @@ -8084,8 +8084,8 @@ void Brw_ShowFileMetadata (void) Frm_LabelColumn ("RT",NULL,Txt_Date_of_creation); - HTM_TD_Begin ("id=\"filedate\" class=\"%s LB\"", - The_ClassDat[Gbl.Prefs.Theme]); + HTM_TD_Begin ("id=\"filedate\" class=\"LB %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme]); Dat_WriteLocalDateHMSFromUTC ("filedate",FileMetadata.Time, Gbl.Prefs.DateFormat,Dat_SEPARATOR_COMMA, true,true,true,0x7); @@ -8102,7 +8102,7 @@ void Brw_ShowFileMetadata (void) Txt_Availability); /* Data */ - HTM_TD_Begin ("class=\"%s LT\"",The_ClassDat[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"LT %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); if (ICanChangePublic) // I can change file to public { HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, @@ -8131,7 +8131,7 @@ void Brw_ShowFileMetadata (void) Txt_License); /* Data */ - HTM_TD_Begin ("class=\"%s LT\"",The_ClassDat[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"LT %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); if (ICanEdit) // I can edit file properties { HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, @@ -8160,7 +8160,7 @@ void Brw_ShowFileMetadata (void) Frm_LabelColumn ("RT",NULL,Txt_My_views); - HTM_TD_Begin ("class=\"%s LB\"",The_ClassDat[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"LB %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Unsigned (FileMetadata.NumMyViews); HTM_TD_End (); @@ -8172,7 +8172,7 @@ void Brw_ShowFileMetadata (void) Frm_LabelColumn ("RT",NULL,Txt_Identified_views); - HTM_TD_Begin ("class=\"%s LB\"",The_ClassDat[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"LB %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_TxtF ("%u ",FileMetadata.NumViewsFromLoggedUsrs); HTM_TxtF ("(%u %s)", FileMetadata.NumLoggedUsrs, @@ -8187,7 +8187,7 @@ void Brw_ShowFileMetadata (void) Frm_LabelColumn ("RT",NULL,Txt_Public_views); - HTM_TD_Begin ("class=\"%s LB\"",The_ClassDat[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"LB %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Unsigned (FileMetadata.NumPublicViews); HTM_TD_End (); @@ -8584,7 +8584,7 @@ static void Brw_WriteSmallLinkToDownloadFile (const char *URL, struct FileMetadata *FileMetadata, const char *FileNameToShow) { - extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Check_marks_in_the_file; /***** On the screen a link will be shown to download the file *****/ @@ -8617,7 +8617,7 @@ static void Brw_WriteSmallLinkToDownloadFile (const char *URL, { /* Put anchor and filename */ HTM_A_Begin ("href=\"%s\" class=\"%s\" title=\"%s\" target=\"_blank\"", - URL,The_ClassDat[Gbl.Prefs.Theme],FileNameToShow); + URL,The_ClassDatStrong[Gbl.Prefs.Theme],FileNameToShow); HTM_Txt (FileNameToShow); HTM_A_End (); } @@ -9978,7 +9978,7 @@ static void Brw_WriteRowDocData (unsigned *NumDocsNotHidden,MYSQL_ROW row) /***** Set row color *****/ BgColor = (CrsCod > 0 && CrsCod == Gbl.Hierarchy.Crs.CrsCod) ? "BG_HIGHLIGHT" : - Gbl.ColorRows[Gbl.RowEvenOdd]; + The_GetColorRows (); HTM_TR_Begin (NULL); diff --git a/swad_building.c b/swad_building.c index 3305f54a..9939875a 100644 --- a/swad_building.c +++ b/swad_building.c @@ -100,7 +100,6 @@ void Bld_SeeBuildings (void) struct Bld_Buildings Buildings; Bld_Order_t Order; unsigned NumBuilding; - unsigned RowEvenOdd; /***** Trivial check *****/ if (Gbl.Hierarchy.Ctr.CtrCod <= 0) // No center selected @@ -143,27 +142,28 @@ void Bld_SeeBuildings (void) HTM_TR_End (); /***** Write list of buildings *****/ - for (NumBuilding = 0, RowEvenOdd = 1; + for (NumBuilding = 0; NumBuilding < Buildings.Num; - NumBuilding++, RowEvenOdd = 1 - RowEvenOdd) + NumBuilding++, Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd) { HTM_TR_Begin (NULL); /* Short name */ HTM_TD_Begin ("class=\"%s LM %s\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.ColorRows[RowEvenOdd]); + The_ClassDat[Gbl.Prefs.Theme], + The_GetColorRows ()); HTM_Txt (Buildings.Lst[NumBuilding].ShrtName); HTM_TD_End (); /* Full name */ HTM_TD_Begin ("class=\"%s LM %s\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.ColorRows[RowEvenOdd]); + The_ClassDat[Gbl.Prefs.Theme],The_GetColorRows ()); HTM_Txt (Buildings.Lst[NumBuilding].FullName); HTM_TD_End (); /* Location */ HTM_TD_Begin ("class=\"%s LM %s\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.ColorRows[RowEvenOdd]); + The_ClassDat[Gbl.Prefs.Theme],The_GetColorRows ()); HTM_Txt (Buildings.Lst[NumBuilding].Location); HTM_TD_End (); diff --git a/swad_center.c b/swad_center.c index 82db0ac1..d7f05964 100644 --- a/swad_center.c +++ b/swad_center.c @@ -146,7 +146,7 @@ void Ctr_SeeCtrWithPendingDegs (void) /* Get center code (row[0]) */ Ctr.CtrCod = Str_ConvertStrCodToLongCod (row[0]); BgColor = (Ctr.CtrCod == Gbl.Hierarchy.Ctr.CtrCod) ? "BG_HIGHLIGHT" : - Gbl.ColorRows[Gbl.RowEvenOdd]; + The_GetColorRows (); /* Get data of center */ Ctr_GetDataOfCenterByCod (&Ctr); @@ -353,7 +353,7 @@ static void Ctr_ListOneCenterForSeeing (struct Ctr_Center *Ctr,unsigned NumCtr) TxtClassStrong = The_ClassDatStrong[Gbl.Prefs.Theme]; } BgColor = (Ctr->CtrCod == Gbl.Hierarchy.Ctr.CtrCod) ? "BG_HIGHLIGHT" : - Gbl.ColorRows[Gbl.RowEvenOdd]; + The_GetColorRows (); HTM_TR_Begin (NULL); diff --git a/swad_changelog.h b/swad_changelog.h index 1f92a575..9d9b8b3a 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -606,10 +606,11 @@ TODO: Fix bug: error al enviar un mensaje a dos recipientes, error on duplicate TODO: Attach pdf files in multimedia. */ -#define Log_PLATFORM_VERSION "SWAD 21.83.8 (2022-03-16)" +#define Log_PLATFORM_VERSION "SWAD 21.84 (2022-03-19)" #define CSS_FILE "swad21.83.8.css" #define JS_FILE "swad21.78.2.js" /* + Version 21.84: Mar 19, 2022 Code refactoring on row colors. (323626 lines) Version 21.83.8: Mar 16, 2022 Working on design of dark theme. (323610 lines) Version 21.83.7: Mar 16, 2022 Code refactoring in forms (input image). (323585 lines) Version 21.83.6: Mar 15, 2022 Working on design of dark theme. (323581 lines) diff --git a/swad_connected.c b/swad_connected.c index a3152fd8..7688db5c 100644 --- a/swad_connected.c +++ b/swad_connected.c @@ -599,7 +599,7 @@ static void Con_WriteRowConnectedUsrOnRightColumn (Rol_Role_t Role) HTM_TR_Begin (NULL); /***** Show photo *****/ - HTM_TD_Begin ("class=\"CON_PHOTO %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"CON_PHOTO %s\"",The_GetColorRows ()); Pho_ShowUsrPhotoIfAllowed (UsrDat, ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM, true); @@ -608,7 +608,7 @@ static void Con_WriteRowConnectedUsrOnRightColumn (Rol_Role_t Role) /***** Write full name and link *****/ ClassTxt = (Gbl.Usrs.Connected.Lst[Gbl.Usrs.Connected.NumUsr].ThisCrs) ? "CON_NAME_NARROW CON_CRS" : "CON_NAME_NARROW CON_NO_CRS"; - HTM_TD_Begin ("class=\"%s %s\"",ClassTxt,Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"%s %s\"",ClassTxt,The_GetColorRows ()); // The form must be unique because // the list of connected users // is dynamically updated via AJAX @@ -630,7 +630,7 @@ static void Con_WriteRowConnectedUsrOnRightColumn (Rol_Role_t Role) /***** Write time from last access *****/ ClassTxt = (Gbl.Usrs.Connected.Lst[Gbl.Usrs.Connected.NumUsr].ThisCrs ? "CON_SINCE CON_CRS" : "CON_SINCE CON_NO_CRS"); - HTM_TD_Begin ("class=\"%s %s\"",ClassTxt,Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"%s %s\"",ClassTxt,The_GetColorRows ()); HTM_DIV_Begin ("id=\"hm%u\"",Gbl.Usrs.Connected.NumUsr); // Used for automatic update, only when displayed on right column Dat_WriteHoursMinutesSecondsFromSeconds (Gbl.Usrs.Connected.Lst[Gbl.Usrs.Connected.NumUsr].TimeDiff); HTM_DIV_End (); // Used for automatic update, only when displayed on right column @@ -707,7 +707,7 @@ static void Con_ShowConnectedUsrsCurrentLocationOneByOneOnMainZone (Rol_Role_t R HTM_TR_Begin (NULL); /***** Show photo *****/ - HTM_TD_Begin ("class=\"CON_PHOTO %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"CON_PHOTO %s\"",The_GetColorRows ()); Pho_ShowUsrPhotoIfAllowed (&UsrDat, ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM, false); @@ -717,7 +717,7 @@ static void Con_ShowConnectedUsrsCurrentLocationOneByOneOnMainZone (Rol_Role_t R ClassTxt = ThisCrs ? "CON_NAME_WIDE CON_CRS" : "CON_NAME_WIDE CON_NO_CRS"; HTM_TD_Begin ("class=\"%s %s\"", - ClassTxt,Gbl.ColorRows[Gbl.RowEvenOdd]); + ClassTxt,The_GetColorRows ()); if (PutLinkToRecord) { @@ -743,7 +743,7 @@ static void Con_ShowConnectedUsrsCurrentLocationOneByOneOnMainZone (Rol_Role_t R ClassTxt = ThisCrs ? "CON_SINCE CON_CRS" : "CON_SINCE CON_NO_CRS"; HTM_TD_Begin ("class=\"%s %s\"", - ClassTxt,Gbl.ColorRows[Gbl.RowEvenOdd]); + ClassTxt,The_GetColorRows ()); Dat_WriteHoursMinutesSecondsFromSeconds (TimeDiff); HTM_TD_End (); diff --git a/swad_country.c b/swad_country.c index 86f729f2..1388b7ff 100644 --- a/swad_country.c +++ b/swad_country.c @@ -144,7 +144,7 @@ void Cty_SeeCtyWithPendingInss (void) /* Get country code (row[0]) */ Cty.CtyCod = Str_ConvertStrCodToLongCod (row[0]); BgColor = (Cty.CtyCod == Gbl.Hierarchy.Cty.CtyCod) ? "BG_HIGHLIGHT" : - Gbl.ColorRows[Gbl.RowEvenOdd]; + The_GetColorRows (); /* Get data of country */ Cty_GetDataOfCountryByCod (&Cty); @@ -408,7 +408,7 @@ static void Cty_ListOneCountryForSeeing (struct Cty_Countr *Cty,unsigned NumCty) const char *BgColor; BgColor = (Cty->CtyCod == Gbl.Hierarchy.Cty.CtyCod) ? "BG_HIGHLIGHT" : - Gbl.ColorRows[Gbl.RowEvenOdd]; + The_GetColorRows (); HTM_TR_Begin (NULL); diff --git a/swad_course.c b/swad_course.c index fe39d891..2319cd8f 100644 --- a/swad_course.c +++ b/swad_course.c @@ -958,7 +958,7 @@ static bool Crs_ListCoursesOfAYearForSeeing (unsigned Year) /* Check if this course is one of my courses */ BgColor = (Enr_CheckIfIBelongToCrs (Crs->CrsCod)) ? "BG_HIGHLIGHT" : - Gbl.ColorRows[Gbl.RowEvenOdd]; + The_GetColorRows (); HTM_TR_Begin (NULL); @@ -2410,7 +2410,6 @@ static void Crs_WriteRowCrsData (unsigned NumCrs,MYSQL_ROW row,bool WriteColumnA const char *ClassTxt; const char *BgColor; bool Accepted; - static unsigned RowEvenOdd = 1; /* row[0]: deg_degrees.DegCod row[1]: crs_courses.CrsCod @@ -2440,7 +2439,7 @@ static void Crs_WriteRowCrsData (unsigned NumCrs,MYSQL_ROW row,bool WriteColumnA ClassTxt = NumUsrs ? The_ClassDatStrong[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme]; BgColor = (CrsCod == Gbl.Hierarchy.Crs.CrsCod) ? "BG_HIGHLIGHT" : - Gbl.ColorRows[RowEvenOdd]; + The_GetColorRows (); /***** Begin row *****/ HTM_TR_Begin (NULL); @@ -2511,7 +2510,7 @@ static void Crs_WriteRowCrsData (unsigned NumCrs,MYSQL_ROW row,bool WriteColumnA HTM_TR_End (); - RowEvenOdd = 1 - RowEvenOdd; + Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd; } /*****************************************************************************/ diff --git a/swad_degree.c b/swad_degree.c index 0b247cfc..21c1f571 100644 --- a/swad_degree.c +++ b/swad_degree.c @@ -148,7 +148,7 @@ void Deg_SeeDegWithPendingCrss (void) /* Get degree code (row[0]) */ Deg.DegCod = Str_ConvertStrCodToLongCod (row[0]); BgColor = (Deg.DegCod == Gbl.Hierarchy.Deg.DegCod) ? "BG_HIGHLIGHT" : - Gbl.ColorRows[Gbl.RowEvenOdd]; + The_GetColorRows (); /* Get data of degree */ Deg_GetDataOfDegreeByCod (&Deg); @@ -822,7 +822,7 @@ static void Deg_ListOneDegreeForSeeing (struct Deg_Degree *Deg,unsigned NumDeg) TxtClassStrong = The_ClassDatStrong[Gbl.Prefs.Theme]; } BgColor = (Deg->DegCod == Gbl.Hierarchy.Deg.DegCod) ? "BG_HIGHLIGHT" : - Gbl.ColorRows[Gbl.RowEvenOdd]; + The_GetColorRows (); /***** Begin table row *****/ HTM_TR_Begin (NULL); diff --git a/swad_degree_type.c b/swad_degree_type.c index 412a5b58..c348ea96 100644 --- a/swad_degree_type.c +++ b/swad_degree_type.c @@ -326,7 +326,7 @@ static void DegTyp_ListDegreeTypesForSeeing (void) { BgColor = (Gbl.DegTypes.Lst[NumDegTyp].DegTypCod == Gbl.Hierarchy.Deg.DegTypCod) ? "BG_HIGHLIGHT" : - Gbl.ColorRows[Gbl.RowEvenOdd]; + The_GetColorRows (); /* Begin table row */ HTM_TR_Begin (NULL); diff --git a/swad_duplicate.c b/swad_duplicate.c index 092f5dfd..4664b284 100644 --- a/swad_duplicate.c +++ b/swad_duplicate.c @@ -139,7 +139,7 @@ void Dup_ListDuplicateUsrs (void) Usr_WriteHeaderFieldsUsrDat (false); // Columns for the data /***** List users *****/ - for (NumUsr = 0, Gbl.RowEvenOdd = 0; + for (NumUsr = 0; NumUsr < NumUsrs; NumUsr++) { @@ -164,13 +164,13 @@ void Dup_ListDuplicateUsrs (void) HTM_TR_Begin (NULL); HTM_TD_Begin ("colspan=\"2\" class=\"%s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); HTM_TD_Begin ("colspan=\"%u\" class=\"%s LM %s\"", Usr_NUM_MAIN_FIELDS_DATA_USR - 2, The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); /* Write number of informants (row[1]) if greater than 1 */ if (sscanf (row[1],"%u",&NumInformants) != 1) @@ -260,7 +260,7 @@ static void Dup_ListSimilarUsrs (void) Usr_WriteHeaderFieldsUsrDat (false); // Columns for the data /***** List users *****/ - for (NumUsr = 0, Gbl.RowEvenOdd = 0; + for (NumUsr = 0; NumUsr < NumUsrs; NumUsr++) { @@ -284,12 +284,12 @@ static void Dup_ListSimilarUsrs (void) HTM_TR_Begin (NULL); HTM_TD_Begin ("colspan=\"2\" class=\"%s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); HTM_TD_Begin ("colspan=\"%u\" class=\"%s\"", Usr_NUM_MAIN_FIELDS_DATA_USR-2, - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); /* Show details of user's profile */ Prf_ShowDetailsUserProfile (&UsrDat); /* Write all courses this user belongs to */ @@ -304,12 +304,12 @@ static void Dup_ListSimilarUsrs (void) HTM_TR_Begin (NULL); HTM_TD_Begin ("colspan=\"2\" class=\"%s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); HTM_TD_Begin ("colspan=\"%u\" class=\"LT %s\"", Usr_NUM_MAIN_FIELDS_DATA_USR-2, - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); /* Button to remove this user */ if (Acc_CheckIfICanEliminateAccount (UsrDat.UsrCod)) Dup_PutButtonToEliminateUsrAccount (&UsrDat); diff --git a/swad_exam.c b/swad_exam.c index 4552878c..e6935ce8 100644 --- a/swad_exam.c +++ b/swad_exam.c @@ -505,7 +505,7 @@ static void Exa_ShowOneExam (struct Exa_Exams *Exams, HTM_TD_Begin ("rowspan=\"2\" class=\"CONTEXT_COL\""); else HTM_TD_Begin ("rowspan=\"2\" class=\"CONTEXT_COL %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); /* Icons to remove/edit this exam */ Exa_PutIconsToRemEditOneExam (Exams,Exam,Anchor); @@ -530,7 +530,7 @@ static void Exa_ShowOneExam (struct Exa_Exams *Exams, Id,Color); else HTM_TD_Begin ("id=\"%s\" class=\"%s LT %s\"", - Id,Color,Gbl.ColorRows[Gbl.RowEvenOdd]); + Id,Color,The_GetColorRows ()); if (Exam->TimeUTC[Dat_STR_TIME]) Dat_WriteLocalDateHMSFromUTC (Id,Exam->TimeUTC[StartEndTime], Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, @@ -548,7 +548,7 @@ static void Exa_ShowOneExam (struct Exa_Exams *Exams, HTM_TD_Begin ("class=\"%s LT %s\"", Exam->Hidden ? "ASG_TITLE_LIGHT": "ASG_TITLE", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); /* Exam title */ Exams->ExaCod = Exam->ExaCod; @@ -583,7 +583,7 @@ static void Exa_ShowOneExam (struct Exa_Exams *Exams, HTM_TD_Begin ("class=\"%s RT %s\"", Exam->Hidden ? "ASG_TITLE_LIGHT": "ASG_TITLE", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Exams->ExaCod = Exam->ExaCod; Frm_BeginForm (ActSeeExa); @@ -608,7 +608,7 @@ static void Exa_ShowOneExam (struct Exa_Exams *Exams, HTM_TD_Begin ("colspan=\"2\" class=\"LT\""); else HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Exa_WriteAuthor (Exam); HTM_TD_End (); @@ -617,7 +617,7 @@ static void Exa_ShowOneExam (struct Exa_Exams *Exams, HTM_TD_Begin ("colspan=\"2\" class=\"LT\""); else HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Exa_DB_GetExamTxt (Exam->ExaCod,Txt); Str_ChangeFormat (Str_FROM_HTML,Str_TO_RIGOROUS_HTML, Txt,Cns_MAX_BYTES_TEXT,false); // Convert from HTML to rigorous HTML diff --git a/swad_exam_log.c b/swad_exam_log.c index d3da0b80..e8e1c617 100644 --- a/swad_exam_log.c +++ b/swad_exam_log.c @@ -327,7 +327,7 @@ void ExaLog_ShowExamLog (const struct ExaPrn_Print *Print) HTM_TD_Begin ("class=\"%s %s RT\"", UsrCouldAnswer ? The_ClassDatSmall[Gbl.Prefs.Theme] : The_ClassDatSmallLight[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Unsigned (NumClick + 1); HTM_TD_End (); @@ -337,7 +337,7 @@ void ExaLog_ShowExamLog (const struct ExaPrn_Print *Print) HTM_TD_Begin ("id=\"%s\" class=\"%s %s LT\"", Id, Class[Action], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Dat_WriteLocalDateHMSFromUTC (Id,ClickTimeUTC, Gbl.Prefs.DateFormat,Dat_SEPARATOR_COMMA, true,true,true,0x7); @@ -346,13 +346,13 @@ void ExaLog_ShowExamLog (const struct ExaPrn_Print *Print) /* Write action */ HTM_TD_Begin ("class=\"%s %s LT\"", - Class[Action],Gbl.ColorRows[Gbl.RowEvenOdd]); + Class[Action],The_GetColorRows ()); HTM_Txt (Txt_EXAM_LOG_ACTIONS[Action]); HTM_TD_End (); /* Write number of question */ HTM_TD_Begin ("class=\"%s %s RT\"", - Class[Action],Gbl.ColorRows[Gbl.RowEvenOdd]); + Class[Action],The_GetColorRows ()); if (QstInd >= 0) HTM_Unsigned ((unsigned) QstInd + 1); HTM_TD_End (); @@ -361,14 +361,14 @@ void ExaLog_ShowExamLog (const struct ExaPrn_Print *Print) HTM_TD_Begin ("class=\"%s %s CT\"", UsrCouldAnswer ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] : The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Txt (UsrCouldAnswer ? "✓" : "✗"); HTM_TD_End (); /* Write IP */ HTM_TD_Begin ("class=\"%s %s LT\"", - Class[Action],Gbl.ColorRows[Gbl.RowEvenOdd]); + Class[Action],The_GetColorRows ()); Length = strlen (IP); if (Length > 6) { @@ -387,7 +387,7 @@ void ExaLog_ShowExamLog (const struct ExaPrn_Print *Print) /* Write session id */ HTM_TD_Begin ("class=\"%s %s LT\"", - Class[Action],Gbl.ColorRows[Gbl.RowEvenOdd]); + Class[Action],The_GetColorRows ()); if (SessionId[0]) { Length = strlen (SessionId); @@ -409,7 +409,7 @@ void ExaLog_ShowExamLog (const struct ExaPrn_Print *Print) /* Write user agent (row[6]) */ HTM_TD_Begin ("class=\"%s %s LT\"", - Class[Action],Gbl.ColorRows[Gbl.RowEvenOdd]); + Class[Action],The_GetColorRows ()); if (UserAgent[0]) HTM_Txt (UserAgent); HTM_TD_End (); diff --git a/swad_exam_print.c b/swad_exam_print.c index a76b2995..af2614c9 100644 --- a/swad_exam_print.c +++ b/swad_exam_print.c @@ -714,7 +714,7 @@ static void ExaPrn_WriteQstAndAnsToFill (const struct ExaPrn_Print *Print, /***** Title for this set *****/ HTM_TR_Begin (NULL); - HTM_TD_Begin ("colspan=\"2\" class=\"%s\"",Gbl.ColorRows[0]); + HTM_TD_Begin ("colspan=\"2\" class=\"%s\"",The_GetColorRows ()); ExaSet_WriteSetTitle (&CurrentSet); HTM_TD_End (); HTM_TR_End (); diff --git a/swad_exam_result.c b/swad_exam_result.c index 4809e1f8..9eff36cd 100644 --- a/swad_exam_result.c +++ b/swad_exam_result.c @@ -612,7 +612,7 @@ static void ExaRes_ListExamsToSelect (struct Exa_Exams *Exams) HTM_TR_End (); /***** List the sessions *****/ - for (NumExam = 0, UniqueId = 1, Gbl.RowEvenOdd = 0; + for (NumExam = 0, UniqueId = 1; NumExam < Exams->Num; NumExam++, UniqueId++, Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd) { @@ -626,7 +626,7 @@ static void ExaRes_ListExamsToSelect (struct Exa_Exams *Exams) HTM_TD_Begin ("class=\"%s CT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_INPUT_CHECKBOX ("ExaCod",HTM_DONT_SUBMIT_ON_CHANGE, "id=\"Gam%u\" value=\"%ld\"%s", NumExam,Exams->Lst[NumExam].ExaCod, @@ -636,7 +636,7 @@ static void ExaRes_ListExamsToSelect (struct Exa_Exams *Exams) HTM_TD_Begin ("class=\"%s RT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_LABEL_Begin ("for=\"Gam%u\"",NumExam); HTM_TxtF ("%u:",NumExam + 1); HTM_LABEL_End (); @@ -644,7 +644,7 @@ static void ExaRes_ListExamsToSelect (struct Exa_Exams *Exams) HTM_TD_Begin ("class=\"%s LT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Txt (Exam.Title); HTM_TD_End (); @@ -853,7 +853,7 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, Err_NotEnoughMemoryExit (); HTM_TD_Begin ("id =\"%s\" class=\"%s LT %s\"", Id,The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Dat_WriteLocalDateHMSFromUTC (Id,Print.TimeUTC[StartEndTime], Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,false,0x7); @@ -864,7 +864,7 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, /* Write session title */ HTM_TD_Begin ("class=\"%s LT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Txt (Session.Title); HTM_TD_End (); @@ -889,7 +889,7 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, /* Write total number of questions */ HTM_TD_Begin ("class=\"%s RT LINE_LEFT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanView.Score) HTM_Unsigned (Print.NumQsts.All); else @@ -898,7 +898,7 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, /* Valid questions */ HTM_TD_Begin ("class=\"DAT_GREEN RT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanView.Score) { if (Print.NumQsts.Valid.Total) @@ -912,7 +912,7 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, /* Invalid questions */ HTM_TD_Begin ("class=\"DAT_RED RT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanView.Score) { NumQstsInvalid = Print.NumQsts.All - Print.NumQsts.Valid.Total; @@ -928,7 +928,7 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, /* Write number of correct questions */ HTM_TD_Begin ("class=\"%s RT LINE_LEFT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanView.Score) { if (Print.NumQsts.Valid.Correct) @@ -943,7 +943,7 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, /* Write number of wrong questions */ HTM_TD_Begin ("class=\"%s RT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanView.Score) { if (Print.NumQsts.Valid.Wrong.Negative) @@ -957,7 +957,7 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, HTM_TD_Begin ("class=\"%s RT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanView.Score) { if (Print.NumQsts.Valid.Wrong.Zero) @@ -971,7 +971,7 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, HTM_TD_Begin ("class=\"%s RT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanView.Score) { if (Print.NumQsts.Valid.Wrong.Positive) @@ -986,7 +986,7 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, /* Write number of blank questions */ HTM_TD_Begin ("class=\"%s RT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanView.Score) { if (Print.NumQsts.Valid.Blank) @@ -1001,7 +1001,7 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, /* Write score valid (taking into account only valid questions) */ HTM_TD_Begin ("class=\"%s RT LINE_LEFT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanView.Score) { HTM_Double2Decimals (Print.Score.Valid); @@ -1015,7 +1015,7 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, /* Write average score per question (taking into account only valid questions) */ HTM_TD_Begin ("class=\"%s RT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanView.Score) HTM_Double2Decimals (Print.NumQsts.Valid.Total ? Print.Score.Valid / (double) Print.NumQsts.Valid.Total : @@ -1027,7 +1027,7 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, /* Write grade over maximum grade (taking into account only valid questions) */ HTM_TD_Begin ("class=\"%s RT LINE_LEFT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanView.Score) { Grade = TstPrn_ComputeGrade (Print.NumQsts.Valid.Total,Print.Score.Valid,Exam.MaxGrade); @@ -1040,7 +1040,7 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, /* Link to show this result */ HTM_TD_Begin ("class=\"RT LINE_LEFT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanView.Result) { Exams->ExaCod = Session.ExaCod; @@ -1075,32 +1075,32 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, { /* Columns for dates and title */ HTM_TD_Begin ("colspan=\"3\" class=\"LINE_BOTTOM %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); /* Columns for questions */ HTM_TD_Begin ("colspan=\"3\" class=\"LINE_BOTTOM LINE_LEFT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); /* Columns for answers */ HTM_TD_Begin ("colspan=\"5\" class=\"LINE_BOTTOM LINE_LEFT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); /* Columns for score */ HTM_TD_Begin ("colspan=\"2\" class=\"LINE_BOTTOM LINE_LEFT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); /* Column for grade */ HTM_TD_Begin ("class=\"LINE_BOTTOM LINE_LEFT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); /* Column for link to show the result */ HTM_TD_Begin ("class=\"LINE_BOTTOM LINE_LEFT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); } @@ -1129,7 +1129,7 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, /***** Row title *****/ HTM_TD_Begin ("colspan=\"3\" class=\"RM %s LINE_TOP LINE_BOTTOM %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TxtColonNBSP (Txt_Sessions); HTM_Unsigned (NumResults); HTM_TD_End (); @@ -1137,13 +1137,13 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, /***** Write total number of questions *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Unsigned (NumTotalQsts->All); HTM_TD_End (); /***** Write total number of valid questions *****/ HTM_TD_Begin ("class=\"RT DAT_GREEN LINE_TOP LINE_BOTTOM %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (NumTotalQsts->Valid.Total) HTM_Unsigned (NumTotalQsts->Valid.Total); else @@ -1152,7 +1152,7 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, /***** Write total number of invalid questions *****/ HTM_TD_Begin ("class=\"DAT_RED RT LINE_TOP LINE_BOTTOM %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); NumTotalQstsInvalid = NumTotalQsts->All - NumTotalQsts->Valid.Total; if (NumTotalQstsInvalid) HTM_Unsigned (NumTotalQstsInvalid); @@ -1163,7 +1163,7 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, /***** Write number of correct questions *****/ HTM_TD_Begin ("class=\"RT %s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (NumTotalQsts->Valid.Correct) HTM_Unsigned (NumTotalQsts->Valid.Correct); else @@ -1173,7 +1173,7 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, /***** Write number of wrong questions *****/ HTM_TD_Begin ("class=\"RT %s LINE_TOP LINE_BOTTOM %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (NumTotalQsts->Valid.Wrong.Negative) HTM_Unsigned (NumTotalQsts->Valid.Wrong.Negative); else @@ -1182,7 +1182,7 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, HTM_TD_Begin ("class=\"RT %s LINE_TOP LINE_BOTTOM %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (NumTotalQsts->Valid.Wrong.Zero) HTM_Unsigned (NumTotalQsts->Valid.Wrong.Zero); else @@ -1191,7 +1191,7 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, HTM_TD_Begin ("class=\"RT %s LINE_TOP LINE_BOTTOM %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (NumTotalQsts->Valid.Wrong.Positive) HTM_Unsigned (NumTotalQsts->Valid.Wrong.Positive); else @@ -1201,7 +1201,7 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, /***** Write number of blank questions *****/ HTM_TD_Begin ("class=\"RT %s LINE_TOP LINE_BOTTOM %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (NumTotalQsts->Valid.Blank) HTM_Unsigned (NumTotalQsts->Valid.Blank); else @@ -1211,7 +1211,7 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, /***** Write total valid score *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Double2Decimals (TotalScore->Valid); HTM_Txt ("/"); HTM_Unsigned (NumTotalQsts->Valid.Total); @@ -1220,7 +1220,7 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, /***** Write average valid score per valid question *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Double2Decimals (NumTotalQsts->Valid.Total ? TotalScore->Valid / (double) NumTotalQsts->Valid.Total : 0.0); @@ -1230,14 +1230,14 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, /***** Write total grade *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Double2Decimals (TotalGrade); HTM_TD_End (); /***** Last cell *****/ HTM_TD_Begin ("class=\"%s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); } @@ -1921,13 +1921,13 @@ static void ExaRes_WriteQstAndAnsExam (struct UsrData *UsrDat, HTM_TR_Begin (NULL); /***** Number of question and answer type *****/ - HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"RT %s\"",The_GetColorRows ()); Qst_WriteNumQst (QstInd + 1,ClassNumQst[Question->Validity]); Qst_WriteAnswerType (Question->Answer.Type,ClassAnswerType[Question->Validity]); HTM_TD_End (); /***** Stem, media and answers *****/ - HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ()); /* Stem */ Qst_WriteQstStem (Question->Stem,ClassTxt[Question->Validity], diff --git a/swad_exam_session.c b/swad_exam_session.c index c5e1d265..01e101e9 100644 --- a/swad_exam_session.c +++ b/swad_exam_session.c @@ -334,7 +334,7 @@ static void ExaSes_ListOneOrMoreSessions (struct Exa_Exams *Exams, { HTM_TR_Begin (NULL); HTM_TD_Begin ("colspan=\"6\" class=\"CT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); ExaSes_PutFormSession (&Session); // Form to edit existing session HTM_TD_End (); HTM_TR_End (); @@ -438,7 +438,7 @@ static void ExaSes_ListOneOrMoreSessionsIcons (struct Exa_Exams *Exams, Exams->SesCod = Session->SesCod; /***** Begin cell *****/ - HTM_TD_Begin ("class=\"BT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BT %s\"",The_GetColorRows ()); /***** Icon to remove the exam session *****/ Ico_PutContextualIconToRemove (ActReqRemExaSes,NULL, @@ -467,7 +467,7 @@ static void ExaSes_ListOneOrMoreSessionsIcons (struct Exa_Exams *Exams, static void ExaSes_ListOneOrMoreSessionsAuthor (const struct ExaSes_Session *Session) { /***** Session author (teacher) *****/ - HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ()); Usr_WriteAuthor1Line (Session->UsrCod,Session->Hidden); HTM_TD_End (); } @@ -495,7 +495,7 @@ static void ExaSes_ListOneOrMoreSessionsTimes (const struct ExaSes_Session *Sess if (asprintf (&Id,"exa_time_%u_%u",(unsigned) StartEndTime,UniqueId) < 0) Err_NotEnoughMemoryExit (); HTM_TD_Begin ("id=\"%s\" class=\"%s LT %s\"", - Id,Color,Gbl.ColorRows[Gbl.RowEvenOdd]); + Id,Color,The_GetColorRows ()); Dat_WriteLocalDateHMSFromUTC (Id,Session->TimeUTC[StartEndTime], Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,true,0x6); @@ -519,7 +519,7 @@ static void ExaSes_ListOneOrMoreSessionsTitleGrps (struct Exa_Exams *Exams, HTM_TD_Begin ("class=\"%s LT %s\"", Session->Hidden ? "ASG_TITLE_LIGHT": "ASG_TITLE", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); /***** Session title *****/ HTM_ARTICLE_Begin (Anchor); @@ -622,7 +622,7 @@ static void ExaSes_ListOneOrMoreSessionsResult (struct Exa_Exams *Exams, }; HTM_TD_Begin ("class=\"%s CT %s\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.ColorRows[Gbl.RowEvenOdd]); + The_ClassDat[Gbl.Prefs.Theme],The_GetColorRows ()); if (Function[Gbl.Usrs.Me.Role.Logged]) Function[Gbl.Usrs.Me.Role.Logged] (Exams,Session); diff --git a/swad_exam_set.c b/swad_exam_set.c index 22ecaf4c..c6502e0e 100644 --- a/swad_exam_set.c +++ b/swad_exam_set.c @@ -777,7 +777,7 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams, /***** Icons *****/ HTM_TD_Begin ("rowspan=\"2\" class=\"BT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); /* Put icon to remove the set */ if (ICanEditSets) @@ -820,12 +820,12 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams, /***** Index *****/ HTM_TD_Begin ("rowspan=\"2\" class=\"RT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Qst_WriteNumQst (Set.SetInd,"BIG_INDEX"); HTM_TD_End (); /***** Title *****/ - HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ()); HTM_ARTICLE_Begin (Anchor); if (ICanEditSets) { @@ -849,14 +849,14 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams, HTM_TD_End (); /***** Current number of questions in set *****/ - HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"RT %s\"",The_GetColorRows ()); HTM_SPAN_Begin ("class=\"EXA_SET_NUM_QSTS\""); HTM_Unsigned (Exa_DB_GetNumQstsInSet (Set.SetCod)); HTM_SPAN_End (); HTM_TD_End (); /***** Number of questions to appear in exam print *****/ - HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"RT %s\"",The_GetColorRows ()); if (ICanEditSets) { Frm_BeginFormAnchor (ActChgNumQstExaSet,Anchor); @@ -882,7 +882,7 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams, /***** Questions *****/ HTM_TD_Begin ("colspan=\"3\" class=\"LT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); /* List questions */ ExaSet_ListSetQuestions (Exams,Exam,&Set); @@ -1001,7 +1001,7 @@ static void ExaSet_ListOneOrMoreQuestionsForEdition (struct Exa_Exams *Exams, HTM_TR_Begin (NULL); /***** Icons *****/ - HTM_TD_Begin ("class=\"BT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BT %s\"",The_GetColorRows ()); /* Put icon to remove the question */ if (ICanEditQuestions) @@ -1213,13 +1213,13 @@ static void ExaSet_ListQuestionForEdition (struct Qst_Question *Question, }; /***** Number of question and answer type (row[1]) *****/ - HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"RT %s\"",The_GetColorRows ()); Qst_WriteNumQst (QstInd,ClassNumQst[Question->Validity]); Qst_WriteAnswerType (Question->Answer.Type,ClassAnswerType[Question->Validity]); HTM_TD_End (); /***** Write stem (row[3]) and media *****/ - HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ()); HTM_ARTICLE_Begin (Anchor); /* Write stem */ diff --git a/swad_follow.c b/swad_follow.c index 4c64cc34..3bc17b4c 100644 --- a/swad_follow.c +++ b/swad_follow.c @@ -679,7 +679,7 @@ static void Fol_WriteRowUsrToFollowOnRightColumn (struct UsrData *UsrDat) /***** Show user's photo *****/ HTM_TR_Begin (NULL); - HTM_TD_Begin ("class=\"CON_PHOTO %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"CON_PHOTO %s\"",The_GetColorRows ()); if (Visible) Pho_ShowUsrPhotoIfAllowed (UsrDat, ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM, @@ -688,7 +688,7 @@ static void Fol_WriteRowUsrToFollowOnRightColumn (struct UsrData *UsrDat) /***** User's name *****/ HTM_TD_Begin ("class=\"CON_NAME_FOLLOW %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (Visible) { /* Put form to go to public profile */ @@ -706,7 +706,7 @@ static void Fol_WriteRowUsrToFollowOnRightColumn (struct UsrData *UsrDat) /***** Icon to follow *****/ HTM_TD_Begin ("class=\"CON_ICON_FOLLOW RM %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (!Gbl.Usrs.Me.Logged || // Not logged Usr_ItsMe (UsrDat->UsrCod)) // It's me /* Inactive icon to follow/unfollow */ diff --git a/swad_forum.c b/swad_forum.c index a9f80b36..7f1bfee5 100644 --- a/swad_forum.c +++ b/swad_forum.c @@ -2193,7 +2193,7 @@ static void For_ListForumThrs (struct For_Forums *Forums, Usr_UsrDataConstructor (&UsrDat); /***** List threads *****/ - for (NumThr = PaginationThrs->FirstItemVisible, NumThrInScreen = 0, UniqueId = 0, Gbl.RowEvenOdd = 0; + for (NumThr = PaginationThrs->FirstItemVisible, NumThrInScreen = 0, UniqueId = 0; NumThr <= PaginationThrs->LastItemVisible; NumThr++, NumThrInScreen++, Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd) { @@ -2205,7 +2205,7 @@ static void For_ListForumThrs (struct For_Forums *Forums, "AUTHOR_TXT"); BgColor = (Thr.ThrCod == ThreadInMyClipboard) ? "LIGHT_GREEN" : ((Thr.ThrCod == ThrCodHighlighted) ? "BG_HIGHLIGHT" : - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TR_Begin (NULL); diff --git a/swad_game.c b/swad_game.c index 6342dcf6..e5d7dcd4 100644 --- a/swad_game.c +++ b/swad_game.c @@ -551,7 +551,7 @@ static void Gam_ShowOneGame (struct Gam_Games *Games, HTM_TD_Begin ("rowspan=\"2\" class=\"CONTEXT_COL\""); else HTM_TD_Begin ("rowspan=\"2\" class=\"CONTEXT_COL %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanEditGames) /* Icons to remove/edit this game */ @@ -581,7 +581,7 @@ static void Gam_ShowOneGame (struct Gam_Games *Games, Id,Color); else HTM_TD_Begin ("id=\"%s\" class=\"%s LT %s\"", - Id,Color,Gbl.ColorRows[Gbl.RowEvenOdd]); + Id,Color,The_GetColorRows ()); if (Game->TimeUTC[Dat_STR_TIME]) Dat_WriteLocalDateHMSFromUTC (Id,Game->TimeUTC[StartEndTime], Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, @@ -599,7 +599,7 @@ static void Gam_ShowOneGame (struct Gam_Games *Games, HTM_TD_Begin ("class=\"%s LT %s\"", Game->Hidden ? "ASG_TITLE_LIGHT": "ASG_TITLE", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); /* Game title */ Games->GamCod = Game->GamCod; @@ -634,7 +634,7 @@ static void Gam_ShowOneGame (struct Gam_Games *Games, HTM_TD_Begin ("class=\"%s RT %s\"", Game->Hidden ? "ASG_TITLE_LIGHT": "ASG_TITLE", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Games->GamCod = Game->GamCod; Frm_BeginForm (ActSeeGam); @@ -659,7 +659,7 @@ static void Gam_ShowOneGame (struct Gam_Games *Games, HTM_TD_Begin ("colspan=\"2\" class=\"LT\""); else HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Gam_WriteAuthor (Game); HTM_TD_End (); @@ -668,7 +668,7 @@ static void Gam_ShowOneGame (struct Gam_Games *Games, HTM_TD_Begin ("colspan=\"2\" class=\"LT\""); else HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Gam_DB_GetGameTxt (Game->GamCod,Txt); Str_ChangeFormat (Str_FROM_HTML,Str_TO_RIGOROUS_HTML, Txt,Cns_MAX_BYTES_TEXT,false); // Convert from HTML to rigorous HTML @@ -1758,7 +1758,7 @@ static void Gam_ListOneOrMoreQuestionsForEdition (struct Gam_Games *Games, HTM_TR_Begin (NULL); /***** Icons *****/ - HTM_TD_Begin ("class=\"BT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BT %s\"",The_GetColorRows ()); /* Put icon to remove the question */ if (ICanEditQuestions) diff --git a/swad_global.c b/swad_global.c index 37932426..4663e395 100644 --- a/swad_global.c +++ b/swad_global.c @@ -123,7 +123,6 @@ void Gbl_InitializeGlobals (void) Gbl.Prefs.DateFormat = Dat_FORMAT_DEFAULT; // Default date format Gbl.Prefs.Menu = Mnu_MENU_DEFAULT; // Default menu Gbl.Prefs.Theme = The_THEME_DEFAULT; // Default theme - The_SetColorRows (); Gbl.Prefs.IconSet = Ico_ICON_SET_DEFAULT; // Default icon set snprintf (Gbl.Prefs.URLTheme,sizeof (Gbl.Prefs.URLTheme),"%s/%s", Cfg_URL_ICON_THEMES_PUBLIC,The_ThemeId[Gbl.Prefs.Theme]); diff --git a/swad_global.h b/swad_global.h index 4402416b..8de85922 100644 --- a/swad_global.h +++ b/swad_global.h @@ -176,7 +176,6 @@ struct Globals struct Dat_DateTime Now; struct Dat_Date Yesterday; unsigned RowEvenOdd; // To alternate row colors in listings - const char *ColorRows[2]; const char *XMLPtr; struct { diff --git a/swad_hierarchy.c b/swad_hierarchy.c index 33e3f072..a2d738e7 100644 --- a/swad_hierarchy.c +++ b/swad_hierarchy.c @@ -680,7 +680,7 @@ void Hie_GetAndWriteInsCtrDegAdminBy (long UsrCod,unsigned ColSpan) HTM_TR_Begin (NULL); /***** Indent *****/ - HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"RT %s\"",The_GetColorRows ()); Ico_PutIcon (NumRow == NumRows ? "subend20x20.gif" : "submid20x20.gif",Ico_BLACK, "","ICO25x25"); @@ -690,7 +690,7 @@ void Hie_GetAndWriteInsCtrDegAdminBy (long UsrCod,unsigned ColSpan) HTM_TD_Begin ("colspan=\"%u\" class=\"%s %s LT\"", ColSpan - 1, The_ClassDatSmallNoBR[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); /* Get next institution, center, degree */ row = mysql_fetch_row (mysql_res); diff --git a/swad_indicator.c b/swad_indicator.c index 92dcffdb..0e8c5a7b 100644 --- a/swad_indicator.c +++ b/swad_indicator.c @@ -714,7 +714,7 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I IndicatorsCrs.CourseAllOK ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] : (IndicatorsCrs.CoursePartiallyOK ? The_ClassDatSmall[Gbl.Prefs.Theme] : The_ClassDatSmallRed[Gbl.Prefs.Theme]), - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Txt (row[0]); HTM_TD_End (); @@ -722,7 +722,7 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I IndicatorsCrs.CourseAllOK ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] : (IndicatorsCrs.CoursePartiallyOK ? The_ClassDatSmall[Gbl.Prefs.Theme] : The_ClassDatSmallRed[Gbl.Prefs.Theme]), - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Txt (row[1]); HTM_TD_End (); @@ -730,13 +730,13 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I IndicatorsCrs.CourseAllOK ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] : (IndicatorsCrs.CoursePartiallyOK ? The_ClassDatSmall[Gbl.Prefs.Theme] : The_ClassDatSmallRed[Gbl.Prefs.Theme]), - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Txt (row[3]); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s LM\"", The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_A_Begin ("href=\"%s/?crs=%ld&act=%ld\" target=\"_blank\"", Cfg_URL_SWAD_CGI,CrsCod,ActCod); HTM_TxtF ("%s/?crs=%ld&act=%ld", @@ -748,76 +748,76 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I IndicatorsCrs.CourseAllOK ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] : (IndicatorsCrs.CoursePartiallyOK ? The_ClassDatSmall[Gbl.Prefs.Theme] : The_ClassDatSmallRed[Gbl.Prefs.Theme]), - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Unsigned (IndicatorsCrs.NumIndicators); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s CM\"", The_ClassDatSmallGreen[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (IndicatorsCrs.ThereIsSyllabus) HTM_Txt (Txt_YES); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s CM\"", The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (!IndicatorsCrs.ThereIsSyllabus) HTM_Txt (Txt_NO); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s CM\"", The_ClassDatSmallGreen[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (IndicatorsCrs.ThereAreAssignments) HTM_Txt (Txt_YES); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s CM\"", The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (!IndicatorsCrs.ThereAreAssignments) HTM_Txt (Txt_NO); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s CM\"", The_ClassDatSmallGreen[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (IndicatorsCrs.ThereIsOnlineTutoring) HTM_Txt (Txt_YES); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s CM\"", The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (!IndicatorsCrs.ThereIsOnlineTutoring) HTM_Txt (Txt_NO); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s CM\"", The_ClassDatSmallGreen[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (IndicatorsCrs.ThereAreMaterials) HTM_Txt (Txt_YES); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s CM\"", The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (!IndicatorsCrs.ThereAreMaterials) HTM_Txt (Txt_NO); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s CM\"", The_ClassDatSmallGreen[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (IndicatorsCrs.ThereIsAssessment) HTM_Txt (Txt_YES); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s CM\"", The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (!IndicatorsCrs.ThereIsAssessment) HTM_Txt (Txt_NO); HTM_TD_End (); @@ -838,7 +838,7 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I IndicatorsCrs.CourseAllOK ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] : (IndicatorsCrs.CoursePartiallyOK ? The_ClassDatSmall[Gbl.Prefs.Theme] : The_ClassDatSmallRed[Gbl.Prefs.Theme]), - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Txt (row[0]); HTM_TD_End (); @@ -846,7 +846,7 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I IndicatorsCrs.CourseAllOK ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] : (IndicatorsCrs.CoursePartiallyOK ? The_ClassDatSmall[Gbl.Prefs.Theme] : The_ClassDatSmallRed[Gbl.Prefs.Theme]), - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Txt (row[1]); HTM_TD_End (); @@ -854,13 +854,13 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I IndicatorsCrs.CourseAllOK ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] : (IndicatorsCrs.CoursePartiallyOK ? The_ClassDatSmall[Gbl.Prefs.Theme] : The_ClassDatSmallRed[Gbl.Prefs.Theme]), - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Txt (row[3]); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s LM\"", The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_A_Begin ("href=\"%s/?crs=%ld&act=%ld\" target=\"_blank\"", Cfg_URL_SWAD_CGI,CrsCod,ActCod); HTM_TxtF ("%s/?crs=%ld&act=%ld", @@ -871,14 +871,14 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I HTM_TD_Begin ("class=\"%s %s RM\"", NumTchs != 0 ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] : The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Unsigned (NumTchs); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s RM\"", NumStds != 0 ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] : The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Unsigned (NumStds); HTM_TD_End (); @@ -886,20 +886,20 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I IndicatorsCrs.CourseAllOK ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] : (IndicatorsCrs.CoursePartiallyOK ? The_ClassDatSmall[Gbl.Prefs.Theme] : The_ClassDatSmallRed[Gbl.Prefs.Theme]), - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Unsigned (IndicatorsCrs.NumIndicators); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s CM\"", The_ClassDatSmallGreen[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (IndicatorsCrs.ThereIsSyllabus) HTM_Txt (Txt_YES); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s CM\"", The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (!IndicatorsCrs.ThereIsSyllabus) HTM_Txt (Txt_NO); HTM_TD_End (); @@ -907,34 +907,34 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I HTM_TD_Begin ("class=\"%s %s LM\"", (IndicatorsCrs.SyllabusLecSrc != Inf_NONE) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] : The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Txt (Txt_INFO_SRC_SHORT_TEXT[IndicatorsCrs.SyllabusLecSrc]); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s LM\"", (IndicatorsCrs.SyllabusPraSrc != Inf_NONE) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] : The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Txt (Txt_INFO_SRC_SHORT_TEXT[IndicatorsCrs.SyllabusPraSrc]); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s LM\"", (IndicatorsCrs.TeachingGuideSrc != Inf_NONE) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] : The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Txt (Txt_INFO_SRC_SHORT_TEXT[IndicatorsCrs.TeachingGuideSrc]); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s CM\"", The_ClassDatSmallGreen[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (IndicatorsCrs.ThereAreAssignments) HTM_Txt (Txt_YES); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s CM\"", The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (!IndicatorsCrs.ThereAreAssignments) HTM_Txt (Txt_NO); HTM_TD_End (); @@ -942,34 +942,34 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I HTM_TD_Begin ("class=\"%s %s RM\"", (IndicatorsCrs.NumAssignments != 0) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] : The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Unsigned (IndicatorsCrs.NumAssignments); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s RM\"", (IndicatorsCrs.NumFilesAssignments != 0) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] : The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Unsigned (IndicatorsCrs.NumFilesAssignments); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s RM\"", (IndicatorsCrs.NumFilesWorks != 0) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] : The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Unsigned (IndicatorsCrs.NumFilesWorks); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s CM\"", The_ClassDatSmallGreen[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (IndicatorsCrs.ThereIsOnlineTutoring) HTM_Txt (Txt_YES); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s CM\"", The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (!IndicatorsCrs.ThereIsOnlineTutoring) HTM_Txt (Txt_NO); HTM_TD_End (); @@ -977,34 +977,34 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I HTM_TD_Begin ("class=\"%s %s RM\"", (IndicatorsCrs.NumThreads != 0) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] : The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Unsigned (IndicatorsCrs.NumThreads); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s RM\"", (IndicatorsCrs.NumPosts != 0) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] : The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Unsigned (IndicatorsCrs.NumPosts); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s RM\"", (IndicatorsCrs.NumMsgsSentByTchs != 0) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] : The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Unsigned (IndicatorsCrs.NumMsgsSentByTchs); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s CM\"", The_ClassDatSmallGreen[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (IndicatorsCrs.ThereAreMaterials) HTM_Txt (Txt_YES); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s CM\"", The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (!IndicatorsCrs.ThereAreMaterials) HTM_Txt (Txt_NO); HTM_TD_End (); @@ -1012,27 +1012,27 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I HTM_TD_Begin ("class=\"%s %s RM\"", (IndicatorsCrs.NumFilesInDocumentZones != 0) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] : The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Unsigned (IndicatorsCrs.NumFilesInDocumentZones); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s RM\"", (IndicatorsCrs.NumFilesInSharedZones != 0) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] : The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Unsigned (IndicatorsCrs.NumFilesInSharedZones); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s CM\"", The_ClassDatSmallGreen[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (IndicatorsCrs.ThereIsAssessment) HTM_Txt (Txt_YES); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s CM\"", The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (!IndicatorsCrs.ThereIsAssessment) HTM_Txt (Txt_NO); HTM_TD_End (); @@ -1040,14 +1040,14 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I HTM_TD_Begin ("class=\"%s %s LM\"", (IndicatorsCrs.AssessmentSrc != Inf_NONE) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] : The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Txt (Txt_INFO_SRC_SHORT_TEXT[IndicatorsCrs.AssessmentSrc]); HTM_TD_End (); HTM_TD_Begin ("class=\"%s %s LM\"", (IndicatorsCrs.TeachingGuideSrc != Inf_NONE) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] : The_ClassDatSmallRed[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Txt (Txt_INFO_SRC_SHORT_TEXT[IndicatorsCrs.TeachingGuideSrc]); HTM_TD_End (); diff --git a/swad_institution.c b/swad_institution.c index 034fb9d3..160b7f46 100644 --- a/swad_institution.c +++ b/swad_institution.c @@ -168,7 +168,7 @@ void Ins_SeeInsWithPendingCtrs (void) /* Get institution code (row[0]) */ Ins.InsCod = Str_ConvertStrCodToLongCod (row[0]); BgColor = (Ins.InsCod == Gbl.Hierarchy.Ins.InsCod) ? "BG_HIGHLIGHT" : - Gbl.ColorRows[Gbl.RowEvenOdd]; + The_GetColorRows (); /* Get data of institution */ Ins_GetDataOfInstitByCod (&Ins); @@ -390,7 +390,7 @@ static void Ins_ListOneInstitutionForSeeing (struct Ins_Instit *Ins,unsigned Num TxtClassStrong = The_ClassDatStrong[Gbl.Prefs.Theme]; } BgColor = (Ins->InsCod == Gbl.Hierarchy.Ins.InsCod) ? "BG_HIGHLIGHT" : - Gbl.ColorRows[Gbl.RowEvenOdd]; + The_GetColorRows (); HTM_TR_Begin (NULL); diff --git a/swad_mark.c b/swad_mark.c index d2b30b0b..2deba6f7 100644 --- a/swad_mark.c +++ b/swad_mark.c @@ -100,7 +100,7 @@ void Mrk_GetAndWriteNumRowsHeaderAndFooter (void) /***** Write the number of rows of header *****/ HTM_TD_Begin ("class=\"%s RT %s\"", The_ClassFormInBoxNoWrap[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Frm_BeginForm (Gbl.Crs.Grps.GrpCod > 0 ? ActChgNumRowHeaGrp : // Group zone ActChgNumRowHeaCrs); // Course zone Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk); @@ -110,7 +110,7 @@ void Mrk_GetAndWriteNumRowsHeaderAndFooter (void) HTM_INPUT_TEXT (Mrk_HeadOrFootStr[Brw_HEADER],Cns_MAX_DECIMAL_DIGITS_UINT,StrHeadOrFoot, HTM_SUBMIT_ON_CHANGE, "size=\"1\" class=\"LST_EDIT_ROWS %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_LABEL_End (); Frm_EndForm (); HTM_TD_End (); @@ -118,7 +118,7 @@ void Mrk_GetAndWriteNumRowsHeaderAndFooter (void) /***** Write the number of rows of footer *****/ HTM_TD_Begin ("class=\"%s RT %s\"", The_ClassFormInBoxNoWrap[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Frm_BeginForm (Gbl.Crs.Grps.GrpCod > 0 ? ActChgNumRowFooGrp : // Group zone ActChgNumRowFooCrs); // Course zone Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk); @@ -128,7 +128,7 @@ void Mrk_GetAndWriteNumRowsHeaderAndFooter (void) HTM_INPUT_TEXT (Mrk_HeadOrFootStr[Brw_FOOTER],Cns_MAX_DECIMAL_DIGITS_UINT,StrHeadOrFoot, HTM_SUBMIT_ON_CHANGE, "size=\"1\" class=\"LST_EDIT_ROWS %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_LABEL_End (); Frm_EndForm (); HTM_TD_End (); diff --git a/swad_match.c b/swad_match.c index 5c081a57..a4e81cb2 100644 --- a/swad_match.c +++ b/swad_match.c @@ -454,7 +454,7 @@ static void Mch_ListOneOrMoreMatches (struct Gam_Games *Games, /* Form to edit match */ HTM_TD_Begin ("colspan=\"8\" class=\"LT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Mch_PutFormExistingMatch (Games,&Match,Anchor); // Form to fill in data and edit this match HTM_TD_End (); @@ -560,7 +560,7 @@ static void Mch_ListOneOrMoreMatchesIcons (struct Gam_Games *Games, const struct Mch_Match *Match, const char *Anchor) { - HTM_TD_Begin ("class=\"BT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BT %s\"",The_GetColorRows ()); if (Mch_CheckIfICanEditThisMatch (Match)) { @@ -588,7 +588,7 @@ static void Mch_ListOneOrMoreMatchesIcons (struct Gam_Games *Games, void Mch_ListOneOrMoreMatchesAuthor (const struct Mch_Match *Match) { /***** Match author (teacher) *****/ - HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ()); Usr_WriteAuthor1Line (Match->UsrCod,false); HTM_TD_End (); } @@ -612,7 +612,7 @@ void Mch_ListOneOrMoreMatchesTimes (const struct Mch_Match *Match,unsigned Uniqu Id, Match->Status.Showing == Mch_END ? "DATE_RED" : "DATE_GREEN", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Dat_WriteLocalDateHMSFromUTC (Id,Match->TimeUTC[StartEndTime], Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,true,0x7); @@ -631,7 +631,7 @@ static void Mch_ListOneOrMoreMatchesTitleGrps (const struct Mch_Match *Match, extern const char *Txt_Play; extern const char *Txt_Resume; - HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ()); HTM_ARTICLE_Begin (Anchor); /***** Match title *****/ @@ -722,7 +722,7 @@ void Mch_ListOneOrMoreMatchesNumPlayers (const struct Mch_Match *Match) /***** Number of players who have answered any question in the match ******/ HTM_TD_Begin ("class=\"%s RT %s\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.ColorRows[Gbl.RowEvenOdd]); + The_ClassDat[Gbl.Prefs.Theme],The_GetColorRows ()); HTM_Unsigned (Mch_DB_GetNumUsrsWhoHavePlayedMch (Match->MchCod)); HTM_TD_End (); } @@ -738,7 +738,7 @@ static void Mch_ListOneOrMoreMatchesStatus (struct Mch_Match *Match,unsigned Num extern const char *Txt_Resume; HTM_TD_Begin ("class=\"%s CT %s\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.ColorRows[Gbl.RowEvenOdd]); + The_ClassDat[Gbl.Prefs.Theme],The_GetColorRows ()); if (Match->Status.Showing != Mch_END) // Match not over { @@ -779,7 +779,7 @@ static void Mch_ListOneOrMoreMatchesResult (struct Gam_Games *Games, }; HTM_TD_Begin ("class=\"%s CT %s\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.ColorRows[Gbl.RowEvenOdd]); + The_ClassDat[Gbl.Prefs.Theme],The_GetColorRows ()); if (Function[Gbl.Usrs.Me.Role.Logged]) Function[Gbl.Usrs.Me.Role.Logged] (Games,Match); diff --git a/swad_match_result.c b/swad_match_result.c index 693c467d..0711b524 100644 --- a/swad_match_result.c +++ b/swad_match_result.c @@ -569,7 +569,7 @@ static void MchRes_ListGamesToSelect (struct Gam_Games *Games) HTM_TR_End (); /***** List the events *****/ - for (NumGame = 0, UniqueId = 1, Gbl.RowEvenOdd = 0; + for (NumGame = 0, UniqueId = 1; NumGame < Games->Num; NumGame++, UniqueId++, Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd) { @@ -582,7 +582,7 @@ static void MchRes_ListGamesToSelect (struct Gam_Games *Games) HTM_TD_Begin ("class=\"%s CT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_INPUT_CHECKBOX ("GamCod",HTM_DONT_SUBMIT_ON_CHANGE, "id=\"Gam%u\" value=\"%ld\"%s", NumGame,Games->Lst[NumGame].GamCod, @@ -592,7 +592,7 @@ static void MchRes_ListGamesToSelect (struct Gam_Games *Games) HTM_TD_Begin ("class=\"%s RT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_LABEL_Begin ("for=\"Gam%u\"",NumGame); HTM_TxtF ("%u:",NumGame + 1); HTM_LABEL_End (); @@ -600,7 +600,7 @@ static void MchRes_ListGamesToSelect (struct Gam_Games *Games) HTM_TD_Begin ("class=\"%s LT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Txt (Game.Title); HTM_TD_End (); @@ -793,7 +793,7 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games, Err_NotEnoughMemoryExit (); HTM_TD_Begin ("id =\"%s\" class=\"%s LT %s\"", Id,The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Dat_WriteLocalDateHMSFromUTC (Id,Print.TimeUTC[StartEndTime], Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,false,0x7); @@ -804,7 +804,7 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games, /* Write match title */ HTM_TD_Begin ("class=\"%s LT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Txt (Match.Title); HTM_TD_End (); @@ -819,7 +819,7 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games, /* Write number of questions */ HTM_TD_Begin ("class=\"%s RT LINE_LEFT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanView.Score) HTM_Unsigned (Print.NumQsts.All); else @@ -829,7 +829,7 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games, /* Write number of non-blank answers */ HTM_TD_Begin ("class=\"%s RT LINE_LEFT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanView.Score) { if (Print.NumQsts.NotBlank) @@ -844,7 +844,7 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games, /* Write number of blank answers */ HTM_TD_Begin ("class=\"%s RT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); NumQstsBlank = Print.NumQsts.All - Print.NumQsts.NotBlank; if (ICanView.Score) { @@ -860,7 +860,7 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games, /* Write score */ HTM_TD_Begin ("class=\"%s RT LINE_LEFT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanView.Score) { HTM_Double2Decimals (Print.Score); @@ -874,7 +874,7 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games, /* Write average score per question */ HTM_TD_Begin ("class=\"%s RT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanView.Score) HTM_Double2Decimals (Print.NumQsts.All ? Print.Score / (double) Print.NumQsts.All : @@ -886,7 +886,7 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games, /* Write grade over maximum grade */ HTM_TD_Begin ("class=\"%s RT LINE_LEFT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanView.Score) { Grade = TstPrn_ComputeGrade (Print.NumQsts.All,Print.Score,Game.MaxGrade); @@ -899,7 +899,7 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games, /* Link to show this result */ HTM_TD_Begin ("class=\"RT LINE_LEFT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanView.Result) { Games->GamCod = Match.GamCod; @@ -936,32 +936,32 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games, { /* Columns for dates and match */ HTM_TD_Begin ("colspan=\"3\" class=\"LINE_BOTTOM %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); /* Column for questions */ HTM_TD_Begin ("class=\"LINE_BOTTOM LINE_LEFT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); /* Columns for answers */ HTM_TD_Begin ("colspan=\"2\" class=\"LINE_BOTTOM LINE_LEFT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); /* Columns for score */ HTM_TD_Begin ("colspan=\"2\" class=\"LINE_BOTTOM LINE_LEFT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); /* Column for grade */ HTM_TD_Begin ("class=\"LINE_BOTTOM LINE_LEFT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); /* Column for link to show the result */ HTM_TD_Begin ("class=\"LINE_BOTTOM LINE_LEFT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); HTM_TR_End (); @@ -991,7 +991,7 @@ static void MchRes_ShowMchResultsSummaryRow (unsigned NumResults, /***** Row title *****/ HTM_TD_Begin ("colspan=\"3\" class=\"RM %s LINE_TOP LINE_BOTTOM %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TxtColonNBSP (Txt_Matches); HTM_Unsigned (NumResults); HTM_TD_End (); @@ -999,7 +999,7 @@ static void MchRes_ShowMchResultsSummaryRow (unsigned NumResults, /***** Write total number of questions *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (NumResults) HTM_Unsigned (NumTotalQsts->All); HTM_TD_End (); @@ -1007,7 +1007,7 @@ static void MchRes_ShowMchResultsSummaryRow (unsigned NumResults, /***** Write total number of non-blank answers *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (NumResults) HTM_Unsigned (NumTotalQsts->NotBlank); HTM_TD_End (); @@ -1015,7 +1015,7 @@ static void MchRes_ShowMchResultsSummaryRow (unsigned NumResults, /***** Write total number of blank answers *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (NumResults) HTM_Unsigned (NumTotalQsts->All - NumTotalQsts->NotBlank); HTM_TD_End (); @@ -1023,7 +1023,7 @@ static void MchRes_ShowMchResultsSummaryRow (unsigned NumResults, /***** Write total score *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Double2Decimals (TotalScore); HTM_Txt ("/"); HTM_Unsigned (NumTotalQsts->All); @@ -1032,7 +1032,7 @@ static void MchRes_ShowMchResultsSummaryRow (unsigned NumResults, /***** Write average score per question *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Double2Decimals (NumTotalQsts->All ? TotalScore / (double) NumTotalQsts->All : 0.0); @@ -1041,14 +1041,14 @@ static void MchRes_ShowMchResultsSummaryRow (unsigned NumResults, /***** Write total grade *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Double2Decimals (TotalGrade); HTM_TD_End (); /***** Last cell *****/ HTM_TD_Begin ("class=\"%s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); /***** End row *****/ diff --git a/swad_photo.c b/swad_photo.c index 377f3a42..0547d5a5 100644 --- a/swad_photo.c +++ b/swad_photo.c @@ -2239,7 +2239,7 @@ static void Pho_ShowOrPrintListDegrees (struct Pho_DegPhotos *DegPhotos, HTM_TR_End (); /***** Get degrees *****/ - for (NumDeg = 0, Gbl.RowEvenOdd = 0, NumDegsNotEmpty = 0; + for (NumDeg = 0, NumDegsNotEmpty = 0; NumDeg < NumDegs; NumDeg++, Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd) { @@ -2258,14 +2258,14 @@ static void Pho_ShowOrPrintListDegrees (struct Pho_DegPhotos *DegPhotos, /***** Show logo and name of this degree *****/ HTM_TD_Begin ("class=\"%s RM %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Unsigned (++NumDegsNotEmpty); HTM_TD_End (); /***** Show logo and name of this degree *****/ HTM_TD_Begin ("class=\"%s LM %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (SeeOrPrint == Pho_DEGREES_SEE) Deg_DrawDegreeLogoAndNameWithLink (&Deg,ActSeeDegInf,"CT"); else // Pho_DEGREES_PRINT @@ -2283,7 +2283,7 @@ static void Pho_ShowOrPrintListDegrees (struct Pho_DegPhotos *DegPhotos, Pho_GetNumStdsInDegree (Deg.DegCod,Sex,&NumStds,&NumStdsWithPhoto); HTM_TD_Begin ("class=\"CLASSPHOTO CLASSPHOTO_%s RM %s\"", The_Colors[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (Gbl.Usrs.Listing.WithPhotos) Pho_ShowDegreeAvgPhotoAndStat (&Deg,DegPhotos, SeeOrPrint,Sex, diff --git a/swad_profile.c b/swad_profile.c index 5f3756a4..efa5ee66 100644 --- a/swad_profile.c +++ b/swad_profile.c @@ -1189,7 +1189,7 @@ void Prf_ShowRankingFigure (MYSQL_RES **mysql_res,unsigned NumUsrs) HTM_TABLE_Begin (NULL); - for (NumUsr = 1, Rank = 1, Gbl.RowEvenOdd = 0; + for (NumUsr = 1, Rank = 1; NumUsr <= NumUsrs; NumUsr++, Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd) { @@ -1219,7 +1219,7 @@ void Prf_ShowRankingFigure (MYSQL_RES **mysql_res,unsigned NumUsrs) HTM_TD_Begin ("class=\"%s %s RM\"", ItsMe ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] : The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Long (Figure); HTM_TD_End (); HTM_TR_End (); @@ -1261,7 +1261,7 @@ void Prf_GetAndShowRankingClicksPerDay (void) HTM_TABLE_Begin (NULL); - for (NumUsr = 1, Rank = 1, Gbl.RowEvenOdd = 0; + for (NumUsr = 1, Rank = 1; NumUsr <= NumUsrs; NumUsr++, Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd) { @@ -1289,7 +1289,7 @@ void Prf_GetAndShowRankingClicksPerDay (void) HTM_TD_Begin ("class=\"%s %s RM\"", ItsMe ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] : The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_DoubleFewDigits (NumClicksPerDay); HTM_TD_End (); HTM_TR_End (); @@ -1326,12 +1326,12 @@ static void Prf_ShowUsrInRanking (struct UsrData *UsrDat,unsigned Rank,bool ItsM HTM_TD_Begin ("class=\"%s %s RM\"", ItsMe ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] : The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TxtF ("#%u",Rank); HTM_TD_End (); /***** Check if I can see the public profile *****/ - HTM_TD_Begin ("class=\"RANK_PHOTO %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"RANK_PHOTO %s\"",The_GetColorRows ()); if (Visible) /***** User's photo *****/ Pho_ShowUsrPhotoIfAllowed (UsrDat, @@ -1343,7 +1343,7 @@ static void Prf_ShowUsrInRanking (struct UsrData *UsrDat,unsigned Rank,bool ItsM HTM_TD_Begin ("class=\"RANK_USR %s %s\"", // Limited width ItsMe ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] : The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (Visible) { Frm_BeginForm (ActSeeOthPubPrf); diff --git a/swad_program.c b/swad_program.c index f3769d96..8f03e600 100644 --- a/swad_program.c +++ b/swad_program.c @@ -401,7 +401,7 @@ static void Prg_WriteRowItem (unsigned NumItem,struct Prg_Item *Item, /***** Forms to remove/edit this program item *****/ if (!PrintView) { - HTM_TD_Begin ("class=\"PRG_COL1 LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"PRG_COL1 LT %s\"",The_GetColorRows ()); Prg_PutFormsToRemEditOneItem (NumItem,Item); HTM_TD_End (); } @@ -411,13 +411,13 @@ static void Prg_WriteRowItem (unsigned NumItem,struct Prg_Item *Item, NumCol < Item->Hierarchy.Level; NumCol++) { - HTM_TD_Begin ("class=\"%s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"%s\"",The_GetColorRows ()); HTM_TD_End (); } /***** Item number *****/ HTM_TD_Begin ("class=\"PRG_NUM %s RT %s\"", - TitleClass,Gbl.ColorRows[Gbl.RowEvenOdd]); + TitleClass,The_GetColorRows ()); Prg_WriteNumItem (Item->Hierarchy.Level); HTM_TD_End (); @@ -429,7 +429,7 @@ static void Prg_WriteRowItem (unsigned NumItem,struct Prg_Item *Item, ColSpan); else HTM_TD_Begin ("colspan=\"%u\" class=\"PRG_MAIN %s\"", - ColSpan,Gbl.ColorRows[Gbl.RowEvenOdd]); + ColSpan,The_GetColorRows ()); /* Title */ HTM_DIV_Begin ("class=\"%s\"",TitleClass); @@ -473,7 +473,7 @@ static void Prg_WriteRowItem (unsigned NumItem,struct Prg_Item *Item, "DATE_RED_LIGHT") : (Item->Open ? "DATE_GREEN" : "DATE_RED"), - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Dat_WriteLocalDateHMSFromUTC (Id,Item->TimeUTC[StartEndTime], Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,true,0x7); @@ -520,7 +520,7 @@ static void Prg_WriteRowWithItemForm (Prg_CreateOrChangeItem_t CreateOrChangeIte HTM_TR_Begin (NULL); /***** Column under icons *****/ - HTM_TD_Begin ("class=\"PRG_COL1 LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"PRG_COL1 LT %s\"",The_GetColorRows ()); HTM_TD_End (); /***** Indent depending on the level *****/ @@ -528,13 +528,13 @@ static void Prg_WriteRowWithItemForm (Prg_CreateOrChangeItem_t CreateOrChangeIte NumCol < FormLevel; NumCol++) { - HTM_TD_Begin ("class=\"%s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"%s\"",The_GetColorRows ()); HTM_TD_End (); } /***** Item number *****/ HTM_TD_Begin ("class=\"PRG_NUM %s RT %s\"", - TitleClass,Gbl.ColorRows[Gbl.RowEvenOdd]); + TitleClass,The_GetColorRows ()); if (CreateOrChangeItem == Prg_PUT_FORM_CREATE_ITEM) Prg_WriteNumNewItem (FormLevel); HTM_TD_End (); @@ -542,7 +542,7 @@ static void Prg_WriteRowWithItemForm (Prg_CreateOrChangeItem_t CreateOrChangeIte /***** Show form to create new item as child *****/ ColSpan = (Prg_GetMaxItemLevel () + 4) - FormLevel; HTM_TD_Begin ("colspan=\"%u\" class=\"PRG_MAIN %s\"", - ColSpan,Gbl.ColorRows[Gbl.RowEvenOdd]); + ColSpan,The_GetColorRows ()); HTM_ARTICLE_Begin ("item_form"); ShowForm[CreateOrChangeItem] (ItmCod); HTM_ARTICLE_End (); diff --git a/swad_project.c b/swad_project.c index f52b3f35..597cb2fa 100644 --- a/swad_project.c +++ b/swad_project.c @@ -1291,7 +1291,7 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects, { case Prj_LIST_PROJECTS: HTM_TD_Begin ("rowspan=\"3\" class=\"BIG_INDEX RT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Unsigned (NumIndex); if (PrjIsFaulty) { @@ -1309,7 +1309,7 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects, { case Prj_LIST_PROJECTS: HTM_TD_Begin ("rowspan=\"3\" class=\"CONTEXT_COL %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Prj_PutFormsToRemEditOnePrj (Projects,Prj,Anchor,ICanViewProjectFiles); HTM_TD_End (); break; @@ -1330,7 +1330,7 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects, { case Prj_LIST_PROJECTS: HTM_TD_Begin ("id=\"%s\" class=\"%s LT %s\"", - Id,ClassDate,Gbl.ColorRows[Gbl.RowEvenOdd]); + Id,ClassDate,The_GetColorRows ()); break; default: HTM_TD_Begin ("id=\"%s\" class=\"%s LT\"", @@ -1351,7 +1351,7 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects, { case Prj_LIST_PROJECTS: HTM_TD_Begin ("id=\"%s\" class=\"%s LT %s\"", - Id,ClassDate,Gbl.ColorRows[Gbl.RowEvenOdd]); + Id,ClassDate,The_GetColorRows ()); break; default: HTM_TD_Begin ("id=\"%s\" class=\"%s LT\"", @@ -1369,7 +1369,7 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects, { case Prj_LIST_PROJECTS: HTM_TD_Begin ("class=\"%s LT %s\"", - ClassTitle,Gbl.ColorRows[Gbl.RowEvenOdd]); + ClassTitle,The_GetColorRows ()); break; default: HTM_TD_Begin ("class=\"%s LT\"", @@ -1407,7 +1407,7 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects, { case Prj_LIST_PROJECTS: HTM_TD_Begin ("colspan=\"2\" class=\"RT %s %s\"", - ClassLabel,Gbl.ColorRows[Gbl.RowEvenOdd]); + ClassLabel,The_GetColorRows ()); break; default: HTM_TD_Begin ("colspan=\"2\" class=\"RT %s\"", @@ -1421,7 +1421,7 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects, { case Prj_LIST_PROJECTS: HTM_TD_Begin ("colspan=\"2\" class=\"LT %s %s\"", - ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); + ClassData,The_GetColorRows ()); break; default: HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", @@ -1447,7 +1447,7 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects, { case Prj_LIST_PROJECTS: HTM_TD_Begin ("colspan=\"2\" class=\"RT %s %s\"", - ClassLabel,Gbl.ColorRows[Gbl.RowEvenOdd]); + ClassLabel,The_GetColorRows ()); break; default: HTM_TD_Begin ("colspan=\"2\" class=\"RT %s\"", @@ -1461,7 +1461,7 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects, { case Prj_LIST_PROJECTS: HTM_TD_Begin ("colspan=\"2\" class=\"LT %s %s\"", - ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); + ClassData,The_GetColorRows ()); break; default: HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", @@ -1484,14 +1484,14 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects, case Prj_LIST_PROJECTS: HTM_TR_Begin ("id=\"prj_exp_%u\"",UniqueId); HTM_TD_Begin ("colspan=\"6\" class=\"CM %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Prj_PutIconToToggleProject (UniqueId,"angle-down.svg",Txt_See_more); HTM_TD_End (); HTM_TR_End (); HTM_TR_Begin ("id=\"prj_con_%u\" style=\"display:none;\"",UniqueId); HTM_TD_Begin ("colspan=\"6\" class=\"CM %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Prj_PutIconToToggleProject (UniqueId,"angle-up.svg",Txt_See_less); HTM_TD_End (); HTM_TR_End (); @@ -1519,7 +1519,7 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects, case Prj_LIST_PROJECTS: HTM_TR_Begin ("id=\"prj_pro_%u\" style=\"display:none;\"",UniqueId); HTM_TD_Begin ("colspan=\"4\" class=\"RT %s %s\"", - ClassLabel,Gbl.ColorRows[Gbl.RowEvenOdd]); + ClassLabel,The_GetColorRows ()); break; case Prj_FILE_BROWSER_PROJECT: HTM_TR_Begin ("id=\"prj_pro_%u\" style=\"display:none;\"",UniqueId); @@ -1537,7 +1537,7 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects, { case Prj_LIST_PROJECTS: HTM_TD_Begin ("colspan=\"2\" class=\"LT %s %s\"", - ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); + ClassData,The_GetColorRows ()); break; default: HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", @@ -1710,7 +1710,7 @@ static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj) if (asprintf (&Id,"prj_creat_%u",UniqueId) < 0) Err_NotEnoughMemoryExit (); HTM_TD_Begin ("id=\"%s\" class=\"LT %s %s\"", - Id,ClassDate,Gbl.ColorRows[Gbl.RowEvenOdd]); + Id,ClassDate,The_GetColorRows ()); Dat_WriteLocalDateHMSFromUTC (Id,Prj->CreatTime, Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,false,0x7); @@ -1722,7 +1722,7 @@ static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj) if (asprintf (&Id,"prj_modif_%u",UniqueId) < 0) Err_NotEnoughMemoryExit (); HTM_TD_Begin ("id=\"%s\" class=\"LT %s %s\"", - Id,ClassDate,Gbl.ColorRows[Gbl.RowEvenOdd]); + Id,ClassDate,The_GetColorRows ()); Dat_WriteLocalDateHMSFromUTC (Id,Prj->ModifTime, Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,false,0x7); @@ -1731,7 +1731,7 @@ static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj) /***** Project title *****/ HTM_TD_Begin ("class=\"LT %s %s\"", - ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); + ClassData,The_GetColorRows ()); HTM_Txt (Prj->Title); HTM_TD_End (); @@ -1739,13 +1739,13 @@ static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj) Prj_ShowTableAllProjectsDepartment (Prj); /***** Assigned? *****/ - HTM_TD_Begin ("class=\"LT %s %s\"",ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT %s %s\"",ClassData,The_GetColorRows ()); HTM_Txt ((Prj->Assigned == Prj_ASSIGNED) ? Txt_Yes : Txt_No); HTM_TD_End (); /***** Number of students *****/ - HTM_TD_Begin ("class=\"LT %s %s\"",ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT %s %s\"",ClassData,The_GetColorRows ()); HTM_Unsigned (Prj->NumStds); HTM_TD_End (); @@ -1756,7 +1756,7 @@ static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj) Prj_ShowTableAllProjectsMembersWithARole (Prj,Prj_RolesToShow[NumRoleToShow]); /***** Proposal *****/ - HTM_TD_Begin ("class=\"LT %s %s\"",ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT %s %s\"",ClassData,The_GetColorRows ()); HTM_Txt (Txt_PROJECT_STATUS[Prj->Proposal]); HTM_TD_End (); @@ -1809,7 +1809,7 @@ static void Prj_ShowOneProjectDepartment (const struct Prj_Project *Prj, { case Prj_LIST_PROJECTS: HTM_TD_Begin ("class=\"LT %s %s\"", - ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); + ClassData,The_GetColorRows ()); break; default: HTM_TD_Begin ("class=\"LT %s\"", @@ -1842,7 +1842,7 @@ static void Prj_ShowTableAllProjectsDepartment (const struct Prj_Project *Prj) Dpt_GetDataOfDepartmentByCod (&Dpt); /***** Show department *****/ - HTM_TD_Begin ("class=\"LT %s %s\"",ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT %s %s\"",ClassData,The_GetColorRows ()); HTM_Txt (Dpt.FullName); HTM_TD_End (); } @@ -1874,7 +1874,7 @@ static void Prj_ShowOneProjectTxtField (struct Prj_Project *Prj, case Prj_LIST_PROJECTS: HTM_TR_Begin ("id=\"%s%u\" style=\"display:none;\"",id,UniqueId); HTM_TD_Begin ("colspan=\"4\" class=\"RT %s %s\"", - ClassLabel,Gbl.ColorRows[Gbl.RowEvenOdd]); + ClassLabel,The_GetColorRows ()); break; case Prj_FILE_BROWSER_PROJECT: HTM_TR_Begin ("id=\"%s%u\" style=\"display:none;\"",id,UniqueId); @@ -1909,7 +1909,7 @@ static void Prj_ShowOneProjectTxtField (struct Prj_Project *Prj, { case Prj_LIST_PROJECTS: HTM_TD_Begin ("colspan=\"2\" class=\"LT %s %s\"", - ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); + ClassData,The_GetColorRows ()); break; default: HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", @@ -1940,7 +1940,7 @@ static void Prj_ShowTableAllProjectsTxtField (struct Prj_Project *Prj, TxtField,Cns_MAX_BYTES_TEXT,false); // Convert from HTML to recpectful HTML /***** Write text *****/ - HTM_TD_Begin ("class=\"LT %s %s\"",ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT %s %s\"",ClassData,The_GetColorRows ()); HTM_Txt (TxtField); HTM_TD_End (); } @@ -1974,7 +1974,7 @@ static void Prj_ShowOneProjectURL (const struct Prj_Project *Prj, case Prj_LIST_PROJECTS: HTM_TR_Begin ("id=\"%s%u\" style=\"display:none;\"",id,UniqueId); HTM_TD_Begin ("colspan=\"4\" class=\"RT %s %s\"", - ClassLabel,Gbl.ColorRows[Gbl.RowEvenOdd]); + ClassLabel,The_GetColorRows ()); break; case Prj_FILE_BROWSER_PROJECT: HTM_TR_Begin ("id=\"%s%u\" style=\"display:none;\"",id,UniqueId); @@ -1995,7 +1995,7 @@ static void Prj_ShowOneProjectURL (const struct Prj_Project *Prj, { case Prj_LIST_PROJECTS: HTM_TD_Begin ("colspan=\"2\" class=\"LT %s %s\"", - ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); + ClassData,The_GetColorRows ()); break; default: HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", @@ -2023,7 +2023,7 @@ static void Prj_ShowTableAllProjectsURL (const struct Prj_Project *Prj) The_ClassDat[Gbl.Prefs.Theme]; /***** Show URL *****/ - HTM_TD_Begin ("class=\"LT %s %s\"",ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT %s %s\"",ClassData,The_GetColorRows ()); HTM_Txt (Prj->URL); HTM_TD_End (); } @@ -2055,6 +2055,7 @@ static void Prj_ShowOneProjectMembersWithARole (struct Prj_Projects *Projects, Prj_ProjectView_t ProjectView, Prj_RoleInProject_t RoleInPrj) { + ; extern const char *The_ClassDat[The_NUM_THEMES]; extern const char *The_ClassDatLight[The_NUM_THEMES]; extern const char *Txt_PROJECT_ROLES_SINGUL_Abc[Prj_NUM_ROLES_IN_PROJECT]; @@ -2113,7 +2114,7 @@ static void Prj_ShowOneProjectMembersWithARole (struct Prj_Projects *Projects, { case Prj_LIST_PROJECTS: HTM_TD_Begin ("colspan=\"4\" class=\"RT %s %s\"", - ClassLabel,Gbl.ColorRows[Gbl.RowEvenOdd]); + ClassLabel,The_GetColorRows ()); HTM_TxtColon (NumUsrs == 1 ? Txt_PROJECT_ROLES_SINGUL_Abc[RoleInPrj] : Txt_PROJECT_ROLES_PLURAL_Abc[RoleInPrj]); break; @@ -2139,7 +2140,7 @@ static void Prj_ShowOneProjectMembersWithARole (struct Prj_Projects *Projects, { case Prj_LIST_PROJECTS: HTM_TD_Begin ("colspan=\"2\" class=\"LT %s %s\"", - ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); + ClassData,The_GetColorRows ()); break; case Prj_FILE_BROWSER_PROJECT: case Prj_PRINT_ONE_PROJECT: @@ -2258,7 +2259,7 @@ static void Prj_ShowTableAllProjectsMembersWithARole (const struct Prj_Project * NumUsrs = Prj_DB_GetUsrsInPrj (&mysql_res,Prj->PrjCod,RoleInPrj); /***** Begin column with list of all members with this role *****/ - HTM_TD_Begin ("class=\"LT %s %s\"",ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT %s %s\"",ClassData,The_GetColorRows ()); if (NumUsrs) { diff --git a/swad_question.c b/swad_question.c index 9b844b92..cdbed45c 100644 --- a/swad_question.c +++ b/swad_question.c @@ -523,7 +523,7 @@ void Qst_ListQuestionForEdition (struct Qst_Question *Question, extern const char *Txt_Question_removed; /***** Number of question and answer type (row[1]) *****/ - HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"RT %s\"",The_GetColorRows ()); Qst_WriteNumQst (QstInd,"BIG_INDEX"); if (QuestionExists) Qst_WriteAnswerType (Question->Answer.Type, @@ -533,18 +533,18 @@ void Qst_ListQuestionForEdition (struct Qst_Question *Question, /***** Write question code *****/ HTM_TD_Begin ("class=\"%s %s CT\"", The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TxtF ("%ld ",Question->QstCod); HTM_TD_End (); /***** Write the question tags *****/ - HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ()); if (QuestionExists) Tag_GetAndWriteTagsQst (Question->QstCod); HTM_TD_End (); /***** Write stem (row[3]) and media *****/ - HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ()); HTM_ARTICLE_Begin (Anchor); if (QuestionExists) { @@ -979,7 +979,7 @@ void Qst_WriteQuestionListing (struct Qst_Questions *Questions,unsigned QstInd) HTM_TR_Begin (NULL); /***** Icons *****/ - HTM_TD_Begin ("class=\"BT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BT %s\"",The_GetColorRows ()); /* Write icon to remove the question */ Ico_PutContextualIconToRemove (ActReqRemOneTstQst,NULL, @@ -992,7 +992,7 @@ void Qst_WriteQuestionListing (struct Qst_Questions *Questions,unsigned QstInd) HTM_TD_End (); /* Number of question and answer type */ - HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"RT %s\"",The_GetColorRows ()); Qst_WriteNumQst (QstInd + 1,"BIG_INDEX"); if (asprintf (&Class,"%s", The_ClassDatSmall[Gbl.Prefs.Theme]) < 0) @@ -1004,7 +1004,7 @@ void Qst_WriteQuestionListing (struct Qst_Questions *Questions,unsigned QstInd) /* Question code */ HTM_TD_Begin ("class=\"%s %s CT\"", The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TxtF ("%ld ",Questions->Question.QstCod); HTM_TD_End (); @@ -1014,7 +1014,7 @@ void Qst_WriteQuestionListing (struct Qst_Questions *Questions,unsigned QstInd) HTM_TD_Begin ("id=\"%s\" class=\"%s %s CT\"", Id, The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Dat_WriteLocalDateHMSFromUTC (Id,Questions->Question.EditTime, Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,false,0x7); @@ -1022,14 +1022,14 @@ void Qst_WriteQuestionListing (struct Qst_Questions *Questions,unsigned QstInd) free (Id); /* Question tags */ - HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ()); Tag_GetAndWriteTagsQst (Questions->Question.QstCod); HTM_TD_End (); /* Shuffle (row[2]) */ HTM_TD_Begin ("class=\"%s %s CT\"", The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (Questions->Question.Answer.Type == Qst_ANS_UNIQUE_CHOICE || Questions->Question.Answer.Type == Qst_ANS_MULTIPLE_CHOICE) { @@ -1045,7 +1045,7 @@ void Qst_WriteQuestionListing (struct Qst_Questions *Questions,unsigned QstInd) HTM_TD_End (); /* Stem (row[3]) */ - HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ()); Qst_WriteQstStem (Questions->Question.Stem,"TEST_TXT", true); // Visible @@ -1062,14 +1062,14 @@ void Qst_WriteQuestionListing (struct Qst_Questions *Questions,unsigned QstInd) /* Number of times this question has been answered */ HTM_TD_Begin ("class=\"%s %s CT\"", The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_UnsignedLong (Questions->Question.NumHits); HTM_TD_End (); /* Average score */ HTM_TD_Begin ("class=\"%s %s CT\"", The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (Questions->Question.NumHits) HTM_Double2Decimals (Questions->Question.Score / (double) Questions->Question.NumHits); @@ -1080,14 +1080,14 @@ void Qst_WriteQuestionListing (struct Qst_Questions *Questions,unsigned QstInd) /* Number of times this question has been answered (not blank) */ HTM_TD_Begin ("class=\"%s %s CT\"", The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_UnsignedLong (Questions->Question.NumHitsNotBlank); HTM_TD_End (); /* Average score (not blank) */ HTM_TD_Begin ("class=\"%s %s CT\"", The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (Questions->Question.NumHitsNotBlank) HTM_Double2Decimals (Questions->Question.Score / (double) Questions->Question.NumHitsNotBlank); @@ -1304,7 +1304,7 @@ void Qst_WriteQuestionRowForSelection (unsigned QstInd, HTM_TR_Begin (NULL); /* Write checkbox to select the question */ - HTM_TD_Begin ("class=\"BT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BT %s\"",The_GetColorRows ()); HTM_INPUT_CHECKBOX ("QstCods",HTM_DONT_SUBMIT_ON_CHANGE, "value=\"%ld\" onclick=\"checkParent(this,'AllQsts');\"", Question->QstCod); @@ -1313,14 +1313,14 @@ void Qst_WriteQuestionRowForSelection (unsigned QstInd, /* Write number of question */ HTM_TD_Begin ("class=\"%s %s CT\"", The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TxtF ("%u ",QstInd + 1); HTM_TD_End (); /* Write question code */ HTM_TD_Begin ("class=\"%s %s CT\"", The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TxtF ("%ld ",Question->QstCod); HTM_TD_End (); @@ -1330,7 +1330,7 @@ void Qst_WriteQuestionRowForSelection (unsigned QstInd, HTM_TD_Begin ("id=\"%s\" class=\"%s %s CT\">", Id, The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Dat_WriteLocalDateHMSFromUTC (Id,Question->EditTime, Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,false,0x7); @@ -1338,21 +1338,21 @@ void Qst_WriteQuestionRowForSelection (unsigned QstInd, free (Id); /* Write the question tags */ - HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ()); Tag_GetAndWriteTagsQst (Question->QstCod); HTM_TD_End (); /* Write the question type */ HTM_TD_Begin ("class=\"%s %s CT\"", The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TxtF ("%s ",Txt_TST_STR_ANSWER_TYPES[Question->Answer.Type]); HTM_TD_End (); /* Write if shuffle is enabled */ HTM_TD_Begin ("class=\"%s %s CT\"", The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_INPUT_CHECKBOX ("Shuffle",HTM_DONT_SUBMIT_ON_CHANGE, "value=\"Y\"%s disabled=\"disabled\"", Question->Answer.Shuffle ? " checked=\"checked\"" : @@ -1360,7 +1360,7 @@ void Qst_WriteQuestionRowForSelection (unsigned QstInd, HTM_TD_End (); /* Write stem */ - HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ()); Qst_WriteQstStem (Question->Stem,"TEST_TXT", true); // Visible @@ -1535,7 +1535,7 @@ void Qst_WriteChoAnsBank (struct Qst_Question *Question, HTM_TR_Begin (NULL); /* Put an icon that indicates whether the answer is correct or wrong */ - HTM_TD_Begin ("class=\"BT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BT %s\"",The_GetColorRows ()); if (Question->Answer.Options[NumOpt].Correct) Ico_PutIcon ("check.svg",Ico_BLACK, Txt_TST_Answer_given_by_the_teachers,"CONTEXT_ICO16x16"); @@ -2163,7 +2163,7 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question) /***** Left column: selectors *****/ HTM_TD_Begin ("class=\"TEST_EDI_ANS_LEFT_COL %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); /* Radio selector for unique choice answers */ HTM_INPUT_RADIO ("AnsUni",false, @@ -2190,7 +2190,7 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question) /***** Center column: letter of the answer and expand / contract icon *****/ HTM_TD_Begin ("class=\"%s TEST_EDI_ANS_CENTER_COL %s\"", The_ClassFormInBox[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TxtF ("%c)",'a' + (char) NumOpt); /* Icon to expand (show the answer) */ @@ -2223,7 +2223,7 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question) /***** Right column: content of the answer *****/ HTM_TD_Begin ("class=\"TEST_EDI_ANS_RIGHT_COL %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_DIV_Begin ("id=\"ans_%u\"%s", NumOpt, DisplayRightColumn ? "" : diff --git a/swad_question_import.c b/swad_question_import.c index adc4cf37..2c97c259 100644 --- a/swad_question_import.c +++ b/swad_question_import.c @@ -884,7 +884,7 @@ static void QstImp_WriteRowImportedQst (struct XMLElement *StemElem, HTM_TR_Begin (NULL); /***** Put icon to indicate that a question does not exist in database *****/ - HTM_TD_Begin ("class=\"BT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BT %s\"",The_GetColorRows ()); if (QuestionExists) Ico_PutIcon ("tr16x16.gif" ,Ico_UNCHANGED, Txt_Existing_question,"CONTEXT_ICO16x16"); @@ -894,14 +894,14 @@ static void QstImp_WriteRowImportedQst (struct XMLElement *StemElem, HTM_TD_End (); /***** Write number of question *****/ - HTM_TD_Begin ("class=\"%s %s CT\"",ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"%s %s CT\"",ClassData,The_GetColorRows ()); if (!QuestionExists) HTM_TxtF ("%u ",++NumNonExistingQst); HTM_TD_End (); /***** Write the question tags *****/ HTM_TD_Begin ("class=\"%s LT\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (Question->Tags.Num) { @@ -935,12 +935,12 @@ static void QstImp_WriteRowImportedQst (struct XMLElement *StemElem, HTM_TD_End (); /***** Write the question type *****/ - HTM_TD_Begin ("class=\"%s CT %s\"",ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"%s CT %s\"",ClassData,The_GetColorRows ()); HTM_TxtF ("%s ",Txt_TST_STR_ANSWER_TYPES[Question->Answer.Type]); HTM_TD_End (); /***** Write if shuffle is enabled *****/ - HTM_TD_Begin ("class=\"CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"CT %s\"",The_GetColorRows ()); if (Question->Answer.Type == Qst_ANS_UNIQUE_CHOICE || Question->Answer.Type == Qst_ANS_MULTIPLE_CHOICE) /* Put an icon that indicates whether shuffle is enabled or not */ @@ -952,7 +952,7 @@ static void QstImp_WriteRowImportedQst (struct XMLElement *StemElem, HTM_TD_End (); /***** Write the stem and the answers *****/ - HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ()); Qst_WriteQstStem (Stem,ClassStem, true); // Visible Qst_WriteQstFeedback (Feedback,"TEST_TXT_LIGHT"); @@ -1017,7 +1017,7 @@ static void QstImp_WriteRowImportedQst (struct XMLElement *StemElem, HTM_TR_Begin (NULL); /* Put an icon that indicates whether the answer is correct or wrong */ - HTM_TD_Begin ("class=\"BT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BT %s\"",The_GetColorRows ()); if (Question->Answer.Options[NumOpt].Correct) Ico_PutIcon ("check.svg",Ico_BLACK, Txt_TST_Answer_given_by_the_teachers, diff --git a/swad_record.c b/swad_record.c index 48679964..6d5ca09f 100644 --- a/swad_record.c +++ b/swad_record.c @@ -1688,7 +1688,7 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView, HTM_TR_End (); /***** Fields of the record that depends on the course *****/ - for (NumField = 0, Gbl.RowEvenOdd = 0; + for (NumField = 0; NumField < Gbl.Crs.Records.LstFields.Num; NumField++, Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd) { @@ -1721,7 +1721,7 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView, HTM_TD_Begin ("class=\"REC_C1_BOT %s RT %s\"", ICanEditThisField ? The_ClassFormInBox[Gbl.Prefs.Theme] : "REC_DAT_SMALL", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TxtColon (Gbl.Crs.Records.LstFields.Lst[NumField].Name); if (TypeOfView == Rec_CRS_LIST_ONE_RECORD || TypeOfView == Rec_CRS_LIST_SEVERAL_RECORDS) @@ -1750,7 +1750,7 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView, the user's role and the visibility of the field */ HTM_TD_Begin ("class=\"REC_C2_BOT LT %s %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanEditThisField) // Show with form { HTM_TEXTAREA_Begin ("name=\"Field%ld\" rows=\"%u\"" diff --git a/swad_room.c b/swad_room.c index fec03627..6ce09e12 100644 --- a/swad_room.c +++ b/swad_room.c @@ -155,7 +155,6 @@ void Roo_SeeRooms (void) struct Roo_Rooms Rooms; Roo_Order_t Order; unsigned NumRoom; - unsigned RowEvenOdd; char StrCapacity[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; /***** Trivial check *****/ @@ -213,30 +212,30 @@ void Roo_SeeRooms (void) HTM_TR_End (); /***** Write list of rooms *****/ - for (NumRoom = 0, RowEvenOdd = 1; + for (NumRoom = 0; NumRoom < Rooms.Num; - NumRoom++, RowEvenOdd = 1 - RowEvenOdd) + NumRoom++, Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd) { HTM_TR_Begin (NULL); /* Building short name */ HTM_TD_Begin ("class=\"%s LT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[RowEvenOdd]); + The_GetColorRows ()); HTM_Txt (Rooms.Lst[NumRoom].BldShrtName); HTM_TD_End (); /* Floor */ HTM_TD_Begin ("class=\"%s RT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[RowEvenOdd]); + The_GetColorRows ()); HTM_Int (Rooms.Lst[NumRoom].Floor); HTM_TD_End (); /* Type */ HTM_TD_Begin ("class=\"%s LT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[RowEvenOdd]); + The_GetColorRows ()); Ico_PutIconOn (Roo_TypesIcons[Rooms.Lst[NumRoom].Type],Ico_BLACK, Txt_ROOM_TYPES[Rooms.Lst[NumRoom].Type]); HTM_TD_End (); @@ -244,21 +243,21 @@ void Roo_SeeRooms (void) /* Short name */ HTM_TD_Begin ("class=\"%s LT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[RowEvenOdd]); + The_GetColorRows ()); HTM_Txt (Rooms.Lst[NumRoom].ShrtName); HTM_TD_End (); /* Full name */ HTM_TD_Begin ("class=\"%s LT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[RowEvenOdd]); + The_GetColorRows ()); HTM_Txt (Rooms.Lst[NumRoom].FullName); HTM_TD_End (); /* Capacity */ HTM_TD_Begin ("class=\"%s RT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[RowEvenOdd]); + The_GetColorRows ()); Roo_WriteCapacity (StrCapacity,Rooms.Lst[NumRoom].Capacity); HTM_Txt (StrCapacity); HTM_TD_End (); @@ -271,7 +270,7 @@ void Roo_SeeRooms (void) case Rol_SYS_ADM: HTM_TD_Begin ("class=\"%s LT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[RowEvenOdd]); + The_GetColorRows ()); Roo_GetAndListMACAddresses (Rooms.Lst[NumRoom].RooCod); HTM_TD_End (); break; diff --git a/swad_setting.c b/swad_setting.c index f3a6c16c..c4e2dc97 100644 --- a/swad_setting.c +++ b/swad_setting.c @@ -166,7 +166,6 @@ void Set_GetSettingsFromIP (void) /* Get theme (row[2]) */ Gbl.Prefs.Theme = The_GetThemeFromStr (row[2]); - The_SetColorRows (); /* Get icon set (row[3]) */ Gbl.Prefs.IconSet = Ico_GetIconSetFromStr (row[3]); diff --git a/swad_statistic.c b/swad_statistic.c index 0cbf32d4..c673cd5b 100644 --- a/swad_statistic.c +++ b/swad_statistic.c @@ -1210,7 +1210,7 @@ static void Sta_ShowDetailedAccessesList (const struct Sta_Stats *Stats, HTM_TR_End (); /***** Write rows back *****/ - for (NumRow = LastRow, UniqueId = 1, Gbl.RowEvenOdd = 0; + for (NumRow = LastRow, UniqueId = 1; NumRow >= FirstRow; NumRow--, UniqueId++, Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd) { @@ -1233,23 +1233,23 @@ static void Sta_ShowDetailedAccessesList (const struct Sta_Stats *Stats, HTM_TR_Begin (NULL); /* Write the number of row */ - HTM_TD_Begin ("class=\"LOG RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LOG RT %s\"",The_GetColorRows ()); HTM_TxtF ("%u ",NumRow); HTM_TD_End (); /* Write the user's ID if user is a student */ - HTM_TD_Begin ("class=\"LOG CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LOG CT %s\"",The_GetColorRows ()); ID_WriteUsrIDs (&UsrDat,NULL); HTM_NBSP (); HTM_TD_End (); /* Write the first name and the surnames */ - HTM_TD_Begin ("class=\"LOG LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LOG LT %s\"",The_GetColorRows ()); HTM_TxtF ("%s ",UsrDat.FullName); HTM_TD_End (); /* Write the user's role */ - HTM_TD_Begin ("class=\"LOG CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LOG CT %s\"",The_GetColorRows ()); HTM_TxtF ("%s ",RoleFromLog < Rol_NUM_ROLES ? Txt_ROLES_SINGUL_Abc[RoleFromLog][UsrDat.Sex] : "?"); HTM_TD_End (); @@ -1258,7 +1258,7 @@ static void Sta_ShowDetailedAccessesList (const struct Sta_Stats *Stats, if (asprintf (&Id,"log_date_%u",UniqueId) < 0) Err_NotEnoughMemoryExit (); HTM_TD_Begin ("id=\"%s\" class=\"LOG RT %s\"", - Id,Gbl.ColorRows[Gbl.RowEvenOdd]); + Id,The_GetColorRows ()); Dat_WriteLocalDateHMSFromUTC (Id,Dat_GetUNIXTimeFromStr (row[3]), Gbl.Prefs.DateFormat,Dat_SEPARATOR_COMMA, true,true,false,0x7); @@ -1268,7 +1268,7 @@ static void Sta_ShowDetailedAccessesList (const struct Sta_Stats *Stats, /* Write the action */ if (sscanf (row[4],"%ld",&ActCod) != 1) Err_WrongActionExit (); - HTM_TD_Begin ("class=\"LOG LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LOG LT %s\"",The_GetColorRows ()); if (ActCod >= 0) HTM_TxtF ("%s ",Act_GetActionText (Act_FromActCodToAction[ActCod])); else @@ -1276,7 +1276,7 @@ static void Sta_ShowDetailedAccessesList (const struct Sta_Stats *Stats, HTM_TD_End (); /* Write the comments of the access */ - HTM_TD_Begin ("class=\"LOG LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LOG LT %s\"",The_GetColorRows ()); Sta_WriteLogComments (LogCod); HTM_TD_End (); @@ -1345,7 +1345,7 @@ static void Sta_ShowNumHitsPerUsr (Sta_CountType_t CountType, HTM_TR_End (); /***** Write rows *****/ - for (NumHit = 1, Hits.Max = 0.0, Gbl.RowEvenOdd = 0; + for (NumHit = 1, Hits.Max = 0.0; NumHit <= NumHits; NumHit++, Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd) { @@ -1360,30 +1360,30 @@ static void Sta_ShowNumHitsPerUsr (Sta_CountType_t CountType, HTM_TR_Begin (NULL); /* Write the number of row */ - HTM_TD_Begin ("class=\"LOG RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LOG RT %s\"",The_GetColorRows ()); HTM_TxtF ("%u ",NumHit); HTM_TD_End (); /* Show the photo */ - HTM_TD_Begin ("class=\"CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"CT %s\"",The_GetColorRows ()); Pho_ShowUsrPhotoIfAllowed (&UsrDat, ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM, false); HTM_TD_End (); /* Write the user's ID if user is a student in current course */ - HTM_TD_Begin ("class=\"LOG LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LOG LT %s\"",The_GetColorRows ()); ID_WriteUsrIDs (&UsrDat,NULL); HTM_NBSP (); HTM_TD_End (); /* Write the name and the surnames */ - HTM_TD_Begin ("class=\"LOG LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LOG LT %s\"",The_GetColorRows ()); HTM_TxtF ("%s ",UsrDat.FullName); HTM_TD_End (); /* Write user's role */ - HTM_TD_Begin ("class=\"LOG CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LOG CT %s\"",The_GetColorRows ()); HTM_TxtF ("%s ",Txt_ROLES_SINGUL_Abc[UsrDat.Roles.InCurrentCrs][UsrDat.Sex]); HTM_TD_End (); @@ -1400,7 +1400,7 @@ static void Sta_ShowNumHitsPerUsr (Sta_CountType_t CountType, else BarWidth = 0; - HTM_TD_Begin ("class=\"LOG LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LOG LT %s\"",The_GetColorRows ()); if (BarWidth) { HTM_IMG (Cfg_URL_ICON_PUBLIC, diff --git a/swad_survey.c b/swad_survey.c index 30c6c2ad..3843d92e 100644 --- a/swad_survey.c +++ b/swad_survey.c @@ -471,7 +471,7 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys, HTM_TD_Begin ("rowspan=\"2\" class=\"CONTEXT_COL\""); else HTM_TD_Begin ("rowspan=\"2\" class=\"CONTEXT_COL %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (Svy.Status.ICanEdit) Svy_PutFormsToRemEditOneSvy (Surveys,&Svy,Anchor); HTM_TD_End (); @@ -494,7 +494,7 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys, "DATE_RED") : (Svy.Status.Open ? "DATE_GREEN_LIGHT" : "DATE_RED_LIGHT"), - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Dat_WriteLocalDateHMSFromUTC (Id,Svy.TimeUTC[Dat_STR_TIME], Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,true,0x7); @@ -518,7 +518,7 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys, "DATE_RED") : (Svy.Status.Open ? "DATE_GREEN_LIGHT" : "DATE_RED_LIGHT"), - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Dat_WriteLocalDateHMSFromUTC (Id,Svy.TimeUTC[Dat_END_TIME], Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,false,true,0x7); @@ -531,7 +531,7 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys, Svy.Status.Visible ? "ASG_TITLE" : "ASG_TITLE_LIGHT"); else - HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ()); HTM_ARTICLE_Begin (Anchor); Frm_BeginForm (ActSeeSvy); Svy_PutParamSvyCod (SvyCod); @@ -563,7 +563,7 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys, HTM_TD_Begin ("rowspan=\"2\" class=\"LT\""); else HTM_TD_Begin ("rowspan=\"2\" class=\"LT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Svy_WriteStatus (&Svy); if (!ShowOnlyThisSvyComplete) @@ -613,7 +613,7 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys, HTM_TD_Begin ("colspan=\"2\" class=\"LT\""); else HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Svy_WriteAuthor (&Svy); HTM_TD_End (); @@ -621,7 +621,7 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys, if (ShowOnlyThisSvyComplete) HTM_TD_Begin ("class=\"LT\""); else - HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ()); /* Scope of the survey */ HTM_DIV_Begin ("class=\"%s\"",Svy.Status.Visible ? "ASG_GRP" : @@ -2816,7 +2816,7 @@ static void Svy_ListSvyQuestions (struct Svy_Surveys *Surveys, if (Svy->Status.ICanEdit) { - HTM_TD_Begin ("class=\"BT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BT %s\"",The_GetColorRows ()); /* Initialize context */ Surveys->SvyCod = Svy->SvyCod; @@ -2836,21 +2836,21 @@ static void Svy_ListSvyQuestions (struct Svy_Surveys *Surveys, /* Write index of question inside survey */ HTM_TD_Begin ("class=\"%s CT %s\"", The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Unsigned (SvyQst.QstInd + 1); HTM_TD_End (); /* Write the question type (row[2]) */ HTM_TD_Begin ("class=\"%s CT %s\"", The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Txt (Txt_SURVEY_STR_ANSWER_TYPES[SvyQst.AnswerType]); HTM_TD_End (); /* Write the stem and the answers of this question */ HTM_TD_Begin ("class=\"%s LT %s\"", The_ClassDat[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Svy_WriteQstStem (Stem); Svy_WriteAnswersOfAQst (Svy,&SvyQst,PutFormAnswerSurvey); HTM_TD_End (); diff --git a/swad_syllabus.c b/swad_syllabus.c index 31c44262..2341d47c 100644 --- a/swad_syllabus.c +++ b/swad_syllabus.c @@ -627,13 +627,13 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem, if (NewItem) { HTM_TD_Begin ("colspan=\"5\" class=\"%s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); } else { /***** Icon to remove the row *****/ - HTM_TD_Begin ("class=\"BM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ()); if (Syl_LstItemsSyllabus.Lst[NumItem].HasChildren) Ico_PutIconRemovalNotAllowed (); else @@ -644,7 +644,7 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem, /***** Icon to get up an item *****/ Syl_CalculateUpSubtreeSyllabus (&Subtree,NumItem); - HTM_TD_Begin ("class=\"BM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ()); if (Subtree.MovAllowed) { if (asprintf (&Title,Syl_LstItemsSyllabus.Lst[NumItem].HasChildren ? Txt_Move_up_X_and_its_subsections : @@ -665,7 +665,7 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem, /***** Icon to get down item *****/ Syl_CalculateDownSubtreeSyllabus (&Subtree,NumItem); - HTM_TD_Begin ("class=\"BM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ()); if (Subtree.MovAllowed) { if (asprintf (&Title,Syl_LstItemsSyllabus.Lst[NumItem].HasChildren ? Txt_Move_down_X_and_its_subsections : @@ -685,7 +685,7 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem, HTM_TD_End (); /***** Icon to increase the level of an item *****/ - HTM_TD_Begin ("class=\"BM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ()); if (Level > 1) { if (asprintf (&Title,Txt_Increase_level_of_X,StrItemCod) < 0) @@ -703,7 +703,7 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem, HTM_TD_End (); /***** Icon to decrease level item *****/ - HTM_TD_Begin ("class=\"BM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"BM %s\"",The_GetColorRows ()); if (Level < LastLevel + 1 && Level < Syl_MAX_LEVELS_SYLLABUS) { @@ -733,13 +733,13 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem, if (Level > 1) { HTM_TD_Begin ("colspan=\"%d\" class=\"%s\"", - Level - 1,Gbl.ColorRows[Gbl.RowEvenOdd]); + Level - 1,The_GetColorRows ()); HTM_TD_End (); } /***** Code of the item *****/ HTM_TD_Begin ("class=\"%s RT %s\" style=\"width:%dpx;\"", - StyleSyllabus[Level],Gbl.ColorRows[Gbl.RowEvenOdd], + StyleSyllabus[Level],The_GetColorRows (), Level * Syl_WIDTH_NUM_SYLLABUS); if (Level == 1) HTM_NBSP (); @@ -750,7 +750,7 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem, HTM_TD_Begin ("colspan=\"%d\" class=\"%s LT %s\"", Syl_LstItemsSyllabus.NumLevels - Level + 1, StyleSyllabus[Level], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Txt (Text); HTM_TD_End (); } @@ -844,7 +844,7 @@ static void Syl_PutFormItemSyllabus (struct Syl_Syllabus *Syllabus, if (Level > 1) { HTM_TD_Begin ("colspan=\"%d\" class=\"%s\"", - Level - 1,Gbl.ColorRows[Gbl.RowEvenOdd]); + Level - 1,The_GetColorRows ()); HTM_TD_End (); } @@ -852,14 +852,14 @@ static void Syl_PutFormItemSyllabus (struct Syl_Syllabus *Syllabus, if (NewItem) // If the item is new (not stored in the file) ==> it has not a number { HTM_TD_Begin ("class=\"%s\" style=\"width:%dpx;\"", - Gbl.ColorRows[Gbl.RowEvenOdd], + The_GetColorRows (), Level * Syl_WIDTH_NUM_SYLLABUS); HTM_TD_End (); } else { HTM_TD_Begin ("class=\"%s LM %s\" style=\"width:%dpx;\"", - StyleSyllabus[Level],Gbl.ColorRows[Gbl.RowEvenOdd], + StyleSyllabus[Level],The_GetColorRows (), Level * Syl_WIDTH_NUM_SYLLABUS); if (Level == 1) HTM_NBSP (); @@ -871,7 +871,7 @@ static void Syl_PutFormItemSyllabus (struct Syl_Syllabus *Syllabus, /***** Text of the item *****/ HTM_TD_Begin ("colspan=\"%d\" class=\"LM %s\"", Syl_LstItemsSyllabus.NumLevels - Level + 1, - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); Frm_BeginForm (NewItem ? (Gbl.Crs.Info.Type == Inf_LECTURES ? ActInsIteSylLec : ActInsIteSylPra) : (Gbl.Crs.Info.Type == Inf_LECTURES ? ActModIteSylLec : diff --git a/swad_test_print.c b/swad_test_print.c index f434da27..2e7d04f1 100644 --- a/swad_test_print.c +++ b/swad_test_print.c @@ -291,14 +291,14 @@ static void TstPrn_WriteQstAndAnsToFill (struct TstPrn_PrintedQuestion *PrintedQ HTM_TR_Begin (NULL); /***** Number of question and answer type *****/ - HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"RT %s\"",The_GetColorRows ()); Qst_WriteNumQst (QstInd + 1,"BIG_INDEX"); Qst_WriteAnswerType (Question->Answer.Type, The_ClassDatSmall[Gbl.Prefs.Theme]); HTM_TD_End (); /***** Stem, media and answers *****/ - HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ()); /* Write parameter with question code */ Qst_WriteParamQstCod (QstInd,Question->QstCod); @@ -645,7 +645,7 @@ static void TstPrn_WriteQstAndAnsExam (struct UsrData *UsrDat, HTM_TR_Begin (NULL); /***** Number of question and answer type *****/ - HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"RT %s\"",The_GetColorRows ()); Qst_WriteNumQst (QstInd + 1,"BIG_INDEX"); if (QuestionUneditedAfterExam) Qst_WriteAnswerType (Question->Answer.Type, @@ -653,7 +653,7 @@ static void TstPrn_WriteQstAndAnsExam (struct UsrData *UsrDat, HTM_TD_End (); /***** Stem, media and answers *****/ - HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT %s\"",The_GetColorRows ()); if (QuestionExists) { if (QuestionUneditedAfterExam) @@ -1901,7 +1901,7 @@ static void TstPrn_ShowUsrPrints (struct UsrData *UsrDat) if (asprintf (&Id,"tst_date_%u_%u",(unsigned) StartEndTime,UniqueId) < 0) Err_NotEnoughMemoryExit (); HTM_TD_Begin ("id=\"%s\" class=\"%s LT %s\"", - Id,ClassDat,Gbl.ColorRows[Gbl.RowEvenOdd]); + Id,ClassDat,The_GetColorRows ()); Dat_WriteLocalDateHMSFromUTC (Id,Print.TimeUTC[StartEndTime], Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,false,0x7); @@ -1919,7 +1919,7 @@ static void TstPrn_ShowUsrPrints (struct UsrData *UsrDat) /* Write number of questions */ HTM_TD_Begin ("class=\"%s RT LINE_LEFT %s\"", - ClassDat,Gbl.ColorRows[Gbl.RowEvenOdd]); + ClassDat,The_GetColorRows ()); if (ICanView.Result) HTM_Unsigned (Print.NumQsts.All); else @@ -1928,7 +1928,7 @@ static void TstPrn_ShowUsrPrints (struct UsrData *UsrDat) /* Write number of non-blank answers */ HTM_TD_Begin ("class=\"%s RT LINE_LEFT %s\"", - ClassDat,Gbl.ColorRows[Gbl.RowEvenOdd]); + ClassDat,The_GetColorRows ()); if (ICanView.Result) { if (Print.NumQsts.NotBlank) @@ -1942,7 +1942,7 @@ static void TstPrn_ShowUsrPrints (struct UsrData *UsrDat) /* Write number of blank answers */ HTM_TD_Begin ("class=\"%s RT %s\"", - ClassDat,Gbl.ColorRows[Gbl.RowEvenOdd]); + ClassDat,The_GetColorRows ()); if (ICanView.Result) { NumQstsBlank = Print.NumQsts.All - Print.NumQsts.NotBlank; @@ -1957,7 +1957,7 @@ static void TstPrn_ShowUsrPrints (struct UsrData *UsrDat) /* Write score */ HTM_TD_Begin ("class=\"%s RT LINE_LEFT %s\"", - ClassDat,Gbl.ColorRows[Gbl.RowEvenOdd]); + ClassDat,The_GetColorRows ()); if (ICanView.Score) { HTM_Double2Decimals (Print.Score); @@ -1970,7 +1970,7 @@ static void TstPrn_ShowUsrPrints (struct UsrData *UsrDat) /* Write average score per question */ HTM_TD_Begin ("class=\"%s RT %s\"", - ClassDat,Gbl.ColorRows[Gbl.RowEvenOdd]); + ClassDat,The_GetColorRows ()); if (ICanView.Score) HTM_Double2Decimals (Print.NumQsts.All ? Print.Score / (double) Print.NumQsts.All : @@ -1981,7 +1981,7 @@ static void TstPrn_ShowUsrPrints (struct UsrData *UsrDat) /* Write grade */ HTM_TD_Begin ("class=\"%s RT LINE_LEFT %s\"", - ClassDat,Gbl.ColorRows[Gbl.RowEvenOdd]); + ClassDat,The_GetColorRows ()); if (ICanView.Score) TstPrn_ComputeAndShowGrade (Print.NumQsts.All,Print.Score,Tst_SCORE_MAX); else @@ -1990,7 +1990,7 @@ static void TstPrn_ShowUsrPrints (struct UsrData *UsrDat) /* Link to show this test */ HTM_TD_Begin ("class=\"RT LINE_LEFT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanView.Result) { Frm_BeginForm (Gbl.Action.Act == ActSeeMyTstResCrs ? ActSeeOneTstResMe : @@ -2017,32 +2017,32 @@ static void TstPrn_ShowUsrPrints (struct UsrData *UsrDat) { /* Columns for dates */ HTM_TD_Begin ("colspan=\"2\" class=\"LINE_BOTTOM %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); /* Column for questions */ HTM_TD_Begin ("class=\"LINE_BOTTOM LINE_LEFT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); /* Columns for answers */ HTM_TD_Begin ("colspan=\"2\" class=\"LINE_BOTTOM LINE_LEFT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); /* Columns for score */ HTM_TD_Begin ("colspan=\"2\" class=\"LINE_BOTTOM LINE_LEFT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); /* Column for grade */ HTM_TD_Begin ("class=\"LINE_BOTTOM LINE_LEFT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); /* Column for link to show the result */ HTM_TD_Begin ("class=\"LINE_BOTTOM LINE_LEFT %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); HTM_TR_End (); @@ -2114,7 +2114,7 @@ static void TstPrn_ShowPrintsSummaryRow (bool ItsMe, /***** Row title *****/ HTM_TD_Begin ("colspan=\"2\" class=\"RM %s LINE_TOP LINE_BOTTOM %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TxtColonNBSP (Txt_Visible_tests); HTM_Unsigned (NumPrints); HTM_TD_End (); @@ -2122,7 +2122,7 @@ static void TstPrn_ShowPrintsSummaryRow (bool ItsMe, /***** Write total number of questions *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (NumPrints) HTM_Unsigned (NumTotalQsts->All); HTM_TD_End (); @@ -2130,7 +2130,7 @@ static void TstPrn_ShowPrintsSummaryRow (bool ItsMe, /***** Write total number of non-blank answers *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (NumPrints) HTM_Unsigned (NumTotalQsts->NotBlank); HTM_TD_End (); @@ -2138,7 +2138,7 @@ static void TstPrn_ShowPrintsSummaryRow (bool ItsMe, /***** Write total number of blank answers *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (NumPrints) HTM_Unsigned (NumTotalQsts->All - NumTotalQsts->NotBlank); HTM_TD_End (); @@ -2146,7 +2146,7 @@ static void TstPrn_ShowPrintsSummaryRow (bool ItsMe, /***** Write total score *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanViewTotalScore) { HTM_Double2Decimals (TotalScore); @@ -2158,7 +2158,7 @@ static void TstPrn_ShowPrintsSummaryRow (bool ItsMe, /***** Write average score per question *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanViewTotalScore) HTM_Double2Decimals (NumTotalQsts->All ? TotalScore / (double) NumTotalQsts->All : 0.0); @@ -2167,7 +2167,7 @@ static void TstPrn_ShowPrintsSummaryRow (bool ItsMe, /***** Write grade over Tst_SCORE_MAX *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (ICanViewTotalScore) TstPrn_ComputeAndShowGrade (NumTotalQsts->All,TotalScore,Tst_SCORE_MAX); HTM_TD_End (); @@ -2175,7 +2175,7 @@ static void TstPrn_ShowPrintsSummaryRow (bool ItsMe, /***** Last cell *****/ HTM_TD_Begin ("class=\"%s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); /***** End row *****/ diff --git a/swad_text.c b/swad_text.c index 54fa8768..8d73041f 100644 --- a/swad_text.c +++ b/swad_text.c @@ -55156,7 +55156,7 @@ const char *Txt_UPLOAD_FILE_X_invalid_name = // Warning: it is very important to const char *Txt_Upload_file = #if L==1 // ca - "Enviar archivo"; // Necessita traduccio + "Enviar arxiu"; #elif L==2 // de "Upload Datei"; #elif L==3 // en @@ -55170,14 +55170,14 @@ const char *Txt_Upload_file = #elif L==7 // it "Caricare file"; #elif L==8 // pl - "Upload file"; // Potrzebujesz tlumaczenie + "Przesyłanie pliku"; #elif L==9 // pt "Fazer upload de arquivo"; #endif const char *Txt_Upload_file_or_create_folder = #if L==1 // ca - "Añadir archivos o crear carpeta"; // Necessita traduccio + "Afegir fitxers o crear carpeta"; #elif L==2 // de "Datei uploaden oder Verzeichnis erstellen"; #elif L==3 // en @@ -55191,7 +55191,7 @@ const char *Txt_Upload_file_or_create_folder = #elif L==7 // it "Caricare file o creare cartella"; #elif L==8 // pl - "Upload file or create folder"; // Potrzebujesz tlumaczenie + "Prześlij pliki lub utwórz folder"; #elif L==9 // pt "Fazer upload de arquivos ou criar diretório"; #endif @@ -55212,7 +55212,7 @@ const char *Txt_Upload_files = #elif L==7 // it "Caricare file"; #elif L==8 // pl - "Upload files"; // Potrzebujesz tlumaczenie + "Prześlij pliki"; #elif L==9 // pt "Fazer upload de arquivos"; #endif @@ -55254,7 +55254,7 @@ const char *Txt_Upload_logo = #elif L==7 // it "Caricare logo"; #elif L==8 // pl - "Upload logo"; // Potrzebujesz tlumaczenie + "Prześlij logo"; #elif L==9 // pt "Fazer upload de logotipo"; #endif @@ -55296,7 +55296,7 @@ const char *Txt_Upload_photo = #elif L==7 // it "Caricare foto"; #elif L==8 // pl - "Upload photo"; // Potrzebujesz tlumaczenie + "Prześlij zdjęcie"; #elif L==9 // pt "Upload foto"; #endif diff --git a/swad_theme.c b/swad_theme.c index fd2cbd63..eb120ebf 100644 --- a/swad_theme.c +++ b/swad_theme.c @@ -408,7 +408,6 @@ void The_ChangeTheme (void) /***** Get param theme *****/ Gbl.Prefs.Theme = The_GetParamTheme (); - The_SetColorRows (); snprintf (Path,sizeof (Path),"%s/%s", Cfg_URL_ICON_THEMES_PUBLIC,The_ThemeId[Gbl.Prefs.Theme]); Str_Copy (Gbl.Prefs.URLTheme,Path,sizeof (Gbl.Prefs.URLTheme) - 1); @@ -458,10 +457,10 @@ The_Theme_t The_GetThemeFromStr (const char *Str) } /*****************************************************************************/ -/******** Set background colors for rows depending on selected theme *********/ +/******** Get background colors for rows depending on selected theme *********/ /*****************************************************************************/ -void The_SetColorRows (void) +const char *The_GetColorRows (void) { static const char *The_ClassColorRows[2][The_NUM_THEMES] = { @@ -482,8 +481,7 @@ void The_SetColorRows (void) [1][The_THEME_DARK ] = "COLOR1_DARK", }; - Gbl.ColorRows[0] = The_ClassColorRows[0][Gbl.Prefs.Theme]; // Darker - Gbl.ColorRows[1] = The_ClassColorRows[1][Gbl.Prefs.Theme]; // Lighter + return The_ClassColorRows[Gbl.RowEvenOdd][Gbl.Prefs.Theme]; } /*****************************************************************************/ diff --git a/swad_theme.h b/swad_theme.h index d7dcbc25..50042517 100644 --- a/swad_theme.h +++ b/swad_theme.h @@ -54,7 +54,7 @@ void The_ChangeTheme (void); The_Theme_t The_GetParamTheme (void); The_Theme_t The_GetThemeFromStr (const char *Str); -void The_SetColorRows (void); +const char *The_GetColorRows (void); //-------------------------------- Figures ------------------------------------ void The_GetAndShowNumUsrsPerTheme (void); diff --git a/swad_user.c b/swad_user.c index 18785e4a..01f7ae53 100644 --- a/swad_user.c +++ b/swad_user.c @@ -1967,7 +1967,6 @@ static void Usr_SetMyPrefsAndRoles (void) Gbl.Prefs.IconSet = Gbl.Usrs.Me.UsrDat.Prefs.IconSet; Gbl.Prefs.Menu = Gbl.Usrs.Me.UsrDat.Prefs.Menu; Gbl.Prefs.Theme = Gbl.Usrs.Me.UsrDat.Prefs.Theme; - The_SetColorRows (); Gbl.Prefs.SideCols = Gbl.Usrs.Me.UsrDat.Prefs.SideCols; Gbl.Prefs.PhotoShape = Gbl.Usrs.Me.UsrDat.Prefs.PhotoShape; snprintf (Gbl.Prefs.URLIconSet,sizeof (Gbl.Prefs.URLIconSet),"%s/%s", @@ -2179,7 +2178,7 @@ void Usr_WriteRowUsrMainData (unsigned NumUsr,struct UsrData *UsrDat, if (UsrIsTheMsgSender) Str_Copy (BgColor,"LIGHT_GREEN",sizeof (BgColor) - 1); else - snprintf (BgColor,sizeof (BgColor),"%s",Gbl.ColorRows[Gbl.RowEvenOdd]); + snprintf (BgColor,sizeof (BgColor),"%s",The_GetColorRows ()); if (PutCheckBoxToSelectUsr) { @@ -2273,7 +2272,7 @@ static void Usr_WriteRowGstAllData (struct UsrData *UsrDat) if (Gbl.Usrs.Listing.WithPhotos) { /***** Show guest's photo *****/ - HTM_TD_Begin ("class=\"%s LM\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"%s LM\"",The_GetColorRows ()); Pho_ShowUsrPhotoIfAllowed (UsrDat, ClassPhoto[Gbl.Prefs.PhotoShape],Pho_NO_ZOOM, false); @@ -2283,7 +2282,7 @@ static void Usr_WriteRowGstAllData (struct UsrData *UsrDat) /****** Write user's ID ******/ HTM_TD_Begin ("class=\"%s %s LM\"", The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); ID_WriteUsrIDs (UsrDat,NULL); HTM_NBSP (); HTM_TD_End (); @@ -2291,9 +2290,9 @@ static void Usr_WriteRowGstAllData (struct UsrData *UsrDat) /***** Write rest of guest's main data *****/ Ins.InsCod = UsrDat->InsCod; Ins_GetDataOfInstitByCod (&Ins); - Usr_WriteMainUsrDataExceptUsrID (UsrDat,Gbl.ColorRows[Gbl.RowEvenOdd]); - Usr_WriteEmail (UsrDat,Gbl.ColorRows[Gbl.RowEvenOdd]); - Usr_WriteUsrData (Gbl.ColorRows[Gbl.RowEvenOdd], + Usr_WriteMainUsrDataExceptUsrID (UsrDat,The_GetColorRows ()); + Usr_WriteEmail (UsrDat,The_GetColorRows ()); + Usr_WriteUsrData (The_GetColorRows (), Ins.FullName, NULL,true,false); @@ -2303,7 +2302,7 @@ static void Usr_WriteRowGstAllData (struct UsrData *UsrDat) Ctr.CtrCod = UsrDat->Tch.CtrCod; Ctr_GetDataOfCenterByCod (&Ctr); } - Usr_WriteUsrData (Gbl.ColorRows[Gbl.RowEvenOdd], + Usr_WriteUsrData (The_GetColorRows (), UsrDat->Tch.CtrCod > 0 ? Ctr.FullName : " ", NULL,true,false); @@ -2312,27 +2311,27 @@ static void Usr_WriteRowGstAllData (struct UsrData *UsrDat) Dpt.DptCod = UsrDat->Tch.DptCod; Dpt_GetDataOfDepartmentByCod (&Dpt); } - Usr_WriteUsrData (Gbl.ColorRows[Gbl.RowEvenOdd], + Usr_WriteUsrData (The_GetColorRows (), UsrDat->Tch.DptCod > 0 ? Dpt.FullName : " ", NULL,true,false); - Usr_WriteUsrData (Gbl.ColorRows[Gbl.RowEvenOdd], + Usr_WriteUsrData (The_GetColorRows (), UsrDat->Tch.Office[0] ? UsrDat->Tch.Office : " ", NULL,true,false); - Usr_WriteUsrData (Gbl.ColorRows[Gbl.RowEvenOdd], + Usr_WriteUsrData (The_GetColorRows (), UsrDat->Tch.OfficePhone[0] ? UsrDat->Tch.OfficePhone : " ", NULL,true,false); - Usr_WriteUsrData (Gbl.ColorRows[Gbl.RowEvenOdd], + Usr_WriteUsrData (The_GetColorRows (), UsrDat->Phone[0][0] ? UsrDat->Phone[0] : " ", NULL,true,false); - Usr_WriteUsrData (Gbl.ColorRows[Gbl.RowEvenOdd], + Usr_WriteUsrData (The_GetColorRows (), UsrDat->Phone[1][0] ? UsrDat->Phone[1] : " ", NULL,true,false); - Usr_WriteUsrData (Gbl.ColorRows[Gbl.RowEvenOdd], + Usr_WriteUsrData (The_GetColorRows (), UsrDat->StrBirthday[0] ? UsrDat->StrBirthday : " ", NULL,true,false); @@ -2371,7 +2370,7 @@ static void Usr_WriteRowStdAllData (struct UsrData *UsrDat,char *GroupNames) if (Gbl.Usrs.Listing.WithPhotos) { /***** Show student's photo *****/ - HTM_TD_Begin ("class=\"LM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LM %s\"",The_GetColorRows ()); Pho_ShowUsrPhotoIfAllowed (UsrDat, ClassPhoto[Gbl.Prefs.PhotoShape],Pho_NO_ZOOM, false); @@ -2382,7 +2381,7 @@ static void Usr_WriteRowStdAllData (struct UsrData *UsrDat,char *GroupNames) HTM_TD_Begin ("class=\"%s %s LM\"", UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] : The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); ID_WriteUsrIDs (UsrDat,NULL); HTM_NBSP (); HTM_TD_End (); @@ -2390,24 +2389,24 @@ static void Usr_WriteRowStdAllData (struct UsrData *UsrDat,char *GroupNames) /***** Write rest of main student's data *****/ Ins.InsCod = UsrDat->InsCod; Ins_GetDataOfInstitByCod (&Ins); - Usr_WriteMainUsrDataExceptUsrID (UsrDat,Gbl.ColorRows[Gbl.RowEvenOdd]); - Usr_WriteEmail (UsrDat,Gbl.ColorRows[Gbl.RowEvenOdd]); - Usr_WriteUsrData (Gbl.ColorRows[Gbl.RowEvenOdd], + Usr_WriteMainUsrDataExceptUsrID (UsrDat,The_GetColorRows ()); + Usr_WriteEmail (UsrDat,The_GetColorRows ()); + Usr_WriteUsrData (The_GetColorRows (), Ins.FullName, NULL,true,UsrDat->Accepted); /***** Write the rest of the data of the student *****/ - Usr_WriteUsrData (Gbl.ColorRows[Gbl.RowEvenOdd], + Usr_WriteUsrData (The_GetColorRows (), UsrDat->Phone[0][0] ? (ShowData ? UsrDat->Phone[0] : "********") : " ", NULL,true,UsrDat->Accepted); - Usr_WriteUsrData (Gbl.ColorRows[Gbl.RowEvenOdd], + Usr_WriteUsrData (The_GetColorRows (), UsrDat->Phone[1][0] ? (ShowData ? UsrDat->Phone[1] : "********") : " ", NULL,true,UsrDat->Accepted); - Usr_WriteUsrData (Gbl.ColorRows[Gbl.RowEvenOdd], + Usr_WriteUsrData (The_GetColorRows (), UsrDat->StrBirthday[0] ? (ShowData ? UsrDat->StrBirthday : "********") : " ", @@ -2424,7 +2423,7 @@ static void Usr_WriteRowStdAllData (struct UsrData *UsrDat,char *GroupNames) Grp_GetNamesGrpsUsrBelongsTo (UsrDat->UsrCod, Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].GrpTypCod, GroupNames); - Usr_WriteUsrData (Gbl.ColorRows[Gbl.RowEvenOdd],GroupNames,NULL,true,UsrDat->Accepted); + Usr_WriteUsrData (The_GetColorRows (),GroupNames,NULL,true,UsrDat->Accepted); } /***** Fields of the record dependientes of the course *****/ @@ -2444,7 +2443,7 @@ static void Usr_WriteRowStdAllData (struct UsrData *UsrDat,char *GroupNames) } else Text[0] = '\0'; - Usr_WriteUsrData (Gbl.ColorRows[Gbl.RowEvenOdd],Text,NULL,false,UsrDat->Accepted); + Usr_WriteUsrData (The_GetColorRows (),Text,NULL,false,UsrDat->Accepted); /* Free structure that stores the query result */ DB_FreeMySQLResult (&mysql_res); @@ -2483,7 +2482,7 @@ static void Usr_WriteRowTchAllData (struct UsrData *UsrDat) if (Gbl.Usrs.Listing.WithPhotos) { /***** Show teacher's photo *****/ - HTM_TD_Begin ("class=\"LM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LM %s\"",The_GetColorRows ()); Pho_ShowUsrPhotoIfAllowed (UsrDat, ClassPhoto[Gbl.Prefs.PhotoShape],Pho_NO_ZOOM, false); @@ -2494,7 +2493,7 @@ static void Usr_WriteRowTchAllData (struct UsrData *UsrDat) HTM_TD_Begin ("class=\"%s %s LM\"", UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] : The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); ID_WriteUsrIDs (UsrDat,NULL); HTM_NBSP (); HTM_TD_End (); @@ -2502,9 +2501,9 @@ static void Usr_WriteRowTchAllData (struct UsrData *UsrDat) /***** Write rest of main teacher's data *****/ Ins.InsCod = UsrDat->InsCod; Ins_GetDataOfInstitByCod (&Ins); - Usr_WriteMainUsrDataExceptUsrID (UsrDat,Gbl.ColorRows[Gbl.RowEvenOdd]); - Usr_WriteEmail (UsrDat,Gbl.ColorRows[Gbl.RowEvenOdd]); - Usr_WriteUsrData (Gbl.ColorRows[Gbl.RowEvenOdd], + Usr_WriteMainUsrDataExceptUsrID (UsrDat,The_GetColorRows ()); + Usr_WriteEmail (UsrDat,The_GetColorRows ()); + Usr_WriteUsrData (The_GetColorRows (), Ins.FullName, NULL,true,UsrDat->Accepted); @@ -2514,7 +2513,7 @@ static void Usr_WriteRowTchAllData (struct UsrData *UsrDat) Ctr.CtrCod = UsrDat->Tch.CtrCod; Ctr_GetDataOfCenterByCod (&Ctr); } - Usr_WriteUsrData (Gbl.ColorRows[Gbl.RowEvenOdd], + Usr_WriteUsrData (The_GetColorRows (), (ShowData && UsrDat->Tch.CtrCod > 0) ? Ctr.FullName : " ", NULL,true,UsrDat->Accepted); @@ -2523,15 +2522,15 @@ static void Usr_WriteRowTchAllData (struct UsrData *UsrDat) Dpt.DptCod = UsrDat->Tch.DptCod; Dpt_GetDataOfDepartmentByCod (&Dpt); } - Usr_WriteUsrData (Gbl.ColorRows[Gbl.RowEvenOdd], + Usr_WriteUsrData (The_GetColorRows (), (ShowData && UsrDat->Tch.DptCod > 0) ? Dpt.FullName : " ", NULL,true,UsrDat->Accepted); - Usr_WriteUsrData (Gbl.ColorRows[Gbl.RowEvenOdd], + Usr_WriteUsrData (The_GetColorRows (), (ShowData && UsrDat->Tch.Office[0]) ? UsrDat->Tch.Office : " ", NULL,true,UsrDat->Accepted); - Usr_WriteUsrData (Gbl.ColorRows[Gbl.RowEvenOdd], + Usr_WriteUsrData (The_GetColorRows (), (ShowData && UsrDat->Tch.OfficePhone[0]) ? UsrDat->Tch.OfficePhone : " ", NULL,true,UsrDat->Accepted); @@ -2562,14 +2561,14 @@ static void Usr_WriteRowAdmData (unsigned NumUsr,struct UsrData *UsrDat) /***** Write number of user *****/ HTM_TD_Begin ("class=\"USR_LIST_NUM_N CM %s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_Unsigned (NumUsr); HTM_TD_End (); if (Gbl.Usrs.Listing.WithPhotos) { /***** Show administrator's photo *****/ - HTM_TD_Begin ("class=\"LM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LM %s\"",The_GetColorRows ()); Pho_ShowUsrPhotoIfAllowed (UsrDat, ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM, false); @@ -2580,7 +2579,7 @@ static void Usr_WriteRowAdmData (unsigned NumUsr,struct UsrData *UsrDat) HTM_TD_Begin ("class=\"%s %s LM\"", UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] : The_ClassDatSmall[Gbl.Prefs.Theme], - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); ID_WriteUsrIDs (UsrDat,NULL); HTM_NBSP (); HTM_TD_End (); @@ -2588,9 +2587,9 @@ static void Usr_WriteRowAdmData (unsigned NumUsr,struct UsrData *UsrDat) /***** Write rest of main administrator's data *****/ Ins.InsCod = UsrDat->InsCod; Ins_GetDataOfInstitByCod (&Ins); - Usr_WriteMainUsrDataExceptUsrID (UsrDat,Gbl.ColorRows[Gbl.RowEvenOdd]); + Usr_WriteMainUsrDataExceptUsrID (UsrDat,The_GetColorRows ()); - HTM_TD_Begin ("class=\"LM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LM %s\"",The_GetColorRows ()); Ins_DrawInstitutionLogoWithLink (&Ins,25); HTM_TD_End (); @@ -4078,7 +4077,7 @@ static void Usr_ListMainDataGsts (bool PutCheckBoxToSelectUsr) Usr_UsrDataConstructor (&UsrDat); /***** List guests' data *****/ - for (NumUsr = 0, Gbl.RowEvenOdd = 0; + for (NumUsr = 0; NumUsr < Gbl.Usrs.LstUsrs[Rol_GST].NumUsrs; NumUsr++, Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd) { @@ -4148,7 +4147,7 @@ static void Usr_ListMainDataStds (bool PutCheckBoxToSelectUsr) Usr_UsrDataConstructor (&UsrDat); /***** List students' data *****/ - for (NumUsr = 0, Gbl.RowEvenOdd = 0; + for (NumUsr = 0; NumUsr < Gbl.Usrs.LstUsrs[Rol_STD].NumUsrs; NumUsr++, Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd) { @@ -4220,7 +4219,7 @@ static void Usr_ListMainDataTchs (Rol_Role_t Role, Usr_UsrDataConstructor (&UsrDat); /***** List teachers' data *****/ - for (NumUsr = 0, Gbl.RowEvenOdd = 0; + for (NumUsr = 0; NumUsr < Gbl.Usrs.LstUsrs[Role].NumUsrs; NumUsr++, Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd) { @@ -4318,7 +4317,7 @@ void Usr_ListAllDataGsts (void) Usr_UsrDataConstructor (&UsrDat); /***** List guests' data *****/ - for (NumUsr = 0, Gbl.RowEvenOdd = 0; + for (NumUsr = 0; NumUsr < Gbl.Usrs.LstUsrs[Rol_GST].NumUsrs; ) { UsrDat.UsrCod = Gbl.Usrs.LstUsrs[Rol_GST].Lst[NumUsr].UsrCod; @@ -4519,7 +4518,7 @@ void Usr_ListAllDataStds (void) Usr_UsrDataConstructor (&UsrDat); /***** List students' data *****/ - for (NumUsr = 0, Gbl.RowEvenOdd = 0; + for (NumUsr = 0; NumUsr < Gbl.Usrs.LstUsrs[Rol_STD].NumUsrs; ) { UsrDat.UsrCod = Gbl.Usrs.LstUsrs[Rol_STD].Lst[NumUsr].UsrCod; @@ -4584,7 +4583,7 @@ static void Usr_ListUsrsForSelection (Rol_Role_t Role, Usr_UsrDataConstructor (&UsrDat); /***** List users' data *****/ - for (NumUsr = 0, Gbl.RowEvenOdd = 0; + for (NumUsr = 0; NumUsr < Gbl.Usrs.LstUsrs[Role].NumUsrs; ) { UsrDat.UsrCod = Gbl.Usrs.LstUsrs[Role].Lst[NumUsr].UsrCod; @@ -4679,7 +4678,6 @@ void Usr_ListAllDataTchs (void) HTM_TABLE_BeginWide (); /***** List teachers and non-editing teachers *****/ - Gbl.RowEvenOdd = 0; Usr_ListRowsAllDataTchs (Rol_TCH,FieldNames,NumColumns); Usr_ListRowsAllDataTchs (Rol_NET,FieldNames,NumColumns); @@ -4793,7 +4791,7 @@ unsigned Usr_ListUsrsFound (Rol_Role_t Role, Usr_UsrDataConstructor (&UsrDat); /***** List data of users *****/ - for (NumUsr = 0, Gbl.RowEvenOdd = 0; + for (NumUsr = 0; NumUsr < NumUsrs; NumUsr++, Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd) { @@ -4816,12 +4814,12 @@ unsigned Usr_ListUsrsFound (Rol_Role_t Role, HTM_TR_Begin (NULL); HTM_TD_Begin ("colspan=\"2\" class=\"%s\"", - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); HTM_TD_End (); HTM_TD_Begin ("colspan=\"%u\" class=\"%s\"", Usr_NUM_MAIN_FIELDS_DATA_USR-2, - Gbl.ColorRows[Gbl.RowEvenOdd]); + The_GetColorRows ()); if (Role == Rol_UNK) { Crs_GetAndWriteCrssOfAUsr (&UsrDat,Rol_TCH); @@ -4969,7 +4967,7 @@ void Usr_ListDataAdms (void) Usr_UsrDataConstructor (&UsrDat); /***** List data of administrators *****/ - for (NumUsr = 0, Gbl.RowEvenOdd = 0; + for (NumUsr = 0; NumUsr < Gbl.Usrs.LstUsrs[Rol_DEG_ADM].NumUsrs; ) { UsrDat.UsrCod = Gbl.Usrs.LstUsrs[Rol_DEG_ADM].Lst[NumUsr].UsrCod; @@ -6437,9 +6435,9 @@ void Usr_ShowTableCellWithUsrData (struct UsrData *UsrDat,unsigned NumRows) /***** Show user's photo *****/ if (NumRows) HTM_TD_Begin ("rowspan=\"%u\" class=\"LT LINE_BOTTOM %s\"", - NumRows + 1,Gbl.ColorRows[Gbl.RowEvenOdd]); + NumRows + 1,The_GetColorRows ()); else - HTM_TD_Begin ("class=\"LT LINE_BOTTOM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT LINE_BOTTOM %s\"",The_GetColorRows ()); Pho_ShowUsrPhotoIfAllowed (UsrDat, ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM, false); @@ -6449,9 +6447,9 @@ void Usr_ShowTableCellWithUsrData (struct UsrData *UsrDat,unsigned NumRows) /* Begin cell */ if (NumRows) HTM_TD_Begin ("rowspan=\"%u\" class=\"LT LINE_BOTTOM %s\"", - NumRows + 1,Gbl.ColorRows[Gbl.RowEvenOdd]); + NumRows + 1,The_GetColorRows ()); else - HTM_TD_Begin ("class=\"LT LINE_BOTTOM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_TD_Begin ("class=\"LT LINE_BOTTOM %s\"",The_GetColorRows ()); /* Action to go to user's record depending on role in course */ if (!NextAction[UsrDat->Roles.InCurrentCrs])