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])