From 69b39a13fdc9ab0bf80141de029b753f581d67e8 Mon Sep 17 00:00:00 2001 From: acanas Date: Mon, 20 Dec 2021 22:43:32 +0100 Subject: [PATCH] Version 21.71: Dec 20, 2021 Working on design of dark theme. --- css/{swad21.70.7.css => swad21.71.css} | 34 ++- swad_HTML.c | 176 ++++++++------ swad_HTML.h | 4 +- swad_account.c | 12 +- swad_agenda.c | 23 +- swad_assignment.c | 28 ++- swad_attendance.c | 132 +++++----- swad_banner.c | 14 +- swad_browser.c | 29 +-- swad_building.c | 10 +- swad_center.c | 26 +- swad_changelog.h | 5 +- swad_chat.c | 4 +- swad_connected.c | 14 +- swad_country.c | 26 +- swad_course.c | 62 ++--- swad_degree.c | 40 ++-- swad_degree_type.c | 8 +- swad_department.c | 20 +- swad_duplicate.c | 21 +- swad_enrolment.c | 10 +- swad_exam.c | 21 +- swad_exam_log.c | 48 ++-- swad_exam_print.c | 2 +- swad_exam_result.c | 225 ++++++++++-------- swad_exam_session.c | 25 +- swad_exam_set.c | 28 ++- swad_figure.c | 238 +++++++++---------- swad_follow.c | 38 +-- swad_forum.c | 14 +- swad_game.c | 29 ++- swad_global.c | 3 +- swad_global.h | 2 +- swad_group.c | 38 +-- swad_hierarchy.c | 6 +- swad_holiday.c | 30 ++- swad_indicator.c | 317 ++++++++++++------------- swad_institution.c | 26 +- swad_link.c | 12 +- swad_log.c | 16 +- swad_mail.c | 16 +- swad_mark.c | 16 +- swad_match.c | 37 +-- swad_match_result.c | 173 ++++++++------ swad_message.c | 3 +- swad_network.c | 6 +- swad_notification.c | 14 +- swad_photo.c | 27 ++- swad_place.c | 10 +- swad_plugin.c | 30 ++- swad_profile.c | 16 +- swad_program.c | 27 ++- swad_project.c | 133 ++++++----- swad_question.c | 100 ++++---- swad_question_import.c | 23 +- swad_record.c | 15 +- swad_room.c | 18 +- swad_setting.c | 1 + swad_statistic.c | 127 +++++----- swad_survey.c | 47 ++-- swad_syllabus.c | 31 ++- swad_test_print.c | 134 ++++++----- swad_theme.c | 32 +++ swad_theme.h | 2 + swad_user.c | 104 +++----- 65 files changed, 1556 insertions(+), 1402 deletions(-) rename css/{swad21.70.7.css => swad21.71.css} (98%) diff --git a/css/swad21.70.7.css b/css/swad21.71.css similarity index 98% rename from css/swad21.70.7.css rename to css/swad21.71.css index 2d58c358..2ec26425 100644 --- a/css/swad21.70.7.css +++ b/css/swad21.71.css @@ -56,7 +56,7 @@ textarea .INPUT_BLUE {} .INPUT_YELLOW {} .INPUT_PINK {} -.INPUT_DARK {background-color:#1f1f1f;color:white;} +.INPUT_DARK {border-color:#505050;background-color:#1f1f1f;color:white;} table { @@ -1692,9 +1692,9 @@ a:hover img.CENTER_PHOTO_SHOW box-sizing:border-box; margin:0 auto 10px auto; padding:10px; - background-image:-webkit-linear-gradient(rgba(238,216,108,0.8) 0%,rgba(248,237,149,0.8) 15%,rgba(250,240,152,0.8) 100%); /* Safari */ - background-image:linear-gradient(rgba(238,216,108,0.8) 0%,rgba(248,237,149,0.8) 15%,rgba(250,240,152,0.8) 100%); - box-shadow:0 8px 10px -5px rgba(125,113,0,0.8); + background-image:-webkit-linear-gradient(rgba(238,216,108,0.6) 0%,rgba(248,237,149,0.6) 15%,rgba(250,240,152,0.6) 100%); /* Safari */ + background-image:linear-gradient(rgba(238,216,108,0.6) 0%,rgba(248,237,149,0.6) 15%,rgba(250,240,152,0.6) 100%); + box-shadow:0 8px 10px -5px rgba(125,113,0,0.6); text-align:left; overflow:hidden; } @@ -1703,9 +1703,9 @@ a:hover img.CENTER_PHOTO_SHOW box-sizing:border-box; margin:0 auto 10px auto; padding:10px; - background-image:-webkit-linear-gradient(rgba(238,216,108,0.4) 0%,rgba(248,237,149,0.4) 15%,rgba(250,240,152,0.4) 100%); /* Safari */ - background-image:linear-gradient(rgba(238,216,108,0.4) 0%,rgba(248,237,149,0.4) 15%,rgba(250,240,152,0.4) 100%); - box-shadow:0 8px 10px -5px rgba(125,113,0,0.4); + background-image:-webkit-linear-gradient(rgba(238,216,108,0.3) 0%,rgba(248,237,149,0.3) 15%,rgba(250,240,152,0.3) 100%); /* Safari */ + background-image:linear-gradient(rgba(238,216,108,0.3) 0%,rgba(248,237,149,0.3) 15%,rgba(250,240,152,0.3) 100%); + box-shadow:0 8px 10px -5px rgba(125,113,0,0.3); text-align:left; overflow:hidden; } @@ -1859,7 +1859,7 @@ a:hover img.CENTER_PHOTO_SHOW .ALERT_BG_BLUE {background-color:#fff8e5;} .ALERT_BG_YELLOW {background-color:#fff8e5;} .ALERT_BG_PINK {background-color:#fff8e5;} -.ALERT_BG_DARK {background-color:#a0a0a0;} +.ALERT_BG_DARK {background-color:#808080;} .ALERT_CLOSE { @@ -2350,8 +2350,22 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;} .RB {text-align:right; vertical-align:bottom;} /* Right Bottom */ /***************** Colors used in headers, backgrounds, etc. *****************/ -.COLOR0 {background-color:#F4F2EA;} -.COLOR1 {background-color:#FBFAF7;} +.COLOR0_WHITE {background-color:#f4f2ea;} +.COLOR0_GREY {background-color:#f4f2ea;} +.COLOR0_PURPLE {background-color:#f4f2ea;} +.COLOR0_BLUE {background-color:#f4f2ea;} +.COLOR0_YELLOW {background-color:#f4f2ea;} +.COLOR0_PINK {background-color:#f4f2ea;} +.COLOR0_DARK {background-color:#444444;} + +.COLOR1_WHITE {background-color:#fbfaf7;} +.COLOR1_GREY {background-color:#fbfaf7;} +.COLOR1_PURPLE {background-color:#fbfaf7;} +.COLOR1_BLUE {background-color:#fbfaf7;} +.COLOR1_YELLOW {background-color:#fbfaf7;} +.COLOR1_PINK {background-color:#fbfaf7;} +.COLOR1_DARK {background-color:#4c4c4c;} + .LIGHT_GREEN {background-color:#C0FF40;} .VERY_LIGHT_BLUE {background-color:#EAF3F6;} diff --git a/swad_HTML.c b/swad_HTML.c index c09cc1fe..d49a6c21 100644 --- a/swad_HTML.c +++ b/swad_HTML.c @@ -77,9 +77,6 @@ static void HTM_TBODY_BeginWithoutAttr (void); static void HTM_TR_BeginWithoutAttr (void); -static void HTM_TH_BeginWithoutAttr (void); -static void HTM_TH_BeginAttr (const char *fmt,...); - static void HTM_TD_BeginWithoutAttr (void); static void HTM_DIV_BeginWithoutAttr (void); @@ -318,87 +315,123 @@ void HTM_TR_End (void) /***************************** Table heading cells ***************************/ /*****************************************************************************/ -void HTM_TH (unsigned RowSpan,unsigned ColSpan,const char *Class,const char *Txt) - { - HTM_TH_Begin (RowSpan,ColSpan,Class); - if (Txt) - if (Txt[0]) - HTM_Txt (Txt); - HTM_TH_End (); - } - -void HTM_TH_Begin (unsigned RowSpan,unsigned ColSpan,const char *Class) - { - if (RowSpan > 1 && ColSpan > 1) - { - if (Class) - HTM_TH_BeginAttr ("rowspan=\"%u\" colspan=\"%u\" class=\"%s\"", - RowSpan,ColSpan,Class); - else - HTM_TH_BeginAttr ("rowspan=\"%u\" colspan=\"%u\"", - RowSpan,ColSpan); - } - else if (RowSpan > 1) - { - if (Class) - HTM_TH_BeginAttr ("rowspan=\"%u\" class=\"%s\"", - RowSpan,Class); - else - HTM_TH_BeginAttr ("rowspan=\"%u\"", - RowSpan); - } - else if (ColSpan > 1) - { - if (Class) - HTM_TH_BeginAttr ("colspan=\"%u\" class=\"%s\"", - ColSpan,Class); - else - HTM_TH_BeginAttr ("colspan=\"%u\"", - ColSpan); - } - else - { - if (Class) - HTM_TH_BeginAttr ("class=\"%s\"", - Class); - else - HTM_TH_BeginWithoutAttr (); - } - } - -static void HTM_TH_BeginAttr (const char *fmt,...) +void HTM_TH (unsigned RowSpan,unsigned ColSpan,const char *Txt,const char *ClassFmt,...) { va_list ap; int NumBytesPrinted; - char *Attr; + char *Attr = NULL; - if (fmt) - { - if (fmt[0]) + if (ClassFmt) + if (ClassFmt[0]) { - va_start (ap,fmt); - NumBytesPrinted = vasprintf (&Attr,fmt,ap); + va_start (ap,ClassFmt); + NumBytesPrinted = vasprintf (&Attr,ClassFmt,ap); va_end (ap); if (NumBytesPrinted < 0) // -1 if no memory or any other error Err_NotEnoughMemoryExit (); - - /***** Print HTML *****/ - HTM_TxtF ("",Attr); - - free (Attr); } + + if (RowSpan > 1 && ColSpan > 1) + { + if (Attr) + HTM_TxtF ("", + RowSpan,ColSpan,Attr); else - HTM_TH_BeginWithoutAttr (); + HTM_TxtF ("", + RowSpan,ColSpan); + } + else if (RowSpan > 1) + { + if (Attr) + HTM_TxtF ("", + RowSpan,Attr); + else + HTM_TxtF ("", + RowSpan); + } + else if (ColSpan > 1) + { + if (Attr) + HTM_TxtF ("", + ColSpan,Attr); + else + HTM_TxtF ("", + ColSpan); } else - HTM_TH_BeginWithoutAttr (); + { + if (Attr) + HTM_TxtF ("", + Attr); + else + HTM_Txt (""); + } - HTM_TH_NestingLevel++; + if (ClassFmt) + if (ClassFmt[0]) + free (Attr); + + HTM_Txt (Txt); + HTM_Txt (""); } -static void HTM_TH_BeginWithoutAttr (void) +void HTM_TH_Begin (unsigned RowSpan,unsigned ColSpan,const char *ClassFmt,...) { - HTM_Txt (""); + va_list ap; + int NumBytesPrinted; + char *Attr = NULL; + + if (ClassFmt) + if (ClassFmt[0]) + { + va_start (ap,ClassFmt); + NumBytesPrinted = vasprintf (&Attr,ClassFmt,ap); + va_end (ap); + if (NumBytesPrinted < 0) // -1 if no memory or any other error + Err_NotEnoughMemoryExit (); + } + + if (RowSpan > 1 && ColSpan > 1) + { + if (Attr) + HTM_TxtF ("", + RowSpan,ColSpan,Attr); + else + HTM_TxtF ("", + RowSpan,ColSpan); + } + else if (RowSpan > 1) + { + if (Attr) + HTM_TxtF ("", + RowSpan,Attr); + else + HTM_TxtF ("", + RowSpan); + } + else if (ColSpan > 1) + { + if (Attr) + HTM_TxtF ("", + ColSpan,Attr); + else + HTM_TxtF ("", + ColSpan); + } + else + { + if (Attr) + HTM_TxtF ("", + Attr); + else + HTM_Txt (""); + } + + if (ClassFmt) + if (ClassFmt[0]) + free (Attr); + + HTM_TH_NestingLevel++; } void HTM_TH_End (void) @@ -418,10 +451,7 @@ void HTM_TH_Empty (unsigned NumColumns) for (NumCol = 0; NumCol < NumColumns; NumCol++) - { - HTM_TH_BeginAttr (NULL); - HTM_TH_End (); - } + HTM_Txt (""); } /*****************************************************************************/ @@ -494,7 +524,7 @@ void HTM_TD_ColouredEmpty (unsigned NumColumns) NumCol < NumColumns; NumCol++) { - HTM_TD_Begin ("class=\"COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); } } diff --git a/swad_HTML.h b/swad_HTML.h index 57cab1d6..1566a9df 100644 --- a/swad_HTML.h +++ b/swad_HTML.h @@ -66,8 +66,8 @@ void HTM_TBODY_End (void); void HTM_TR_Begin (const char *fmt,...); void HTM_TR_End (void); -void HTM_TH (unsigned RowSpan,unsigned ColSpan,const char *Class,const char *Txt); -void HTM_TH_Begin (unsigned RowSpan,unsigned ColSpan,const char *Class); +void HTM_TH (unsigned RowSpan,unsigned ColSpan,const char *Txt,const char *ClassFmt,...); +void HTM_TH_Begin (unsigned RowSpan,unsigned ColSpan,const char *ClassFmt,...); void HTM_TH_End (void); void HTM_TH_Empty (unsigned NumColumns); diff --git a/swad_account.c b/swad_account.c index cc8bceb8..2aad7065 100644 --- a/swad_account.c +++ b/swad_account.c @@ -282,15 +282,15 @@ static void Acc_WriteRowEmptyAccount (unsigned NumUsr,const char *ID,struct UsrD HTM_TR_Begin (NULL); /***** Write number of user in the list *****/ - HTM_TD_Begin ("rowspan=\"2\" class=\"USR_LIST_NUM_N RT COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("rowspan=\"2\" class=\"USR_LIST_NUM_N RT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (NumUsr); HTM_TD_End (); /***** Write user's ID and name *****/ - HTM_TD_Begin ("class=\"%s LT COLOR%u\"", + HTM_TD_Begin ("class=\"%s LT %s\"", The_ClassDatStrong[Gbl.Prefs.Theme], - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TxtF ("%s: %s",Txt_ID,ID); HTM_BR (); HTM_TxtColonNBSP (Txt_Name); @@ -309,7 +309,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 COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); Frm_BeginForm (ActLogInNew); Usr_PutParamUsrCodEncrypted (UsrDat->EnUsrCod); Btn_PutCreateButtonInline (Txt_Its_me); @@ -323,7 +323,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 COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); 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 62e4eaa6..31e96c56 100644 --- a/swad_agenda.c +++ b/swad_agenda.c @@ -658,8 +658,8 @@ static void Agd_WriteHeaderListEvents (const struct Agd_Agenda *Agenda, HTM_TH_End (); } - HTM_TH (1,1,"LM",Txt_Event); - HTM_TH (1,1,"LM",Txt_Location); + HTM_TH (1,1,Txt_Event ,"LM"); + HTM_TH (1,1,Txt_Location,"LM"); HTM_TR_End (); } @@ -814,11 +814,11 @@ static void Agd_ShowOneEvent (struct Agd_Agenda *Agenda, { if (asprintf (&Id,"agd_date_%u_%u",(unsigned) StartEndTime,UniqueId) < 0) Err_NotEnoughMemoryExit (); - HTM_TD_Begin ("id=\"%s\" class=\"%s LB COLOR%u\"", + HTM_TD_Begin ("id=\"%s\" class=\"%s LB %s\"", Id, AgdEvent.Hidden ? Dat_TimeStatusClassHidden[AgdEvent.TimeStatus] : Dat_TimeStatusClassVisible[AgdEvent.TimeStatus], - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); Dat_WriteLocalDateHMSFromUTC (Id,AgdEvent.TimeUTC[StartEndTime], Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,true,0x6); @@ -827,17 +827,17 @@ static void Agd_ShowOneEvent (struct Agd_Agenda *Agenda, } /* Event */ - HTM_TD_Begin ("class=\"%s LT COLOR%u\"", + HTM_TD_Begin ("class=\"%s LT %s\"", AgdEvent.Hidden ? "ASG_TITLE_LIGHT" : "ASG_TITLE", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_ARTICLE_Begin (Anchor); HTM_Txt (AgdEvent.Event); HTM_ARTICLE_End (); HTM_TD_End (); /* Location */ - HTM_TD_Begin ("class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_DIV_Begin ("class=\"%s\"",AgdEvent.Hidden ? "ASG_TITLE_LIGHT" : "ASG_TITLE"); HTM_Txt (AgdEvent.Location); @@ -849,7 +849,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 COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); switch (AgendaType) { case Agd_MY_AGENDA_TODAY: @@ -863,9 +863,10 @@ static void Agd_ShowOneEvent (struct Agd_Agenda *Agenda, HTM_TD_End (); /* Text of the event */ - HTM_TD_Begin ("colspan=\"2\" class=\"LT COLOR%u\"",Gbl.RowEvenOdd); - HTM_DIV_Begin ("class=\"PAR %s\"",AgdEvent.Hidden ? The_ClassDatLight[Gbl.Prefs.Theme] : - The_ClassDat[Gbl.Prefs.Theme]); + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); + HTM_DIV_Begin ("class=\"PAR %s\"", + AgdEvent.Hidden ? The_ClassDatLight[Gbl.Prefs.Theme] : + The_ClassDat[Gbl.Prefs.Theme]); Agd_DB_GetEventTxt (&AgdEvent,Txt); Str_ChangeFormat (Str_FROM_HTML,Str_TO_RIGOROUS_HTML, Txt,Cns_MAX_BYTES_TEXT,false); // Convert from HTML to recpectful HTML diff --git a/swad_assignment.c b/swad_assignment.c index 55055a51..bc5daffe 100644 --- a/swad_assignment.c +++ b/swad_assignment.c @@ -223,7 +223,7 @@ static void Asg_PutHeadForSeeing (struct Asg_Assignments *Assignments, HTM_TR_Begin (NULL); - HTM_TH (1,1,"CONTEXT_COL",NULL); // Column for contextual icons + HTM_TH (1,1,NULL,"CONTEXT_COL"); // Column for contextual icons for (Order = Dat_STR_TIME; Order <= Dat_END_TIME; Order++) @@ -263,8 +263,8 @@ static void Asg_PutHeadForSeeing (struct Asg_Assignments *Assignments, /* End head cell */ HTM_TH_End (); } - HTM_TH (1,1,"LM",Txt_Assignment); - HTM_TH (1,1,"LM",Txt_Folder); + HTM_TH (1,1,Txt_Assignment,"LM"); + HTM_TH (1,1,Txt_Folder ,"LM"); HTM_TR_End (); } @@ -417,7 +417,8 @@ static void Asg_ShowOneAssignment (struct Asg_Assignments *Assignments, HTM_TD_Begin ("rowspan=\"2\" class=\"CONTEXT_COL\""); else { - HTM_TD_Begin ("rowspan=\"2\" class=\"CONTEXT_COL COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("rowspan=\"2\" class=\"CONTEXT_COL %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); Asg_PutFormsToRemEditOneAsg (Assignments,&Asg,Anchor); } HTM_TD_End (); @@ -439,13 +440,13 @@ static void Asg_ShowOneAssignment (struct Asg_Assignments *Assignments, (Asg.Open ? "DATE_GREEN" : "DATE_RED")); else - HTM_TD_Begin ("id=\"%s\" class=\"%s LB COLOR%u\"", + HTM_TD_Begin ("id=\"%s\" class=\"%s LB %s\"", Id, Asg.Hidden ? (Asg.Open ? "DATE_GREEN_LIGHT" : "DATE_RED_LIGHT") : (Asg.Open ? "DATE_GREEN" : "DATE_RED"), - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); Dat_WriteLocalDateHMSFromUTC (Id,Asg.TimeUTC[StartEndTime], Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,true,0x7); @@ -459,10 +460,10 @@ static void Asg_ShowOneAssignment (struct Asg_Assignments *Assignments, Asg.Hidden ? "ASG_TITLE_LIGHT" : "ASG_TITLE"); else - HTM_TD_Begin ("class=\"%s LT COLOR%u\"", + HTM_TD_Begin ("class=\"%s LT %s\"", Asg.Hidden ? "ASG_TITLE_LIGHT" : "ASG_TITLE", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_ARTICLE_Begin (Anchor); HTM_Txt (Asg.Title); HTM_ARTICLE_End (); @@ -473,8 +474,9 @@ static void Asg_ShowOneAssignment (struct Asg_Assignments *Assignments, HTM_TD_Begin ("class=\"%s LT\"", The_ClassDat[Gbl.Prefs.Theme]); else - HTM_TD_Begin ("class=\"%s LT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s LT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (Asg.SendWork == Asg_SEND_WORK) Asg_WriteAssignmentFolder (&Asg,PrintView); HTM_TD_End (); @@ -488,7 +490,8 @@ 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 COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); Asg_WriteAsgAuthor (&Asg); HTM_TD_End (); @@ -500,7 +503,8 @@ 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 COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (Gbl.Crs.Grps.NumGrps) Asg_GetAndWriteNamesOfGrpsAssociatedToAsg (&Asg); diff --git a/swad_attendance.c b/swad_attendance.c index 81bf56b8..6bea3a27 100644 --- a/swad_attendance.c +++ b/swad_attendance.c @@ -257,7 +257,7 @@ static void Att_ShowAllAttEvents (struct Att_Events *Events) /***** Table head *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"CONTEXT_COL",NULL); // Column for contextual icons + HTM_TH (1,1,NULL,"CONTEXT_COL"); // Column for contextual icons for (Order = Dat_STR_TIME; Order <= Dat_END_TIME; Order++) @@ -284,8 +284,8 @@ static void Att_ShowAllAttEvents (struct Att_Events *Events) HTM_TH_End (); } - HTM_TH (1,1,"LM",Txt_Event); - HTM_TH (1,1,"RM",Txt_ROLES_PLURAL_Abc[Rol_STD][Usr_SEX_UNKNOWN]); + HTM_TH (1,1,Txt_Event ,"LM"); + HTM_TH (1,1,Txt_ROLES_PLURAL_Abc[Rol_STD][Usr_SEX_UNKNOWN],"RM"); HTM_TR_End (); @@ -470,7 +470,8 @@ static void Att_ShowOneAttEvent (struct Att_Events *Events, if (ShowOnlyThisAttEventComplete) HTM_TD_Begin ("rowspan=\"2\" class=\"CONTEXT_COL\""); else - HTM_TD_Begin ("rowspan=\"2\" class=\"CONTEXT_COL COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("rowspan=\"2\" class=\"CONTEXT_COL %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); switch (Gbl.Usrs.Me.Role.Logged) { case Rol_TCH: @@ -498,13 +499,13 @@ static void Att_ShowOneAttEvent (struct Att_Events *Events, (Event->Open ? "DATE_GREEN" : "DATE_RED")); else - HTM_TD_Begin ("id=\"%s\" class=\"%s LB COLOR%u\"", + HTM_TD_Begin ("id=\"%s\" class=\"%s LB %s\"", Id, Event->Hidden ? (Event->Open ? "DATE_GREEN_LIGHT" : "DATE_RED_LIGHT") : (Event->Open ? "DATE_GREEN" : "DATE_RED"), - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); Dat_WriteLocalDateHMSFromUTC (Id,Event->TimeUTC[StartEndTime], Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,true,0x7); @@ -516,7 +517,7 @@ static void Att_ShowOneAttEvent (struct Att_Events *Events, if (ShowOnlyThisAttEventComplete) HTM_TD_Begin ("class=\"LT\""); else - HTM_TD_Begin ("class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_ARTICLE_Begin (Anchor); Att_PutLinkAttEvent (Event,Txt_View_event,Event->Title, Event->Hidden ? "BT_LINK LT ASG_TITLE_LIGHT" : @@ -530,10 +531,10 @@ static void Att_ShowOneAttEvent (struct Att_Events *Events, Event->Hidden ? "ASG_TITLE_LIGHT" : "ASG_TITLE"); else - HTM_TD_Begin ("class=\"%s RT COLOR%u\"", + HTM_TD_Begin ("class=\"%s RT %s\"", Event->Hidden ? "ASG_TITLE_LIGHT" : "ASG_TITLE", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (Event->NumStdsTotal); HTM_TD_End (); @@ -546,7 +547,8 @@ 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 COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); Att_WriteAttEventAuthor (Event); HTM_TD_End (); @@ -558,7 +560,8 @@ 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 COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (Gbl.Crs.Grps.NumGrps) Att_GetAndWriteNamesOfGrpsAssociatedToAttEvent (Event); @@ -1552,9 +1555,9 @@ static void Att_ListAttOnlyMeAsStudent (struct Att_Event *Event) HTM_TH_Empty (3); if (Gbl.Usrs.Listing.WithPhotos) HTM_TH_Empty (1); - HTM_TH (1,2,"TIT_TBL LM",Txt_ROLES_SINGUL_Abc[Rol_STD][Usr_SEX_UNKNOWN]); - HTM_TH (1,1,"LM",Txt_Student_comment); - HTM_TH (1,1,"LM",Txt_Teachers_comment); + HTM_TH (1,2,Txt_ROLES_SINGUL_Abc[Rol_STD][Usr_SEX_UNKNOWN],"TIT_TBL LM"); + HTM_TH (1,1,Txt_Student_comment ,"LM"); + HTM_TH (1,1,Txt_Teachers_comment ,"LM"); HTM_TR_End (); @@ -1632,9 +1635,9 @@ static void Att_ListAttStudents (struct Att_Events *Events, HTM_TH_Empty (3); if (Gbl.Usrs.Listing.WithPhotos) HTM_TH_Empty (1); - HTM_TH (1,2,"LM",Txt_ROLES_SINGUL_Abc[Rol_STD][Usr_SEX_UNKNOWN]); - HTM_TH (1,1,"LM",Txt_Student_comment); - HTM_TH (1,1,"LM",Txt_Teachers_comment); + HTM_TH (1,2,Txt_ROLES_SINGUL_Abc[Rol_STD][Usr_SEX_UNKNOWN],"LM"); + HTM_TH (1,1,Txt_Student_comment ,"LM"); + HTM_TH (1,1,Txt_Teachers_comment ,"LM"); HTM_TR_End (); @@ -1747,7 +1750,7 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr, HTM_TD_End (); /***** Checkbox to select user *****/ - HTM_TD_Begin ("class=\"CT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_INPUT_CHECKBOX ("UsrCodStd",HTM_DONT_SUBMIT_ON_CHANGE, "id=\"Std%u\" value=\"%s\"%s%s", NumUsr,UsrDat->EnUsrCod, @@ -1756,17 +1759,17 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr, HTM_TD_End (); /***** Write number of student in the list *****/ - HTM_TD_Begin ("class=\"%s RT COLOR%u\"", + HTM_TD_Begin ("class=\"%s RT %s\"", UsrDat->Accepted ? The_ClassDatStrong[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme], - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (NumUsr); HTM_TD_End (); /***** Show student's photo *****/ if (Gbl.Usrs.Listing.WithPhotos) { - HTM_TD_Begin ("class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); Pho_ShowUsrPhotoIfAllowed (UsrDat, ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM, false); @@ -1774,18 +1777,18 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr, } /***** Write user's ID ******/ - HTM_TD_Begin ("class=\"%s LT COLOR%u\"", + HTM_TD_Begin ("class=\"%s LT %s\"", UsrDat->Accepted ? "DAT_SMALL_N" : "DAT_SMALL", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); ID_WriteUsrIDs (UsrDat,NULL); HTM_TD_End (); /***** Write student's name *****/ - HTM_TD_Begin ("class=\"%s LT COLOR%u\"", + HTM_TD_Begin ("class=\"%s LT %s\"", UsrDat->Accepted ? "DAT_SMALL_N" : "DAT_SMALL", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (UsrDat->Surname1); if (UsrDat->Surname2[0]) HTM_TxtF (" %s",UsrDat->Surname2); @@ -1793,7 +1796,7 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr, HTM_TD_End (); /***** Student's comment: write form or text */ - HTM_TD_Begin ("class=\"DAT_SMALL LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanEditStdComment) // Show with form { HTM_TEXTAREA_Begin ("name=\"CommentStd%s\" cols=\"40\" rows=\"3\"", @@ -1810,7 +1813,7 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr, HTM_TD_End (); /***** Teacher's comment: write form, text or nothing */ - HTM_TD_Begin ("class=\"DAT_SMALL LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanEditTchComment) // Show with form { HTM_TEXTAREA_Begin ("name=\"CommentTch%s\" cols=\"40\" rows=\"3\"", @@ -2688,8 +2691,8 @@ static void Att_ListEventsToSelect (const struct Att_Events *Events, /***** Heading row *****/ HTM_TR_Begin (NULL); - HTM_TH (1,4,"LM",Txt_Event); - HTM_TH (1,1,"RM",Txt_ROLES_PLURAL_Abc[Rol_STD][Usr_SEX_UNKNOWN]); + HTM_TH (1,4,Txt_Event ,"LM"); + HTM_TH (1,1,Txt_ROLES_PLURAL_Abc[Rol_STD][Usr_SEX_UNKNOWN],"RM"); HTM_TR_End (); @@ -2705,8 +2708,9 @@ static void Att_ListEventsToSelect (const struct Att_Events *Events, /* Write a row for this event */ HTM_TR_Begin (NULL); - HTM_TD_Begin ("class=\"%s CT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s CT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_INPUT_CHECKBOX ("AttCods",HTM_DONT_SUBMIT_ON_CHANGE, "id=\"Event%u\" value=\"%ld\"%s", NumAttEvent,Events->Lst[NumAttEvent].AttCod, @@ -2714,15 +2718,17 @@ static void Att_ListEventsToSelect (const struct Att_Events *Events, ""); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s RT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_LABEL_Begin ("for=\"Event%u\"",NumAttEvent); HTM_TxtF ("%u:",NumAttEvent + 1); HTM_LABEL_End (); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s LT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s LT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (asprintf (&Id,"att_date_start_%u",UniqueId) < 0) Err_NotEnoughMemoryExit (); HTM_LABEL_Begin ("for=\"Event%u\"",NumAttEvent); @@ -2735,13 +2741,15 @@ static void Att_ListEventsToSelect (const struct Att_Events *Events, free (Id); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s LT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s LT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (Events->Lst[NumAttEvent].Title); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s RT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (Events->Lst[NumAttEvent].NumStdsTotal); HTM_TD_End (); @@ -2904,7 +2912,7 @@ static void Att_WriteTableHeadSeveralAttEvents (const struct Att_Events *Events) HTM_TH (1,Gbl.Usrs.Listing.WithPhotos ? 4 : 3, - "LM",Txt_ROLES_SINGUL_Abc[Rol_USR][Usr_SEX_UNKNOWN]); + Txt_ROLES_SINGUL_Abc[Rol_USR][Usr_SEX_UNKNOWN],"LM"); for (NumAttEvent = 0; NumAttEvent < Events->Num; @@ -2924,7 +2932,7 @@ static void Att_WriteTableHeadSeveralAttEvents (const struct Att_Events *Events) HTM_TH_End (); } - HTM_TH (1,1,"RM",Txt_Attendance); + HTM_TH (1,1,Txt_Attendance,"RM"); HTM_TR_End (); } @@ -2952,17 +2960,17 @@ static void Att_WriteRowUsrSeveralAttEvents (const struct Att_Events *Events, /***** Write number of user in the list *****/ HTM_TR_Begin (NULL); - HTM_TD_Begin ("class=\"%s RM COLOR%u\"", + HTM_TD_Begin ("class=\"%s RM %s\"", UsrDat->Accepted ? The_ClassDatStrong[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme], - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (NumUsr + 1); HTM_TD_End (); /***** Show user's photo *****/ if (Gbl.Usrs.Listing.WithPhotos) { - HTM_TD_Begin ("class=\"LM COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); Pho_ShowUsrPhotoIfAllowed (UsrDat, ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM, false); @@ -2970,18 +2978,18 @@ static void Att_WriteRowUsrSeveralAttEvents (const struct Att_Events *Events, } /***** Write user's ID ******/ - HTM_TD_Begin ("class=\"%s LM COLOR%u\"", + HTM_TD_Begin ("class=\"%s LM %s\"", UsrDat->Accepted ? "DAT_SMALL_N" : "DAT_SMALL", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); ID_WriteUsrIDs (UsrDat,NULL); HTM_TD_End (); /***** Write user's name *****/ - HTM_TD_Begin ("class=\"%s LM COLOR%u\"", + HTM_TD_Begin ("class=\"%s LM %s\"", UsrDat->Accepted ? "DAT_SMALL_N" : "DAT_SMALL", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (UsrDat->Surname1); if (UsrDat->Surname2[0]) HTM_TxtF (" %s",UsrDat->Surname2); @@ -3009,8 +3017,9 @@ 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 COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RM %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (NumTimesPresent); HTM_TD_End (); @@ -3122,21 +3131,22 @@ static void Att_ListAttEventsForAStd (const struct Att_Events *Events, NumUsr++; HTM_TR_Begin (NULL); - HTM_TD_Begin ("class=\"%s RM COLOR%u\"", + HTM_TD_Begin ("class=\"%s RM %s\"", UsrDat->Accepted ? The_ClassDatStrong[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme], - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TxtF ("%u:",NumUsr); HTM_TD_End (); /***** Show student's photo *****/ - HTM_TD_Begin ("colspan=\"2\" class=\"RM COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"RM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); Pho_ShowUsrPhotoIfAllowed (UsrDat, ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM, false); HTM_TD_End (); - HTM_TD_Begin ("class=\"LM COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TABLE_Begin (NULL); HTM_TR_Begin (NULL); @@ -3187,10 +3197,10 @@ static void Att_ListAttEventsForAStd (const struct Att_Events *Events, HTM_TD_ColouredEmpty (1); - HTM_TD_Begin ("class=\"%s RT COLOR%u\"", + HTM_TD_Begin ("class=\"%s RT %s\"", Present ? "DAT_GREEN" : "DAT_RED", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TxtF ("%u:",NumAttEvent + 1); HTM_TD_End (); @@ -3198,8 +3208,9 @@ static void Att_ListAttEventsForAStd (const struct Att_Events *Events, Att_PutCheckOrCross (Present); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s LT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s LT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (asprintf (&Id,"att_date_start_%u_%u",NumUsr,UniqueId) < 0) Err_NotEnoughMemoryExit (); HTM_SPAN_Begin ("id=\"%s\"",Id); @@ -3224,8 +3235,9 @@ static void Att_ListAttEventsForAStd (const struct Att_Events *Events, HTM_TD_Begin ("class=\"BT%u\"",Gbl.RowEvenOdd); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s LM COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s LM %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_DL_Begin (); if (ShowCommentStd) diff --git a/swad_banner.c b/swad_banner.c index 40ec7693..51137794 100644 --- a/swad_banner.c +++ b/swad_banner.c @@ -943,13 +943,13 @@ static void Ban_PutHeadBanners (void) HTM_TR_Begin (NULL); /****** Head cells *****/ - HTM_TH (1,1,"BM",NULL); - HTM_TH (1,1,"BM",NULL); - HTM_TH (1,1,"RM",Txt_Code); - HTM_TH (1,1,"LM",Txt_Short_name); - HTM_TH (1,1,"LM",Txt_Full_name); - HTM_TH (1,1,"LM",Txt_Image); - HTM_TH (1,1,"LM",Txt_WWW); + HTM_TH (1,1,NULL ,"BM"); + HTM_TH (1,1,NULL ,"BM"); + HTM_TH (1,1,Txt_Code ,"RM"); + HTM_TH (1,1,Txt_Short_name,"LM"); + HTM_TH (1,1,Txt_Full_name ,"LM"); + HTM_TH (1,1,Txt_Image ,"LM"); + HTM_TH (1,1,Txt_WWW ,"LM"); /***** End table row *****/ HTM_TR_End (); diff --git a/swad_browser.c b/swad_browser.c index 88edf45b..196e5cf7 100644 --- a/swad_browser.c +++ b/swad_browser.c @@ -4577,7 +4577,8 @@ 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 COLOR%u\" style=\"width:99%%;\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"NO_BR LM %s\" style=\"width:99%%;\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TABLE_Begin (NULL); HTM_TR_Begin (NULL); @@ -5368,10 +5369,10 @@ static void Brw_WriteDatesAssignment (void) char *Id; /***** Begin table cell *****/ - HTM_TD_Begin ("colspan=\"2\" class=\"%s RM COLOR%u\"", + HTM_TD_Begin ("colspan=\"2\" class=\"%s RM %s\"", Gbl.FileBrowser.Asg.Open ? "ASG_LST_DATE_GREEN" : "ASG_LST_DATE_RED", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); if (Gbl.FileBrowser.Asg.AsgCod > 0) { @@ -5422,14 +5423,14 @@ static void Brw_WriteFileSizeAndDate (struct FileMetadata *FileMetadata) Fil_WriteFileSizeBrief ((double) FileMetadata->Size,FileSizeStr); else FileSizeStr[0] = '\0'; - HTM_TD_Begin ("class=\"%s RM COLOR%u\"", - Gbl.FileBrowser.TxtStyle,Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RM %s\"", + Gbl.FileBrowser.TxtStyle,Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TxtF (" %s",FileSizeStr); HTM_TD_End (); /***** Write the date *****/ - HTM_TD_Begin ("class=\"%s RM COLOR%u\"", - Gbl.FileBrowser.TxtStyle,Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RM %s\"", + Gbl.FileBrowser.TxtStyle,Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_NBSP (); if (Gbl.FileBrowser.FilFolLnk.Type == Brw_IS_FILE || Gbl.FileBrowser.FilFolLnk.Type == Brw_IS_LINK) @@ -9827,13 +9828,13 @@ void Brw_ListDocsFound (MYSQL_RES **mysql_res,unsigned NumDocs, /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"BM",NULL); - HTM_TH (1,1,"LM",Txt_Institution); - HTM_TH (1,1,"LM",Txt_Center); - HTM_TH (1,1,"LM",Txt_Degree); - HTM_TH (1,1,"LM",Txt_Course); - HTM_TH (1,1,"LM",Txt_File_zone); - HTM_TH (1,1,"LM",Txt_Document); + HTM_TH (1,1,NULL ,"BM"); + HTM_TH (1,1,Txt_Institution,"LM"); + HTM_TH (1,1,Txt_Center ,"LM"); + HTM_TH (1,1,Txt_Degree ,"LM"); + HTM_TH (1,1,Txt_Course ,"LM"); + HTM_TH (1,1,Txt_File_zone ,"LM"); + HTM_TH (1,1,Txt_Document ,"LM"); HTM_TR_End (); /***** List documents found *****/ diff --git a/swad_building.c b/swad_building.c index 11ef01a4..d9d2fc22 100644 --- a/swad_building.c +++ b/swad_building.c @@ -777,11 +777,11 @@ static void Bld_PutHeadBuildings (void) HTM_TR_Begin (NULL); - HTM_TH (1,1,"BM",NULL); - HTM_TH (1,1,"RM",Txt_Code); - HTM_TH (1,1,"LM",Txt_Short_name); - HTM_TH (1,1,"LM",Txt_Full_name); - HTM_TH (1,1,"LM",Txt_Location); + HTM_TH (1,1,NULL ,"BM"); + HTM_TH (1,1,Txt_Code ,"RM"); + HTM_TH (1,1,Txt_Short_name,"LM"); + HTM_TH (1,1,Txt_Full_name ,"LM"); + HTM_TH (1,1,Txt_Location ,"LM"); HTM_TR_End (); } diff --git a/swad_center.c b/swad_center.c index c0c43431..27fcfc03 100644 --- a/swad_center.c +++ b/swad_center.c @@ -129,8 +129,8 @@ void Ctr_SeeCtrWithPendingDegs (void) /***** Wrtie heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LM",Txt_Center); - HTM_TH (1,1,"RM",Txt_Degrees_ABBREVIATION); + HTM_TH (1,1,Txt_Center ,"LM"); + HTM_TH (1,1,Txt_Degrees_ABBREVIATION,"RM"); HTM_TR_End (); @@ -1460,9 +1460,9 @@ static void Ctr_PutHeadCentersForSeeing (bool OrderSelectable) HTM_TH_End (); } - HTM_TH (1,1,"LM",Txt_Place); - HTM_TH (1,1,"RM",Txt_Degrees_ABBREVIATION); - HTM_TH (1,1,"RM",Txt_Courses_ABBREVIATION); + HTM_TH (1,1,Txt_Place ,"LM"); + HTM_TH (1,1,Txt_Degrees_ABBREVIATION,"RM"); + HTM_TH (1,1,Txt_Courses_ABBREVIATION,"RM"); HTM_TH_Begin (1,1,"RM"); HTM_TxtF ("%s+",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH]); HTM_BR (); @@ -1492,20 +1492,20 @@ static void Ctr_PutHeadCentersForEdition (void) HTM_TR_Begin (NULL); HTM_TH_Empty (1); - HTM_TH (1,1,"RM",Txt_Code); + HTM_TH (1,1,Txt_Code ,"RM"); HTM_TH_Empty (1); - HTM_TH (1,1,"LM",Txt_Place); - HTM_TH (1,1,"LM",Txt_Short_name_of_the_center); - HTM_TH (1,1,"LM",Txt_Full_name_of_the_center); - HTM_TH (1,1,"LM",Txt_WWW); - HTM_TH (1,1,"RM",Txt_Users); - HTM_TH (1,1,"RM",Txt_Degrees_ABBREVIATION); + HTM_TH (1,1,Txt_Place ,"LM"); + HTM_TH (1,1,Txt_Short_name_of_the_center,"LM"); + HTM_TH (1,1,Txt_Full_name_of_the_center ,"LM"); + HTM_TH (1,1,Txt_WWW ,"LM"); + HTM_TH (1,1,Txt_Users ,"RM"); + HTM_TH (1,1,Txt_Degrees_ABBREVIATION ,"RM"); HTM_TH_Begin (1,1,"RM"); HTM_TxtF ("%s+",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH]); HTM_BR (); HTM_Txt (Txt_ROLES_PLURAL_BRIEF_Abc[Rol_STD]); HTM_TH_End (); - HTM_TH (1,1,"LM",Txt_Requester); + HTM_TH (1,1,Txt_Requester ,"LM"); HTM_TH_Empty (1); HTM_TR_End (); diff --git a/swad_changelog.h b/swad_changelog.h index 7a29d331..9c25ba3d 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -602,10 +602,11 @@ TODO: FIX BUG, URGENT! En las fechas como par TODO: En las encuestas, que los estudiantes no puedan ver los resultados hasta que no finalice el plazo. */ -#define Log_PLATFORM_VERSION "SWAD 21.70.8 (2021-12-20)" -#define CSS_FILE "swad21.70.7.css" +#define Log_PLATFORM_VERSION "SWAD 21.71 (2021-12-20)" +#define CSS_FILE "swad21.71.css" #define JS_FILE "swad21.67.4.js" /* + Version 21.71: Dec 20, 2021 Working on design of dark theme. (322132 lines) Version 21.70.9: Dec 20, 2021 Fixed bug in user's IDs when listing match results. (321929 lines) Version 21.70.8: Dec 20, 2021 Fixed bug showing calendar. (321927 lines) Version 21.70.7: Dec 20, 2021 Working on design of dark theme. (321926 lines) diff --git a/swad_chat.c b/swad_chat.c index 4baf7c41..1fbf2f9e 100644 --- a/swad_chat.c +++ b/swad_chat.c @@ -263,8 +263,8 @@ void Cht_ShowListOfChatRoomsWithUsrs (void) /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"CM",Txt_CHAT_Room_code); - HTM_TH (1,1,"LM",Txt_Number_of_users); + HTM_TH (1,1,Txt_CHAT_Room_code ,"CM"); + HTM_TH (1,1,Txt_Number_of_users,"LM"); HTM_TR_End (); /***** Loop over chat rooms *****/ diff --git a/swad_connected.c b/swad_connected.c index a1756d81..b41dfc6d 100644 --- a/swad_connected.c +++ b/swad_connected.c @@ -593,7 +593,7 @@ static void Con_WriteRowConnectedUsrOnRightColumn (Rol_Role_t Role) HTM_TR_Begin (NULL); /***** Show photo *****/ - HTM_TD_Begin ("class=\"CON_PHOTO COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"CON_PHOTO %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); Pho_ShowUsrPhotoIfAllowed (UsrDat, ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM, true); @@ -610,7 +610,7 @@ static void Con_WriteRowConnectedUsrOnRightColumn (Rol_Role_t Role) ClassTxt = "CON_NAME_NARROW CON_NO_CRS"; ClassLink = "BT_LINK CON_NAME_NARROW CON_NO_CRS"; } - HTM_TD_Begin ("class=\"%s COLOR%u\"",ClassTxt,Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s %s\"",ClassTxt,Gbl.ColorRows[Gbl.RowEvenOdd]); // The form must be unique because // the list of connected users // is dynamically updated via AJAX @@ -631,7 +631,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 COLOR%u\"",ClassTxt,Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s %s\"",ClassTxt,Gbl.ColorRows[Gbl.RowEvenOdd]); 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 @@ -710,7 +710,7 @@ static void Con_ShowConnectedUsrsCurrentLocationOneByOneOnMainZone (Rol_Role_t R HTM_TR_Begin (NULL); /***** Show photo *****/ - HTM_TD_Begin ("class=\"CON_PHOTO COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"CON_PHOTO %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); Pho_ShowUsrPhotoIfAllowed (&UsrDat, ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM, false); @@ -727,7 +727,8 @@ static void Con_ShowConnectedUsrsCurrentLocationOneByOneOnMainZone (Rol_Role_t R ClassTxt = "CON_NAME_WIDE CON_NO_CRS"; ClassLink = "BT_LINK CON_NAME_WIDE CON_NO_CRS"; } - HTM_TD_Begin ("class=\"%s COLOR%u\"",ClassTxt,Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s %s\"", + ClassTxt,Gbl.ColorRows[Gbl.RowEvenOdd]); if (PutLinkToRecord) { @@ -753,7 +754,8 @@ static void Con_ShowConnectedUsrsCurrentLocationOneByOneOnMainZone (Rol_Role_t R /***** Write time from last access *****/ ClassTxt = ThisCrs ? "CON_SINCE CON_CRS" : "CON_SINCE CON_NO_CRS"; - HTM_TD_Begin ("class=\"%s COLOR%u\"",ClassTxt,Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s %s\"", + ClassTxt,Gbl.ColorRows[Gbl.RowEvenOdd]); Dat_WriteHoursMinutesSecondsFromSeconds (TimeDiff); HTM_TD_End (); diff --git a/swad_country.c b/swad_country.c index 39305bbc..f30c1d99 100644 --- a/swad_country.c +++ b/swad_country.c @@ -130,8 +130,8 @@ void Cty_SeeCtyWithPendingInss (void) /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LM",Txt_Country); - HTM_TH (1,1,"RM",Txt_Institutions_ABBREVIATION); + HTM_TH (1,1,Txt_Country ,"LM"); + HTM_TH (1,1,Txt_Institutions_ABBREVIATION,"RM"); HTM_TR_End (); /***** List the countries *****/ @@ -382,10 +382,10 @@ static void Cty_PutHeadCountriesForSeeing (bool OrderSelectable) HTM_TH_End (); } - HTM_TH (1,1,"RM",Txt_Institutions_ABBREVIATION); - HTM_TH (1,1,"RM",Txt_Centers_ABBREVIATION); - HTM_TH (1,1,"RM",Txt_Degrees_ABBREVIATION); - HTM_TH (1,1,"RM",Txt_Courses_ABBREVIATION); + HTM_TH (1,1,Txt_Institutions_ABBREVIATION,"RM"); + HTM_TH (1,1,Txt_Centers_ABBREVIATION ,"RM"); + HTM_TH (1,1,Txt_Degrees_ABBREVIATION ,"RM"); + HTM_TH (1,1,Txt_Courses_ABBREVIATION ,"RM"); HTM_TH_Begin (1,1,"RM"); HTM_TxtF ("%s+",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH]); HTM_BR (); @@ -1554,14 +1554,14 @@ static void Cty_PutHeadCountriesForEdition (void) HTM_TR_Begin (NULL); - HTM_TH (1,1,"BM",NULL); - HTM_TH (1,1,"RM",Txt_Numeric_BR_code_BR_ISO_3166_1); - HTM_TH (1,1,"RM",Txt_Alphabetic_BR_code_BR_ISO_3166_1); + HTM_TH (1,1,NULL ,"BM"); + HTM_TH (1,1,Txt_Numeric_BR_code_BR_ISO_3166_1 ,"RM"); + HTM_TH (1,1,Txt_Alphabetic_BR_code_BR_ISO_3166_1,"RM"); HTM_TH_Empty (1); - HTM_TH (1,1,"LM",Txt_Name); - HTM_TH (1,1,"LM",Txt_WWW); - HTM_TH (1,1,"RM",Txt_Users); - HTM_TH (1,1,"RM",Txt_Institutions_ABBREVIATION); + HTM_TH (1,1,Txt_Name ,"LM"); + HTM_TH (1,1,Txt_WWW ,"LM"); + HTM_TH (1,1,Txt_Users ,"RM"); + HTM_TH (1,1,Txt_Institutions_ABBREVIATION ,"RM"); HTM_TR_End (); } diff --git a/swad_course.c b/swad_course.c index ac2a3607..87c39bba 100644 --- a/swad_course.c +++ b/swad_course.c @@ -1440,12 +1440,12 @@ static void Crs_PutHeadCoursesForSeeing (void) HTM_TR_Begin (NULL); - HTM_TH (1,1,"BM",NULL); - HTM_TH (1,1,"CM",Txt_Institutional_BR_code); - HTM_TH (1,1,"CM",Txt_Year_OF_A_DEGREE); - HTM_TH (1,1,"LM",Txt_Course); - HTM_TH (1,1,"RM",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH]); - HTM_TH (1,1,"RM",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_STD]); + HTM_TH (1,1,NULL ,"BM"); + HTM_TH (1,1,Txt_Institutional_BR_code ,"CM"); + HTM_TH (1,1,Txt_Year_OF_A_DEGREE ,"CM"); + HTM_TH (1,1,Txt_Course ,"LM"); + HTM_TH (1,1,Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH],"RM"); + HTM_TH (1,1,Txt_ROLES_PLURAL_BRIEF_Abc[Rol_STD],"RM"); HTM_TH_Empty (1); HTM_TR_End (); @@ -1468,17 +1468,17 @@ static void Crs_PutHeadCoursesForEdition (void) HTM_TR_Begin (NULL); - HTM_TH (1,1,"BM",NULL); - HTM_TH (1,1,"RM",Txt_Code); + HTM_TH (1,1,NULL ,"BM"); + HTM_TH (1,1,Txt_Code ,"RM"); HTM_TH_Begin (1,1,"CM"); - HTM_TxtF ("%s (%s)",Txt_Institutional_code,Txt_optional); + HTM_TxtF ("%s (%s)",Txt_Institutional_code,Txt_optional); HTM_TH_End (); - HTM_TH (1,1,"CM",Txt_Year_OF_A_DEGREE); - HTM_TH (1,1,"LM",Txt_Short_name_of_the_course); - HTM_TH (1,1,"LM",Txt_Full_name_of_the_course); - HTM_TH (1,1,"RM",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH]); - HTM_TH (1,1,"RM",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_STD]); - HTM_TH (1,1,"LM",Txt_Requester); + HTM_TH (1,1,Txt_Year_OF_A_DEGREE ,"CM"); + HTM_TH (1,1,Txt_Short_name_of_the_course ,"LM"); + HTM_TH (1,1,Txt_Full_name_of_the_course ,"LM"); + HTM_TH (1,1,Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH],"RM"); + HTM_TH (1,1,Txt_ROLES_PLURAL_BRIEF_Abc[Rol_STD],"RM"); + HTM_TH (1,1,Txt_Requester ,"LM"); HTM_TH_Empty (1); HTM_TR_End (); @@ -2309,19 +2309,19 @@ void Crs_GetAndWriteCrssOfAUsr (const struct UsrData *UsrDat,Rol_Role_t Role) HTM_TR_Begin (NULL); - HTM_TH (1,1,"BM",NULL); - HTM_TH (1,1,"BM",NULL); - HTM_TH (1,1,"LM",Txt_Degree); - HTM_TH (1,1,"CM",Txt_Year_OF_A_DEGREE); - HTM_TH (1,1,"LM",Txt_Course); - HTM_TH (1,1,"RM",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH]); - HTM_TH (1,1,"RM",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_NET]); - HTM_TH (1,1,"RM",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_STD]); + HTM_TH (1,1,NULL ,"BM"); + HTM_TH (1,1,NULL ,"BM"); + HTM_TH (1,1,Txt_Degree ,"LM"); + HTM_TH (1,1,Txt_Year_OF_A_DEGREE ,"CM"); + HTM_TH (1,1,Txt_Course ,"LM"); + HTM_TH (1,1,Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH],"RM"); + HTM_TH (1,1,Txt_ROLES_PLURAL_BRIEF_Abc[Rol_NET],"RM"); + HTM_TH (1,1,Txt_ROLES_PLURAL_BRIEF_Abc[Rol_STD],"RM"); HTM_TR_End (); /* Write courses */ - for (NumCrs = 1; + for (NumCrs = 1; NumCrs <= NumCrss; NumCrs++) { @@ -2371,13 +2371,13 @@ void Crs_ListCrssFound (MYSQL_RES **mysql_res,unsigned NumCrss) /***** Heading row *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"BM",NULL); - HTM_TH (1,1,"LM",Txt_Degree); - HTM_TH (1,1,"CM",Txt_Year_OF_A_DEGREE); - HTM_TH (1,1,"LM",Txt_Course); - HTM_TH (1,1,"RM",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH]); - HTM_TH (1,1,"RM",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_NET]); - HTM_TH (1,1,"RM",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_STD]); + HTM_TH (1,1,NULL ,"BM"); + HTM_TH (1,1,Txt_Degree ,"LM"); + HTM_TH (1,1,Txt_Year_OF_A_DEGREE ,"CM"); + HTM_TH (1,1,Txt_Course ,"LM"); + HTM_TH (1,1,Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH],"RM"); + HTM_TH (1,1,Txt_ROLES_PLURAL_BRIEF_Abc[Rol_NET],"RM"); + HTM_TH (1,1,Txt_ROLES_PLURAL_BRIEF_Abc[Rol_STD],"RM"); HTM_TR_End (); diff --git a/swad_degree.c b/swad_degree.c index e4bbf4ce..fcb55f93 100644 --- a/swad_degree.c +++ b/swad_degree.c @@ -133,8 +133,8 @@ void Deg_SeeDegWithPendingCrss (void) /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LM",Txt_Degree); - HTM_TH (1,1,"RM",Txt_Courses_ABBREVIATION); + HTM_TH (1,1,Txt_Degree ,"LM"); + HTM_TH (1,1,Txt_Courses_ABBREVIATION,"RM"); HTM_TR_End (); @@ -633,15 +633,15 @@ static void Deg_PutHeadDegreesForSeeing (void) HTM_TR_Begin (NULL); - HTM_TH (1,1,"BM",NULL); + HTM_TH (1,1,NULL ,"BM"); HTM_TH_Empty (1); - HTM_TH (1,1,"LM",Txt_Degree); - HTM_TH (1,1,"LM",Txt_Type); - HTM_TH (1,1,"RM",Txt_Courses_ABBREVIATION); + HTM_TH (1,1,Txt_Degree ,"LM"); + HTM_TH (1,1,Txt_Type ,"LM"); + HTM_TH (1,1,Txt_Courses_ABBREVIATION,"RM"); HTM_TH_Begin (1,1,"RM"); - HTM_TxtF ("%s+",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH]); - HTM_BR (); - HTM_Txt (Txt_ROLES_PLURAL_BRIEF_Abc[Rol_STD]); + HTM_TxtF ("%s+",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH]); + HTM_BR (); + HTM_Txt (Txt_ROLES_PLURAL_BRIEF_Abc[Rol_STD]); HTM_TH_End (); HTM_TH_Empty (1); @@ -665,20 +665,20 @@ static void Deg_PutHeadDegreesForEdition (void) HTM_TR_Begin (NULL); - HTM_TH (1,1,"BM",NULL); - HTM_TH (1,1,"RM",Txt_Code); + HTM_TH (1,1,NULL ,"BM"); + HTM_TH (1,1,Txt_Code ,"RM"); HTM_TH_Empty (1); - HTM_TH (1,1,"LM",Txt_Short_name_of_the_degree); - HTM_TH (1,1,"LM",Txt_Full_name_of_the_degree); - HTM_TH (1,1,"LM",Txt_Type); - HTM_TH (1,1,"LM",Txt_WWW); - HTM_TH (1,1,"RM",Txt_Courses_ABBREVIATION); + HTM_TH (1,1,Txt_Short_name_of_the_degree,"LM"); + HTM_TH (1,1,Txt_Full_name_of_the_degree ,"LM"); + HTM_TH (1,1,Txt_Type ,"LM"); + HTM_TH (1,1,Txt_WWW ,"LM"); + HTM_TH (1,1,Txt_Courses_ABBREVIATION ,"RM"); HTM_TH_Begin (1,1,"RM"); - HTM_TxtF ("%s+",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH]); - HTM_BR (); - HTM_Txt (Txt_ROLES_PLURAL_BRIEF_Abc[Rol_STD]); + HTM_TxtF ("%s+",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH]); + HTM_BR (); + HTM_Txt (Txt_ROLES_PLURAL_BRIEF_Abc[Rol_STD]); HTM_TH_End (); - HTM_TH (1,1,"LM",Txt_Requester); + HTM_TH (1,1,Txt_Requester ,"LM"); HTM_TH_Empty (1); HTM_TR_End (); diff --git a/swad_degree_type.c b/swad_degree_type.c index 4700d20b..6091ac0e 100644 --- a/swad_degree_type.c +++ b/swad_degree_type.c @@ -572,10 +572,10 @@ static void DegTyp_PutHeadDegreeTypesForEdition (void) HTM_TR_Begin (NULL); - HTM_TH (1,1,"BM",NULL); - HTM_TH (1,1,"CM",Txt_Code); - HTM_TH (1,1,"CM",Txt_Type_of_degree); - HTM_TH (1,1,"RM",Txt_Degrees); + HTM_TH (1,1,NULL ,"BM"); + HTM_TH (1,1,Txt_Code ,"CM"); + HTM_TH (1,1,Txt_Type_of_degree,"CM"); + HTM_TH (1,1,Txt_Degrees ,"RM"); HTM_TR_End (); } diff --git a/swad_department.c b/swad_department.c index fcfb82b3..fe20ceb0 100644 --- a/swad_department.c +++ b/swad_department.c @@ -819,10 +819,10 @@ static void Dpt_PutFormToCreateDepartment (void) /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LM",Txt_Institution); - HTM_TH (1,1,"LM",Txt_Short_name); - HTM_TH (1,1,"LM",Txt_Full_name); - HTM_TH (1,1,"LM",Txt_WWW); + HTM_TH (1,1,Txt_Institution,"LM"); + HTM_TH (1,1,Txt_Short_name ,"LM"); + HTM_TH (1,1,Txt_Full_name ,"LM"); + HTM_TH (1,1,Txt_WWW ,"LM"); HTM_TR_End (); @@ -896,12 +896,12 @@ static void Dpt_PutHeadDepartments (void) HTM_TR_Begin (NULL); HTM_TH_Empty (1); - HTM_TH (1,1,"RM",Txt_Code); - HTM_TH (1,1,"LM",Txt_Institution); - HTM_TH (1,1,"LM",Txt_Short_name); - HTM_TH (1,1,"LM",Txt_Full_name); - HTM_TH (1,1,"LM",Txt_WWW); - HTM_TH (1,1,"RM",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH]); + HTM_TH (1,1,Txt_Code ,"RM"); + HTM_TH (1,1,Txt_Institution ,"LM"); + HTM_TH (1,1,Txt_Short_name ,"LM"); + HTM_TH (1,1,Txt_Full_name ,"LM"); + HTM_TH (1,1,Txt_WWW ,"LM"); + HTM_TH (1,1,Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH],"RM"); HTM_TR_End (); } diff --git a/swad_duplicate.c b/swad_duplicate.c index a66dff48..0b155e87 100644 --- a/swad_duplicate.c +++ b/swad_duplicate.c @@ -163,13 +163,14 @@ void Dup_ListDuplicateUsrs (void) HTM_TR_Begin (NULL); - HTM_TD_Begin ("colspan=\"2\" class=\"COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"%s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); - HTM_TD_Begin ("colspan=\"%u\" class=\"%s LM COLOR%u\"", + HTM_TD_Begin ("colspan=\"%u\" class=\"%s LM %s\"", Usr_NUM_MAIN_FIELDS_DATA_USR - 2, The_ClassDat[Gbl.Prefs.Theme], - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); /* Write number of informants (row[1]) if greater than 1 */ if (sscanf (row[1],"%u",&NumInformants) != 1) @@ -282,12 +283,13 @@ static void Dup_ListSimilarUsrs (void) /***** Write user's profile and user's courses *****/ HTM_TR_Begin (NULL); - HTM_TD_Begin ("colspan=\"2\" class=\"COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"%s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); - HTM_TD_Begin ("colspan=\"%u\" class=\"COLOR%u\"", + HTM_TD_Begin ("colspan=\"%u\" class=\"%s\"", Usr_NUM_MAIN_FIELDS_DATA_USR-2, - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); /* Show details of user's profile */ Prf_ShowDetailsUserProfile (&UsrDat); /* Write all courses this user belongs to */ @@ -301,12 +303,13 @@ static void Dup_ListSimilarUsrs (void) /***** Buttons to remove user / mark as not dubplicated *****/ HTM_TR_Begin (NULL); - HTM_TD_Begin ("colspan=\"2\" class=\"COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"%s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); - HTM_TD_Begin ("colspan=\"%u\" class=\"LT COLOR%u\"", + HTM_TD_Begin ("colspan=\"%u\" class=\"LT %s\"", Usr_NUM_MAIN_FIELDS_DATA_USR-2, - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); /* Button to remove this user */ if (Acc_CheckIfICanEliminateAccount (UsrDat.UsrCod)) Dup_PutButtonToEliminateUsrAccount (&UsrDat); diff --git a/swad_enrolment.c b/swad_enrolment.c index e5a328f9..d9c184c9 100644 --- a/swad_enrolment.c +++ b/swad_enrolment.c @@ -2177,11 +2177,11 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected) /* Table heading */ HTM_TR_Begin (NULL); HTM_TH_Empty (1); - HTM_TH (1,1,"LT",Txt_Course); - HTM_TH (1,1,"RT",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH]); - HTM_TH (1,2,"LT",Txt_Requester); - HTM_TH (1,1,"LT",Txt_Role); - HTM_TH (1,1,"CT",Txt_Date); + HTM_TH (1,1,Txt_Course ,"LT"); + HTM_TH (1,1,Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH],"RT"); + HTM_TH (1,2,Txt_Requester ,"LT"); + HTM_TH (1,1,Txt_Role ,"LT"); + HTM_TH (1,1,Txt_Date ,"CT"); HTM_TH_Empty (2); HTM_TR_End (); diff --git a/swad_exam.c b/swad_exam.c index 81f4d7fd..00bcbd2a 100644 --- a/swad_exam.c +++ b/swad_exam.c @@ -248,7 +248,7 @@ static void Exa_ListAllExams (struct Exa_Exams *Exams) HTM_TABLE_BeginWideMarginPadding (5); HTM_TR_Begin (NULL); if (Exa_CheckIfICanEditExams ()) - HTM_TH (1,1,"CONTEXT_COL",NULL); // Column for contextual icons + HTM_TH (1,1,NULL,"CONTEXT_COL"); // Column for contextual icons for (Order = (Exa_Order_t) 0; Order <= (Exa_Order_t) (Exa_NUM_ORDERS - 1); @@ -272,7 +272,7 @@ static void Exa_ListAllExams (struct Exa_Exams *Exams) HTM_TH_End (); } - HTM_TH (1,1,"RM",Txt_Sessions); + HTM_TH (1,1,Txt_Sessions,"RM"); HTM_TR_End (); @@ -503,7 +503,8 @@ static void Exa_ShowOneExam (struct Exa_Exams *Exams, if (ShowOnlyThisExam) HTM_TD_Begin ("rowspan=\"2\" class=\"CONTEXT_COL\""); else - HTM_TD_Begin ("rowspan=\"2\" class=\"CONTEXT_COL COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("rowspan=\"2\" class=\"CONTEXT_COL %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); /* Icons to remove/edit this exam */ Exa_PutIconsToRemEditOneExam (Exams,Exam,Anchor); @@ -527,8 +528,8 @@ static void Exa_ShowOneExam (struct Exa_Exams *Exams, HTM_TD_Begin ("id=\"%s\" class=\"%s LT\"", Id,Color); else - HTM_TD_Begin ("id=\"%s\" class=\"%s LT COLOR%u\"", - Id,Color,Gbl.RowEvenOdd); + HTM_TD_Begin ("id=\"%s\" class=\"%s LT %s\"", + Id,Color,Gbl.ColorRows[Gbl.RowEvenOdd]); if (Exam->TimeUTC[Dat_STR_TIME]) Dat_WriteLocalDateHMSFromUTC (Id,Exam->TimeUTC[StartEndTime], Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, @@ -541,7 +542,7 @@ static void Exa_ShowOneExam (struct Exa_Exams *Exams, if (ShowOnlyThisExam) HTM_TD_Begin ("class=\"LT\""); else - HTM_TD_Begin ("class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); /* Exam title */ Exams->ExaCod = Exam->ExaCod; @@ -574,7 +575,7 @@ static void Exa_ShowOneExam (struct Exa_Exams *Exams, if (ShowOnlyThisExam) HTM_TD_Begin ("class=\"RT\""); else - HTM_TD_Begin ("class=\"RT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); Exams->ExaCod = Exam->ExaCod; Frm_BeginForm (ActSeeExa); @@ -601,7 +602,8 @@ static void Exa_ShowOneExam (struct Exa_Exams *Exams, if (ShowOnlyThisExam) HTM_TD_Begin ("colspan=\"2\" class=\"LT\""); else - HTM_TD_Begin ("colspan=\"2\" class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); Exa_WriteAuthor (Exam); HTM_TD_End (); @@ -609,7 +611,8 @@ static void Exa_ShowOneExam (struct Exa_Exams *Exams, if (ShowOnlyThisExam) HTM_TD_Begin ("colspan=\"2\" class=\"LT\""); else - HTM_TD_Begin ("colspan=\"2\" class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); 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 273de543..41b66dbb 100644 --- a/swad_exam_log.c +++ b/swad_exam_log.c @@ -266,14 +266,14 @@ void ExaLog_ShowExamLog (const struct ExaPrn_Print *Print) /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"RB",Txt_Click); - HTM_TH (1,1,"LB",Txt_Date_and_time); - HTM_TH (1,1,"LB",Txt_Action); - HTM_TH (1,1,"RB",Txt_Question); - HTM_TH (1,1,"CB",Txt_EXAM_Open); - HTM_TH (1,1,"LB",Txt_IP); - HTM_TH (1,1,"LB",Txt_Session); - HTM_TH (1,1,"LB",Txt_Web_browser); + HTM_TH (1,1,Txt_Click ,"RB"); + HTM_TH (1,1,Txt_Date_and_time,"LB"); + HTM_TH (1,1,Txt_Action ,"LB"); + HTM_TH (1,1,Txt_Question ,"RB"); + HTM_TH (1,1,Txt_EXAM_Open ,"CB"); + HTM_TH (1,1,Txt_IP ,"LB"); + HTM_TH (1,1,Txt_Session ,"LB"); + HTM_TH (1,1,Txt_Web_browser ,"LB"); HTM_TR_End (); /***** Write clicks *****/ @@ -319,16 +319,18 @@ void ExaLog_ShowExamLog (const struct ExaPrn_Print *Print) HTM_TR_Begin (NULL); /* Write number of click */ - HTM_TD_Begin ("class=\"RT COLOR%u %s\"", - Gbl.RowEvenOdd,UsrCouldAnswer ? "DAT_SMALL" : - "DAT_SMALL_LIGHT"); + HTM_TD_Begin ("class=\"RT %s %s\"", + UsrCouldAnswer ? "DAT_SMALL" : + "DAT_SMALL_LIGHT", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (NumClick + 1); HTM_TD_End (); /* Write click time */ if (asprintf (&Id,"click_date_%u",NumClick) < 0) Err_NotEnoughMemoryExit (); - HTM_TD_Begin ("id=\"%s\" class=\"LT COLOR%u %s\"",Id,Gbl.RowEvenOdd,Class[Action]); + HTM_TD_Begin ("id=\"%s\" class=\"LT %s %s\"", + Id,Class[Action],Gbl.ColorRows[Gbl.RowEvenOdd]); Dat_WriteLocalDateHMSFromUTC (Id,ClickTimeUTC, Gbl.Prefs.DateFormat,Dat_SEPARATOR_COMMA, true,true,true,0x7); @@ -336,26 +338,30 @@ void ExaLog_ShowExamLog (const struct ExaPrn_Print *Print) HTM_TD_End (); /* Write action */ - HTM_TD_Begin ("class=\"LT COLOR%u %s\"",Gbl.RowEvenOdd,Class[Action]); + HTM_TD_Begin ("class=\"LT %s %s\"", + Class[Action],Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (Txt_EXAM_LOG_ACTIONS[Action]); HTM_TD_End (); /* Write number of question */ - HTM_TD_Begin ("class=\"RT COLOR%u %s\"",Gbl.RowEvenOdd,Class[Action]); + HTM_TD_Begin ("class=\"RT %s %s\"", + Class[Action],Gbl.ColorRows[Gbl.RowEvenOdd]); if (QstInd >= 0) HTM_Unsigned ((unsigned) QstInd + 1); HTM_TD_End (); /* Write if exam print was open and accesible to answer */ - HTM_TD_Begin ("class=\"CT COLOR%u %s\"", - Gbl.RowEvenOdd,UsrCouldAnswer ? "DAT_SMALL_GREEN" : - "DAT_SMALL_RED"); + HTM_TD_Begin ("class=\"CT %s %s\"", + UsrCouldAnswer ? "DAT_SMALL_GREEN" : + "DAT_SMALL_RED", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (UsrCouldAnswer ? "✓" : "✗"); HTM_TD_End (); /* Write IP */ - HTM_TD_Begin ("class=\"LT COLOR%u %s\"",Gbl.RowEvenOdd,Class[Action]); + HTM_TD_Begin ("class=\"LT %s %s\"", + Class[Action],Gbl.ColorRows[Gbl.RowEvenOdd]); Length = strlen (IP); if (Length > 6) { @@ -373,7 +379,8 @@ void ExaLog_ShowExamLog (const struct ExaPrn_Print *Print) HTM_TD_End (); /* Write session id */ - HTM_TD_Begin ("class=\"LT COLOR%u %s\"",Gbl.RowEvenOdd,Class[Action]); + HTM_TD_Begin ("class=\"LT %s %s\"", + Class[Action],Gbl.ColorRows[Gbl.RowEvenOdd]); if (SessionId[0]) { Length = strlen (SessionId); @@ -394,7 +401,8 @@ void ExaLog_ShowExamLog (const struct ExaPrn_Print *Print) HTM_TD_End (); /* Write user agent (row[6]) */ - HTM_TD_Begin ("class=\"LT COLOR%u %s\"",Gbl.RowEvenOdd,Class[Action]); + HTM_TD_Begin ("class=\"LT %s %s\"", + Class[Action],Gbl.ColorRows[Gbl.RowEvenOdd]); if (UserAgent[0]) HTM_Txt (UserAgent); HTM_TD_End (); diff --git a/swad_exam_print.c b/swad_exam_print.c index 029191d0..c35cc6f3 100644 --- a/swad_exam_print.c +++ b/swad_exam_print.c @@ -711,7 +711,7 @@ static void ExaPrn_WriteQstAndAnsToFill (const struct ExaPrn_Print *Print, /***** Title for this set *****/ HTM_TR_Begin (NULL); - HTM_TD_Begin ("colspan=\"2\" class=\"COLOR0\""); + HTM_TD_Begin ("colspan=\"2\" class=\"%s\"",Gbl.ColorRows[0]); ExaSet_WriteSetTitle (&CurrentSet); HTM_TD_End (); HTM_TR_End (); diff --git a/swad_exam_result.c b/swad_exam_result.c index 69f5a05d..b2f1c50d 100644 --- a/swad_exam_result.c +++ b/swad_exam_result.c @@ -602,8 +602,8 @@ static void ExaRes_ListExamsToSelect (struct Exa_Exams *Exams) /***** Heading row *****/ HTM_TR_Begin (NULL); - HTM_TH (1,2,NULL,NULL); - HTM_TH (1,1,"LM",Txt_Exam); + HTM_TH (1,2,NULL ,NULL); + HTM_TH (1,1,Txt_Exam,"LM"); HTM_TR_End (); /***** List the sessions *****/ @@ -619,8 +619,9 @@ static void ExaRes_ListExamsToSelect (struct Exa_Exams *Exams) /* Write a row for this session */ HTM_TR_Begin (NULL); - HTM_TD_Begin ("class=\"%s CT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s CT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_INPUT_CHECKBOX ("ExaCod",HTM_DONT_SUBMIT_ON_CHANGE, "id=\"Gam%u\" value=\"%ld\"%s", NumExam,Exams->Lst[NumExam].ExaCod, @@ -628,15 +629,17 @@ static void ExaRes_ListExamsToSelect (struct Exa_Exams *Exams) ""); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s RT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_LABEL_Begin ("for=\"Gam%u\"",NumExam); HTM_TxtF ("%u:",NumExam + 1); HTM_LABEL_End (); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s LT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s LT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (Exam.Title); HTM_TD_End (); @@ -689,39 +692,42 @@ static void ExaRes_ShowHeaderResults (Usr_MeOrOther_t MeOrOther) /***** First row *****/ HTM_TR_Begin (NULL); - HTM_TH (3,2,"CT LINE_BOTTOM",Txt_User[MeOrOther == Usr_ME ? Gbl.Usrs.Me.UsrDat.Sex : - Usr_SEX_UNKNOWN]); - HTM_TH (3,1,"LT LINE_BOTTOM",Txt_START_END_TIME[Dat_STR_TIME]); - HTM_TH (3,1,"LT LINE_BOTTOM",Txt_START_END_TIME[Dat_END_TIME]); - HTM_TH (3,1,"LT LINE_BOTTOM",Txt_Session); - HTM_TH (1,3,"CT LINE_LEFT",Txt_Questions); - HTM_TH (1,5,"CT LINE_LEFT",Txt_Valid_answers); - HTM_TH (1,2,"CT LINE_LEFT",Txt_Score); - HTM_TH (3,1,"RT LINE_BOTTOM LINE_LEFT",Txt_Grade); - HTM_TH (3,1,"LINE_BOTTOM LINE_LEFT",NULL); + HTM_TH (3,2,Txt_User[MeOrOther == Usr_ME ? Gbl.Usrs.Me.UsrDat.Sex : + Usr_SEX_UNKNOWN], + "CT LINE_BOTTOM"); + HTM_TH (3,1,Txt_START_END_TIME[Dat_STR_TIME],"LT LINE_BOTTOM"); + HTM_TH (3,1,Txt_START_END_TIME[Dat_END_TIME],"LT LINE_BOTTOM"); + HTM_TH (3,1,Txt_Session ,"LT LINE_BOTTOM"); + HTM_TH (1,3,Txt_Questions ,"CT LINE_LEFT"); + HTM_TH (1,5,Txt_Valid_answers ,"CT LINE_LEFT"); + HTM_TH (1,2,Txt_Score ,"CT LINE_LEFT"); + HTM_TH (3,1,Txt_Grade ,"RT LINE_BOTTOM LINE_LEFT"); + HTM_TH (3,1,NULL ,"LINE_BOTTOM LINE_LEFT"); HTM_TR_End (); /***** Second row *****/ HTM_TR_Begin (NULL); - HTM_TH (2,1,"RT LINE_BOTTOM LINE_LEFT",Txt_total); - HTM_TH (2,1,"RT LINE_BOTTOM",Txt_QUESTIONS_valid); - HTM_TH (2,1,"RT LINE_BOTTOM",Txt_QUESTIONS_invalid); - HTM_TH (1,1,"RT LINE_LEFT",Txt_ANSWERS_correct); - HTM_TH (1,3,"CT",Txt_ANSWERS_wrong); - HTM_TH (1,1,"RT",Txt_ANSWERS_blank); - HTM_TH (1,1,"RT LINE_LEFT",Txt_total); - HTM_TH (1,1,"RT",Txt_average); + HTM_TH (2,1,Txt_total ,"RT LINE_BOTTOM LINE_LEFT"); + HTM_TH (2,1,Txt_QUESTIONS_valid ,"RT LINE_BOTTOM"); + HTM_TH (2,1,Txt_QUESTIONS_invalid,"RT LINE_BOTTOM"); + HTM_TH (1,1,Txt_ANSWERS_correct ,"RT LINE_LEFT"); + HTM_TH (1,3,Txt_ANSWERS_wrong ,"CT"); + HTM_TH (1,1,Txt_ANSWERS_blank ,"RT"); + HTM_TH (1,1,Txt_total ,"RT LINE_LEFT"); + HTM_TH (1,1,Txt_average ,"RT"); HTM_TR_End (); /***** Third row *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"RT LINE_BOTTOM LINE_LEFT","{pi=1}"); - HTM_TH (1,1,"RT LINE_BOTTOM","{-1≤pi<0}"); - HTM_TH (1,1,"RT LINE_BOTTOM","{pi=0}"); - HTM_TH (1,1,"RT LINE_BOTTOM","{0<pi<1}"); - HTM_TH (1,1,"RT LINE_BOTTOM","{pi=0}"); - HTM_TH (1,1,"RT LINE_BOTTOM LINE_LEFT","Σpi"); - HTM_TH (1,1,"RT LINE_BOTTOM","-1≤p≤1"); + HTM_TH (1,1,"{pi=1}" ,"RT LINE_BOTTOM LINE_LEFT"); + HTM_TH (1,1,"{-1≤pi<0}","RT LINE_BOTTOM"); + HTM_TH (1,1,"{pi=0}" ,"RT LINE_BOTTOM"); + HTM_TH (1,1,"{0<pi<1}" ,"RT LINE_BOTTOM"); + HTM_TH (1,1,"{pi=0}" ,"RT LINE_BOTTOM"); + HTM_TH (1,1,"Σpi" ,"RT LINE_BOTTOM LINE_LEFT"); + HTM_TH (1,1,"-1≤" + "p" + "≤1" ,"RT LINE_BOTTOM"); HTM_TR_End (); } @@ -844,8 +850,9 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, UniqueId++; if (asprintf (&Id,"exa_res_time_%u_%u",(unsigned) StartEndTime,UniqueId) < 0) Err_NotEnoughMemoryExit (); - HTM_TD_Begin ("id =\"%s\" class=\"%s LT COLOR%u\"", - Id,The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("id =\"%s\" class=\"%s LT %s\"", + Id,The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); Dat_WriteLocalDateHMSFromUTC (Id,Print.TimeUTC[StartEndTime], Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,false,0x7); @@ -854,8 +861,9 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, } /* Write session title */ - HTM_TD_Begin ("class=\"%s LT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s LT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (Session.Title); HTM_TD_End (); @@ -878,8 +886,9 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, } /* Write total number of questions */ - HTM_TD_Begin ("class=\"%s RT LINE_LEFT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT LINE_LEFT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanView.Score) HTM_Unsigned (Print.NumQsts.All); else @@ -887,7 +896,8 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, HTM_TD_End (); /* Valid questions */ - HTM_TD_Begin ("class=\"DAT_GREEN RT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_GREEN RT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanView.Score) { if (Print.NumQsts.Valid.Total) @@ -900,7 +910,8 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, HTM_TD_End (); /* Invalid questions */ - HTM_TD_Begin ("class=\"DAT_RED RT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_RED RT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanView.Score) { NumQstsInvalid = Print.NumQsts.All - Print.NumQsts.Valid.Total; @@ -914,8 +925,9 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, HTM_TD_End (); /* Write number of correct questions */ - HTM_TD_Begin ("class=\"%s RT LINE_LEFT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT LINE_LEFT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanView.Score) { if (Print.NumQsts.Valid.Correct) @@ -928,8 +940,9 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, HTM_TD_End (); /* Write number of wrong questions */ - HTM_TD_Begin ("class=\"%s RT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanView.Score) { if (Print.NumQsts.Valid.Wrong.Negative) @@ -941,8 +954,9 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, Ico_PutIconNotVisible (); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s RT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanView.Score) { if (Print.NumQsts.Valid.Wrong.Zero) @@ -954,8 +968,9 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, Ico_PutIconNotVisible (); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s RT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanView.Score) { if (Print.NumQsts.Valid.Wrong.Positive) @@ -968,8 +983,9 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, HTM_TD_End (); /* Write number of blank questions */ - HTM_TD_Begin ("class=\"%s RT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanView.Score) { if (Print.NumQsts.Valid.Blank) @@ -982,8 +998,9 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, HTM_TD_End (); /* Write score valid (taking into account only valid questions) */ - HTM_TD_Begin ("class=\"%s RT LINE_LEFT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT LINE_LEFT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanView.Score) { HTM_Double2Decimals (Print.Score.Valid); @@ -995,8 +1012,9 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, HTM_TD_End (); /* Write average score per question (taking into account only valid questions) */ - HTM_TD_Begin ("class=\"%s RT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanView.Score) HTM_Double2Decimals (Print.NumQsts.Valid.Total ? Print.Score.Valid / (double) Print.NumQsts.Valid.Total : @@ -1006,8 +1024,9 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, HTM_TD_End (); /* Write grade over maximum grade (taking into account only valid questions) */ - HTM_TD_Begin ("class=\"%s RT LINE_LEFT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT LINE_LEFT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanView.Score) { Grade = TstPrn_ComputeGrade (Print.NumQsts.Valid.Total,Print.Score.Valid,Exam.MaxGrade); @@ -1019,7 +1038,8 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, HTM_TD_End (); /* Link to show this result */ - HTM_TD_Begin ("class=\"RT LINE_LEFT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RT LINE_LEFT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanView.Result) { Exams->ExaCod = Session.ExaCod; @@ -1053,33 +1073,33 @@ static void ExaRes_ShowResults (struct Exa_Exams *Exams, else { /* Columns for dates and title */ - HTM_TD_Begin ("colspan=\"3\" class=\"LINE_BOTTOM COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"3\" class=\"LINE_BOTTOM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); /* Columns for questions */ - HTM_TD_Begin ("colspan=\"3\" class=\"LINE_BOTTOM LINE_LEFT COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"3\" class=\"LINE_BOTTOM LINE_LEFT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); /* Columns for answers */ - HTM_TD_Begin ("colspan=\"5\" class=\"LINE_BOTTOM LINE_LEFT COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"5\" class=\"LINE_BOTTOM LINE_LEFT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); /* Columns for score */ - HTM_TD_Begin ("colspan=\"2\" class=\"LINE_BOTTOM LINE_LEFT COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"LINE_BOTTOM LINE_LEFT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); /* Column for grade */ - HTM_TD_Begin ("class=\"LINE_BOTTOM LINE_LEFT COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LINE_BOTTOM LINE_LEFT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); /* Column for link to show the result */ - HTM_TD_Begin ("class=\"LINE_BOTTOM LINE_LEFT COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LINE_BOTTOM LINE_LEFT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); } @@ -1106,20 +1126,23 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, unsigned NumTotalQstsInvalid; /***** Row title *****/ - HTM_TD_Begin ("colspan=\"3\" class=\"RM %s LINE_TOP LINE_BOTTOM COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"3\" class=\"RM %s LINE_TOP LINE_BOTTOM %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TxtColonNBSP (Txt_Sessions); HTM_Unsigned (NumResults); HTM_TD_End (); /***** Write total number of questions *****/ - HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (NumTotalQsts->All); HTM_TD_End (); /***** Write total number of valid questions *****/ - HTM_TD_Begin ("class=\"RT DAT_GREEN LINE_TOP LINE_BOTTOM COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RT DAT_GREEN LINE_TOP LINE_BOTTOM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (NumTotalQsts->Valid.Total) HTM_Unsigned (NumTotalQsts->Valid.Total); else @@ -1127,7 +1150,8 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, HTM_TD_End (); /***** Write total number of invalid questions *****/ - HTM_TD_Begin ("class=\"DAT_RED RT LINE_TOP LINE_BOTTOM COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_RED RT LINE_TOP LINE_BOTTOM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); NumTotalQstsInvalid = NumTotalQsts->All - NumTotalQsts->Valid.Total; if (NumTotalQstsInvalid) HTM_Unsigned (NumTotalQstsInvalid); @@ -1136,8 +1160,9 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, HTM_TD_End (); /***** Write number of correct questions *****/ - HTM_TD_Begin ("class=\"RT %s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RT %s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (NumTotalQsts->Valid.Correct) HTM_Unsigned (NumTotalQsts->Valid.Correct); else @@ -1145,24 +1170,27 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, HTM_TD_End (); /***** Write number of wrong questions *****/ - HTM_TD_Begin ("class=\"RT %s LINE_TOP LINE_BOTTOM COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RT %s LINE_TOP LINE_BOTTOM %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (NumTotalQsts->Valid.Wrong.Negative) HTM_Unsigned (NumTotalQsts->Valid.Wrong.Negative); else HTM_Light0 (); HTM_TD_End (); - HTM_TD_Begin ("class=\"RT %s LINE_TOP LINE_BOTTOM COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RT %s LINE_TOP LINE_BOTTOM %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (NumTotalQsts->Valid.Wrong.Zero) HTM_Unsigned (NumTotalQsts->Valid.Wrong.Zero); else HTM_Light0 (); HTM_TD_End (); - HTM_TD_Begin ("class=\"RT %s LINE_TOP LINE_BOTTOM COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RT %s LINE_TOP LINE_BOTTOM %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (NumTotalQsts->Valid.Wrong.Positive) HTM_Unsigned (NumTotalQsts->Valid.Wrong.Positive); else @@ -1170,8 +1198,9 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, HTM_TD_End (); /***** Write number of blank questions *****/ - HTM_TD_Begin ("class=\"RT %s LINE_TOP LINE_BOTTOM COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RT %s LINE_TOP LINE_BOTTOM %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (NumTotalQsts->Valid.Blank) HTM_Unsigned (NumTotalQsts->Valid.Blank); else @@ -1179,16 +1208,18 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, HTM_TD_End (); /***** Write total valid score *****/ - HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Double2Decimals (TotalScore->Valid); HTM_Txt ("/"); HTM_Unsigned (NumTotalQsts->Valid.Total); HTM_TD_End (); /***** Write average valid score per valid question *****/ - HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Double2Decimals (NumTotalQsts->Valid.Total ? TotalScore->Valid / (double) NumTotalQsts->Valid.Total : 0.0); @@ -1196,14 +1227,16 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, /***** Write total grade *****/ - HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Double2Decimals (TotalGrade); HTM_TD_End (); /***** Last cell *****/ - HTM_TD_Begin ("class=\"%s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); } @@ -1885,13 +1918,13 @@ static void ExaRes_WriteQstAndAnsExam (struct UsrData *UsrDat, HTM_TR_Begin (NULL); /***** Number of question and answer type *****/ - HTM_TD_Begin ("class=\"RT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); 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 COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); /* Stem */ Qst_WriteQstStem (Question->Stem,ClassTxt[Question->Validity], diff --git a/swad_exam_session.c b/swad_exam_session.c index b8e050c5..aa826809 100644 --- a/swad_exam_session.c +++ b/swad_exam_session.c @@ -333,7 +333,8 @@ static void ExaSes_ListOneOrMoreSessions (struct Exa_Exams *Exams, if (Session.SesCod == SesCodToBeEdited) { HTM_TR_Begin (NULL); - HTM_TD_Begin ("colspan=\"6\" class=\"CT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"6\" class=\"CT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); ExaSes_PutFormSession (&Session); // Form to edit existing session HTM_TD_End (); HTM_TR_End (); @@ -367,11 +368,11 @@ static void ExaSes_ListOneOrMoreSessionsHeading (bool ICanEditSessions) HTM_TH_Empty (1); /***** The rest of columns *****/ - HTM_TH (1,1,"LT",Txt_ROLES_SINGUL_Abc[Rol_TCH][Usr_SEX_UNKNOWN]); - HTM_TH (1,1,"LT",Txt_START_END_TIME[Exa_ORDER_BY_START_DATE]); - HTM_TH (1,1,"LT",Txt_START_END_TIME[Exa_ORDER_BY_END_DATE ]); - HTM_TH (1,1,"LT",Txt_Session); - HTM_TH (1,1,"CT",Txt_Results); + HTM_TH (1,1,Txt_ROLES_SINGUL_Abc[Rol_TCH][Usr_SEX_UNKNOWN],"LT"); + HTM_TH (1,1,Txt_START_END_TIME[Exa_ORDER_BY_START_DATE] ,"LT"); + HTM_TH (1,1,Txt_START_END_TIME[Exa_ORDER_BY_END_DATE ] ,"LT"); + HTM_TH (1,1,Txt_Session ,"LT"); + HTM_TH (1,1,Txt_Results ,"CT"); /***** End row *****/ HTM_TR_End (); @@ -466,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 COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); Usr_WriteAuthor1Line (Session->UsrCod,Session->Hidden); HTM_TD_End (); } @@ -493,8 +494,8 @@ 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 COLOR%u\"", - Id,Color,Gbl.RowEvenOdd); + HTM_TD_Begin ("id=\"%s\" class=\"%s LT %s\"", + Id,Color,Gbl.ColorRows[Gbl.RowEvenOdd]); Dat_WriteLocalDateHMSFromUTC (Id,Session->TimeUTC[StartEndTime], Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,true,0x6); @@ -515,7 +516,7 @@ static void ExaSes_ListOneOrMoreSessionsTitleGrps (struct Exa_Exams *Exams, extern const char *Txt_Play; extern const char *Txt_Resume; - HTM_TD_Begin ("class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); /***** Session title *****/ HTM_ARTICLE_Begin (Anchor); @@ -624,8 +625,8 @@ static void ExaSes_ListOneOrMoreSessionsResult (struct Exa_Exams *Exams, [Rol_SYS_ADM] = ExaSes_ListOneOrMoreSessionsResultTch, }; - HTM_TD_Begin ("class=\"%s CT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s CT %s\"", + The_ClassDat[Gbl.Prefs.Theme],Gbl.ColorRows[Gbl.RowEvenOdd]); 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 903e9bea..a7545ae5 100644 --- a/swad_exam_set.c +++ b/swad_exam_set.c @@ -813,12 +813,13 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams, HTM_TD_End (); /***** Index *****/ - HTM_TD_Begin ("rowspan=\"2\" class=\"RT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("rowspan=\"2\" class=\"RT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); Qst_WriteNumQst (Set.SetInd,"BIG_INDEX"); HTM_TD_End (); /***** Title *****/ - HTM_TD_Begin ("class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_ARTICLE_Begin (Anchor); if (ICanEditSets) { @@ -842,14 +843,14 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams, HTM_TD_End (); /***** Current number of questions in set *****/ - HTM_TD_Begin ("class=\"RT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); 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 COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanEditSets) { Frm_BeginFormAnchor (ActChgNumQstExaSet,Anchor); @@ -874,7 +875,8 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams, HTM_TR_Begin (NULL); /***** Questions *****/ - HTM_TD_Begin ("colspan=\"3\" class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"3\" class=\"LT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); /* List questions */ ExaSet_ListSetQuestions (Exams,Exam,&Set); @@ -908,10 +910,10 @@ static void ExaSet_PutTableHeadingForSets (void) /***** Header cells *****/ HTM_TH_Empty (1); - HTM_TH (1,1,"RB",Txt_No_INDEX); - HTM_TH (1,1,"LB",Txt_Set_of_questions); - HTM_TH (1,1,"RB",Txt_Number_of_questions); - HTM_TH (1,1,"RB",Txt_Number_of_questions_to_show); + HTM_TH (1,1,Txt_No_INDEX ,"RB"); + HTM_TH (1,1,Txt_Set_of_questions ,"LB"); + HTM_TH (1,1,Txt_Number_of_questions ,"RB"); + HTM_TH (1,1,Txt_Number_of_questions_to_show,"RB"); /***** End row *****/ HTM_TR_End (); @@ -971,8 +973,8 @@ static void ExaSet_ListOneOrMoreQuestionsForEdition (struct Exa_Exams *Exams, HTM_TH_Empty (1); - HTM_TH (1,1,"CT",Txt_No_INDEX); - HTM_TH (1,1,"CT",Txt_Question); + HTM_TH (1,1,Txt_No_INDEX,"CT"); + HTM_TH (1,1,Txt_Question,"CT"); HTM_TR_End (); @@ -1207,13 +1209,13 @@ static void ExaSet_ListQuestionForEdition (struct Qst_Question *Question, }; /***** Number of question and answer type (row[1]) *****/ - HTM_TD_Begin ("class=\"RT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); 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 COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_ARTICLE_Begin (Anchor); /* Write stem */ diff --git a/swad_figure.c b/swad_figure.c index 649c8460..1ce63e38 100644 --- a/swad_figure.c +++ b/swad_figure.c @@ -414,10 +414,10 @@ static void Fig_GetAndShowUsersStats (void) /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"RM",Txt_Users); - HTM_TH (1,1,"RM",Txt_Number_of_users); - HTM_TH (1,1,"RM",Txt_Average_number_of_courses_to_which_a_user_belongs); - HTM_TH (1,1,"RM",Txt_Average_number_of_users_belonging_to_a_course); + HTM_TH (1,1,Txt_Users ,"RM"); + HTM_TH (1,1,Txt_Number_of_users ,"RM"); + HTM_TH (1,1,Txt_Average_number_of_courses_to_which_a_user_belongs,"RM"); + HTM_TH (1,1,Txt_Average_number_of_users_belonging_to_a_course ,"RM"); HTM_TR_End (); /***** Figures *****/ @@ -428,7 +428,7 @@ static void Fig_GetAndShowUsersStats (void) /***** Separator *****/ HTM_TR_Begin (NULL); - HTM_TH (1,4,"SEPAR_ROW",NULL); + HTM_TH (1,4,NULL,"SEPAR_ROW"); HTM_TR_End (); Fig_GetAndShowNumUsrsNotBelongingToAnyCrs (); // Users not beloging to any course @@ -540,13 +540,13 @@ static void Fig_GetAndShowUsersRanking (void) /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"CM",Txt_Clicks); - HTM_TH (1,1,"CM",Txt_Clicks_per_day); - HTM_TH (1,1,"CM",Txt_Timeline); - HTM_TH (1,1,"CM",Txt_Followers); - HTM_TH (1,1,"CM",Txt_Downloads); - HTM_TH (1,1,"CM",Txt_Forums); - HTM_TH (1,1,"CM",Txt_Messages); + HTM_TH (1,1,Txt_Clicks ,"CM"); + HTM_TH (1,1,Txt_Clicks_per_day,"CM"); + HTM_TH (1,1,Txt_Timeline ,"CM"); + HTM_TH (1,1,Txt_Followers ,"CM"); + HTM_TH (1,1,Txt_Downloads ,"CM"); + HTM_TH (1,1,Txt_Forums ,"CM"); + HTM_TH (1,1,Txt_Messages ,"CM"); HTM_TR_End (); /***** Rankings *****/ @@ -1223,11 +1223,11 @@ static void Fig_ShowInss (MYSQL_RES **mysql_res,unsigned NumInss, /***** Draw institutions as a list *****/ HTM_TR_Begin (NULL); HTM_TH_Empty (1); - HTM_TH (1,1,"LM",Txt_Institution); - HTM_TH (1,1,"RM",TxtFigure); + HTM_TH (1,1,Txt_Institution,"LM"); + HTM_TH (1,1,TxtFigure,"RM"); HTM_TR_End (); - for (NumIns = 1, NumOrder = 1, NumberLastRow = 0; + for (NumIns = 1, NumOrder = 1, NumberLastRow = 0; NumIns <= NumInss; NumIns++) { @@ -1468,14 +1468,14 @@ static void Fig_WriteStatsExpTreesTableHead1 (void) extern const char *Txt_Size; HTM_TR_Begin (NULL); - HTM_TH (1,1,"LM",Txt_File_zones); - HTM_TH (1,1,"RM",Txt_Courses); - HTM_TH (1,1,"RM",Txt_Groups); - HTM_TH (1,1,"RM",Txt_Users); - HTM_TH (1,1,"RM",Txt_Max_levels); - HTM_TH (1,1,"RM",Txt_Folders); - HTM_TH (1,1,"RM",Txt_Files); - HTM_TH (1,1,"RM",Txt_Size); + HTM_TH (1,1,Txt_File_zones,"LM"); + HTM_TH (1,1,Txt_Courses ,"RM"); + HTM_TH (1,1,Txt_Groups ,"RM"); + HTM_TH (1,1,Txt_Users ,"RM"); + HTM_TH (1,1,Txt_Max_levels,"RM"); + HTM_TH (1,1,Txt_Folders ,"RM"); + HTM_TH (1,1,Txt_Files ,"RM"); + HTM_TH (1,1,Txt_Size ,"RM"); HTM_TR_End (); } @@ -1489,7 +1489,7 @@ static void Fig_WriteStatsExpTreesTableHead2 (void) HTM_TR_Begin (NULL); - HTM_TH (1,1,"LM",Txt_File_zones); + HTM_TH (1,1,Txt_File_zones,"LM"); HTM_TH_Begin (1,1,"RM"); HTM_TxtF ("%s/",Txt_Folders); @@ -1758,9 +1758,9 @@ static void Fig_GetAndShowOERsStats (void) /***** Write table heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LM",Txt_License); - HTM_TH (1,1,"RM",Txt_Number_of_private_files); - HTM_TH (1,1,"RM",Txt_Number_of_public_files); + HTM_TH (1,1,Txt_License ,"LM"); + HTM_TH (1,1,Txt_Number_of_private_files,"RM"); + HTM_TH (1,1,Txt_Number_of_public_files ,"RM"); HTM_TR_End (); for (License = (Brw_License_t) 0; @@ -1859,9 +1859,9 @@ static void Fig_GetAndShowCourseProgramStats (void) // TODO: Change function fro /***** Write table heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"RM",Txt_Number_of_BR_program_items); - HTM_TH (1,1,"RM",Txt_Number_of_BR_courses_with_BR_program_items); - HTM_TH (1,1,"RM",Txt_Average_number_BR_of_items_BR_per_course); + HTM_TH (1,1,Txt_Number_of_BR_program_items ,"RM"); + HTM_TH (1,1,Txt_Number_of_BR_courses_with_BR_program_items,"RM"); + HTM_TH (1,1,Txt_Average_number_BR_of_items_BR_per_course ,"RM"); HTM_TR_End (); /***** Write number of assignments *****/ @@ -1916,10 +1916,10 @@ static void Fig_GetAndShowAssignmentsStats (void) /***** Write table heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"RM",Txt_Number_of_BR_assignments); - HTM_TH (1,1,"RM",Txt_Number_of_BR_courses_with_BR_assignments); - HTM_TH (1,1,"RM",Txt_Average_number_BR_of_ASSIG_BR_per_course); - HTM_TH (1,1,"RM",Txt_Number_of_BR_notifications); + HTM_TH (1,1,Txt_Number_of_BR_assignments ,"RM"); + HTM_TH (1,1,Txt_Number_of_BR_courses_with_BR_assignments,"RM"); + HTM_TH (1,1,Txt_Average_number_BR_of_ASSIG_BR_per_course,"RM"); + HTM_TH (1,1,Txt_Number_of_BR_notifications ,"RM"); HTM_TR_End (); /***** Write number of assignments *****/ @@ -1976,9 +1976,9 @@ static void Fig_GetAndShowProjectsStats (void) /***** Write table heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"RM",Txt_Number_of_BR_projects); - HTM_TH (1,1,"RM",Txt_Number_of_BR_courses_with_BR_projects); - HTM_TH (1,1,"RM",Txt_Average_number_BR_of_projects_BR_per_course); + HTM_TH (1,1,Txt_Number_of_BR_projects ,"RM"); + HTM_TH (1,1,Txt_Number_of_BR_courses_with_BR_projects ,"RM"); + HTM_TH (1,1,Txt_Average_number_BR_of_projects_BR_per_course,"RM"); HTM_TR_End (); /***** Write number of projects *****/ @@ -2033,15 +2033,15 @@ static void Fig_GetAndShowTestsStats (void) /***** Write table heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LM",Txt_Type_of_BR_answers); - HTM_TH (1,1,"RM",Txt_Number_of_BR_courses_BR_with_test_BR_questions); - HTM_TH (1,1,"RM",Txt_Number_of_BR_courses_with_BR_exportable_BR_test_BR_questions); - HTM_TH (1,1,"RM",Txt_Number_BR_of_test_BR_questions); - HTM_TH (1,1,"RM",Txt_Average_BR_number_BR_of_test_BR_questions_BR_per_course); - HTM_TH (1,1,"RM",Txt_Number_of_BR_times_that_BR_questions_BR_have_been_BR_responded); - HTM_TH (1,1,"RM",Txt_Average_BR_number_of_BR_times_that_BR_questions_BR_have_been_BR_responded_BR_per_course); - HTM_TH (1,1,"RM",Txt_Average_BR_number_of_BR_times_that_BR_a_question_BR_has_been_BR_responded); - HTM_TH (1,1,"RM",Txt_Average_BR_score_BR_per_question); + HTM_TH (1,1,Txt_Type_of_BR_answers ,"LM"); + HTM_TH (1,1,Txt_Number_of_BR_courses_BR_with_test_BR_questions ,"RM"); + HTM_TH (1,1,Txt_Number_of_BR_courses_with_BR_exportable_BR_test_BR_questions ,"RM"); + HTM_TH (1,1,Txt_Number_BR_of_test_BR_questions ,"RM"); + HTM_TH (1,1,Txt_Average_BR_number_BR_of_test_BR_questions_BR_per_course ,"RM"); + HTM_TH (1,1,Txt_Number_of_BR_times_that_BR_questions_BR_have_been_BR_responded ,"RM"); + HTM_TH (1,1,Txt_Average_BR_number_of_BR_times_that_BR_questions_BR_have_been_BR_responded_BR_per_course,"RM"); + HTM_TH (1,1,Txt_Average_BR_number_of_BR_times_that_BR_a_question_BR_has_been_BR_responded ,"RM"); + HTM_TH (1,1,Txt_Average_BR_score_BR_per_question ,"RM"); HTM_TR_End (); for (AnsType = (Qst_AnswerType_t) 0; @@ -2177,9 +2177,9 @@ static void Fig_GetAndShowExamsStats (void) /***** Write table heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"RM",Txt_Number_of_BR_exams); - HTM_TH (1,1,"RM",Txt_Number_of_BR_courses_with_BR_exams); - HTM_TH (1,1,"RM",Txt_Average_number_BR_of_exams_BR_per_course); + HTM_TH (1,1,Txt_Number_of_BR_exams ,"RM"); + HTM_TH (1,1,Txt_Number_of_BR_courses_with_BR_exams ,"RM"); + HTM_TH (1,1,Txt_Average_number_BR_of_exams_BR_per_course,"RM"); HTM_TR_End (); /***** Write number of exams *****/ @@ -2231,9 +2231,9 @@ static void Fig_GetAndShowGamesStats (void) /***** Write table heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"RM",Txt_Number_of_BR_games); - HTM_TH (1,1,"RM",Txt_Number_of_BR_courses_with_BR_games); - HTM_TH (1,1,"RM",Txt_Average_number_BR_of_games_BR_per_course); + HTM_TH (1,1,Txt_Number_of_BR_games ,"RM"); + HTM_TH (1,1,Txt_Number_of_BR_courses_with_BR_games ,"RM"); + HTM_TH (1,1,Txt_Average_number_BR_of_games_BR_per_course,"RM"); HTM_TR_End (); /***** Write number of games *****/ @@ -2288,11 +2288,11 @@ static void Fig_GetAndShowTimelineActivityStats (void) /***** Heading row *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LM",Txt_Type); - HTM_TH (1,1,"RM",Txt_Number_of_posts); - HTM_TH (1,1,"RM",Txt_Number_of_users); - HTM_TH (1,1,"RM",Txt_PERCENT_of_users); - HTM_TH (1,1,"RM",Txt_Number_of_posts_BR_per_user); + HTM_TH (1,1,Txt_Type ,"LM"); + HTM_TH (1,1,Txt_Number_of_posts ,"RM"); + HTM_TH (1,1,Txt_Number_of_users ,"RM"); + HTM_TH (1,1,Txt_PERCENT_of_users ,"RM"); + HTM_TH (1,1,Txt_Number_of_posts_BR_per_user,"RM"); HTM_TR_End (); /***** Get total number of users *****/ @@ -2441,9 +2441,9 @@ static void Fig_GetAndShowFollowStats (void) /***** Heading row *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LM",Txt_Users); - HTM_TH (1,1,"RM",Txt_Number_of_users); - HTM_TH (1,1,"RM",Txt_PERCENT_of_users); + HTM_TH (1,1,Txt_Users ,"LM"); + HTM_TH (1,1,Txt_Number_of_users ,"RM"); + HTM_TH (1,1,Txt_PERCENT_of_users,"RM"); HTM_TR_End (); /***** Get total number of users *****/ @@ -2539,14 +2539,14 @@ static void Fig_GetAndShowForumStats (void) HTM_TH_Begin (1,1,"BT"); Ico_PutIcon ("comments.svg",Txt_Scope,"ICO16x16"); HTM_TH_End (); - HTM_TH (1,1,"LT",Txt_Forums); - HTM_TH (1,1,"RT",Txt_Number_of_forums); - HTM_TH (1,1,"RT",Txt_Number_of_threads); - HTM_TH (1,1,"RT",Txt_Number_of_posts); - HTM_TH (1,1,"RT",Txt_Number_of_BR_notifications); - HTM_TH (1,1,"RT",Txt_Number_of_threads_BR_per_forum); - HTM_TH (1,1,"RT",Txt_Number_of_posts_BR_per_thread); - HTM_TH (1,1,"RT",Txt_Number_of_posts_BR_per_forum); + HTM_TH (1,1,Txt_Forums ,"LT"); + HTM_TH (1,1,Txt_Number_of_forums ,"RT"); + HTM_TH (1,1,Txt_Number_of_threads ,"RT"); + HTM_TH (1,1,Txt_Number_of_posts ,"RT"); + HTM_TH (1,1,Txt_Number_of_BR_notifications ,"RT"); + HTM_TH (1,1,Txt_Number_of_threads_BR_per_forum,"RT"); + HTM_TH (1,1,Txt_Number_of_posts_BR_per_thread ,"RT"); + HTM_TH (1,1,Txt_Number_of_posts_BR_per_forum ,"RT"); HTM_TR_End (); /***** Write a row for each type of forum *****/ @@ -2845,11 +2845,11 @@ static void Fig_GetAndShowNumUsrsPerNotifyEvent (void) /***** Heading row *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LM",Txt_Event); - HTM_TH (1,1,"RM",Txt_Number_of_users); - HTM_TH (1,1,"RM",Txt_PERCENT_of_users); - HTM_TH (1,1,"RM",Txt_Number_of_events); - HTM_TH (1,1,"RM",Txt_Number_of_emails); + HTM_TH (1,1,Txt_Event ,"LM"); + HTM_TH (1,1,Txt_Number_of_users ,"RM"); + HTM_TH (1,1,Txt_PERCENT_of_users,"RM"); + HTM_TH (1,1,Txt_Number_of_events,"RM"); + HTM_TH (1,1,Txt_Number_of_emails,"RM"); HTM_TR_End (); /***** Get total number of users *****/ @@ -3014,11 +3014,11 @@ static void Fig_GetAndShowNoticesStats (void) /***** Write table heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"RM",Txt_NOTICE_Active_BR_notices); - HTM_TH (1,1,"RM",Txt_NOTICE_Obsolete_BR_notices); - HTM_TH (1,1,"RM",Txt_NOTICE_Deleted_BR_notices); - HTM_TH (1,1,"RM",Txt_Total); - HTM_TH (1,1,"RM",Txt_Number_of_BR_notifications); + HTM_TH (1,1,Txt_NOTICE_Active_BR_notices ,"RM"); + HTM_TH (1,1,Txt_NOTICE_Obsolete_BR_notices,"RM"); + HTM_TH (1,1,Txt_NOTICE_Deleted_BR_notices ,"RM"); + HTM_TH (1,1,Txt_Total ,"RM"); + HTM_TH (1,1,Txt_Number_of_BR_notifications,"RM"); HTM_TR_End (); /***** Write number of notices *****/ @@ -3086,11 +3086,11 @@ static void Fig_GetAndShowMsgsStats (void) /***** Write table heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LM",Txt_Messages); - HTM_TH (1,1,"RM",Txt_MSGS_Not_deleted); - HTM_TH (1,1,"RM",Txt_MSGS_Deleted); - HTM_TH (1,1,"RM",Txt_Total); - HTM_TH (1,1,"RM",Txt_Number_of_BR_notifications); + HTM_TH (1,1,Txt_Messages ,"LM"); + HTM_TH (1,1,Txt_MSGS_Not_deleted ,"RM"); + HTM_TH (1,1,Txt_MSGS_Deleted ,"RM"); + HTM_TH (1,1,Txt_Total ,"RM"); + HTM_TH (1,1,Txt_Number_of_BR_notifications,"RM"); HTM_TR_End (); /***** Write number of messages *****/ @@ -3171,10 +3171,10 @@ static void Fig_GetAndShowAgendasStats (void) /***** Heading row *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"RM",Txt_Number_of_events); - HTM_TH (1,1,"RM",Txt_Number_of_users); - HTM_TH (1,1,"RM",Txt_PERCENT_of_users); - HTM_TH (1,1,"RM",Txt_Number_of_events_per_user); + HTM_TH (1,1,Txt_Number_of_events ,"RM"); + HTM_TH (1,1,Txt_Number_of_users ,"RM"); + HTM_TH (1,1,Txt_PERCENT_of_users ,"RM"); + HTM_TH (1,1,Txt_Number_of_events_per_user,"RM"); HTM_TR_End (); /***** Number of agenda events *****/ @@ -3251,11 +3251,11 @@ static void Fig_GetAndShowSurveysStats (void) /***** Write table heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"RM",Txt_Number_of_BR_surveys); - HTM_TH (1,1,"RM",Txt_Number_of_BR_courses_with_BR_surveys); - HTM_TH (1,1,"RM",Txt_Average_number_BR_of_surveys_BR_per_course); - HTM_TH (1,1,"RM",Txt_Average_number_BR_of_questions_BR_per_survey); - HTM_TH (1,1,"RM",Txt_Number_of_BR_notifications); + HTM_TH (1,1,Txt_Number_of_BR_surveys ,"RM"); + HTM_TH (1,1,Txt_Number_of_BR_courses_with_BR_surveys ,"RM"); + HTM_TH (1,1,Txt_Average_number_BR_of_surveys_BR_per_course ,"RM"); + HTM_TH (1,1,Txt_Average_number_BR_of_questions_BR_per_survey,"RM"); + HTM_TH (1,1,Txt_Number_of_BR_notifications ,"RM"); HTM_TR_End (); /***** Write number of surveys *****/ @@ -3341,9 +3341,9 @@ static void Fig_GetAndShowNumUsrsPerPrivacyForAnObject (const char *TxtObject, /***** Heading row *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LM",TxtObject); - HTM_TH (1,1,"RM",Txt_Number_of_users); - HTM_TH (1,1,"RM",Txt_PERCENT_of_users); + HTM_TH (1,1,TxtObject ,"LM"); + HTM_TH (1,1,Txt_Number_of_users ,"RM"); + HTM_TH (1,1,Txt_PERCENT_of_users,"RM"); HTM_TR_End (); /***** For each privacy option... *****/ @@ -3429,9 +3429,9 @@ static void Fig_GetAndShowNumUsrsPerCookies (void) /***** Heading row *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LM",Txt_Cookies); - HTM_TH (1,1,"RM",Txt_Number_of_users); - HTM_TH (1,1,"RM",Txt_PERCENT_of_users); + HTM_TH (1,1,Txt_Cookies ,"LM"); + HTM_TH (1,1,Txt_Number_of_users ,"RM"); + HTM_TH (1,1,Txt_PERCENT_of_users,"RM"); HTM_TR_End (); /***** For each option... *****/ @@ -3504,9 +3504,9 @@ static void Fig_GetAndShowNumUsrsPerLanguage (void) /***** Heading row *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LM",Txt_Language); - HTM_TH (1,1,"RM",Txt_Number_of_users); - HTM_TH (1,1,"RM",Txt_PERCENT_of_users); + HTM_TH (1,1,Txt_Language ,"LM"); + HTM_TH (1,1,Txt_Number_of_users ,"RM"); + HTM_TH (1,1,Txt_PERCENT_of_users,"RM"); HTM_TR_End (); /***** For each language... *****/ @@ -3581,9 +3581,9 @@ static void Fig_GetAndShowNumUsrsPerFirstDayOfWeek (void) /***** Heading row *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LM",Txt_Calendar); - HTM_TH (1,1,"RM",Txt_Number_of_users); - HTM_TH (1,1,"RM",Txt_PERCENT_of_users); + HTM_TH (1,1,Txt_Calendar,"LM"); + HTM_TH (1,1,Txt_Number_of_users,"RM"); + HTM_TH (1,1,Txt_PERCENT_of_users,"RM"); HTM_TR_End (); /***** For each day... *****/ @@ -3665,9 +3665,9 @@ static void Fig_GetAndShowNumUsrsPerDateFormat (void) /***** Heading row *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LM",Txt_Format); - HTM_TH (1,1,"RM",Txt_Number_of_users); - HTM_TH (1,1,"RM",Txt_PERCENT_of_users); + HTM_TH (1,1,Txt_Format ,"LM"); + HTM_TH (1,1,Txt_Number_of_users ,"RM"); + HTM_TH (1,1,Txt_PERCENT_of_users,"RM"); HTM_TR_End (); /***** For each format... *****/ @@ -3742,9 +3742,9 @@ static void Fig_GetAndShowNumUsrsPerIconSet (void) /***** Heading row *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LM",Txt_Icons); - HTM_TH (1,1,"RM",Txt_Number_of_users); - HTM_TH (1,1,"RM",Txt_PERCENT_of_users); + HTM_TH (1,1,Txt_Icons ,"LM"); + HTM_TH (1,1,Txt_Number_of_users ,"RM"); + HTM_TH (1,1,Txt_PERCENT_of_users,"RM"); HTM_TR_End (); /***** For each icon set... *****/ @@ -3898,9 +3898,9 @@ static void Fig_GetAndShowNumUsrsPerTheme (void) /***** Heading row *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LM",Txt_Theme_SKIN); - HTM_TH (1,1,"RM",Txt_Number_of_users); - HTM_TH (1,1,"RM",Txt_PERCENT_of_users); + HTM_TH (1,1,Txt_Theme_SKIN ,"LM"); + HTM_TH (1,1,Txt_Number_of_users ,"RM"); + HTM_TH (1,1,Txt_PERCENT_of_users,"RM"); HTM_TR_End (); /***** For each theme... *****/ @@ -3978,9 +3978,9 @@ static void Fig_GetAndShowNumUsrsPerSideColumns (void) /***** Heading row *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"CM",Txt_Columns); - HTM_TH (1,1,"RM",Txt_Number_of_users); - HTM_TH (1,1,"RM",Txt_PERCENT_of_users); + HTM_TH (1,1,Txt_Columns ,"CM"); + HTM_TH (1,1,Txt_Number_of_users ,"RM"); + HTM_TH (1,1,Txt_PERCENT_of_users,"RM"); HTM_TR_End (); /***** For each layout of columns... *****/ @@ -4064,9 +4064,9 @@ static void Fig_GetAndShowNumUsrsPerPhotoShape (void) /***** Heading row *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"CM",Txt_User_photos); - HTM_TH (1,1,"RM",Txt_Number_of_users); - HTM_TH (1,1,"RM",Txt_PERCENT_of_users); + HTM_TH (1,1,Txt_User_photos ,"CM"); + HTM_TH (1,1,Txt_Number_of_users ,"RM"); + HTM_TH (1,1,Txt_PERCENT_of_users,"RM"); HTM_TR_End (); /***** For each user photo shape... *****/ diff --git a/swad_follow.c b/swad_follow.c index 62215c45..5c979389 100644 --- a/swad_follow.c +++ b/swad_follow.c @@ -688,7 +688,7 @@ static void Fol_WriteRowUsrToFollowOnRightColumn (struct UsrData *UsrDat) /***** Show user's photo *****/ HTM_TR_Begin (NULL); - HTM_TD_Begin ("class=\"CON_PHOTO COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"CON_PHOTO %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); if (Visible) Pho_ShowUsrPhotoIfAllowed (UsrDat, ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM, @@ -696,7 +696,8 @@ static void Fol_WriteRowUsrToFollowOnRightColumn (struct UsrData *UsrDat) HTM_TD_End (); /***** User's name *****/ - HTM_TD_Begin ("class=\"CON_NAME_FOLLOW COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"CON_NAME_FOLLOW %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (Visible) { /* Put form to go to public profile */ @@ -713,22 +714,23 @@ static void Fol_WriteRowUsrToFollowOnRightColumn (struct UsrData *UsrDat) HTM_TD_End (); /***** Icon to follow *****/ - HTM_TD_Begin ("class=\"CON_ICON_FOLLOW RM COLOR%u\"",Gbl.RowEvenOdd); - if (!Gbl.Usrs.Me.Logged || // Not logged - Usr_ItsMe (UsrDat->UsrCod)) // It's me - /* Inactive icon to follow/unfollow */ - Fol_PutInactiveIconToFollowUnfollow (); - else // It's not me - { - /* Put form to follow / unfollow */ - if (Fol_DB_CheckUsrIsFollowerOf (Gbl.Usrs.Me.UsrDat.UsrCod, - UsrDat->UsrCod)) // I follow user - /* Form to unfollow */ - Fol_PutIconToUnfollow (UsrDat->EnUsrCod); - else if (Visible) // I do not follow this user and I can follow - /* Form to follow */ - Fol_PutIconToFollow (UsrDat->EnUsrCod); - } + HTM_TD_Begin ("class=\"CON_ICON_FOLLOW RM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); + if (!Gbl.Usrs.Me.Logged || // Not logged + Usr_ItsMe (UsrDat->UsrCod)) // It's me + /* Inactive icon to follow/unfollow */ + Fol_PutInactiveIconToFollowUnfollow (); + else // It's not me + { + /* Put form to follow / unfollow */ + if (Fol_DB_CheckUsrIsFollowerOf (Gbl.Usrs.Me.UsrDat.UsrCod, + UsrDat->UsrCod)) // I follow user + /* Form to unfollow */ + Fol_PutIconToUnfollow (UsrDat->EnUsrCod); + else if (Visible) // I do not follow this user and I can follow + /* Form to follow */ + Fol_PutIconToFollow (UsrDat->EnUsrCod); + } HTM_TD_End (); HTM_TR_End (); diff --git a/swad_forum.c b/swad_forum.c index 3f77034a..2d3de4e3 100644 --- a/swad_forum.c +++ b/swad_forum.c @@ -2036,9 +2036,9 @@ static void For_ShowForumThreadsHighlightingOneThread (struct For_Forums *Forums HTM_TABLE_BeginWideMarginPadding (2); HTM_TR_Begin (NULL); - HTM_TH (1,1,"BT",NULL); - HTM_TH (1,1,"CONTEXT_COL",NULL); // Column for contextual icons - HTM_TH (1,1,"LM",Txt_MSG_Subject); + HTM_TH (1,1,NULL ,"BT"); + HTM_TH (1,1,NULL ,"CONTEXT_COL"); // Column for contextual icons + HTM_TH (1,1,Txt_MSG_Subject,"LM"); for (Order = Dat_STR_TIME; Order <= Dat_END_TIME; @@ -2067,10 +2067,10 @@ static void For_ShowForumThreadsHighlightingOneThread (struct For_Forums *Forums HTM_TH_End (); } - HTM_TH (1,1,"RM",Txt_Number_BR_msgs); - HTM_TH (1,1,"RM",Txt_Unread_BR_msgs); - HTM_TH (1,1,"RM",Txt_WriBRters); - HTM_TH (1,1,"RM",Txt_ReaBRders); + HTM_TH (1,1,Txt_Number_BR_msgs,"RM"); + HTM_TH (1,1,Txt_Unread_BR_msgs,"RM"); + HTM_TH (1,1,Txt_WriBRters ,"RM"); + HTM_TH (1,1,Txt_ReaBRders ,"RM"); HTM_TR_End (); diff --git a/swad_game.c b/swad_game.c index bb67dd35..25efb6ef 100644 --- a/swad_game.c +++ b/swad_game.c @@ -270,7 +270,7 @@ static void Gam_ListAllGames (struct Gam_Games *Games) if (Gam_CheckIfICanEditGames () || Gam_CheckIfICanListGameQuestions ()) - HTM_TH (1,1,"CONTEXT_COL",NULL); // Column for contextual icons + HTM_TH (1,1,NULL,"CONTEXT_COL"); // Column for contextual icons for (Order = (Gam_Order_t) 0; Order <= (Gam_Order_t) (Gam_NUM_ORDERS - 1); @@ -296,7 +296,7 @@ static void Gam_ListAllGames (struct Gam_Games *Games) HTM_TH_End (); } - HTM_TH (1,1,"RM",Txt_Matches); + HTM_TH (1,1,Txt_Matches,"RM"); HTM_TR_End (); @@ -549,7 +549,8 @@ static void Gam_ShowOneGame (struct Gam_Games *Games, if (ShowOnlyThisGame) HTM_TD_Begin ("rowspan=\"2\" class=\"CONTEXT_COL\""); else - HTM_TD_Begin ("rowspan=\"2\" class=\"CONTEXT_COL COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("rowspan=\"2\" class=\"CONTEXT_COL %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanEditGames) /* Icons to remove/edit this game */ @@ -578,8 +579,8 @@ static void Gam_ShowOneGame (struct Gam_Games *Games, HTM_TD_Begin ("id=\"%s\" class=\"%s LT\"", Id,Color); else - HTM_TD_Begin ("id=\"%s\" class=\"%s LT COLOR%u\"", - Id,Color,Gbl.RowEvenOdd); + HTM_TD_Begin ("id=\"%s\" class=\"%s LT %s\"", + Id,Color,Gbl.ColorRows[Gbl.RowEvenOdd]); if (Game->TimeUTC[Dat_STR_TIME]) Dat_WriteLocalDateHMSFromUTC (Id,Game->TimeUTC[StartEndTime], Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, @@ -592,7 +593,7 @@ static void Gam_ShowOneGame (struct Gam_Games *Games, if (ShowOnlyThisGame) HTM_TD_Begin ("class=\"LT\""); else - HTM_TD_Begin ("class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); /* Game title */ Games->GamCod = Game->GamCod; @@ -625,7 +626,7 @@ static void Gam_ShowOneGame (struct Gam_Games *Games, if (ShowOnlyThisGame) HTM_TD_Begin ("class=\"RT\""); else - HTM_TD_Begin ("class=\"RT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); Games->GamCod = Game->GamCod; Frm_BeginForm (ActSeeGam); @@ -652,7 +653,8 @@ static void Gam_ShowOneGame (struct Gam_Games *Games, if (ShowOnlyThisGame) HTM_TD_Begin ("colspan=\"2\" class=\"LT\""); else - HTM_TD_Begin ("colspan=\"2\" class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); Gam_WriteAuthor (Game); HTM_TD_End (); @@ -660,7 +662,8 @@ static void Gam_ShowOneGame (struct Gam_Games *Games, if (ShowOnlyThisGame) HTM_TD_Begin ("colspan=\"2\" class=\"LT\""); else - HTM_TD_Begin ("colspan=\"2\" class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); 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 @@ -1710,10 +1713,10 @@ static void Gam_ListOneOrMoreQuestionsForEdition (struct Gam_Games *Games, HTM_TH_Empty (1); - HTM_TH (1,1,"CT",Txt_No_INDEX); - HTM_TH (1,1,"CT",Txt_Code); - HTM_TH (1,1,"CT",Txt_Tags); - HTM_TH (1,1,"CT",Txt_Question); + HTM_TH (1,1,Txt_No_INDEX,"CT"); + HTM_TH (1,1,Txt_Code ,"CT"); + HTM_TH (1,1,Txt_Tags ,"CT"); + HTM_TH (1,1,Txt_Question,"CT"); HTM_TR_End (); diff --git a/swad_global.c b/swad_global.c index b9603ac1..37932426 100644 --- a/swad_global.c +++ b/swad_global.c @@ -123,6 +123,7 @@ 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]); @@ -282,8 +283,6 @@ void Gbl_InitializeGlobals (void) /* To alternate colors where listing rows */ Gbl.RowEvenOdd = 0; - Gbl.ColorRows[0] = "COLOR0"; // Darker - Gbl.ColorRows[1] = "COLOR1"; // Lighter Gbl.WebService.Function = API_unknown; diff --git a/swad_global.h b/swad_global.h index 896b8b6a..93ffcc38 100644 --- a/swad_global.h +++ b/swad_global.h @@ -176,7 +176,7 @@ struct Globals struct Dat_DateTime Now; struct Dat_Date Yesterday; unsigned RowEvenOdd; // To alternate row colors in listings - char *ColorRows[2]; + const char *ColorRows[2]; const char *XMLPtr; struct { diff --git a/swad_group.c b/swad_group.c index 4ed8184d..bdacac45 100644 --- a/swad_group.c +++ b/swad_group.c @@ -1393,16 +1393,16 @@ static void Grp_WriteHeadingGroupTypes (void) HTM_TR_Begin (NULL); - HTM_TH (1,1,"BM",NULL); + HTM_TH (1,1,NULL ,"BM"); HTM_TH_Begin (1,1,"CM"); HTM_Txt (Txt_Type_of_group); HTM_BR (); HTM_TxtF ("(%s)",Txt_eg_Lectures_Practicals); HTM_TH_End (); - HTM_TH (1,1,"CM",Txt_Mandatory_enrolment); - HTM_TH (1,1,"CM",Txt_Multiple_enrolment); - HTM_TH (1,1,"CM",Txt_Opening_of_groups); - HTM_TH (1,1,"CM",Txt_Number_of_BR_groups); + HTM_TH (1,1,Txt_Mandatory_enrolment,"CM"); + HTM_TH (1,1,Txt_Multiple_enrolment ,"CM"); + HTM_TH (1,1,Txt_Opening_of_groups ,"CM"); + HTM_TH (1,1,Txt_Number_of_BR_groups,"CM"); HTM_TR_End (); } @@ -1603,21 +1603,21 @@ static void Grp_WriteHeadingGroups (void) HTM_TR_Begin (NULL); - HTM_TH (1,1,"BM",NULL); - HTM_TH (1,1,"BM",NULL); - HTM_TH (1,1,"BM",NULL); - HTM_TH (1,1,"CM",Txt_Type_BR_of_group); + HTM_TH (1,1,NULL ,"BM"); + HTM_TH (1,1,NULL ,"BM"); + HTM_TH (1,1,NULL ,"BM"); + HTM_TH (1,1,Txt_Type_BR_of_group,"CM"); HTM_TH_Begin (1,1,"CM"); HTM_Txt (Txt_Group_name); HTM_BR (); HTM_TxtF ("(%s)",Txt_eg_A_B); HTM_TH_End (); - HTM_TH (1,1,"CM",Txt_Room); - for (Role = Rol_TCH; + HTM_TH (1,1,Txt_Room,"CM"); + for (Role = Rol_TCH; Role >= Rol_STD; Role--) - HTM_TH (1,1,"CM",Txt_ROLES_PLURAL_BRIEF_Abc[Role]); - HTM_TH (1,1,"CM",Txt_Max_BR_students); + HTM_TH (1,1,Txt_ROLES_PLURAL_BRIEF_Abc[Role],"CM"); + HTM_TH (1,1,Txt_Max_BR_students ,"CM"); HTM_TR_End (); } @@ -2326,14 +2326,14 @@ static void Grp_WriteGrpHead (struct GroupType *GrpTyp) HTM_TR_Begin (NULL); HTM_TH_Empty (2); - HTM_TH (1,1,"LM",Txt_Group); - HTM_TH (1,1,"LM",Txt_Room); - for (Role = Rol_TCH; + HTM_TH (1,1,Txt_Group ,"LM"); + HTM_TH (1,1,Txt_Room ,"LM"); + for (Role = Rol_TCH; Role >= Rol_STD; Role--) - HTM_TH (1,1,"CM",Txt_ROLES_PLURAL_BRIEF_Abc[Role]); - HTM_TH (1,1,"CM",Txt_Max_BR_students); - HTM_TH (1,1,"CM",Txt_Vacants); + HTM_TH (1,1,Txt_ROLES_PLURAL_BRIEF_Abc[Role],"CM"); + HTM_TH (1,1,Txt_Max_BR_students,"CM"); + HTM_TH (1,1,Txt_Vacants ,"CM"); HTM_TR_End (); } diff --git a/swad_hierarchy.c b/swad_hierarchy.c index 32280d48..50135701 100644 --- a/swad_hierarchy.c +++ b/swad_hierarchy.c @@ -666,15 +666,15 @@ void Hie_GetAndWriteInsCtrDegAdminBy (long UsrCod,unsigned ColSpan) HTM_TR_Begin (NULL); /***** Indent *****/ - HTM_TD_Begin ("class=\"RT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); Ico_PutIcon (NumRow == NumRows ? "subend20x20.gif" : "submid20x20.gif", "","ICO25x25"); HTM_TD_End (); /***** Write institution, center, degree *****/ - HTM_TD_Begin ("colspan=\"%u\" class=\"DAT_SMALL_NOBR LT COLOR%u\"", - ColSpan - 1,Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"%u\" class=\"DAT_SMALL_NOBR LT %s\"", + ColSpan - 1,Gbl.ColorRows[Gbl.RowEvenOdd]); /* Get next institution, center, degree */ row = mysql_fetch_row (mysql_res); diff --git a/swad_holiday.c b/swad_holiday.c index 31f0068f..12746d34 100644 --- a/swad_holiday.c +++ b/swad_holiday.c @@ -130,7 +130,7 @@ void Hld_SeeHolidays (void) HTM_TABLE_BeginWideMarginPadding (2); HTM_TR_Begin (NULL); - for (Order = Hld_ORDER_BY_PLACE; + for (Order = Hld_ORDER_BY_PLACE; Order <= Hld_ORDER_BY_START_DATE; Order++) { @@ -147,12 +147,10 @@ void Hld_SeeHolidays (void) Frm_EndForm (); HTM_TH_End (); } - HTM_TH_Begin (1,1,"LM"); HTM_TxtF (" %s ",Txt_End_date); HTM_TH_End (); - - HTM_TH (1,1,"LM",Txt_Holiday); + HTM_TH (1,1,Txt_Holiday,"LM"); HTM_TR_End (); @@ -924,11 +922,11 @@ static void Hld_PutFormToCreateHoliday (const struct Plc_Places *Places) /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LM",Txt_Place); - HTM_TH (1,1,"LM",Txt_Type); - HTM_TH (1,1,"LM",Txt_START_END_TIME[Dat_STR_TIME]); - HTM_TH (1,1,"LM",Txt_START_END_TIME[Dat_END_TIME]); - HTM_TH (1,1,"LM",Txt_Holiday); + HTM_TH (1,1,Txt_Place ,"LM"); + HTM_TH (1,1,Txt_Type ,"LM"); + HTM_TH (1,1,Txt_START_END_TIME[Dat_STR_TIME],"LM"); + HTM_TH (1,1,Txt_START_END_TIME[Dat_END_TIME],"LM"); + HTM_TH (1,1,Txt_Holiday ,"LM"); HTM_TR_End (); HTM_TR_Begin (NULL); @@ -1017,13 +1015,13 @@ static void Hld_PutHeadHolidays (void) extern const char *Txt_Holiday; HTM_TR_Begin (NULL); - HTM_TH (1,1,"BM",NULL); - HTM_TH (1,1,"RM",Txt_Code); - HTM_TH (1,1,"LM",Txt_Place); - HTM_TH (1,1,"LM",Txt_Type); - HTM_TH (1,1,"LM",Txt_START_END_TIME[Dat_STR_TIME]); - HTM_TH (1,1,"LM",Txt_START_END_TIME[Dat_END_TIME]); - HTM_TH (1,1,"LM",Txt_Holiday); + HTM_TH (1,1,NULL ,"BM"); + HTM_TH (1,1,Txt_Code ,"RM"); + HTM_TH (1,1,Txt_Place ,"LM"); + HTM_TH (1,1,Txt_Type ,"LM"); + HTM_TH (1,1,Txt_START_END_TIME[Dat_STR_TIME],"LM"); + HTM_TH (1,1,Txt_START_END_TIME[Dat_END_TIME],"LM"); + HTM_TH (1,1,Txt_Holiday ,"LM"); HTM_TR_End (); } diff --git a/swad_indicator.c b/swad_indicator.c index e3153869..ce4b3173 100644 --- a/swad_indicator.c +++ b/swad_indicator.c @@ -449,16 +449,15 @@ static void Ind_ShowNumCoursesWithIndicators (const struct Ind_Indicators *Indic /***** Write number of courses with each number of indicators valid *****/ HTM_TABLE_BeginPadding (2); + /* Header */ HTM_TR_Begin (NULL); - - if (PutForm) - HTM_TH_Empty (1); - HTM_TH (1,1,"RM",Txt_Indicators); - HTM_TH (1,2,"RM",Txt_Courses); - + if (PutForm) + HTM_TH_Empty (1); + HTM_TH (1,1,Txt_Indicators,"RM"); + HTM_TH (1,2,Txt_Courses ,"RM"); HTM_TR_End (); - for (Ind = 0; + for (Ind = 0; Ind <= Ind_NUM_INDICATORS; Ind++) { @@ -572,111 +571,99 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I { case Ind_INDICATORS_BRIEF: HTM_TR_Begin (NULL); - - HTM_TH (3,1,"LM COLOR0",Txt_Degree); - HTM_TH (3,1,"LM COLOR0",Txt_Course); - HTM_TH (3,1,"LM COLOR0",Txt_Institutional_BR_code); - HTM_TH (3,1,"LM COLOR0",Txt_Web_page_of_the_course); - HTM_TH (1,11,"CM COLOR0",Txt_Indicators); - + HTM_TH (3, 1,Txt_Degree ,"LM %s",Gbl.ColorRows[0]); + HTM_TH (3, 1,Txt_Course ,"LM %s",Gbl.ColorRows[0]); + HTM_TH (3, 1,Txt_Institutional_BR_code ,"LM %s",Gbl.ColorRows[0]); + HTM_TH (3, 1,Txt_Web_page_of_the_course,"LM %s",Gbl.ColorRows[0]); + HTM_TH (1,11,Txt_Indicators ,"CM %s",Gbl.ColorRows[0]); HTM_TR_End (); HTM_TR_Begin (NULL); - - HTM_TH (2,1,"CT COLOR0",Txt_No_INDEX); - HTM_TH_Begin (1,2,"CT COLOR0"); + HTM_TH (2,1,Txt_No_INDEX,"CT %s",Gbl.ColorRows[0]); + HTM_TH_Begin (1,2,"CT %s",Gbl.ColorRows[0]); HTM_TxtF ("(A) %s",Txt_Syllabus_of_the_course); HTM_TH_End (); - HTM_TH_Begin (1,2,"CT COLOR0"); + HTM_TH_Begin (1,2,"CT %s",Gbl.ColorRows[0]); HTM_TxtF ("(B) %s",Txt_Guided_academic_assignments); HTM_TH_End (); - HTM_TH_Begin (1,2,"CT COLOR0"); + HTM_TH_Begin (1,2,"CT %s",Gbl.ColorRows[0]); HTM_TxtF ("(C) %s",Txt_Online_tutoring); HTM_TH_End (); - HTM_TH_Begin (1,2,"CT COLOR0"); + HTM_TH_Begin (1,2,"CT %s",Gbl.ColorRows[0]); HTM_TxtF ("(D) %s",Txt_Materials); HTM_TH_End (); - HTM_TH_Begin (1,2,"CT COLOR0"); + HTM_TH_Begin (1,2,"CT %s",Gbl.ColorRows[0]); HTM_TxtF ("(E) %s",Txt_Assessment_criteria); HTM_TH_End (); - HTM_TR_End (); HTM_TR_Begin (NULL); - - HTM_TH (1,1,"CM COLOR0",Txt_YES); - HTM_TH (1,1,"CM COLOR0",Txt_NO); - HTM_TH (1,1,"CM COLOR0",Txt_YES); - HTM_TH (1,1,"CM COLOR0",Txt_NO); - HTM_TH (1,1,"CM COLOR0",Txt_YES); - HTM_TH (1,1,"CM COLOR0",Txt_NO); - HTM_TH (1,1,"CM COLOR0",Txt_YES); - HTM_TH (1,1,"CM COLOR0",Txt_NO); - HTM_TH (1,1,"CM COLOR0",Txt_YES); - HTM_TH (1,1,"CM COLOR0",Txt_NO); - + HTM_TH (1,1,Txt_YES,"CM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_NO ,"CM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_YES,"CM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_NO ,"CM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_YES,"CM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_NO ,"CM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_YES,"CM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_NO ,"CM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_YES,"CM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_NO ,"CM %s",Gbl.ColorRows[0]); HTM_TR_End (); break; case Ind_INDICATORS_FULL: HTM_TR_Begin (NULL); - - HTM_TH (3,1,"LM COLOR0",Txt_Degree); - HTM_TH (3,1,"LM COLOR0",Txt_Course); - HTM_TH (3,1,"LM COLOR0",Txt_Institutional_BR_code); - HTM_TH (3,1,"LM COLOR0",Txt_Web_page_of_the_course); - HTM_TH (3,1,"LM COLOR0",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH]); - HTM_TH (3,1,"LM COLOR0",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_STD]); - HTM_TH (1,24,"CM COLOR0",Txt_Indicators); - + HTM_TH (3, 1,Txt_Degree ,"LM %s",Gbl.ColorRows[0]); + HTM_TH (3, 1,Txt_Course ,"LM %s",Gbl.ColorRows[0]); + HTM_TH (3, 1,Txt_Institutional_BR_code ,"LM %s",Gbl.ColorRows[0]); + HTM_TH (3, 1,Txt_Web_page_of_the_course ,"LM %s",Gbl.ColorRows[0]); + HTM_TH (3, 1,Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH],"LM %s",Gbl.ColorRows[0]); + HTM_TH (3, 1,Txt_ROLES_PLURAL_BRIEF_Abc[Rol_STD],"LM %s",Gbl.ColorRows[0]); + HTM_TH (1,24,Txt_Indicators ,"CM %s",Gbl.ColorRows[0]); HTM_TR_End (); HTM_TR_Begin (NULL); - - HTM_TH (2,1,"CT COLOR0",Txt_No_INDEX); - HTM_TH_Begin (1,5,"CT COLOR0"); + HTM_TH (2,1,Txt_No_INDEX,"CT %s",Gbl.ColorRows[0]); + HTM_TH_Begin (1,5,"CT %s",Gbl.ColorRows[0]); HTM_TxtF ("(A) %s",Txt_Syllabus_of_the_course); HTM_TH_End (); - HTM_TH_Begin (1,5,"CT COLOR0"); + HTM_TH_Begin (1,5,"CT %s",Gbl.ColorRows[0]); HTM_TxtF ("(B) %s",Txt_Guided_academic_assignments); HTM_TH_End (); - HTM_TH_Begin (1,5,"CT COLOR0"); + HTM_TH_Begin (1,5,"CT %s",Gbl.ColorRows[0]); HTM_TxtF ("(C) %s",Txt_Online_tutoring); HTM_TH_End (); - HTM_TH_Begin (1,4,"CT COLOR0"); + HTM_TH_Begin (1,4,"CT %s",Gbl.ColorRows[0]); HTM_TxtF ("(D) %s",Txt_Materials); HTM_TH_End (); - HTM_TH_Begin (1,4,"CT COLOR0"); + HTM_TH_Begin (1,4,"CT %s",Gbl.ColorRows[0]); HTM_TxtF ("(E) %s",Txt_Assessment_criteria); HTM_TH_End (); - HTM_TR_End (); HTM_TR_Begin (NULL); - - HTM_TH (1,1,"CM COLOR0",Txt_YES); - HTM_TH (1,1,"CM COLOR0",Txt_NO); - HTM_TH (1,1,"LM COLOR0",Txt_INFO_TITLE[Inf_LECTURES]); - HTM_TH (1,1,"LM COLOR0",Txt_INFO_TITLE[Inf_PRACTICALS]); - HTM_TH (1,1,"LM COLOR0",Txt_INFO_TITLE[Inf_TEACHING_GUIDE]); - HTM_TH (1,1,"CM COLOR0",Txt_YES); - HTM_TH (1,1,"CM COLOR0",Txt_NO); - HTM_TH (1,1,"RM COLOR0",Txt_Assignments); - HTM_TH (1,1,"RM COLOR0",Txt_Files_assignments); - HTM_TH (1,1,"RM COLOR0",Txt_Files_works); - HTM_TH (1,1,"CM COLOR0",Txt_YES); - HTM_TH (1,1,"CM COLOR0",Txt_NO); - HTM_TH (1,1,"RM COLOR0",Txt_Forum_threads); - HTM_TH (1,1,"RM COLOR0",Txt_Forum_posts); - HTM_TH (1,1,"RM COLOR0",Txt_Messages_sent_by_teachers); - HTM_TH (1,1,"CM COLOR0",Txt_YES); - HTM_TH (1,1,"CM COLOR0",Txt_NO); - HTM_TH (1,1,"RM COLOR0",Txt_Number_of_files_in_DOCUM_zones); - HTM_TH (1,1,"RM COLOR0",Txt_Number_of_files_in_SHARE_zones); - HTM_TH (1,1,"CM COLOR0",Txt_YES); - HTM_TH (1,1,"CM COLOR0",Txt_NO); - HTM_TH (1,1,"LM COLOR0",Txt_INFO_TITLE[Inf_ASSESSMENT]); - HTM_TH (1,1,"LM COLOR0",Txt_INFO_TITLE[Inf_TEACHING_GUIDE]); - + HTM_TH (1,1,Txt_YES ,"CM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_NO ,"CM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_INFO_TITLE[Inf_LECTURES] ,"LM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_INFO_TITLE[Inf_PRACTICALS] ,"LM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_INFO_TITLE[Inf_TEACHING_GUIDE],"LM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_YES ,"CM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_NO ,"CM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_Assignments ,"RM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_Files_assignments ,"RM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_Files_works ,"RM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_YES ,"CM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_NO ,"CM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_Forum_threads ,"RM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_Forum_posts ,"RM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_Messages_sent_by_teachers ,"RM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_YES ,"CM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_NO ,"CM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_Number_of_files_in_DOCUM_zones,"RM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_Number_of_files_in_SHARE_zones,"RM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_YES ,"CM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_NO ,"CM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_INFO_TITLE[Inf_ASSESSMENT] ,"LM %s",Gbl.ColorRows[0]); + HTM_TH (1,1,Txt_INFO_TITLE[Inf_TEACHING_GUIDE],"LM %s",Gbl.ColorRows[0]); HTM_TR_End (); break; } @@ -712,31 +699,32 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I case Ind_INDICATORS_BRIEF: HTM_TR_Begin (NULL); - HTM_TD_Begin ("class=\"%s LM COLOR%u\"", + HTM_TD_Begin ("class=\"%s LM %s\"", IndicatorsCrs.CourseAllOK ? "DAT_SMALL_GREEN" : (IndicatorsCrs.CoursePartiallyOK ? "DAT_SMALL" : "DAT_SMALL_RED"), - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (row[0]); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s LM COLOR%u\"", + HTM_TD_Begin ("class=\"%s LM %s\"", IndicatorsCrs.CourseAllOK ? "DAT_SMALL_GREEN" : (IndicatorsCrs.CoursePartiallyOK ? "DAT_SMALL" : "DAT_SMALL_RED"), - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (row[1]); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s LM COLOR%u\"", + HTM_TD_Begin ("class=\"%s LM %s\"", IndicatorsCrs.CourseAllOK ? "DAT_SMALL_GREEN" : (IndicatorsCrs.CoursePartiallyOK ? "DAT_SMALL" : "DAT_SMALL_RED"), - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (row[3]); HTM_TD_End (); - HTM_TD_Begin ("class=\"DAT_SMALL LM COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL LM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_A_Begin ("href=\"%s/?crs=%ld&act=%ld\" target=\"_blank\"", Cfg_URL_SWAD_CGI,CrsCod,ActCod); HTM_TxtF ("%s/?crs=%ld&act=%ld", @@ -744,70 +732,70 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I HTM_A_End (); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s RM COLOR%u\"", + HTM_TD_Begin ("class=\"%s RM %s\"", IndicatorsCrs.CourseAllOK ? "DAT_SMALL_GREEN" : (IndicatorsCrs.CoursePartiallyOK ? "DAT_SMALL" : "DAT_SMALL_RED"), - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (IndicatorsCrs.NumIndicators); HTM_TD_End (); - HTM_TD_Begin ("class=\"DAT_SMALL_GREEN CM COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL_GREEN CM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (IndicatorsCrs.ThereIsSyllabus) HTM_Txt (Txt_YES); HTM_TD_End (); - HTM_TD_Begin ("class=\"DAT_SMALL_RED CM COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL_RED CM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (!IndicatorsCrs.ThereIsSyllabus) HTM_Txt (Txt_NO); HTM_TD_End (); - HTM_TD_Begin ("class=\"DAT_SMALL_GREEN CM COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL_GREEN CM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (IndicatorsCrs.ThereAreAssignments) HTM_Txt (Txt_YES); HTM_TD_End (); - HTM_TD_Begin ("class=\"DAT_SMALL_RED CM COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL_RED CM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (!IndicatorsCrs.ThereAreAssignments) HTM_Txt (Txt_NO); HTM_TD_End (); - HTM_TD_Begin ("class=\"DAT_SMALL_GREEN CM COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL_GREEN CM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (IndicatorsCrs.ThereIsOnlineTutoring) HTM_Txt (Txt_YES); HTM_TD_End (); - HTM_TD_Begin ("class=\"DAT_SMALL_RED CM COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL_RED CM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (!IndicatorsCrs.ThereIsOnlineTutoring) HTM_Txt (Txt_NO); HTM_TD_End (); - HTM_TD_Begin ("class=\"DAT_SMALL_GREEN CM COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL_GREEN CM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (IndicatorsCrs.ThereAreMaterials) HTM_Txt (Txt_YES); HTM_TD_End (); - HTM_TD_Begin ("class=\"DAT_SMALL_RED CM COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL_RED CM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (!IndicatorsCrs.ThereAreMaterials) HTM_Txt (Txt_NO); HTM_TD_End (); - HTM_TD_Begin ("class=\"DAT_SMALL_GREEN CM COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL_GREEN CM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (IndicatorsCrs.ThereIsAssessment) HTM_Txt (Txt_YES); HTM_TD_End (); - HTM_TD_Begin ("class=\"DAT_SMALL_RED CM COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL_RED CM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (!IndicatorsCrs.ThereIsAssessment) HTM_Txt (Txt_NO); HTM_TD_End (); @@ -824,31 +812,32 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I HTM_TR_Begin (NULL); - HTM_TD_Begin ("class=\"%s LM COLOR%u\"", + HTM_TD_Begin ("class=\"%s LM %s\"", IndicatorsCrs.CourseAllOK ? "DAT_SMALL_GREEN" : (IndicatorsCrs.CoursePartiallyOK ? "DAT_SMALL" : "DAT_SMALL_RED"), - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (row[0]); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s LM COLOR%u\"", + HTM_TD_Begin ("class=\"%s LM %s\"", IndicatorsCrs.CourseAllOK ? "DAT_SMALL_GREEN" : (IndicatorsCrs.CoursePartiallyOK ? "DAT_SMALL" : "DAT_SMALL_RED"), - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (row[1]); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s LM COLOR%u\"", + HTM_TD_Begin ("class=\"%s LM %s\"", IndicatorsCrs.CourseAllOK ? "DAT_SMALL_GREEN" : (IndicatorsCrs.CoursePartiallyOK ? "DAT_SMALL" : "DAT_SMALL_RED"), - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (row[3]); HTM_TD_End (); - HTM_TD_Begin ("class=\"DAT_SMALL LM COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL LM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_A_Begin ("href=\"%s/?crs=%ld&act=%ld\" target=\"_blank\"", Cfg_URL_SWAD_CGI,CrsCod,ActCod); HTM_TxtF ("%s/?crs=%ld&act=%ld", @@ -856,176 +845,176 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I HTM_A_End (); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s RM COLOR%u\"", + HTM_TD_Begin ("class=\"%s RM %s\"", NumTchs != 0 ? "DAT_SMALL_GREEN" : "DAT_SMALL_RED", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (NumTchs); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s RM COLOR%u\"", + HTM_TD_Begin ("class=\"%s RM %s\"", NumStds != 0 ? "DAT_SMALL_GREEN" : "DAT_SMALL_RED", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (NumStds); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s RM COLOR%u\"", + HTM_TD_Begin ("class=\"%s RM %s\"", IndicatorsCrs.CourseAllOK ? "DAT_SMALL_GREEN" : (IndicatorsCrs.CoursePartiallyOK ? "DAT_SMALL" : "DAT_SMALL_RED"), - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (IndicatorsCrs.NumIndicators); HTM_TD_End (); - HTM_TD_Begin ("class=\"DAT_SMALL_GREEN CM COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL_GREEN CM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (IndicatorsCrs.ThereIsSyllabus) HTM_Txt (Txt_YES); HTM_TD_End (); - HTM_TD_Begin ("class=\"DAT_SMALL_RED CM COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL_RED CM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (!IndicatorsCrs.ThereIsSyllabus) HTM_Txt (Txt_NO); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s LM COLOR%u\"", + HTM_TD_Begin ("class=\"%s LM %s\"", (IndicatorsCrs.SyllabusLecSrc != Inf_NONE) ? "DAT_SMALL_GREEN" : "DAT_SMALL_RED", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (Txt_INFO_SRC_SHORT_TEXT[IndicatorsCrs.SyllabusLecSrc]); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s LM COLOR%u\"", + HTM_TD_Begin ("class=\"%s LM %s\"", (IndicatorsCrs.SyllabusPraSrc != Inf_NONE) ? "DAT_SMALL_GREEN" : "DAT_SMALL_RED", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (Txt_INFO_SRC_SHORT_TEXT[IndicatorsCrs.SyllabusPraSrc]); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s LM COLOR%u\"", + HTM_TD_Begin ("class=\"%s LM %s\"", (IndicatorsCrs.TeachingGuideSrc != Inf_NONE) ? "DAT_SMALL_GREEN" : "DAT_SMALL_RED", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (Txt_INFO_SRC_SHORT_TEXT[IndicatorsCrs.TeachingGuideSrc]); HTM_TD_End (); - HTM_TD_Begin ("class=\"DAT_SMALL_GREEN CM COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL_GREEN CM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (IndicatorsCrs.ThereAreAssignments) HTM_Txt (Txt_YES); HTM_TD_End (); - HTM_TD_Begin ("class=\"DAT_SMALL_RED CM COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL_RED CM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (!IndicatorsCrs.ThereAreAssignments) HTM_Txt (Txt_NO); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s RM COLOR%u\"", + HTM_TD_Begin ("class=\"%s RM %s\"", (IndicatorsCrs.NumAssignments != 0) ? "DAT_SMALL_GREEN" : "DAT_SMALL_RED", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (IndicatorsCrs.NumAssignments); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s RM COLOR%u\"", + HTM_TD_Begin ("class=\"%s RM %s\"", (IndicatorsCrs.NumFilesAssignments != 0) ? "DAT_SMALL_GREEN" : "DAT_SMALL_RED", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (IndicatorsCrs.NumFilesAssignments); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s RM COLOR%u\"", + HTM_TD_Begin ("class=\"%s RM %s\"", (IndicatorsCrs.NumFilesWorks != 0) ? "DAT_SMALL_GREEN" : "DAT_SMALL_RED", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (IndicatorsCrs.NumFilesWorks); HTM_TD_End (); - HTM_TD_Begin ("class=\"DAT_SMALL_GREEN CM COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL_GREEN CM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (IndicatorsCrs.ThereIsOnlineTutoring) HTM_Txt (Txt_YES); HTM_TD_End (); - HTM_TD_Begin ("class=\"DAT_SMALL_RED CM COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL_RED CM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (!IndicatorsCrs.ThereIsOnlineTutoring) HTM_Txt (Txt_NO); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s RM COLOR%u\"", + HTM_TD_Begin ("class=\"%s RM %s\"", (IndicatorsCrs.NumThreads != 0) ? "DAT_SMALL_GREEN" : "DAT_SMALL_RED", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (IndicatorsCrs.NumThreads); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s RM COLOR%u\"", + HTM_TD_Begin ("class=\"%s RM %s\"", (IndicatorsCrs.NumPosts != 0) ? "DAT_SMALL_GREEN" : "DAT_SMALL_RED", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (IndicatorsCrs.NumPosts); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s RM COLOR%u\"", + HTM_TD_Begin ("class=\"%s RM %s\"", (IndicatorsCrs.NumMsgsSentByTchs != 0) ? "DAT_SMALL_GREEN" : "DAT_SMALL_RED", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (IndicatorsCrs.NumMsgsSentByTchs); HTM_TD_End (); - HTM_TD_Begin ("class=\"DAT_SMALL_GREEN CM COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL_GREEN CM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (IndicatorsCrs.ThereAreMaterials) HTM_Txt (Txt_YES); HTM_TD_End (); - HTM_TD_Begin ("class=\"DAT_SMALL_RED CM COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL_RED CM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (!IndicatorsCrs.ThereAreMaterials) HTM_Txt (Txt_NO); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s RM COLOR%u\"", + HTM_TD_Begin ("class=\"%s RM %s\"", (IndicatorsCrs.NumFilesInDocumentZones != 0) ? "DAT_SMALL_GREEN" : "DAT_SMALL_RED", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (IndicatorsCrs.NumFilesInDocumentZones); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s RM COLOR%u\"", + HTM_TD_Begin ("class=\"%s RM %s\"", (IndicatorsCrs.NumFilesInSharedZones != 0) ? "DAT_SMALL_GREEN" : "DAT_SMALL_RED", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (IndicatorsCrs.NumFilesInSharedZones); HTM_TD_End (); - HTM_TD_Begin ("class=\"DAT_SMALL_GREEN CM COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL_GREEN CM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (IndicatorsCrs.ThereIsAssessment) HTM_Txt (Txt_YES); HTM_TD_End (); - HTM_TD_Begin ("class=\"DAT_SMALL_RED CM COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL_RED CM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (!IndicatorsCrs.ThereIsAssessment) HTM_Txt (Txt_NO); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s LM COLOR%u\"", + HTM_TD_Begin ("class=\"%s LM %s\"", (IndicatorsCrs.AssessmentSrc != Inf_NONE) ? "DAT_SMALL_GREEN" : "DAT_SMALL_RED", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (Txt_INFO_SRC_SHORT_TEXT[IndicatorsCrs.AssessmentSrc]); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s LM COLOR%u\"", + HTM_TD_Begin ("class=\"%s LM %s\"", (IndicatorsCrs.TeachingGuideSrc != Inf_NONE) ? "DAT_SMALL_GREEN" : "DAT_SMALL_RED", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (Txt_INFO_SRC_SHORT_TEXT[IndicatorsCrs.TeachingGuideSrc]); HTM_TD_End (); diff --git a/swad_institution.c b/swad_institution.c index a1bbe8fe..de03a9e4 100644 --- a/swad_institution.c +++ b/swad_institution.c @@ -143,8 +143,8 @@ void Ins_SeeInsWithPendingCtrs (void) /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LM",Txt_Institution); - HTM_TH (1,1,"RM",Txt_Centers_ABBREVIATION); + HTM_TH (1,1,Txt_Institution ,"LM"); + HTM_TH (1,1,Txt_Centers_ABBREVIATION,"RM"); HTM_TR_End (); /***** List the institutions *****/ @@ -491,10 +491,10 @@ static void Ins_PutHeadInstitutionsForSeeing (bool OrderSelectable) } HTM_TH_End (); } - HTM_TH (1,1,"RM",Txt_Centers_ABBREVIATION); - HTM_TH (1,1,"RM",Txt_Degrees_ABBREVIATION); - HTM_TH (1,1,"RM",Txt_Courses_ABBREVIATION); - HTM_TH (1,1,"RM",Txt_Departments_ABBREVIATION); + HTM_TH (1,1,Txt_Centers_ABBREVIATION ,"RM"); + HTM_TH (1,1,Txt_Degrees_ABBREVIATION ,"RM"); + HTM_TH (1,1,Txt_Courses_ABBREVIATION ,"RM"); + HTM_TH (1,1,Txt_Departments_ABBREVIATION,"RM"); HTM_TH_Begin (1,1,"RM"); HTM_TxtF ("%s+",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH]); HTM_BR (); @@ -1554,19 +1554,19 @@ static void Ins_PutHeadInstitutionsForEdition (void) HTM_TR_Begin (NULL); HTM_TH_Empty (1); - HTM_TH (1,1,"RM",Txt_Code); + HTM_TH (1,1,Txt_Code ,"RM"); HTM_TH_Empty (1); - HTM_TH (1,1,"LM",Txt_Short_name_of_the_institution); - HTM_TH (1,1,"LM",Txt_Full_name_of_the_institution); - HTM_TH (1,1,"LM",Txt_WWW); - HTM_TH (1,1,"RM",Txt_Users); - HTM_TH (1,1,"RM",Txt_Centers_ABBREVIATION); + HTM_TH (1,1,Txt_Short_name_of_the_institution,"LM"); + HTM_TH (1,1,Txt_Full_name_of_the_institution ,"LM"); + HTM_TH (1,1,Txt_WWW ,"LM"); + HTM_TH (1,1,Txt_Users ,"RM"); + HTM_TH (1,1,Txt_Centers_ABBREVIATION ,"RM"); HTM_TH_Begin (1,1,"RM"); HTM_TxtF ("%s+",Txt_ROLES_PLURAL_BRIEF_Abc[Rol_TCH]); HTM_BR (); HTM_Txt (Txt_ROLES_PLURAL_BRIEF_Abc[Rol_STD]); HTM_TH_End (); - HTM_TH (1,1,"LM",Txt_Requester); + HTM_TH (1,1,Txt_Requester ,"LM"); HTM_TH_Empty (1); HTM_TR_End (); diff --git a/swad_link.c b/swad_link.c index 0ccfa922..84939ef6 100644 --- a/swad_link.c +++ b/swad_link.c @@ -732,13 +732,11 @@ static void Lnk_PutHeadLinks (void) extern const char *Txt_WWW; HTM_TR_Begin (NULL); - - HTM_TH (1,1,"BM",NULL); - HTM_TH (1,1,"RM",Txt_Code); - HTM_TH (1,1,"LM",Txt_Short_name); - HTM_TH (1,1,"LM",Txt_Full_name); - HTM_TH (1,1,"LM",Txt_WWW); - + HTM_TH (1,1,NULL ,"BM"); + HTM_TH (1,1,Txt_Code ,"RM"); + HTM_TH (1,1,Txt_Short_name,"LM"); + HTM_TH (1,1,Txt_Full_name ,"LM"); + HTM_TH (1,1,Txt_WWW ,"LM"); HTM_TR_End (); } diff --git a/swad_log.c b/swad_log.c index d0f74599..180f860c 100644 --- a/swad_log.c +++ b/swad_log.c @@ -186,14 +186,14 @@ void Log_GetAndShowLastClicks (void) /* Heading row */ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LC_CLK",Txt_Click); // Click - HTM_TH (1,1,"LC_TIM",Txt_ELAPSED_TIME); // Elapsed time - HTM_TH (1,1,"LC_ROL",Txt_Role); // Role - HTM_TH (1,1,"LC_CTY",Txt_Country); // Country - HTM_TH (1,1,"LC_INS",Txt_Institution); // Institution - HTM_TH (1,1,"LC_CTR",Txt_Center); // Center - HTM_TH (1,1,"LC_DEG",Txt_Degree); // Degree - HTM_TH (1,1,"LC_ACT",Txt_Action); // Action + HTM_TH (1,1,Txt_Click ,"LC_CLK"); // Click + HTM_TH (1,1,Txt_ELAPSED_TIME,"LC_TIM"); // Elapsed time + HTM_TH (1,1,Txt_Role ,"LC_ROL"); // Role + HTM_TH (1,1,Txt_Country ,"LC_CTY"); // Country + HTM_TH (1,1,Txt_Institution ,"LC_INS"); // Institution + HTM_TH (1,1,Txt_Center ,"LC_CTR"); // Center + HTM_TH (1,1,Txt_Degree ,"LC_DEG"); // Degree + HTM_TH (1,1,Txt_Action ,"LC_ACT"); // Action HTM_TR_End (); for (NumClick = 0; diff --git a/swad_mail.c b/swad_mail.c index d5affaa2..10df0aed 100644 --- a/swad_mail.c +++ b/swad_mail.c @@ -126,7 +126,7 @@ void Mai_SeeMailDomains (void) /***** Write heading *****/ HTM_TR_Begin (NULL); - for (Order = Mai_ORDER_BY_DOMAIN; + for (Order = Mai_ORDER_BY_DOMAIN; Order <= Mai_ORDER_BY_USERS; Order++) { @@ -654,8 +654,8 @@ static void Mai_PutFormToCreateMailDomain (void) /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LM",Txt_EMAIL_DOMAIN_ORDER[Mai_ORDER_BY_DOMAIN]); - HTM_TH (1,1,"LM",Txt_EMAIL_DOMAIN_ORDER[Mai_ORDER_BY_INFO]); + HTM_TH (1,1,Txt_EMAIL_DOMAIN_ORDER[Mai_ORDER_BY_DOMAIN],"LM"); + HTM_TH (1,1,Txt_EMAIL_DOMAIN_ORDER[Mai_ORDER_BY_INFO] ,"LM"); HTM_TR_End (); /***** Second row *****/ @@ -696,11 +696,11 @@ static void Mai_PutHeadMailDomains (void) extern const char *Txt_EMAIL_DOMAIN_ORDER[3]; HTM_TR_Begin (NULL); - HTM_TH (1,1,"BM",NULL); - HTM_TH (1,1,"RM",Txt_Code); - HTM_TH (1,1,"LM",Txt_EMAIL_DOMAIN_ORDER[Mai_ORDER_BY_DOMAIN]); - HTM_TH (1,1,"LM",Txt_EMAIL_DOMAIN_ORDER[Mai_ORDER_BY_INFO ]); - HTM_TH (1,1,"RM",Txt_EMAIL_DOMAIN_ORDER[Mai_ORDER_BY_USERS ]); + HTM_TH (1,1,NULL ,"BM"); + HTM_TH (1,1,Txt_Code ,"RM"); + HTM_TH (1,1,Txt_EMAIL_DOMAIN_ORDER[Mai_ORDER_BY_DOMAIN],"LM"); + HTM_TH (1,1,Txt_EMAIL_DOMAIN_ORDER[Mai_ORDER_BY_INFO ],"LM"); + HTM_TH (1,1,Txt_EMAIL_DOMAIN_ORDER[Mai_ORDER_BY_USERS ],"RM"); HTM_TR_End (); } diff --git a/swad_mark.c b/swad_mark.c index 5ba45936..d2b30b0b 100644 --- a/swad_mark.c +++ b/swad_mark.c @@ -98,9 +98,9 @@ void Mrk_GetAndWriteNumRowsHeaderAndFooter (void) Mrk_GetNumRowsHeaderAndFooter (&Marks); /***** Write the number of rows of header *****/ - HTM_TD_Begin ("class=\"%s RT COLOR%u\"", + HTM_TD_Begin ("class=\"%s RT %s\"", The_ClassFormInBoxNoWrap[Gbl.Prefs.Theme], - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); Frm_BeginForm (Gbl.Crs.Grps.GrpCod > 0 ? ActChgNumRowHeaGrp : // Group zone ActChgNumRowHeaCrs); // Course zone Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk); @@ -109,16 +109,16 @@ void Mrk_GetAndWriteNumRowsHeaderAndFooter (void) snprintf (StrHeadOrFoot,sizeof (StrHeadOrFoot),"%u",Marks.Header); HTM_INPUT_TEXT (Mrk_HeadOrFootStr[Brw_HEADER],Cns_MAX_DECIMAL_DIGITS_UINT,StrHeadOrFoot, HTM_SUBMIT_ON_CHANGE, - "size=\"1\" class=\"LST_EDIT_ROWS COLOR%u\"", - Gbl.RowEvenOdd); + "size=\"1\" class=\"LST_EDIT_ROWS %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_LABEL_End (); Frm_EndForm (); HTM_TD_End (); /***** Write the number of rows of footer *****/ - HTM_TD_Begin ("class=\"%s RT COLOR%u\"", + HTM_TD_Begin ("class=\"%s RT %s\"", The_ClassFormInBoxNoWrap[Gbl.Prefs.Theme], - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); Frm_BeginForm (Gbl.Crs.Grps.GrpCod > 0 ? ActChgNumRowFooGrp : // Group zone ActChgNumRowFooCrs); // Course zone Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk); @@ -127,8 +127,8 @@ void Mrk_GetAndWriteNumRowsHeaderAndFooter (void) snprintf (StrHeadOrFoot,sizeof (StrHeadOrFoot),"%u",Marks.Footer); HTM_INPUT_TEXT (Mrk_HeadOrFootStr[Brw_FOOTER],Cns_MAX_DECIMAL_DIGITS_UINT,StrHeadOrFoot, HTM_SUBMIT_ON_CHANGE, - "size=\"1\" class=\"LST_EDIT_ROWS COLOR%u\"", - Gbl.RowEvenOdd); + "size=\"1\" class=\"LST_EDIT_ROWS %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_LABEL_End (); Frm_EndForm (); HTM_TD_End (); diff --git a/swad_match.c b/swad_match.c index 9d84c8ba..4112138e 100644 --- a/swad_match.c +++ b/swad_match.c @@ -453,7 +453,8 @@ static void Mch_ListOneOrMoreMatches (struct Gam_Games *Games, HTM_TR_Begin (NULL); /* Form to edit match */ - HTM_TD_Begin ("colspan=\"8\" class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"8\" class=\"LT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); Mch_PutFormExistingMatch (Games,&Match,Anchor); // Form to fill in data and edit this match HTM_TD_End (); @@ -491,13 +492,13 @@ static void Mch_ListOneOrMoreMatchesHeading (bool ICanEditMatches) HTM_TH_Empty (1); /***** The rest of columns *****/ - HTM_TH (1,1,"LT",Txt_ROLES_SINGUL_Abc[Rol_TCH][Usr_SEX_UNKNOWN]); - HTM_TH (1,1,"LT",Txt_START_END_TIME[Gam_ORDER_BY_START_DATE]); - HTM_TH (1,1,"LT",Txt_START_END_TIME[Gam_ORDER_BY_END_DATE ]); - HTM_TH (1,1,"LT",Txt_Match); - HTM_TH (1,1,"RT",Txt_Players); - HTM_TH (1,1,"CT",Txt_Status); - HTM_TH (1,1,"CT",Txt_Results); + HTM_TH (1,1,Txt_ROLES_SINGUL_Abc[Rol_TCH][Usr_SEX_UNKNOWN],"LT"); + HTM_TH (1,1,Txt_START_END_TIME[Gam_ORDER_BY_START_DATE] ,"LT"); + HTM_TH (1,1,Txt_START_END_TIME[Gam_ORDER_BY_END_DATE ] ,"LT"); + HTM_TH (1,1,Txt_Match ,"LT"); + HTM_TH (1,1,Txt_Players ,"RT"); + HTM_TH (1,1,Txt_Status ,"CT"); + HTM_TH (1,1,Txt_Results ,"CT"); /***** End row *****/ HTM_TR_End (); @@ -587,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 COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); Usr_WriteAuthor1Line (Match->UsrCod,false); HTM_TD_End (); } @@ -607,11 +608,11 @@ void Mch_ListOneOrMoreMatchesTimes (const struct Mch_Match *Match,unsigned Uniqu { if (asprintf (&Id,"mch_time_%u_%u",(unsigned) StartEndTime,UniqueId) < 0) Err_NotEnoughMemoryExit (); - HTM_TD_Begin ("id=\"%s\" class=\"%s LT COLOR%u\"", + HTM_TD_Begin ("id=\"%s\" class=\"%s LT %s\"", Id, Match->Status.Showing == Mch_END ? "DATE_RED" : "DATE_GREEN", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); Dat_WriteLocalDateHMSFromUTC (Id,Match->TimeUTC[StartEndTime], Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,true,0x7); @@ -630,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 COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_ARTICLE_Begin (Anchor); /***** Match title *****/ @@ -720,8 +721,8 @@ void Mch_ListOneOrMoreMatchesNumPlayers (const struct Mch_Match *Match) extern const char *The_ClassDat[The_NUM_THEMES]; /***** Number of players who have answered any question in the match ******/ - HTM_TD_Begin ("class=\"%s RT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT %s\"", + The_ClassDat[Gbl.Prefs.Theme],Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (Mch_DB_GetNumUsrsWhoHavePlayedMch (Match->MchCod)); HTM_TD_End (); } @@ -736,8 +737,8 @@ static void Mch_ListOneOrMoreMatchesStatus (struct Mch_Match *Match,unsigned Num extern const char *Txt_Play; extern const char *Txt_Resume; - HTM_TD_Begin ("class=\"%s CT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s CT %s\"", + The_ClassDat[Gbl.Prefs.Theme],Gbl.ColorRows[Gbl.RowEvenOdd]); if (Match->Status.Showing != Mch_END) // Match not over { @@ -777,8 +778,8 @@ static void Mch_ListOneOrMoreMatchesResult (struct Gam_Games *Games, [Rol_SYS_ADM] = Mch_ListOneOrMoreMatchesResultTch, }; - HTM_TD_Begin ("class=\"%s CT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s CT %s\"", + The_ClassDat[Gbl.Prefs.Theme],Gbl.ColorRows[Gbl.RowEvenOdd]); 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 903c3826..e13b1649 100644 --- a/swad_match_result.c +++ b/swad_match_result.c @@ -559,10 +559,8 @@ static void MchRes_ListGamesToSelect (struct Gam_Games *Games) /***** Heading row *****/ HTM_TR_Begin (NULL); - - HTM_TH (1,2,NULL,NULL); - HTM_TH (1,1,"LM",Txt_Game); - + HTM_TH (1,2,NULL ,NULL); + HTM_TH (1,1,Txt_Game,"LM"); HTM_TR_End (); /***** List the events *****/ @@ -577,8 +575,9 @@ static void MchRes_ListGamesToSelect (struct Gam_Games *Games) /* Write a row for this event */ HTM_TR_Begin (NULL); - HTM_TD_Begin ("class=\"%s CT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s CT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_INPUT_CHECKBOX ("GamCod",HTM_DONT_SUBMIT_ON_CHANGE, "id=\"Gam%u\" value=\"%ld\"%s", NumGame,Games->Lst[NumGame].GamCod, @@ -586,15 +585,17 @@ static void MchRes_ListGamesToSelect (struct Gam_Games *Games) ""); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s RT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_LABEL_Begin ("for=\"Gam%u\"",NumGame); HTM_TxtF ("%u:",NumGame + 1); HTM_LABEL_End (); HTM_TD_End (); - HTM_TD_Begin ("class=\"%s LT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s LT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (Game.Title); HTM_TD_End (); @@ -644,38 +645,35 @@ static void MchRes_ShowHeaderMchResults (Usr_MeOrOther_t MeOrOther) /***** First row *****/ HTM_TR_Begin (NULL); - - HTM_TH (3,2,"CT LINE_BOTTOM",Txt_User[MeOrOther == Usr_ME ? Gbl.Usrs.Me.UsrDat.Sex : - Usr_SEX_UNKNOWN]); - HTM_TH (3,1,"LT LINE_BOTTOM",Txt_START_END_TIME[Dat_STR_TIME]); - HTM_TH (3,1,"LT LINE_BOTTOM",Txt_START_END_TIME[Dat_END_TIME]); - HTM_TH (3,1,"LT LINE_BOTTOM",Txt_Match); - HTM_TH (3,1,"RT LINE_BOTTOM LINE_LEFT",Txt_Questions); - HTM_TH (1,2,"CT LINE_LEFT",Txt_Answers); - HTM_TH (1,2,"CT LINE_LEFT",Txt_Score); - HTM_TH (3,1,"RT LINE_BOTTOM LINE_LEFT",Txt_Grade); - HTM_TH (3,1,"LINE_BOTTOM LINE_LEFT",NULL); - + HTM_TH (3,2,Txt_User[MeOrOther == Usr_ME ? Gbl.Usrs.Me.UsrDat.Sex : + Usr_SEX_UNKNOWN] + ,"CT LINE_BOTTOM"); + HTM_TH (3,1,Txt_START_END_TIME[Dat_STR_TIME],"LT LINE_BOTTOM"); + HTM_TH (3,1,Txt_START_END_TIME[Dat_END_TIME],"LT LINE_BOTTOM"); + HTM_TH (3,1,Txt_Match ,"LT LINE_BOTTOM"); + HTM_TH (3,1,Txt_Questions ,"RT LINE_BOTTOM LINE_LEFT"); + HTM_TH (1,2,Txt_Answers ,"CT LINE_LEFT"); + HTM_TH (1,2,Txt_Score ,"CT LINE_LEFT"); + HTM_TH (3,1,Txt_Grade ,"RT LINE_BOTTOM LINE_LEFT"); + HTM_TH (3,1,NULL ,"LINE_BOTTOM LINE_LEFT"); HTM_TR_End (); /***** Second row *****/ HTM_TR_Begin (NULL); - - HTM_TH (1,1,"RT LINE_LEFT",Txt_ANSWERS_non_blank); - HTM_TH (1,1,"RT",Txt_ANSWERS_blank); - HTM_TH (1,1,"RT LINE_LEFT",Txt_total); - HTM_TH (1,1,"RT",Txt_average); - + HTM_TH (1,1,Txt_ANSWERS_non_blank,"RT LINE_LEFT"); + HTM_TH (1,1,Txt_ANSWERS_blank ,"RT"); + HTM_TH (1,1,Txt_total ,"RT LINE_LEFT"); + HTM_TH (1,1,Txt_average ,"RT"); HTM_TR_End (); /***** Third row *****/ HTM_TR_Begin (NULL); - - HTM_TH (1,1,"RT LINE_BOTTOM LINE_LEFT","{-1≤pi≤1}"); - HTM_TH (1,1,"RT LINE_BOTTOM","{pi=0}"); - HTM_TH (1,1,"RT LINE_BOTTOM LINE_LEFT","Σpi"); - HTM_TH (1,1,"RT LINE_BOTTOM","-1≤p≤1"); - + HTM_TH (1,1,"{-1≤pi≤1}" ,"RT LINE_BOTTOM LINE_LEFT"); + HTM_TH (1,1,"{pi=0}" ,"RT LINE_BOTTOM"); + HTM_TH (1,1,"Σpi" ,"RT LINE_BOTTOM LINE_LEFT"); + HTM_TH (1,1,"-1≤" + "p" + "≤1" ,"RT LINE_BOTTOM"); HTM_TR_End (); } @@ -793,8 +791,9 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games, if (asprintf (&Id,"mch_res_time_%u_%u", (unsigned) StartEndTime,UniqueId) < 0) Err_NotEnoughMemoryExit (); - HTM_TD_Begin ("id =\"%s\" class=\"%s LT COLOR%u\"", - Id,The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("id =\"%s\" class=\"%s LT %s\"", + Id,The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); Dat_WriteLocalDateHMSFromUTC (Id,Print.TimeUTC[StartEndTime], Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,false,0x7); @@ -803,8 +802,9 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games, } /* Write match title */ - HTM_TD_Begin ("class=\"%s LT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s LT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (Match.Title); HTM_TD_End (); @@ -817,8 +817,9 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games, } /* Write number of questions */ - HTM_TD_Begin ("class=\"%s RT LINE_LEFT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT LINE_LEFT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanView.Score) HTM_Unsigned (Print.NumQsts.All); else @@ -826,8 +827,9 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games, HTM_TD_End (); /* Write number of non-blank answers */ - HTM_TD_Begin ("class=\"%s RT LINE_LEFT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT LINE_LEFT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanView.Score) { if (Print.NumQsts.NotBlank) @@ -840,8 +842,9 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games, HTM_TD_End (); /* Write number of blank answers */ - HTM_TD_Begin ("class=\"%s RT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); NumQstsBlank = Print.NumQsts.All - Print.NumQsts.NotBlank; if (ICanView.Score) { @@ -855,8 +858,9 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games, HTM_TD_End (); /* Write score */ - HTM_TD_Begin ("class=\"%s RT LINE_LEFT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT LINE_LEFT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanView.Score) { HTM_Double2Decimals (Print.Score); @@ -868,8 +872,9 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games, HTM_TD_End (); /* Write average score per question */ - HTM_TD_Begin ("class=\"%s RT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanView.Score) HTM_Double2Decimals (Print.NumQsts.All ? Print.Score / (double) Print.NumQsts.All : @@ -879,8 +884,9 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games, HTM_TD_End (); /* Write grade over maximum grade */ - HTM_TD_Begin ("class=\"%s RT LINE_LEFT COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT LINE_LEFT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanView.Score) { Grade = TstPrn_ComputeGrade (Print.NumQsts.All,Print.Score,Game.MaxGrade); @@ -892,7 +898,8 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games, HTM_TD_End (); /* Link to show this result */ - HTM_TD_Begin ("class=\"RT LINE_LEFT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RT LINE_LEFT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanView.Result) { Games->GamCod = Match.GamCod; @@ -928,33 +935,33 @@ static void MchRes_ShowMchResults (struct Gam_Games *Games, else // No results { /* Columns for dates and match */ - HTM_TD_Begin ("colspan=\"3\" class=\"LINE_BOTTOM COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"3\" class=\"LINE_BOTTOM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); /* Column for questions */ - HTM_TD_Begin ("class=\"LINE_BOTTOM LINE_LEFT COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LINE_BOTTOM LINE_LEFT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); /* Columns for answers */ - HTM_TD_Begin ("colspan=\"2\" class=\"LINE_BOTTOM LINE_LEFT COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"LINE_BOTTOM LINE_LEFT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); /* Columns for score */ - HTM_TD_Begin ("colspan=\"2\" class=\"LINE_BOTTOM LINE_LEFT COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"LINE_BOTTOM LINE_LEFT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); /* Column for grade */ - HTM_TD_Begin ("class=\"LINE_BOTTOM LINE_LEFT COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LINE_BOTTOM LINE_LEFT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); /* Column for link to show the result */ - HTM_TD_Begin ("class=\"LINE_BOTTOM LINE_LEFT COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LINE_BOTTOM LINE_LEFT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); HTM_TR_End (); @@ -982,58 +989,66 @@ static void MchRes_ShowMchResultsSummaryRow (unsigned NumResults, HTM_TR_Begin (NULL); /***** Row title *****/ - HTM_TD_Begin ("colspan=\"3\" class=\"RM %s LINE_TOP LINE_BOTTOM COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"3\" class=\"RM %s LINE_TOP LINE_BOTTOM %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TxtColonNBSP (Txt_Matches); HTM_Unsigned (NumResults); HTM_TD_End (); /***** Write total number of questions *****/ - HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (NumResults) HTM_Unsigned (NumTotalQsts->All); HTM_TD_End (); /***** Write total number of non-blank answers *****/ - HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (NumResults) HTM_Unsigned (NumTotalQsts->NotBlank); HTM_TD_End (); /***** Write total number of blank answers *****/ - HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (NumResults) HTM_Unsigned (NumTotalQsts->All - NumTotalQsts->NotBlank); HTM_TD_End (); /***** Write total score *****/ - HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Double2Decimals (TotalScore); HTM_Txt ("/"); HTM_Unsigned (NumTotalQsts->All); HTM_TD_End (); /***** Write average score per question *****/ - HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Double2Decimals (NumTotalQsts->All ? TotalScore / (double) NumTotalQsts->All : 0.0); HTM_TD_End (); /***** Write total grade *****/ - HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Double2Decimals (TotalGrade); HTM_TD_End (); /***** Last cell *****/ - HTM_TD_Begin ("class=\"%s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); /***** End row *****/ diff --git a/swad_message.c b/swad_message.c index 19a7e96e..8aa6db98 100644 --- a/swad_message.c +++ b/swad_message.c @@ -538,8 +538,7 @@ static void Msg_WriteFormUsrsIDsOrNicksOtherRecipients (void) /***** Title *****/ HTM_TR_Begin (NULL); - HTM_TH_Begin (1,ColSpan,Str_BuildString ("LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme])); - Str_FreeStrings (); + HTM_TH_Begin (1,ColSpan,"LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme]); HTM_LABEL_Begin ("for=\"OtherRecipients\""); HTM_TxtColon (StdsAndTchsWritten ? Txt_Other_recipients : Txt_Recipients); diff --git a/swad_network.c b/swad_network.c index a0919707..675dd55b 100644 --- a/swad_network.c +++ b/swad_network.c @@ -351,9 +351,9 @@ void Net_ShowWebAndSocialNetworksStats (void) /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LM",Txt_Web_social_network); - HTM_TH (1,1,"RM",Txt_Number_of_users); - HTM_TH (1,1,"RM",Txt_PERCENT_of_users); + HTM_TH (1,1,Txt_Web_social_network,"LM"); + HTM_TH (1,1,Txt_Number_of_users ,"RM"); + HTM_TH (1,1,Txt_PERCENT_of_users ,"RM"); HTM_TR_End (); /***** For each web / social network... *****/ diff --git a/swad_notification.c b/swad_notification.c index 35427dbb..71f4cc2d 100644 --- a/swad_notification.c +++ b/swad_notification.c @@ -388,11 +388,11 @@ void Ntf_ShowMyNotifications (void) /***** Heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,2,"LM",Txt_Event); - HTM_TH (1,1,"LM",Txt_MSG_From); - HTM_TH (1,1,"LM",Txt_Location); - HTM_TH (1,1,"CM",Txt_Date); - HTM_TH (1,1,"LM",Txt_Email); + HTM_TH (1,2,Txt_Event ,"LM"); + HTM_TH (1,1,Txt_MSG_From,"LM"); + HTM_TH (1,1,Txt_Location,"LM"); + HTM_TH (1,1,Txt_Date ,"CM"); + HTM_TH (1,1,Txt_Email ,"LM"); HTM_TR_End (); /***** List notifications one by one *****/ @@ -1521,8 +1521,8 @@ void Ntf_PutFormChangeNotifSentByEMail (void) HTM_TR_Begin (NULL); HTM_TH_Empty (1); - HTM_TH (1,1,"CM",Txt_Create_BR_notification); - HTM_TH (1,1,"CM",Txt_Notify_me_BR_by_email); + HTM_TH (1,1,Txt_Create_BR_notification,"CM"); + HTM_TH (1,1,Txt_Notify_me_BR_by_email ,"CM"); HTM_TR_End (); /***** Checkbox to activate internal notifications and email notifications diff --git a/swad_photo.c b/swad_photo.c index 4c11a346..b3da3a14 100644 --- a/swad_photo.c +++ b/swad_photo.c @@ -2216,14 +2216,12 @@ static void Pho_ShowOrPrintListDegrees (struct Pho_DegPhotos *DegPhotos, /***** Write heading *****/ HTM_TABLE_BeginCenterPadding (2); HTM_TR_Begin (NULL); - - HTM_TH (1,1,"RT",Txt_No_INDEX); - HTM_TH (1,1,"CT",Txt_Degree); - for (Sex = (Usr_Sex_t) 0; - Sex <= (Usr_Sex_t) (Usr_NUM_SEXS - 1); - Sex++) - HTM_TH (1,1,"CT",Txt_SEX_PLURAL_Abc[Sex]); - + HTM_TH (1,1,Txt_No_INDEX,"RT"); + HTM_TH (1,1,Txt_Degree ,"CT"); + for (Sex = (Usr_Sex_t) 0; + Sex <= (Usr_Sex_t) (Usr_NUM_SEXS - 1); + Sex++) + HTM_TH (1,1,Txt_SEX_PLURAL_Abc[Sex],"CT"); HTM_TR_End (); /***** Get degrees *****/ @@ -2244,14 +2242,16 @@ static void Pho_ShowOrPrintListDegrees (struct Pho_DegPhotos *DegPhotos, HTM_TR_Begin (NULL); /***** Show logo and name of this degree *****/ - HTM_TD_Begin ("class=\"%s RM COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RM %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (++NumDegsNotEmpty); HTM_TD_End (); /***** Show logo and name of this degree *****/ - HTM_TD_Begin ("class=\"%s LM COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s LM %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (SeeOrPrint == Pho_DEGREES_SEE) { Deg_DrawDegreeLogoAndNameWithLink (&Deg,ActSeeDegInf, @@ -2272,7 +2272,8 @@ static void Pho_ShowOrPrintListDegrees (struct Pho_DegPhotos *DegPhotos, { /***** Show average photo of students belonging to this degree *****/ Pho_GetNumStdsInDegree (Deg.DegCod,Sex,&NumStds,&NumStdsWithPhoto); - HTM_TD_Begin ("class=\"CLASSPHOTO RM COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"CLASSPHOTO RM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (Gbl.Usrs.Listing.WithPhotos) Pho_ShowDegreeAvgPhotoAndStat (&Deg,DegPhotos, SeeOrPrint,Sex, diff --git a/swad_place.c b/swad_place.c index 66fedfd9..a667684b 100644 --- a/swad_place.c +++ b/swad_place.c @@ -775,11 +775,11 @@ static void Plc_PutHeadPlaces (void) extern const char *Txt_Centers; HTM_TR_Begin (NULL); - HTM_TH (1,1,"BM",NULL); - HTM_TH (1,1,"RM",Txt_Code); - HTM_TH (1,1,"LM",Txt_Short_name); - HTM_TH (1,1,"LM",Txt_Full_name); - HTM_TH (1,1,"RM",Txt_Centers); + HTM_TH (1,1,NULL ,"BM"); + HTM_TH (1,1,Txt_Code ,"RM"); + HTM_TH (1,1,Txt_Short_name,"LM"); + HTM_TH (1,1,Txt_Full_name ,"LM"); + HTM_TH (1,1,Txt_Centers ,"RM"); HTM_TR_End (); } diff --git a/swad_plugin.c b/swad_plugin.c index bf6eaaeb..82625612 100644 --- a/swad_plugin.c +++ b/swad_plugin.c @@ -111,10 +111,8 @@ void Plg_ListPlugins (void) /***** Write table heading *****/ HTM_TR_Begin (NULL); - HTM_TH_Empty (1); - HTM_TH (1,1,"LM",Txt_Plugin); - + HTM_TH (1,1,Txt_Plugin,"LM"); HTM_TR_End (); /***** Write all plugins *****/ @@ -789,12 +787,12 @@ static void Plg_PutFormToCreatePlugin (void) /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LM",Txt_Name); - HTM_TH (1,1,"LM",Txt_Description); - HTM_TH (1,1,"LM",Txt_Logo); - HTM_TH (1,1,"LM",Txt_Application_key); - HTM_TH (1,1,"LM",Txt_URL); - HTM_TH (1,1,"LM",Txt_IP); + HTM_TH (1,1,Txt_Name ,"LM"); + HTM_TH (1,1,Txt_Description ,"LM"); + HTM_TH (1,1,Txt_Logo ,"LM"); + HTM_TH (1,1,Txt_Application_key,"LM"); + HTM_TH (1,1,Txt_URL ,"LM"); + HTM_TH (1,1,Txt_IP ,"LM"); HTM_TR_End (); /***** Row begin *****/ @@ -868,14 +866,14 @@ static void Plg_PutHeadPlugins (void) HTM_TR_Begin (NULL); HTM_TH_Empty (1); - HTM_TH (1,1,"RM",Txt_Code); + HTM_TH (1,1,Txt_Code ,"RM"); HTM_TH_Empty (1); - HTM_TH (1,1,"LM",Txt_Name); - HTM_TH (1,1,"LM",Txt_Description); - HTM_TH (1,1,"LM",Txt_Logo); - HTM_TH (1,1,"LM",Txt_Application_key); - HTM_TH (1,1,"LM",Txt_URL); - HTM_TH (1,1,"LM",Txt_IP); + HTM_TH (1,1,Txt_Name ,"LM"); + HTM_TH (1,1,Txt_Description ,"LM"); + HTM_TH (1,1,Txt_Logo ,"LM"); + HTM_TH (1,1,Txt_Application_key,"LM"); + HTM_TH (1,1,Txt_URL ,"LM"); + HTM_TH (1,1,Txt_IP ,"LM"); HTM_TR_End (); } diff --git a/swad_profile.c b/swad_profile.c index 1a7637ad..86d86862 100644 --- a/swad_profile.c +++ b/swad_profile.c @@ -1208,10 +1208,10 @@ void Prf_ShowRankingFigure (MYSQL_RES **mysql_res,unsigned NumUsrs) /***** Show row *****/ HTM_TR_Begin (NULL); Prf_ShowUsrInRanking (&UsrDat,Rank,ItsMe); - HTM_TD_Begin ("class=\"RM %s COLOR%u\"", + HTM_TD_Begin ("class=\"RM %s %s\"", ItsMe ? "DAT_SMALL_N" : "DAT_SMALL", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Long (Figure); HTM_TD_End (); HTM_TR_End (); @@ -1276,10 +1276,10 @@ void Prf_GetAndShowRankingClicksPerDay (void) /***** Show row *****/ HTM_TR_Begin (NULL); Prf_ShowUsrInRanking (&UsrDat,Rank,ItsMe); - HTM_TD_Begin ("class=\"RM %s COLOR%u\"", + HTM_TD_Begin ("class=\"RM %s %s\"", ItsMe ? "DAT_SMALL_N" : "DAT_SMALL", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_DoubleFewDigits (NumClicksPerDay); HTM_TD_End (); HTM_TR_End (); @@ -1311,15 +1311,15 @@ static void Prf_ShowUsrInRanking (struct UsrData *UsrDat,unsigned Rank,bool ItsM }; bool Visible = Pri_ShowingIsAllowed (UsrDat->BaPrfVisibility,UsrDat); - HTM_TD_Begin ("class=\"RM %s COLOR%u\"", + HTM_TD_Begin ("class=\"RM %s %s\"", ItsMe ? "DAT_SMALL_N" : "DAT_SMALL", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TxtF ("#%u",Rank); HTM_TD_End (); /***** Check if I can see the public profile *****/ - HTM_TD_Begin ("class=\"RANK_PHOTO COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RANK_PHOTO %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); if (Visible) /***** User's photo *****/ Pho_ShowUsrPhotoIfAllowed (UsrDat, @@ -1328,7 +1328,7 @@ static void Prf_ShowUsrInRanking (struct UsrData *UsrDat,unsigned Rank,bool ItsM HTM_TD_End (); /***** Put form to go to public profile *****/ - HTM_TD_Begin ("class=\"COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); if (Visible) { Frm_BeginForm (ActSeeOthPubPrf); diff --git a/swad_program.c b/swad_program.c index 887a2470..34451ed3 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 COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"PRG_COL1 LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); 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=\"COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); } /***** Item number *****/ - HTM_TD_Begin ("class=\"PRG_NUM %s RT COLOR%u\"", - TitleClass,Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"PRG_NUM %s RT %s\"", + TitleClass,Gbl.ColorRows[Gbl.RowEvenOdd]); Prg_WriteNumItem (Item->Hierarchy.Level); HTM_TD_End (); @@ -428,8 +428,8 @@ static void Prg_WriteRowItem (unsigned NumItem,struct Prg_Item *Item, HTM_TD_Begin ("colspan=\"%u\" class=\"PRG_MAIN\"", ColSpan); else - HTM_TD_Begin ("colspan=\"%u\" class=\"PRG_MAIN COLOR%u\"", - ColSpan,Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"%u\" class=\"PRG_MAIN %s\"", + ColSpan,Gbl.ColorRows[Gbl.RowEvenOdd]); /* Title */ HTM_DIV_Begin ("class=\"%s\"",TitleClass); @@ -467,13 +467,13 @@ static void Prg_WriteRowItem (unsigned NumItem,struct Prg_Item *Item, (Item->Open ? "DATE_GREEN" : "DATE_RED")); else - HTM_TD_Begin ("id=\"%s\" class=\"PRG_DATE %s LT COLOR%u\"", + HTM_TD_Begin ("id=\"%s\" class=\"PRG_DATE %s LT %s\"", Id, LightStyle ? (Item->Open ? "DATE_GREEN_LIGHT" : "DATE_RED_LIGHT") : (Item->Open ? "DATE_GREEN" : "DATE_RED"), - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); 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 COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"PRG_COL1 LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); /***** Indent depending on the level *****/ @@ -528,20 +528,21 @@ static void Prg_WriteRowWithItemForm (Prg_CreateOrChangeItem_t CreateOrChangeIte NumCol < FormLevel; NumCol++) { - HTM_TD_Begin ("class=\"COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); } /***** Item number *****/ - HTM_TD_Begin ("class=\"PRG_NUM %s RT COLOR%u\"",TitleClass,Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"PRG_NUM %s RT %s\"", + TitleClass,Gbl.ColorRows[Gbl.RowEvenOdd]); if (CreateOrChangeItem == Prg_PUT_FORM_CREATE_ITEM) Prg_WriteNumNewItem (FormLevel); HTM_TD_End (); /***** Show form to create new item as child *****/ ColSpan = (Prg_GetMaxItemLevel () + 4) - FormLevel; - HTM_TD_Begin ("colspan=\"%u\" class=\"PRG_MAIN COLOR%u\"", - ColSpan,Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"%u\" class=\"PRG_MAIN %s\"", + ColSpan,Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_ARTICLE_Begin ("item_form"); ShowForm[CreateOrChangeItem] (ItmCod); HTM_ARTICLE_End (); diff --git a/swad_project.c b/swad_project.c index ce184456..f2d40a82 100644 --- a/swad_project.c +++ b/swad_project.c @@ -959,7 +959,7 @@ static void Prj_ShowProjectsHead (struct Prj_Projects *Projects, switch (ProjectView) { case Prj_LIST_PROJECTS: - HTM_TH (1,1,"CM",Txt_No_INDEX); + HTM_TH (1,1,Txt_No_INDEX,"CM"); break; default: break; @@ -970,7 +970,7 @@ static void Prj_ShowProjectsHead (struct Prj_Projects *Projects, { case Prj_LIST_PROJECTS: case Prj_FILE_BROWSER_PROJECT: - HTM_TH (1,1,"CONTEXT_COL",NULL); + HTM_TH (1,1,NULL,"CONTEXT_COL"); break; default: break; @@ -1029,23 +1029,21 @@ static void Prj_ShowTableAllProjectsHead (void) const char *Class = Str_BuildString ("LT %s",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_TR_Begin (NULL); - for (Order = (Prj_Order_t) 0; Order <= (Prj_Order_t) (Prj_NUM_ORDERS - 1); Order++) - HTM_TH (1,1,Class,Txt_PROJECT_ORDER[Order]); - HTM_TH (1,1,Class,Txt_Assigned_QUESTION); - HTM_TH (1,1,Class,Txt_Number_of_students); + HTM_TH (1,1,Txt_PROJECT_ORDER[Order],Class); + HTM_TH (1,1,Txt_Assigned_QUESTION ,Class); + HTM_TH (1,1,Txt_Number_of_students,Class); for (NumRoleToShow = 0; NumRoleToShow < Brw_NUM_ROLES_TO_SHOW; NumRoleToShow++) - HTM_TH (1,1,Class,Txt_PROJECT_ROLES_PLURAL_Abc[Prj_RolesToShow[NumRoleToShow]]); - HTM_TH (1,1,Class,Txt_Proposal); - HTM_TH (1,1,Class,Txt_Description); - HTM_TH (1,1,Class,Txt_Required_knowledge); - HTM_TH (1,1,Class,Txt_Required_materials); - HTM_TH (1,1,Class,Txt_URL); - + HTM_TH (1,1,Txt_PROJECT_ROLES_PLURAL_Abc[Prj_RolesToShow[NumRoleToShow]],Class); + HTM_TH (1,1,Txt_Proposal ,Class); + HTM_TH (1,1,Txt_Description ,Class); + HTM_TH (1,1,Txt_Required_knowledge,Class); + HTM_TH (1,1,Txt_Required_materials,Class); + HTM_TH (1,1,Txt_URL ,Class); HTM_TR_End (); Str_FreeStrings (); @@ -1281,8 +1279,8 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects, switch (ProjectView) { case Prj_LIST_PROJECTS: - HTM_TD_Begin ("rowspan=\"3\" class=\"BIG_INDEX RT COLOR%u\"", - Gbl.RowEvenOdd); + HTM_TD_Begin ("rowspan=\"3\" class=\"BIG_INDEX RT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (NumIndex); if (PrjIsFaulty) { @@ -1299,7 +1297,8 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects, switch (ProjectView) { case Prj_LIST_PROJECTS: - HTM_TD_Begin ("rowspan=\"3\" class=\"CONTEXT_COL COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("rowspan=\"3\" class=\"CONTEXT_COL %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); Prj_PutFormsToRemEditOnePrj (Projects,Prj,Anchor,ICanViewProjectFiles); HTM_TD_End (); break; @@ -1319,8 +1318,8 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects, switch (ProjectView) { case Prj_LIST_PROJECTS: - HTM_TD_Begin ("id=\"%s\" class=\"%s LT COLOR%u\"", - Id,ClassDate,Gbl.RowEvenOdd); + HTM_TD_Begin ("id=\"%s\" class=\"%s LT %s\"", + Id,ClassDate,Gbl.ColorRows[Gbl.RowEvenOdd]); break; default: HTM_TD_Begin ("id=\"%s\" class=\"%s LT\"", @@ -1340,8 +1339,8 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects, switch (ProjectView) { case Prj_LIST_PROJECTS: - HTM_TD_Begin ("id=\"%s\" class=\"%s LT COLOR%u\"", - Id,ClassDate,Gbl.RowEvenOdd); + HTM_TD_Begin ("id=\"%s\" class=\"%s LT %s\"", + Id,ClassDate,Gbl.ColorRows[Gbl.RowEvenOdd]); break; default: HTM_TD_Begin ("id=\"%s\" class=\"%s LT\"", @@ -1358,10 +1357,12 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects, switch (ProjectView) { case Prj_LIST_PROJECTS: - HTM_TD_Begin ("class=\"%s LT COLOR%u\"",ClassTitle,Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s LT %s\"", + ClassTitle,Gbl.ColorRows[Gbl.RowEvenOdd]); break; default: - HTM_TD_Begin ("class=\"%s LT\"",ClassTitle); + HTM_TD_Begin ("class=\"%s LT\"", + ClassTitle); break; } HTM_ARTICLE_Begin (Anchor); @@ -1393,8 +1394,8 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects, switch (ProjectView) { case Prj_LIST_PROJECTS: - HTM_TD_Begin ("colspan=\"2\" class=\"RT %s COLOR%u\"", - ClassLabel,Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"RT %s %s\"", + ClassLabel,Gbl.ColorRows[Gbl.RowEvenOdd]); break; default: HTM_TD_Begin ("colspan=\"2\" class=\"RT %s\"", @@ -1407,8 +1408,8 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects, switch (ProjectView) { case Prj_LIST_PROJECTS: - HTM_TD_Begin ("colspan=\"2\" class=\"LT %s COLOR%u\"", - ClassData,Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s %s\"", + ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); break; default: HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", @@ -1433,8 +1434,8 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects, switch (ProjectView) { case Prj_LIST_PROJECTS: - HTM_TD_Begin ("colspan=\"2\" class=\"RT %s COLOR%u\"", - ClassLabel,Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"RT %s %s\"", + ClassLabel,Gbl.ColorRows[Gbl.RowEvenOdd]); break; default: HTM_TD_Begin ("colspan=\"2\" class=\"RT %s\"", @@ -1447,8 +1448,8 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects, switch (ProjectView) { case Prj_LIST_PROJECTS: - HTM_TD_Begin ("colspan=\"2\" class=\"LT %s COLOR%u\"", - ClassData,Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s %s\"", + ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); break; default: HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", @@ -1470,13 +1471,15 @@ 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 COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"6\" class=\"CM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); 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 COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"6\" class=\"CM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); Prj_PutIconToToggleProject (UniqueId,"angle-up.svg",Txt_See_less); HTM_TD_End (); HTM_TR_End (); @@ -1503,8 +1506,8 @@ 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 COLOR%u\"", - ClassLabel,Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"4\" class=\"RT %s %s\"", + ClassLabel,Gbl.ColorRows[Gbl.RowEvenOdd]); break; case Prj_FILE_BROWSER_PROJECT: HTM_TR_Begin ("id=\"prj_pro_%u\" style=\"display:none;\"",UniqueId); @@ -1521,9 +1524,8 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects, switch (ProjectView) { case Prj_LIST_PROJECTS: - HTM_TD_Begin ("colspan=\"2\" class=\"LT %s COLOR%u\"", - ClassData, - Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s %s\"", + ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); break; default: HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", @@ -1695,8 +1697,8 @@ static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj) UniqueId++; if (asprintf (&Id,"prj_creat_%u",UniqueId) < 0) Err_NotEnoughMemoryExit (); - HTM_TD_Begin ("id=\"%s\" class=\"LT %s COLOR%u\"", - Id,ClassDate,Gbl.RowEvenOdd); + HTM_TD_Begin ("id=\"%s\" class=\"LT %s %s\"", + Id,ClassDate,Gbl.ColorRows[Gbl.RowEvenOdd]); Dat_WriteLocalDateHMSFromUTC (Id,Prj->CreatTime, Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,false,0x7); @@ -1707,8 +1709,8 @@ static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj) UniqueId++; if (asprintf (&Id,"prj_modif_%u",UniqueId) < 0) Err_NotEnoughMemoryExit (); - HTM_TD_Begin ("id=\"%s\" class=\"LT %s COLOR%u\"", - Id,ClassDate,Gbl.RowEvenOdd); + HTM_TD_Begin ("id=\"%s\" class=\"LT %s %s\"", + Id,ClassDate,Gbl.ColorRows[Gbl.RowEvenOdd]); Dat_WriteLocalDateHMSFromUTC (Id,Prj->ModifTime, Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,false,0x7); @@ -1716,9 +1718,8 @@ static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj) free (Id); /***** Project title *****/ - HTM_TD_Begin ("class=\"LT %s COLOR%u\"", - ClassData, - Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s %s\"", + ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (Prj->Title); HTM_TD_End (); @@ -1726,13 +1727,13 @@ static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj) Prj_ShowTableAllProjectsDepartment (Prj); /***** Assigned? *****/ - HTM_TD_Begin ("class=\"LT %s COLOR%u\"",ClassData,Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s %s\"",ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt ((Prj->Assigned == Prj_ASSIGNED) ? Txt_Yes : Txt_No); HTM_TD_End (); /***** Number of students *****/ - HTM_TD_Begin ("class=\"LT %s COLOR%u\"",ClassData,Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s %s\"",ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (Prj->NumStds); HTM_TD_End (); @@ -1743,7 +1744,7 @@ static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj) Prj_ShowTableAllProjectsMembersWithARole (Prj,Prj_RolesToShow[NumRoleToShow]); /***** Proposal *****/ - HTM_TD_Begin ("class=\"LT %s COLOR%u\"",ClassData,Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s %s\"",ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (Txt_PROJECT_STATUS[Prj->Proposal]); HTM_TD_End (); @@ -1795,10 +1796,12 @@ static void Prj_ShowOneProjectDepartment (const struct Prj_Project *Prj, switch (ProjectView) { case Prj_LIST_PROJECTS: - HTM_TD_Begin ("class=\"LT %s COLOR%u\"",ClassData,Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s %s\"", + ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); break; default: - HTM_TD_Begin ("class=\"LT %s\"",ClassData); + HTM_TD_Begin ("class=\"LT %s\"", + ClassData); break; } if (PutLink) @@ -1827,7 +1830,7 @@ static void Prj_ShowTableAllProjectsDepartment (const struct Prj_Project *Prj) Dpt_GetDataOfDepartmentByCod (&Dpt); /***** Show department *****/ - HTM_TD_Begin ("class=\"LT %s COLOR%u\"",ClassData,Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s %s\"",ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (Dpt.FullName); HTM_TD_End (); } @@ -1858,8 +1861,8 @@ 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 COLOR%u\"", - ClassLabel,Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"4\" class=\"RT %s %s\"", + ClassLabel,Gbl.ColorRows[Gbl.RowEvenOdd]); break; case Prj_FILE_BROWSER_PROJECT: HTM_TR_Begin ("id=\"%s%u\" style=\"display:none;\"",id,UniqueId); @@ -1893,8 +1896,8 @@ static void Prj_ShowOneProjectTxtField (struct Prj_Project *Prj, switch (ProjectView) { case Prj_LIST_PROJECTS: - HTM_TD_Begin ("colspan=\"2\" class=\"LT %s COLOR%u\"", - ClassData,Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s %s\"", + ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); break; default: HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", @@ -1925,7 +1928,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 COLOR%u\"",ClassData,Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s %s\"",ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (TxtField); HTM_TD_End (); } @@ -1958,8 +1961,8 @@ 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 COLOR%u\"", - ClassLabel,Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"4\" class=\"RT %s %s\"", + ClassLabel,Gbl.ColorRows[Gbl.RowEvenOdd]); break; case Prj_FILE_BROWSER_PROJECT: HTM_TR_Begin ("id=\"%s%u\" style=\"display:none;\"",id,UniqueId); @@ -1979,8 +1982,8 @@ static void Prj_ShowOneProjectURL (const struct Prj_Project *Prj, switch (ProjectView) { case Prj_LIST_PROJECTS: - HTM_TD_Begin ("colspan=\"2\" class=\"LT %s COLOR%u\"", - ClassData,Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s %s\"", + ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); break; default: HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", @@ -2008,7 +2011,7 @@ static void Prj_ShowTableAllProjectsURL (const struct Prj_Project *Prj) The_ClassDat[Gbl.Prefs.Theme]; /***** Show URL *****/ - HTM_TD_Begin ("class=\"LT %s COLOR%u\"",ClassData,Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s %s\"",ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (Prj->URL); HTM_TD_End (); } @@ -2096,8 +2099,8 @@ static void Prj_ShowOneProjectMembersWithARole (struct Prj_Projects *Projects, switch (ProjectView) { case Prj_LIST_PROJECTS: - HTM_TD_Begin ("colspan=\"4\" class=\"RT %s COLOR%u\"", - ClassLabel,Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"4\" class=\"RT %s %s\"", + ClassLabel,Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TxtColon (NumUsrs == 1 ? Txt_PROJECT_ROLES_SINGUL_Abc[RoleInPrj] : Txt_PROJECT_ROLES_PLURAL_Abc[RoleInPrj]); break; @@ -2122,8 +2125,8 @@ static void Prj_ShowOneProjectMembersWithARole (struct Prj_Projects *Projects, switch (ProjectView) { case Prj_LIST_PROJECTS: - HTM_TD_Begin ("colspan=\"2\" class=\"LT %s COLOR%u\"", - ClassData,Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s %s\"", + ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); break; case Prj_FILE_BROWSER_PROJECT: case Prj_PRINT_ONE_PROJECT: @@ -2241,7 +2244,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 COLOR%u\"",ClassData,Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s %s\"",ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); if (NumUsrs) { diff --git a/swad_question.c b/swad_question.c index beeeb162..be4cdbcc 100644 --- a/swad_question.c +++ b/swad_question.c @@ -522,25 +522,25 @@ 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 COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); Qst_WriteNumQst (QstInd,"BIG_INDEX"); if (QuestionExists) Qst_WriteAnswerType (Question->Answer.Type,"DAT_SMALL"); HTM_TD_End (); /***** Write question code *****/ - HTM_TD_Begin ("class=\"DAT_SMALL CT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TxtF ("%ld ",Question->QstCod); HTM_TD_End (); /***** Write the question tags *****/ - HTM_TD_Begin ("class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); if (QuestionExists) Tag_GetAndWriteTagsQst (Question->QstCod); HTM_TD_End (); /***** Write stem (row[3]) and media *****/ - HTM_TD_Begin ("class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_ARTICLE_Begin (Anchor); if (QuestionExists) { @@ -912,11 +912,11 @@ void Qst_WriteHeadingRowQuestionsForEdition (struct Qst_Questions *Questions) /***** First columns *****/ HTM_TH_Empty (1); - HTM_TH (1,1,"CT",Txt_No_INDEX); - HTM_TH (1,1,"CT",Txt_Code); - HTM_TH (1,1,"CT",Txt_Date); - HTM_TH (1,1,"CT",Txt_Tags); - HTM_TH (1,1,"CT",Txt_Shuffle); + HTM_TH (1,1,Txt_No_INDEX,"CT"); + HTM_TH (1,1,Txt_Code ,"CT"); + HTM_TH (1,1,Txt_Date ,"CT"); + HTM_TH (1,1,Txt_Tags ,"CT"); + HTM_TH (1,1,Txt_Shuffle ,"CT"); /***** Columns which data can be ordered *****/ /* Stem and answers of question */ @@ -982,21 +982,21 @@ void Qst_WriteQuestionListing (struct Qst_Questions *Questions,unsigned QstInd) HTM_TD_End (); /* Number of question and answer type */ - HTM_TD_Begin ("class=\"RT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); Qst_WriteNumQst (QstInd + 1,"BIG_INDEX"); Qst_WriteAnswerType (Questions->Question.Answer.Type,"DAT_SMALL"); HTM_TD_End (); /* Question code */ - HTM_TD_Begin ("class=\"DAT_SMALL CT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TxtF ("%ld ",Questions->Question.QstCod); HTM_TD_End (); /* Date (row[0] has the UTC date-time) */ if (asprintf (&Id,"tst_date_%u",++UniqueId) < 0) Err_NotEnoughMemoryExit (); - HTM_TD_Begin ("id=\"%s\" class=\"DAT_SMALL CT COLOR%u\"", - Id,Gbl.RowEvenOdd); + HTM_TD_Begin ("id=\"%s\" class=\"DAT_SMALL CT %s\"", + Id,Gbl.ColorRows[Gbl.RowEvenOdd]); Dat_WriteLocalDateHMSFromUTC (Id,Questions->Question.EditTime, Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,false,0x7); @@ -1004,12 +1004,12 @@ void Qst_WriteQuestionListing (struct Qst_Questions *Questions,unsigned QstInd) free (Id); /* Question tags */ - HTM_TD_Begin ("class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); Tag_GetAndWriteTagsQst (Questions->Question.QstCod); HTM_TD_End (); /* Shuffle (row[2]) */ - HTM_TD_Begin ("class=\"DAT_SMALL CT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); if (Questions->Question.Answer.Type == Qst_ANS_UNIQUE_CHOICE || Questions->Question.Answer.Type == Qst_ANS_MULTIPLE_CHOICE) { @@ -1025,7 +1025,7 @@ void Qst_WriteQuestionListing (struct Qst_Questions *Questions,unsigned QstInd) HTM_TD_End (); /* Stem (row[3]) */ - HTM_TD_Begin ("class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); Qst_WriteQstStem (Questions->Question.Stem,"TEST_TXT", true); // Visible @@ -1040,12 +1040,12 @@ void Qst_WriteQuestionListing (struct Qst_Questions *Questions,unsigned QstInd) HTM_TD_End (); /* Number of times this question has been answered */ - HTM_TD_Begin ("class=\"DAT_SMALL CT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_UnsignedLong (Questions->Question.NumHits); HTM_TD_End (); /* Average score */ - HTM_TD_Begin ("class=\"DAT_SMALL CT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); if (Questions->Question.NumHits) HTM_Double2Decimals (Questions->Question.Score / (double) Questions->Question.NumHits); @@ -1054,12 +1054,12 @@ void Qst_WriteQuestionListing (struct Qst_Questions *Questions,unsigned QstInd) HTM_TD_End (); /* Number of times this question has been answered (not blank) */ - HTM_TD_Begin ("class=\"DAT_SMALL CT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_UnsignedLong (Questions->Question.NumHitsNotBlank); HTM_TD_End (); /* Average score (not blank) */ - HTM_TD_Begin ("class=\"DAT_SMALL CT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); if (Questions->Question.NumHitsNotBlank) HTM_Double2Decimals (Questions->Question.Score / (double) Questions->Question.NumHitsNotBlank); @@ -1111,17 +1111,14 @@ void Qst_ListOneOrMoreQstsForSelectionForExamSet (struct Exa_Exams *Exams, /***** Write the heading *****/ HTM_TR_Begin (NULL); - HTM_TH_Empty (1); - - HTM_TH (1,1,"CT",Txt_No_INDEX); - HTM_TH (1,1,"CT",Txt_Code); - HTM_TH (1,1,"CT",Txt_Date); - HTM_TH (1,1,"LT",Txt_Tags); - HTM_TH (1,1,"CT",Txt_Type); - HTM_TH (1,1,"CT",Txt_Shuffle); - HTM_TH (1,1,"CT",Txt_Question); - + HTM_TH (1,1,Txt_No_INDEX,"CT"); + HTM_TH (1,1,Txt_Code ,"CT"); + HTM_TH (1,1,Txt_Date ,"CT"); + HTM_TH (1,1,Txt_Tags ,"LT"); + HTM_TH (1,1,Txt_Type ,"CT"); + HTM_TH (1,1,Txt_Shuffle ,"CT"); + HTM_TH (1,1,Txt_Question,"CT"); HTM_TR_End (); /***** Write rows *****/ @@ -1198,16 +1195,14 @@ void Qst_ListOneOrMoreQstsForSelectionForGame (struct Gam_Games *Games, /***** Write the heading *****/ HTM_TR_Begin (NULL); - HTM_TH_Empty (1); - HTM_TH (1,1,"CT",Txt_No_INDEX); - HTM_TH (1,1,"CT",Txt_Code); - HTM_TH (1,1,"CT",Txt_Date); - HTM_TH (1,1,"LT",Txt_Tags); - HTM_TH (1,1,"CT",Txt_Type); - HTM_TH (1,1,"CT",Txt_Shuffle); - HTM_TH (1,1,"CT",Txt_Question); - + HTM_TH (1,1,Txt_No_INDEX,"CT"); + HTM_TH (1,1,Txt_Code ,"CT"); + HTM_TH (1,1,Txt_Date ,"CT"); + HTM_TH (1,1,Txt_Tags ,"LT"); + HTM_TH (1,1,Txt_Type ,"CT"); + HTM_TH (1,1,Txt_Shuffle ,"CT"); + HTM_TH (1,1,Txt_Question,"CT"); HTM_TR_End (); /***** Write rows *****/ @@ -1287,20 +1282,20 @@ void Qst_WriteQuestionRowForSelection (unsigned QstInd, HTM_TD_End (); /* Write number of question */ - HTM_TD_Begin ("class=\"DAT_SMALL CT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TxtF ("%u ",QstInd + 1); HTM_TD_End (); /* Write question code */ - HTM_TD_Begin ("class=\"DAT_SMALL CT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TxtF ("%ld ",Question->QstCod); HTM_TD_End (); /* Write the date (row[0] has the UTC date-time) */ if (asprintf (&Id,"tst_date_%u",++UniqueId) < 0) Err_NotEnoughMemoryExit (); - HTM_TD_Begin ("id=\"%s\" class=\"DAT_SMALL CT COLOR%u\">", - Id,Gbl.RowEvenOdd); + HTM_TD_Begin ("id=\"%s\" class=\"DAT_SMALL CT %s\">", + Id,Gbl.ColorRows[Gbl.RowEvenOdd]); Dat_WriteLocalDateHMSFromUTC (Id,Question->EditTime, Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,false,0x7); @@ -1308,17 +1303,17 @@ void Qst_WriteQuestionRowForSelection (unsigned QstInd, free (Id); /* Write the question tags */ - HTM_TD_Begin ("class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); Tag_GetAndWriteTagsQst (Question->QstCod); HTM_TD_End (); /* Write the question type */ - HTM_TD_Begin ("class=\"DAT_SMALL CT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TxtF ("%s ",Txt_TST_STR_ANSWER_TYPES[Question->Answer.Type]); HTM_TD_End (); /* Write if shuffle is enabled */ - HTM_TD_Begin ("class=\"DAT_SMALL CT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_INPUT_CHECKBOX ("Shuffle",HTM_DONT_SUBMIT_ON_CHANGE, "value=\"Y\"%s disabled=\"disabled\"", Question->Answer.Shuffle ? " checked=\"checked\"" : @@ -1326,7 +1321,7 @@ void Qst_WriteQuestionRowForSelection (unsigned QstInd, HTM_TD_End (); /* Write stem */ - HTM_TD_Begin ("class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); Qst_WriteQstStem (Question->Stem,"TEST_TXT", true); // Visible @@ -2126,7 +2121,8 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question) HTM_TR_Begin (NULL); /***** Left column: selectors *****/ - HTM_TD_Begin ("class=\"TEST_EDI_ANS_LEFT_COL COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"TEST_EDI_ANS_LEFT_COL %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); /* Radio selector for unique choice answers */ HTM_INPUT_RADIO ("AnsUni",false, @@ -2151,8 +2147,9 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question) HTM_TD_End (); /***** Center column: letter of the answer and expand / contract icon *****/ - HTM_TD_Begin ("class=\"%s TEST_EDI_ANS_CENTER_COL COLOR%u\"", - The_ClassFormInBox[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s TEST_EDI_ANS_CENTER_COL %s\"", + The_ClassFormInBox[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TxtF ("%c)",'a' + (char) NumOpt); /* Icon to expand (show the answer) */ @@ -2184,7 +2181,8 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question) HTM_TD_End (); /***** Right column: content of the answer *****/ - HTM_TD_Begin ("class=\"TEST_EDI_ANS_RIGHT_COL COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"TEST_EDI_ANS_RIGHT_COL %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_DIV_Begin ("id=\"ans_%u\"%s", NumOpt, DisplayRightColumn ? "" : diff --git a/swad_question_import.c b/swad_question_import.c index ad9894af..796e76c7 100644 --- a/swad_question_import.c +++ b/swad_question_import.c @@ -837,15 +837,12 @@ static void QstImp_WriteHeadingListImportedQst (void) /***** Write the heading *****/ HTM_TR_Begin (NULL); - HTM_TH_Empty (1); - - HTM_TH (1,1,"CT",Txt_No_INDEX); - HTM_TH (1,1,"CT",Txt_Tags); - HTM_TH (1,1,"CT",Txt_Type); - HTM_TH (1,1,"CT",Txt_Shuffle); - HTM_TH (1,1,"LT",Txt_Question); - + HTM_TH (1,1,Txt_No_INDEX,"CT"); + HTM_TH (1,1,Txt_Tags ,"CT"); + HTM_TH (1,1,Txt_Type ,"CT"); + HTM_TH (1,1,Txt_Shuffle ,"CT"); + HTM_TH (1,1,Txt_Question,"LT"); HTM_TR_End (); } @@ -895,13 +892,13 @@ static void QstImp_WriteRowImportedQst (struct XMLElement *StemElem, HTM_TD_End (); /***** Write number of question *****/ - HTM_TD_Begin ("class=\"%s CT COLOR%u\"",ClassData,Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s CT %s\"",ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); if (!QuestionExists) HTM_TxtF ("%u ",++NumNonExistingQst); HTM_TD_End (); /***** Write the question tags *****/ - HTM_TD_Begin ("class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); if (Question->Tags.Num) { @@ -935,12 +932,12 @@ static void QstImp_WriteRowImportedQst (struct XMLElement *StemElem, HTM_TD_End (); /***** Write the question type *****/ - HTM_TD_Begin ("class=\"%s CT COLOR%u\"",ClassData,Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s CT %s\"",ClassData,Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TxtF ("%s ",Txt_TST_STR_ANSWER_TYPES[Question->Answer.Type]); HTM_TD_End (); /***** Write if shuffle is enabled *****/ - HTM_TD_Begin ("class=\"CT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); 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 */ @@ -951,7 +948,7 @@ static void QstImp_WriteRowImportedQst (struct XMLElement *StemElem, HTM_TD_End (); /***** Write the stem and the answers *****/ - HTM_TD_Begin ("class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); Qst_WriteQstStem (Stem,ClassStem, true); // Visible Qst_WriteQstFeedback (Feedback,"TEST_TXT_LIGHT"); diff --git a/swad_record.c b/swad_record.c index e8f4cb08..c3cc81a4 100644 --- a/swad_record.c +++ b/swad_record.c @@ -406,9 +406,9 @@ static void Rec_WriteHeadingRecordFields (void) HTM_TR_Begin (NULL); HTM_TH_Empty (1); - HTM_TH (1,1,"CM",Txt_Field_BR_name); - HTM_TH (1,1,"CM",Txt_Number_of_BR_lines); - HTM_TH (1,1,"CM",Txt_Visible_by_BR_the_student); + HTM_TH (1,1,Txt_Field_BR_name ,"CM"); + HTM_TH (1,1,Txt_Number_of_BR_lines ,"CM"); + HTM_TH (1,1,Txt_Visible_by_BR_the_student,"CM"); HTM_TR_End (); } @@ -1706,10 +1706,10 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView, /* Name of the field */ HTM_TR_Begin (NULL); - HTM_TD_Begin ("class=\"REC_C1_BOT %s RT COLOR%u\"", + HTM_TD_Begin ("class=\"REC_C1_BOT %s RT %s\"", ICanEditThisField ? The_ClassFormInBox[Gbl.Prefs.Theme] : "REC_DAT_SMALL", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TxtColon (Gbl.Crs.Records.LstFields.Lst[NumField].Name); if (TypeOfView == Rec_CRS_LIST_ONE_RECORD || TypeOfView == Rec_CRS_LIST_SEVERAL_RECORDS) @@ -1734,8 +1734,9 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView, /* Write form, text, or nothing depending on the user's role and the visibility of the field */ - HTM_TD_Begin ("class=\"REC_C2_BOT LT %s COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"REC_C2_BOT LT %s %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanEditThisField) // Show with form { HTM_TEXTAREA_Begin ("name=\"Field%ld\" rows=\"%u\"" diff --git a/swad_room.c b/swad_room.c index 50efba04..497b43c8 100644 --- a/swad_room.c +++ b/swad_room.c @@ -1356,15 +1356,15 @@ static void Roo_PutHeadRooms (void) extern const char *Txt_MAC_address; HTM_TR_Begin (NULL); - HTM_TH (1,1,"BM",NULL); - HTM_TH (1,1,"RM",Txt_Code); - HTM_TH (1,1,"LM",Txt_Building); - HTM_TH (1,1,"LM",Txt_Floor); - HTM_TH (1,1,"LM",Txt_Type); - HTM_TH (1,1,"LM",Txt_Short_name); - HTM_TH (1,1,"LM",Txt_Full_name); - HTM_TH (1,1,"LM",Txt_Capacity_OF_A_ROOM); - HTM_TH (1,1,"LM",Txt_MAC_address); + HTM_TH (1,1,NULL ,"BM"); + HTM_TH (1,1,Txt_Code ,"RM"); + HTM_TH (1,1,Txt_Building ,"LM"); + HTM_TH (1,1,Txt_Floor ,"LM"); + HTM_TH (1,1,Txt_Type ,"LM"); + HTM_TH (1,1,Txt_Short_name ,"LM"); + HTM_TH (1,1,Txt_Full_name ,"LM"); + HTM_TH (1,1,Txt_Capacity_OF_A_ROOM,"LM"); + HTM_TH (1,1,Txt_MAC_address ,"LM"); HTM_TR_End (); } diff --git a/swad_setting.c b/swad_setting.c index 53761cce..88f8b0f7 100644 --- a/swad_setting.c +++ b/swad_setting.c @@ -166,6 +166,7 @@ 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 842d6c90..9a6c8dc7 100644 --- a/swad_statistic.c +++ b/swad_statistic.c @@ -1202,13 +1202,13 @@ static void Sta_ShowDetailedAccessesList (const struct Sta_Stats *Stats, /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"RT",Txt_No_INDEX); - HTM_TH (1,1,"CT",Txt_User_ID); - HTM_TH (1,1,"LT",Txt_Name); - HTM_TH (1,1,"CT",Txt_Role); - HTM_TH (1,1,"CT",Txt_Date); - HTM_TH (1,1,"LT",Txt_Action); - HTM_TH (1,1,"LT",Txt_LOG_More_info); + HTM_TH (1,1,Txt_No_INDEX ,"RT"); + HTM_TH (1,1,Txt_User_ID ,"CT"); + HTM_TH (1,1,Txt_Name ,"LT"); + HTM_TH (1,1,Txt_Role ,"CT"); + HTM_TH (1,1,Txt_Date ,"CT"); + HTM_TH (1,1,Txt_Action ,"LT"); + HTM_TH (1,1,Txt_LOG_More_info,"LT"); HTM_TR_End (); /***** Write rows back *****/ @@ -1235,23 +1235,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 COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LOG RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TxtF ("%u ",NumRow); HTM_TD_End (); /* Write the user's ID if user is a student */ - HTM_TD_Begin ("class=\"LOG CT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LOG CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); ID_WriteUsrIDs (&UsrDat,NULL); HTM_NBSP (); HTM_TD_End (); /* Write the first name and the surnames */ - HTM_TD_Begin ("class=\"LOG LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LOG LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TxtF ("%s ",UsrDat.FullName); HTM_TD_End (); /* Write the user's role */ - HTM_TD_Begin ("class=\"LOG CT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LOG CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TxtF ("%s ",RoleFromLog < Rol_NUM_ROLES ? Txt_ROLES_SINGUL_Abc[RoleFromLog][UsrDat.Sex] : "?"); HTM_TD_End (); @@ -1259,7 +1259,8 @@ static void Sta_ShowDetailedAccessesList (const struct Sta_Stats *Stats, /* Write the date-time (row[3]) */ if (asprintf (&Id,"log_date_%u",UniqueId) < 0) Err_NotEnoughMemoryExit (); - HTM_TD_Begin ("id=\"%s\" class=\"LOG RT COLOR%u\"",Id,Gbl.RowEvenOdd); + HTM_TD_Begin ("id=\"%s\" class=\"LOG RT %s\"", + Id,Gbl.ColorRows[Gbl.RowEvenOdd]); Dat_WriteLocalDateHMSFromUTC (Id,Dat_GetUNIXTimeFromStr (row[3]), Gbl.Prefs.DateFormat,Dat_SEPARATOR_COMMA, true,true,false,0x7); @@ -1269,7 +1270,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 COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LOG LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); if (ActCod >= 0) HTM_TxtF ("%s ",Act_GetActionText (Act_FromActCodToAction[ActCod])); else @@ -1277,7 +1278,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 COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LOG LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); Sta_WriteLogComments (LogCod); HTM_TD_End (); @@ -1337,12 +1338,12 @@ static void Sta_ShowNumHitsPerUsr (Sta_CountType_t CountType, /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"RT",Txt_No_INDEX); - HTM_TH (1,1,"CT",Txt_Photo); - HTM_TH (1,1,"LT",Txt_ID); - HTM_TH (1,1,"LT",Txt_Name); - HTM_TH (1,1,"CT",Txt_Role); - HTM_TH (1,2,"LT",Txt_STAT_TYPE_COUNT_CAPS[CountType]); + HTM_TH (1,1,Txt_No_INDEX ,"RT"); + HTM_TH (1,1,Txt_Photo ,"CT"); + HTM_TH (1,1,Txt_ID ,"LT"); + HTM_TH (1,1,Txt_Name ,"LT"); + HTM_TH (1,1,Txt_Role ,"CT"); + HTM_TH (1,2,Txt_STAT_TYPE_COUNT_CAPS[CountType],"LT"); HTM_TR_End (); /***** Write rows *****/ @@ -1361,30 +1362,30 @@ static void Sta_ShowNumHitsPerUsr (Sta_CountType_t CountType, HTM_TR_Begin (NULL); /* Write the number of row */ - HTM_TD_Begin ("class=\"LOG RT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LOG RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TxtF ("%u ",NumHit); HTM_TD_End (); /* Show the photo */ - HTM_TD_Begin ("class=\"CT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); 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 COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LOG LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); ID_WriteUsrIDs (&UsrDat,NULL); HTM_NBSP (); HTM_TD_End (); /* Write the name and the surnames */ - HTM_TD_Begin ("class=\"LOG LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LOG LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TxtF ("%s ",UsrDat.FullName); HTM_TD_End (); /* Write user's role */ - HTM_TD_Begin ("class=\"LOG CT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LOG CT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TxtF ("%s ",Txt_ROLES_SINGUL_Abc[UsrDat.Roles.InCurrentCrs][UsrDat.Sex]); HTM_TD_End (); @@ -1401,7 +1402,7 @@ static void Sta_ShowNumHitsPerUsr (Sta_CountType_t CountType, else BarWidth = 0; - HTM_TD_Begin ("class=\"LOG LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LOG LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); if (BarWidth) { HTM_IMG (Cfg_URL_ICON_PUBLIC, @@ -1450,9 +1451,9 @@ static void Sta_ShowNumHitsPerDay (Sta_CountType_t CountType, /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"CT",Txt_Date); - HTM_TH (1,1,"LT",Txt_Day); - HTM_TH (1,1,"LT",Txt_STAT_TYPE_COUNT_CAPS[CountType]); + HTM_TH (1,1,Txt_Date ,"CT"); + HTM_TH (1,1,Txt_Day ,"LT"); + HTM_TH (1,1,Txt_STAT_TYPE_COUNT_CAPS[CountType],"LT"); HTM_TR_End (); /***** Compute maximum number of pages generated per day *****/ @@ -1640,9 +1641,9 @@ static void Sta_ShowDistrAccessesPerDayAndHour (const struct Sta_Stats *Stats, /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (3,1,"CT",Txt_Date); - HTM_TH (3,1,"LT",Txt_Day); - HTM_TH (1,24,"LT",Txt_STAT_TYPE_COUNT_CAPS[Stats->CountType]); + HTM_TH (3, 1,Txt_Date ,"CT"); + HTM_TH (3, 1,Txt_Day ,"LT"); + HTM_TH (1,24,Txt_STAT_TYPE_COUNT_CAPS[Stats->CountType],"LT"); HTM_TR_End (); HTM_TR_Begin (NULL); @@ -2028,8 +2029,8 @@ static void Sta_ShowNumHitsPerWeek (Sta_CountType_t CountType, /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LT",Txt_Week); - HTM_TH (1,1,"LT",Txt_STAT_TYPE_COUNT_CAPS[CountType]); + HTM_TH (1,1,Txt_Week ,"LT"); + HTM_TH (1,1,Txt_STAT_TYPE_COUNT_CAPS[CountType],"LT"); HTM_TR_End (); /***** Compute maximum number of pages generated per week *****/ @@ -2127,8 +2128,8 @@ static void Sta_ShowNumHitsPerMonth (Sta_CountType_t CountType, /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LT",Txt_Month); - HTM_TH (1,1,"LT",Txt_STAT_TYPE_COUNT_CAPS[CountType]); + HTM_TH (1,1,Txt_Month ,"LT"); + HTM_TH (1,1,Txt_STAT_TYPE_COUNT_CAPS[CountType],"LT"); HTM_TR_End (); /***** Compute maximum number of pages generated per month *****/ @@ -2226,8 +2227,8 @@ static void Sta_ShowNumHitsPerYear (Sta_CountType_t CountType, /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LT",Txt_Year); - HTM_TH (1,1,"LT",Txt_STAT_TYPE_COUNT_CAPS[CountType]); + HTM_TH (1,1,Txt_Year ,"LT"); + HTM_TH (1,1,Txt_STAT_TYPE_COUNT_CAPS[CountType],"LT"); HTM_TR_End (); /***** Compute maximum number of pages generated per year *****/ @@ -2645,8 +2646,8 @@ static void Sta_ShowNumHitsPerAction (Sta_CountType_t CountType, /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"RT",Txt_Action); - HTM_TH (1,1,"LT",Txt_STAT_TYPE_COUNT_CAPS[CountType]); + HTM_TH (1,1,Txt_Action ,"RT"); + HTM_TH (1,1,Txt_STAT_TYPE_COUNT_CAPS[CountType],"LT"); HTM_TR_End (); /***** Compute maximum number of pages generated per day *****/ @@ -2698,8 +2699,8 @@ static void Sta_ShowNumHitsPerPlugin (Sta_CountType_t CountType, /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"RT",Txt_Plugin); - HTM_TH (1,1,"LT",Txt_STAT_TYPE_COUNT_CAPS[CountType]); + HTM_TH (1,1,Txt_Plugin ,"RT"); + HTM_TH (1,1,Txt_STAT_TYPE_COUNT_CAPS[CountType],"LT"); HTM_TR_End (); /***** Compute maximum number of pages generated per plugin *****/ @@ -2752,8 +2753,8 @@ static void Sta_ShowNumHitsPerWSFunction (Sta_CountType_t CountType, /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"LT",Txt_Function); - HTM_TH (1,1,"LT",Txt_STAT_TYPE_COUNT_CAPS[CountType]); + HTM_TH (1,1,Txt_Function ,"LT"); + HTM_TH (1,1,Txt_STAT_TYPE_COUNT_CAPS[CountType],"LT"); HTM_TR_End (); /***** Compute maximum number of pages generated per function *****/ @@ -2806,8 +2807,8 @@ static void Sta_ShowNumHitsPerBanner (Sta_CountType_t CountType, /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"CT",Txt_Banner); - HTM_TH (1,1,"LT",Txt_STAT_TYPE_COUNT_CAPS[CountType]); + HTM_TH (1,1,Txt_Banner ,"CT"); + HTM_TH (1,1,Txt_STAT_TYPE_COUNT_CAPS[CountType],"LT"); HTM_TR_End (); /***** Compute maximum number of clicks per banner *****/ @@ -2876,9 +2877,9 @@ static void Sta_ShowNumHitsPerCountry (Sta_CountType_t CountType, /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"CT",Txt_No_INDEX); - HTM_TH (1,1,"CT",Txt_Country); - HTM_TH (1,1,"LT",Txt_STAT_TYPE_COUNT_CAPS[CountType]); + HTM_TH (1,1,Txt_No_INDEX ,"CT"); + HTM_TH (1,1,Txt_Country ,"CT"); + HTM_TH (1,1,Txt_STAT_TYPE_COUNT_CAPS[CountType],"LT"); HTM_TR_End (); /***** Compute maximum number of hits per country *****/ @@ -2965,9 +2966,9 @@ static void Sta_ShowNumHitsPerInstitution (Sta_CountType_t CountType, /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"CT",Txt_No_INDEX); - HTM_TH (1,1,"CT",Txt_Institution); - HTM_TH (1,1,"LT",Txt_STAT_TYPE_COUNT_CAPS[CountType]); + HTM_TH (1,1,Txt_No_INDEX ,"CT"); + HTM_TH (1,1,Txt_Institution ,"CT"); + HTM_TH (1,1,Txt_STAT_TYPE_COUNT_CAPS[CountType],"LT"); HTM_TR_End (); /***** Compute maximum number of hits per institution *****/ @@ -3056,9 +3057,9 @@ static void Sta_ShowNumHitsPerCenter (Sta_CountType_t CountType, /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"CT",Txt_No_INDEX); - HTM_TH (1,1,"CT",Txt_Center); - HTM_TH (1,1,"LT",Txt_STAT_TYPE_COUNT_CAPS[CountType]); + HTM_TH (1,1,Txt_No_INDEX ,"CT"); + HTM_TH (1,1,Txt_Center ,"CT"); + HTM_TH (1,1,Txt_STAT_TYPE_COUNT_CAPS[CountType],"LT"); HTM_TR_End (); /***** Compute maximum number of hits per center *****/ @@ -3147,9 +3148,9 @@ static void Sta_ShowNumHitsPerDegree (Sta_CountType_t CountType, /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"CT",Txt_No_INDEX); - HTM_TH (1,1,"CT",Txt_Degree); - HTM_TH (1,1,"LT",Txt_STAT_TYPE_COUNT_CAPS[CountType]); + HTM_TH (1,1,Txt_No_INDEX ,"CT"); + HTM_TH (1,1,Txt_Degree ,"CT"); + HTM_TH (1,1,Txt_STAT_TYPE_COUNT_CAPS[CountType],"LT"); HTM_TR_End (); /***** Compute maximum number of hits per degree *****/ @@ -3242,11 +3243,11 @@ static void Sta_ShowNumHitsPerCourse (Sta_CountType_t CountType, /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"CT",Txt_No_INDEX); - HTM_TH (1,1,"CT",Txt_Degree); - HTM_TH (1,1,"CT",Txt_Year_OF_A_DEGREE); - HTM_TH (1,1,"CT",Txt_Course); - HTM_TH (1,1,"LT",Txt_STAT_TYPE_COUNT_CAPS[CountType]); + HTM_TH (1,1,Txt_No_INDEX ,"CT"); + HTM_TH (1,1,Txt_Degree ,"CT"); + HTM_TH (1,1,Txt_Year_OF_A_DEGREE ,"CT"); + HTM_TH (1,1,Txt_Course ,"CT"); + HTM_TH (1,1,Txt_STAT_TYPE_COUNT_CAPS[CountType],"LT"); HTM_TR_End (); /***** Compute maximum number of pages generated per course *****/ diff --git a/swad_survey.c b/swad_survey.c index 1dca4466..c8620d5e 100644 --- a/swad_survey.c +++ b/swad_survey.c @@ -243,7 +243,7 @@ static void Svy_ListAllSurveys (struct Svy_Surveys *Surveys) HTM_TABLE_BeginWideMarginPadding (5); HTM_TR_Begin (NULL); - HTM_TH (1,1,"CONTEXT_COL",NULL); // Column for contextual icons + HTM_TH (1,1,NULL,"CONTEXT_COL"); // Column for contextual icons for (Order = Dat_STR_TIME; Order <= Dat_END_TIME; @@ -270,8 +270,8 @@ static void Svy_ListAllSurveys (struct Svy_Surveys *Surveys) HTM_TH_End (); } - HTM_TH (1,1,"LM",Txt_Survey); - HTM_TH (1,1,"CM",Txt_Status); + HTM_TH (1,1,Txt_Survey,"LM"); + HTM_TH (1,1,Txt_Status,"CM"); HTM_TR_End (); @@ -470,7 +470,8 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys, if (ShowOnlyThisSvyComplete) HTM_TD_Begin ("rowspan=\"2\" class=\"CONTEXT_COL\""); else - HTM_TD_Begin ("rowspan=\"2\" class=\"CONTEXT_COL COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("rowspan=\"2\" class=\"CONTEXT_COL %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (Svy.Status.ICanEdit) Svy_PutFormsToRemEditOneSvy (Surveys,&Svy,Anchor); HTM_TD_End (); @@ -487,13 +488,13 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys, (Svy.Status.Open ? "DATE_GREEN_LIGHT" : "DATE_RED_LIGHT")); else - HTM_TD_Begin ("id=\"%s\" class=\"%s LT COLOR%u\"", + HTM_TD_Begin ("id=\"%s\" class=\"%s LT %s\"", Id, Svy.Status.Visible ? (Svy.Status.Open ? "DATE_GREEN" : "DATE_RED") : (Svy.Status.Open ? "DATE_GREEN_LIGHT" : "DATE_RED_LIGHT"), - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); Dat_WriteLocalDateHMSFromUTC (Id,Svy.TimeUTC[Dat_STR_TIME], Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,true,0x7); @@ -511,13 +512,13 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys, (Svy.Status.Open ? "DATE_GREEN_LIGHT" : "DATE_RED_LIGHT")); else - HTM_TD_Begin ("id=\"%s\" class=\"%s LT COLOR%u\"", + HTM_TD_Begin ("id=\"%s\" class=\"%s LT %s\"", Id, Svy.Status.Visible ? (Svy.Status.Open ? "DATE_GREEN" : "DATE_RED") : (Svy.Status.Open ? "DATE_GREEN_LIGHT" : "DATE_RED_LIGHT"), - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); Dat_WriteLocalDateHMSFromUTC (Id,Svy.TimeUTC[Dat_END_TIME], Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,false,true,0x7); @@ -528,7 +529,7 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys, if (ShowOnlyThisSvyComplete) HTM_TD_Begin ("class=\"LT\""); else - HTM_TD_Begin ("class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_ARTICLE_Begin (Anchor); Frm_BeginForm (ActSeeSvy); Svy_PutParamSvyCod (SvyCod); @@ -562,7 +563,8 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys, if (ShowOnlyThisSvyComplete) HTM_TD_Begin ("rowspan=\"2\" class=\"LT\""); else - HTM_TD_Begin ("rowspan=\"2\" class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("rowspan=\"2\" class=\"LT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); Svy_WriteStatus (&Svy); if (!ShowOnlyThisSvyComplete) @@ -611,7 +613,8 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys, if (ShowOnlyThisSvyComplete) HTM_TD_Begin ("colspan=\"2\" class=\"LT\""); else - HTM_TD_Begin ("colspan=\"2\" class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"LT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); Svy_WriteAuthor (&Svy); HTM_TD_End (); @@ -619,7 +622,7 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys, if (ShowOnlyThisSvyComplete) HTM_TD_Begin ("class=\"LT\""); else - HTM_TD_Begin ("class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); /* Scope of the survey */ HTM_DIV_Begin ("class=\"%s\"",Svy.Status.Visible ? "ASG_GRP" : @@ -2786,14 +2789,13 @@ static void Svy_ListSvyQuestions (struct Svy_Surveys *Surveys, /***** Write the heading *****/ HTM_TABLE_BeginWideMarginPadding (5); - HTM_TR_Begin (NULL); + HTM_TR_Begin (NULL); if (Svy->Status.ICanEdit) HTM_TH_Empty (1); - HTM_TH (1,1,"CT",Txt_No_INDEX); - HTM_TH (1,1,"CT",Txt_Type); - HTM_TH (1,1,"LT",Txt_Question); - + HTM_TH (1,1,Txt_No_INDEX,"CT"); + HTM_TH (1,1,Txt_Type ,"CT"); + HTM_TH (1,1,Txt_Question,"LT"); HTM_TR_End (); /***** Write questions one by one *****/ @@ -2832,18 +2834,21 @@ static void Svy_ListSvyQuestions (struct Svy_Surveys *Surveys, } /* Write index of question inside survey */ - HTM_TD_Begin ("class=\"DAT_SMALL CT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (SvyQst.QstInd + 1); HTM_TD_End (); /* Write the question type (row[2]) */ - HTM_TD_Begin ("class=\"DAT_SMALL CT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL CT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); 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 COLOR%u\"", - The_ClassDat[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s LT %s\"", + The_ClassDat[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); Svy_WriteQstStem (Stem); Svy_WriteAnswersOfAQst (Svy,&SvyQst,PutFormAnswerSurvey); HTM_TD_End (); diff --git a/swad_syllabus.c b/swad_syllabus.c index 9ee698db..37e021df 100644 --- a/swad_syllabus.c +++ b/swad_syllabus.c @@ -623,7 +623,8 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem, { if (NewItem) { - HTM_TD_Begin ("colspan=\"5\" class=\"COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"5\" class=\"%s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); } else @@ -722,13 +723,14 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem, /***** Indent depending on the level *****/ if (Level > 1) { - HTM_TD_Begin ("colspan=\"%d\" class=\"COLOR%u\"",Level - 1,Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"%d\" class=\"%s\"", + Level - 1,Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); } /***** Code of the item *****/ - HTM_TD_Begin ("class=\"%s RT COLOR%u\" style=\"width:%dpx;\"", - StyleSyllabus[Level],Gbl.RowEvenOdd, + HTM_TD_Begin ("class=\"%s RT %s\" style=\"width:%dpx;\"", + StyleSyllabus[Level],Gbl.ColorRows[Gbl.RowEvenOdd], Level * Syl_WIDTH_NUM_SYLLABUS); if (Level == 1) HTM_NBSP (); @@ -736,10 +738,10 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem, HTM_TD_End (); /***** Text of the item *****/ - HTM_TD_Begin ("colspan=\"%d\" class=\"%s LT COLOR%u\"", + HTM_TD_Begin ("colspan=\"%d\" class=\"%s LT %s\"", Syl_LstItemsSyllabus.NumLevels - Level + 1, StyleSyllabus[Level], - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Txt (Text); HTM_TD_End (); } @@ -831,21 +833,23 @@ static void Syl_PutFormItemSyllabus (struct Syl_Syllabus *Syllabus, /***** Indent depending on the level *****/ if (Level > 1) { - HTM_TD_Begin ("colspan=\"%d\" class=\"COLOR%u\"",Level - 1,Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"%d\" class=\"%s\"", + Level - 1,Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); } /***** Write the code of the item *****/ if (NewItem) // If the item is new (not stored in the file) ==> it has not a number { - HTM_TD_Begin ("class=\"COLOR%u\" style=\"width:%dpx;\"", - Gbl.RowEvenOdd,Level * Syl_WIDTH_NUM_SYLLABUS); + HTM_TD_Begin ("class=\"%s\" style=\"width:%dpx;\"", + Gbl.ColorRows[Gbl.RowEvenOdd], + Level * Syl_WIDTH_NUM_SYLLABUS); HTM_TD_End (); } else { - HTM_TD_Begin ("class=\"%s LM COLOR%u\" style=\"width:%dpx;\"", - StyleSyllabus[Level],Gbl.RowEvenOdd, + HTM_TD_Begin ("class=\"%s LM %s\" style=\"width:%dpx;\"", + StyleSyllabus[Level],Gbl.ColorRows[Gbl.RowEvenOdd], Level * Syl_WIDTH_NUM_SYLLABUS); if (Level == 1) HTM_NBSP (); @@ -855,8 +859,9 @@ static void Syl_PutFormItemSyllabus (struct Syl_Syllabus *Syllabus, } /***** Text of the item *****/ - HTM_TD_Begin ("colspan=\"%d\" class=\"LM COLOR%u\"", - Syl_LstItemsSyllabus.NumLevels - Level + 1,Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"%d\" class=\"LM %s\"", + Syl_LstItemsSyllabus.NumLevels - Level + 1, + Gbl.ColorRows[Gbl.RowEvenOdd]); 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 b65ee56f..c3efe672 100644 --- a/swad_test_print.c +++ b/swad_test_print.c @@ -289,13 +289,13 @@ static void TstPrn_WriteQstAndAnsToFill (struct TstPrn_PrintedQuestion *PrintedQ HTM_TR_Begin (NULL); /***** Number of question and answer type *****/ - HTM_TD_Begin ("class=\"RT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); Qst_WriteNumQst (QstInd + 1,"BIG_INDEX"); Qst_WriteAnswerType (Question->Answer.Type,"DAT_SMALL"); HTM_TD_End (); /***** Stem, media and answers *****/ - HTM_TD_Begin ("class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); /* Write parameter with question code */ Qst_WriteParamQstCod (QstInd,Question->QstCod); @@ -633,14 +633,14 @@ static void TstPrn_WriteQstAndAnsExam (struct UsrData *UsrDat, HTM_TR_Begin (NULL); /***** Number of question and answer type *****/ - HTM_TD_Begin ("class=\"RT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); Qst_WriteNumQst (QstInd + 1,"BIG_INDEX"); if (QuestionUneditedAfterExam) Qst_WriteAnswerType (Question->Answer.Type,"DAT_SMALL"); HTM_TD_End (); /***** Stem, media and answers *****/ - HTM_TD_Begin ("class=\"LT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); if (QuestionExists) { if (QuestionUneditedAfterExam) @@ -1789,37 +1789,34 @@ static void TstPrn_ShowHeaderPrints (Usr_MeOrOther_t MeOrOther) /***** First row *****/ HTM_TR_Begin (NULL); - - HTM_TH (3,2,"CT LINE_BOTTOM",Txt_User[MeOrOther == Usr_ME ? Gbl.Usrs.Me.UsrDat.Sex : - Usr_SEX_UNKNOWN]); - HTM_TH (3,1,"LT LINE_BOTTOM",Txt_START_END_TIME[Dat_STR_TIME]); - HTM_TH (3,1,"LT LINE_BOTTOM",Txt_START_END_TIME[Dat_END_TIME]); - HTM_TH (3,1,"RT LINE_BOTTOM LINE_LEFT",Txt_Questions); - HTM_TH (1,2,"CT LINE_LEFT",Txt_Answers); - HTM_TH (1,2,"CT LINE_LEFT",Txt_Score); - HTM_TH (3,1,"RT LINE_BOTTOM LINE_LEFT",Txt_Grade); - HTM_TH (3,1,"LINE_BOTTOM LINE_LEFT",NULL); - + HTM_TH (3,2,Txt_User[MeOrOther == Usr_ME ? Gbl.Usrs.Me.UsrDat.Sex : + Usr_SEX_UNKNOWN] + ,"CT LINE_BOTTOM"); + HTM_TH (3,1,Txt_START_END_TIME[Dat_STR_TIME],"LT LINE_BOTTOM"); + HTM_TH (3,1,Txt_START_END_TIME[Dat_END_TIME],"LT LINE_BOTTOM"); + HTM_TH (3,1,Txt_Questions ,"RT LINE_BOTTOM LINE_LEFT"); + HTM_TH (1,2,Txt_Answers ,"CT LINE_LEFT"); + HTM_TH (1,2,Txt_Score ,"CT LINE_LEFT"); + HTM_TH (3,1,Txt_Grade ,"RT LINE_BOTTOM LINE_LEFT"); + HTM_TH (3,1,NULL ,"LINE_BOTTOM LINE_LEFT"); HTM_TR_End (); /***** Second row *****/ HTM_TR_Begin (NULL); - - HTM_TH (1,1,"RT LINE_LEFT",Txt_ANSWERS_non_blank); - HTM_TH (1,1,"RT",Txt_ANSWERS_blank); - HTM_TH (1,1,"RT LINE_LEFT",Txt_total); - HTM_TH (1,1,"RT",Txt_average); - + HTM_TH (1,1,Txt_ANSWERS_non_blank,"RT LINE_LEFT"); + HTM_TH (1,1,Txt_ANSWERS_blank ,"RT"); + HTM_TH (1,1,Txt_total ,"RT LINE_LEFT"); + HTM_TH (1,1,Txt_average ,"RT"); HTM_TR_End (); /***** Third row *****/ HTM_TR_Begin (NULL); - - HTM_TH (1,1,"RT LINE_BOTTOM LINE_LEFT","{-1≤pi≤1}"); - HTM_TH (1,1,"RT LINE_BOTTOM","{pi=0}"); - HTM_TH (1,1,"RT LINE_BOTTOM LINE_LEFT","Σpi"); - HTM_TH (1,1,"RT LINE_BOTTOM","-1≤p≤1"); - + HTM_TH (1,1,"{-1≤pi≤1}","RT LINE_BOTTOM LINE_LEFT"); + HTM_TH (1,1,"{pi=0}" ,"RT LINE_BOTTOM"); + HTM_TH (1,1,"Σpi" ,"RT LINE_BOTTOM LINE_LEFT"); + HTM_TH (1,1,"-1≤" + "p" + "≤1" ,"RT LINE_BOTTOM"); HTM_TR_End (); } @@ -1889,8 +1886,8 @@ 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 COLOR%u\"", - Id,ClassDat,Gbl.RowEvenOdd); + HTM_TD_Begin ("id=\"%s\" class=\"%s LT %s\"", + Id,ClassDat,Gbl.ColorRows[Gbl.RowEvenOdd]); Dat_WriteLocalDateHMSFromUTC (Id,Print.TimeUTC[StartEndTime], Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,false,0x7); @@ -1907,7 +1904,8 @@ static void TstPrn_ShowUsrPrints (struct UsrData *UsrDat) } /* Write number of questions */ - HTM_TD_Begin ("class=\"%s RT LINE_LEFT COLOR%u\"",ClassDat,Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT LINE_LEFT %s\"", + ClassDat,Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanView.Result) HTM_Unsigned (Print.NumQsts.All); else @@ -1915,7 +1913,8 @@ static void TstPrn_ShowUsrPrints (struct UsrData *UsrDat) HTM_TD_End (); /* Write number of non-blank answers */ - HTM_TD_Begin ("class=\"%s RT LINE_LEFT COLOR%u\"",ClassDat,Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT LINE_LEFT %s\"", + ClassDat,Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanView.Result) { if (Print.NumQsts.NotBlank) @@ -1928,7 +1927,8 @@ static void TstPrn_ShowUsrPrints (struct UsrData *UsrDat) HTM_TD_End (); /* Write number of blank answers */ - HTM_TD_Begin ("class=\"%s RT COLOR%u\"",ClassDat,Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT %s\"", + ClassDat,Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanView.Result) { NumQstsBlank = Print.NumQsts.All - Print.NumQsts.NotBlank; @@ -1942,7 +1942,8 @@ static void TstPrn_ShowUsrPrints (struct UsrData *UsrDat) HTM_TD_End (); /* Write score */ - HTM_TD_Begin ("class=\"%s RT LINE_LEFT COLOR%u\"",ClassDat,Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT LINE_LEFT %s\"", + ClassDat,Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanView.Score) { HTM_Double2Decimals (Print.Score); @@ -1954,7 +1955,8 @@ static void TstPrn_ShowUsrPrints (struct UsrData *UsrDat) HTM_TD_End (); /* Write average score per question */ - HTM_TD_Begin ("class=\"%s RT COLOR%u\"",ClassDat,Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT %s\"", + ClassDat,Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanView.Score) HTM_Double2Decimals (Print.NumQsts.All ? Print.Score / (double) Print.NumQsts.All : @@ -1964,7 +1966,8 @@ static void TstPrn_ShowUsrPrints (struct UsrData *UsrDat) HTM_TD_End (); /* Write grade */ - HTM_TD_Begin ("class=\"%s RT LINE_LEFT COLOR%u\"",ClassDat,Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s RT LINE_LEFT %s\"", + ClassDat,Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanView.Score) TstPrn_ComputeAndShowGrade (Print.NumQsts.All,Print.Score,Tst_SCORE_MAX); else @@ -1972,7 +1975,8 @@ static void TstPrn_ShowUsrPrints (struct UsrData *UsrDat) HTM_TD_End (); /* Link to show this test */ - HTM_TD_Begin ("class=\"RT LINE_LEFT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RT LINE_LEFT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanView.Result) { Frm_BeginForm (Gbl.Action.Act == ActSeeMyTstResCrs ? ActSeeOneTstResMe : @@ -1998,27 +2002,33 @@ static void TstPrn_ShowUsrPrints (struct UsrData *UsrDat) else { /* Columns for dates */ - HTM_TD_Begin ("colspan=\"2\" class=\"LINE_BOTTOM COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"LINE_BOTTOM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); /* Column for questions */ - HTM_TD_Begin ("class=\"LINE_BOTTOM LINE_LEFT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LINE_BOTTOM LINE_LEFT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); /* Columns for answers */ - HTM_TD_Begin ("colspan=\"2\" class=\"LINE_BOTTOM LINE_LEFT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"LINE_BOTTOM LINE_LEFT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); /* Columns for score */ - HTM_TD_Begin ("colspan=\"2\" class=\"LINE_BOTTOM LINE_LEFT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"LINE_BOTTOM LINE_LEFT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); /* Column for grade */ - HTM_TD_Begin ("class=\"LINE_BOTTOM LINE_LEFT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LINE_BOTTOM LINE_LEFT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); /* Column for link to show the result */ - HTM_TD_Begin ("class=\"LINE_BOTTOM LINE_LEFT COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LINE_BOTTOM LINE_LEFT %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); HTM_TR_End (); @@ -2088,36 +2098,41 @@ static void TstPrn_ShowPrintsSummaryRow (bool ItsMe, HTM_TR_Begin (NULL); /***** Row title *****/ - HTM_TD_Begin ("colspan=\"2\" class=\"RM %s LINE_TOP LINE_BOTTOM COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"RM %s LINE_TOP LINE_BOTTOM %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TxtColonNBSP (Txt_Visible_tests); HTM_Unsigned (NumPrints); HTM_TD_End (); /***** Write total number of questions *****/ - HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (NumPrints) HTM_Unsigned (NumTotalQsts->All); HTM_TD_End (); /***** Write total number of non-blank answers *****/ - HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (NumPrints) HTM_Unsigned (NumTotalQsts->NotBlank); HTM_TD_End (); /***** Write total number of blank answers *****/ - HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (NumPrints) HTM_Unsigned (NumTotalQsts->All - NumTotalQsts->NotBlank); HTM_TD_End (); /***** Write total score *****/ - HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanViewTotalScore) { HTM_Double2Decimals (TotalScore); @@ -2127,23 +2142,26 @@ static void TstPrn_ShowPrintsSummaryRow (bool ItsMe, HTM_TD_End (); /***** Write average score per question *****/ - HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanViewTotalScore) HTM_Double2Decimals (NumTotalQsts->All ? TotalScore / (double) NumTotalQsts->All : 0.0); HTM_TD_End (); /***** Write grade over Tst_SCORE_MAX *****/ - HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); if (ICanViewTotalScore) TstPrn_ComputeAndShowGrade (NumTotalQsts->All,TotalScore,Tst_SCORE_MAX); HTM_TD_End (); /***** Last cell *****/ - HTM_TD_Begin ("class=\"%s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"%s LINE_TOP LINE_BOTTOM LINE_LEFT %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); /***** End row *****/ diff --git a/swad_theme.c b/swad_theme.c index 5e77b7bc..6e37e395 100644 --- a/swad_theme.c +++ b/swad_theme.c @@ -414,6 +414,25 @@ const char *The_ClassAlertTxtColor[The_NUM_THEMES] = [The_THEME_DARK ] = "ALERT_TXT_DARK", }; +const char *The_ClassColorRows[2][The_NUM_THEMES] = + { + [0][The_THEME_WHITE ] = "COLOR0_WHITE", + [0][The_THEME_GREY ] = "COLOR0_GREY", + [0][The_THEME_PURPLE] = "COLOR0_PURPLE", + [0][The_THEME_BLUE ] = "COLOR0_BLUE", + [0][The_THEME_YELLOW] = "COLOR0_YELLOW", + [0][The_THEME_PINK ] = "COLOR0_PINK", + [0][The_THEME_DARK ] = "COLOR0_DARK", + + [1][The_THEME_WHITE ] = "COLOR1_WHITE", + [1][The_THEME_GREY ] = "COLOR1_GREY", + [1][The_THEME_PURPLE] = "COLOR1_PURPLE", + [1][The_THEME_BLUE ] = "COLOR1_BLUE", + [1][The_THEME_YELLOW] = "COLOR1_YELLOW", + [1][The_THEME_PINK ] = "COLOR1_PINK", + [1][The_THEME_DARK ] = "COLOR1_DARK", + }; + /*****************************************************************************/ /****************************** Private prototypes ***************************/ /*****************************************************************************/ @@ -480,6 +499,7 @@ 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); @@ -527,3 +547,15 @@ The_Theme_t The_GetThemeFromStr (const char *Str) return The_THEME_DEFAULT; } + +/*****************************************************************************/ +/******** Set background colors for rows depending on selected theme *********/ +/*****************************************************************************/ + +void The_SetColorRows (void) + { + extern const char *The_ClassColorRows[2][The_NUM_THEMES]; + + Gbl.ColorRows[0] = The_ClassColorRows[0][Gbl.Prefs.Theme]; // Darker + Gbl.ColorRows[1] = The_ClassColorRows[1][Gbl.Prefs.Theme]; // Lighter + } diff --git a/swad_theme.h b/swad_theme.h index acfe9318..4fee491a 100644 --- a/swad_theme.h +++ b/swad_theme.h @@ -54,4 +54,6 @@ void The_ChangeTheme (void); The_Theme_t The_GetParamTheme (void); The_Theme_t The_GetThemeFromStr (const char *Str); +void The_SetColorRows (void); + #endif diff --git a/swad_user.c b/swad_user.c index 7ba6aee8..0403503b 100644 --- a/swad_user.c +++ b/swad_user.c @@ -1962,6 +1962,7 @@ 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", @@ -2170,7 +2171,7 @@ void Usr_WriteRowUsrMainData (unsigned NumUsr,struct UsrData *UsrDat, if (UsrIsTheMsgSender) Str_Copy (BgColor,"LIGHT_GREEN",sizeof (BgColor) - 1); else - snprintf (BgColor,sizeof (BgColor),"COLOR%u",Gbl.RowEvenOdd); + snprintf (BgColor,sizeof (BgColor),"%s",Gbl.ColorRows[Gbl.RowEvenOdd]); if (PutCheckBoxToSelectUsr) { @@ -2260,7 +2261,7 @@ static void Usr_WriteRowGstAllData (struct UsrData *UsrDat) if (Gbl.Usrs.Listing.WithPhotos) { /***** Show guest's photo *****/ - HTM_TD_Begin ("class=\"LM COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); Pho_ShowUsrPhotoIfAllowed (UsrDat, ClassPhoto[Gbl.Prefs.PhotoShape],Pho_NO_ZOOM, false); @@ -2268,7 +2269,7 @@ static void Usr_WriteRowGstAllData (struct UsrData *UsrDat) } /****** Write user's ID ******/ - HTM_TD_Begin ("class=\"DAT_SMALL LM COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"DAT_SMALL LM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); ID_WriteUsrIDs (UsrDat,NULL); HTM_NBSP (); HTM_TD_End (); @@ -2353,7 +2354,7 @@ static void Usr_WriteRowStdAllData (struct UsrData *UsrDat,char *GroupNames) if (Gbl.Usrs.Listing.WithPhotos) { /***** Show student's photo *****/ - HTM_TD_Begin ("class=\"LM COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); Pho_ShowUsrPhotoIfAllowed (UsrDat, ClassPhoto[Gbl.Prefs.PhotoShape],Pho_NO_ZOOM, false); @@ -2361,10 +2362,10 @@ static void Usr_WriteRowStdAllData (struct UsrData *UsrDat,char *GroupNames) } /****** Write user's ID ******/ - HTM_TD_Begin ("class=\"%s LM COLOR%u\"", + HTM_TD_Begin ("class=\"%s LM %s\"", UsrDat->Accepted ? "DAT_SMALL_N" : "DAT_SMALL", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); ID_WriteUsrIDs (UsrDat,NULL); HTM_NBSP (); HTM_TD_End (); @@ -2462,7 +2463,7 @@ static void Usr_WriteRowTchAllData (struct UsrData *UsrDat) if (Gbl.Usrs.Listing.WithPhotos) { /***** Show teacher's photo *****/ - HTM_TD_Begin ("class=\"LM COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); Pho_ShowUsrPhotoIfAllowed (UsrDat, ClassPhoto[Gbl.Prefs.PhotoShape],Pho_NO_ZOOM, false); @@ -2470,10 +2471,10 @@ static void Usr_WriteRowTchAllData (struct UsrData *UsrDat) } /****** Write the user's ID ******/ - HTM_TD_Begin ("class=\"%s LM COLOR%u\"", + HTM_TD_Begin ("class=\"%s LM %s\"", UsrDat->Accepted ? "DAT_SMALL_N" : "DAT_SMALL", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); ID_WriteUsrIDs (UsrDat,NULL); HTM_NBSP (); HTM_TD_End (); @@ -2537,14 +2538,15 @@ static void Usr_WriteRowAdmData (unsigned NumUsr,struct UsrData *UsrDat) HTM_TR_Begin (NULL); /***** Write number of user *****/ - HTM_TD_Begin ("class=\"USR_LIST_NUM_N CM COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"USR_LIST_NUM_N CM %s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_Unsigned (NumUsr); HTM_TD_End (); if (Gbl.Usrs.Listing.WithPhotos) { /***** Show administrator's photo *****/ - HTM_TD_Begin ("class=\"LM COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); Pho_ShowUsrPhotoIfAllowed (UsrDat, ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM, false); @@ -2552,10 +2554,10 @@ static void Usr_WriteRowAdmData (unsigned NumUsr,struct UsrData *UsrDat) } /****** Write the user's ID ******/ - HTM_TD_Begin ("class=\"%s LM COLOR%u\"", + HTM_TD_Begin ("class=\"%s LM %s\"", UsrDat->Accepted ? "DAT_SMALL_N" : "DAT_SMALL", - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); ID_WriteUsrIDs (UsrDat,NULL); HTM_NBSP (); HTM_TD_End (); @@ -3856,9 +3858,7 @@ static void Usr_PutCheckboxToSelectAllUsers (Rol_Role_t Role, HTM_TR_Begin (NULL); - HTM_TH_Begin (1,Usr_GetColumnsForSelectUsrs (), - Str_BuildString ("LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme])); - Str_FreeStrings (); + HTM_TH_Begin (1,Usr_GetColumnsForSelectUsrs (),"LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme]); HTM_LABEL_Begin (NULL); if (Usr_NameSelUnsel[Role] && Usr_ParamUsrCod[Role]) @@ -4007,24 +4007,19 @@ void Usr_WriteHeaderFieldsUsrDat (bool PutCheckBoxToSelectUsr) { extern const char *The_ClassBgHighlight[The_NUM_THEMES]; unsigned NumCol; - const char *ClassHeader; HTM_TR_Begin (NULL); - ClassHeader = Str_BuildString ("LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme]); - /***** First column used for selection *****/ if (PutCheckBoxToSelectUsr) - HTM_TH (1,1,ClassHeader,NULL); + HTM_TH (1,1,NULL,"LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme]); /***** Columns for user's data fields *****/ for (NumCol = 0; NumCol < Usr_NUM_MAIN_FIELDS_DATA_USR; NumCol++) if (NumCol != 2 || Gbl.Usrs.Listing.WithPhotos) // Skip photo column if I don't want this column - HTM_TH (1,1,ClassHeader,Usr_UsrDatMainFieldNames[NumCol]); - - Str_FreeStrings (); + HTM_TH (1,1,Usr_UsrDatMainFieldNames[NumCol],"LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme]); HTM_TR_End (); } @@ -4168,7 +4163,6 @@ static void Usr_ListMainDataTchs (Rol_Role_t Role, unsigned NumCol; unsigned NumUsr; struct UsrData UsrDat; - const char *ClassHeader; if (Gbl.Usrs.LstUsrs[Role].NumUsrs) { @@ -4180,20 +4174,16 @@ static void Usr_ListMainDataTchs (Rol_Role_t Role, /* Begin row */ HTM_TR_Begin (NULL); - ClassHeader = Str_BuildString ("LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme]); - /* First column used for selection */ if (PutCheckBoxToSelectUsr) - HTM_TH (1,1,ClassHeader,NULL); + HTM_TH (1,1,NULL,"LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme]); /* Columns for the data */ for (NumCol = 0; NumCol < Usr_NUM_MAIN_FIELDS_DATA_USR; NumCol++) if (NumCol != 2 || Gbl.Usrs.Listing.WithPhotos) // Skip photo column if I don't want this column - HTM_TH (1,1,ClassHeader,Usr_UsrDatMainFieldNames[NumCol]); - - Str_FreeStrings (); + HTM_TH (1,1,Usr_UsrDatMainFieldNames[NumCol],"LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme]); /* End row */ HTM_TR_End (); @@ -4247,7 +4237,6 @@ void Usr_ListAllDataGsts (void) unsigned NumUsr; struct UsrData UsrDat; const char *FieldNames[Usr_NUM_ALL_FIELDS_DATA_GST]; - const char *ClassHeader; /***** Initialize field names *****/ FieldNames[ 0] = Txt_Photo; @@ -4287,16 +4276,13 @@ void Usr_ListAllDataGsts (void) /* Begin row */ HTM_TR_Begin (NULL); - ClassHeader = Str_BuildString ("LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme]); /* Columns for the data */ for (NumCol = (Gbl.Usrs.Listing.WithPhotos ? 0 : 1); NumCol < NumColumnsCommonCard; NumCol++) - HTM_TH (1,1,ClassHeader,FieldNames[NumCol]); - - Str_FreeStrings (); + HTM_TH (1,1,FieldNames[NumCol],"LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme]); /* End row */ HTM_TR_End (); @@ -4365,7 +4351,6 @@ void Usr_ListAllDataStds (void) struct UsrData UsrDat; const char *FieldNames[Usr_NUM_ALL_FIELDS_DATA_STD]; size_t Length; - const char *ClassHeader; /***** Initialize field names *****/ FieldNames[0] = Txt_Photo; @@ -4445,14 +4430,12 @@ void Usr_ListAllDataStds (void) /* Begin row */ HTM_TR_Begin (NULL); - ClassHeader = Str_BuildString ("LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme]); - /* 1. Columns for the data */ for (NumCol = (Gbl.Usrs.Listing.WithPhotos ? 0 : 1); NumCol < NumColsCommonRecord; NumCol++) - HTM_TH (1,1,ClassHeader,FieldNames[NumCol]); + HTM_TH (1,1,FieldNames[NumCol],"LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme]); /* 2. Columns for the groups */ if (Gbl.Scope.Current == HieLvl_CRS) @@ -4463,7 +4446,7 @@ void Usr_ListAllDataStds (void) NumGrpTyp++) if (Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].NumGrps) // If current course tiene groups of este type { - HTM_TH_Begin (1,1,ClassHeader); + HTM_TH_Begin (1,1,"LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme]); HTM_TxtF ("%s %s", Txt_Group, Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].GrpTypName); @@ -4476,7 +4459,7 @@ void Usr_ListAllDataStds (void) for (NumField = 0; NumField < Gbl.Crs.Records.LstFields.Num; NumField++) - HTM_TH (1,1,ClassHeader,Gbl.Crs.Records.LstFields.Lst[NumField].Name); + HTM_TH (1,1,Gbl.Crs.Records.LstFields.Lst[NumField].Name,"LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme]); /* 4. Visibility type for the record fields that depend on the course, in other row */ HTM_TR_End (); @@ -4488,14 +4471,14 @@ void Usr_ListAllDataStds (void) NumCol++) if (NumCol != 1 || Gbl.Usrs.Listing.WithPhotos) // Skip photo column if I don't want it in listing { - HTM_TD_Begin ("class=\"%s\"",ClassHeader); + HTM_TD_Begin ("class=\"LM %s\"",The_ClassBgHighlight[Gbl.Prefs.Theme]); HTM_TD_End (); } for (NumField = 0; NumField < Gbl.Crs.Records.LstFields.Num; NumField++) { - HTM_TH_Begin (1,1,ClassHeader); + HTM_TH_Begin (1,1,"LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme]); HTM_TxtF ("(%s)", Txt_RECORD_FIELD_VISIBILITY_RECORD[Gbl.Crs.Records.LstFields.Lst[NumField].Visibility]); HTM_TH_End (); @@ -4503,8 +4486,6 @@ void Usr_ListAllDataStds (void) } } - Str_FreeStrings (); - /* End row */ HTM_TR_End (); @@ -4700,20 +4681,15 @@ static void Usr_ListRowsAllDataTchs (Rol_Role_t Role, unsigned NumCol; struct UsrData UsrDat; unsigned NumUsr; - const char *ClassHeader; /***** Heading row *****/ HTM_TR_Begin (NULL); - ClassHeader = Str_BuildString ("LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme]); - for (NumCol = (Gbl.Usrs.Listing.WithPhotos ? 0 : 1); NumCol < NumColumns; NumCol++) - HTM_TH (1,1,ClassHeader,FieldNames[NumCol]); - - Str_FreeStrings (); + HTM_TH (1,1,FieldNames[NumCol],"LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme]); HTM_TR_End (); @@ -4813,12 +4789,13 @@ unsigned Usr_ListUsrsFound (Rol_Role_t Role, { HTM_TR_Begin (NULL); - HTM_TD_Begin ("colspan=\"2\" class=\"COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("colspan=\"2\" class=\"%s\"", + Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TD_End (); - HTM_TD_Begin ("colspan=\"%u\" class=\"COLOR%u\"", + HTM_TD_Begin ("colspan=\"%u\" class=\"%s\"", Usr_NUM_MAIN_FIELDS_DATA_USR-2, - Gbl.RowEvenOdd); + Gbl.ColorRows[Gbl.RowEvenOdd]); if (Role == Rol_UNK) { Crs_GetAndWriteCrssOfAUsr (&UsrDat,Rol_TCH); @@ -4874,7 +4851,6 @@ void Usr_ListDataAdms (void) unsigned NumUsr; struct UsrData UsrDat; const char *FieldNames[Usr_NUM_MAIN_FIELDS_DATA_ADM]; - const char *ClassHeader; /***** Put contextual links *****/ switch (Gbl.Usrs.Me.Role.Logged) @@ -4958,15 +4934,11 @@ void Usr_ListDataAdms (void) HTM_TABLE_Begin (NULL); HTM_TR_Begin (NULL); - ClassHeader = Str_BuildString ("LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme]); - for (NumCol = 0; NumCol < Usr_NUM_MAIN_FIELDS_DATA_ADM; NumCol++) if (NumCol != 1 || Gbl.Usrs.Listing.WithPhotos) // Skip photo column if I don't want this column - HTM_TH (1,1,ClassHeader,FieldNames[NumCol]); - - Str_FreeStrings (); + HTM_TH (1,1,FieldNames[NumCol],"LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme]); HTM_TR_End (); @@ -6437,10 +6409,10 @@ void Usr_ShowTableCellWithUsrData (struct UsrData *UsrDat,unsigned NumRows) /***** Show user's photo *****/ if (NumRows) - HTM_TD_Begin ("rowspan=\"%u\" class=\"LT LINE_BOTTOM COLOR%u\"", - NumRows + 1,Gbl.RowEvenOdd); + HTM_TD_Begin ("rowspan=\"%u\" class=\"LT LINE_BOTTOM %s\"", + NumRows + 1,Gbl.ColorRows[Gbl.RowEvenOdd]); else - HTM_TD_Begin ("class=\"LT LINE_BOTTOM COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT LINE_BOTTOM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); Pho_ShowUsrPhotoIfAllowed (UsrDat, ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM, false); @@ -6449,10 +6421,10 @@ void Usr_ShowTableCellWithUsrData (struct UsrData *UsrDat,unsigned NumRows) /***** User's IDs and name *****/ /* Begin cell */ if (NumRows) - HTM_TD_Begin ("rowspan=\"%u\" class=\"LT LINE_BOTTOM COLOR%u\"", - NumRows + 1,Gbl.RowEvenOdd); + HTM_TD_Begin ("rowspan=\"%u\" class=\"LT LINE_BOTTOM %s\"", + NumRows + 1,Gbl.ColorRows[Gbl.RowEvenOdd]); else - HTM_TD_Begin ("class=\"LT LINE_BOTTOM COLOR%u\"",Gbl.RowEvenOdd); + HTM_TD_Begin ("class=\"LT LINE_BOTTOM %s\"",Gbl.ColorRows[Gbl.RowEvenOdd]); /* Action to go to user's record depending on role in course */ if (!NextAction[UsrDat->Roles.InCurrentCrs])