mirror of https://github.com/acanas/swad-core.git
Version 21.71: Dec 20, 2021 Working on design of dark theme.
This commit is contained in:
parent
1ded003286
commit
69b39a13fd
|
@ -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;}
|
||||
|
136
swad_HTML.c
136
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,89 +315,125 @@ void HTM_TR_End (void)
|
|||
/***************************** Table heading cells ***************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void HTM_TH (unsigned RowSpan,unsigned ColSpan,const char *Class,const char *Txt)
|
||||
void HTM_TH (unsigned RowSpan,unsigned ColSpan,const char *Txt,const char *ClassFmt,...)
|
||||
{
|
||||
HTM_TH_Begin (RowSpan,ColSpan,Class);
|
||||
if (Txt)
|
||||
if (Txt[0])
|
||||
HTM_Txt (Txt);
|
||||
HTM_TH_End ();
|
||||
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 ();
|
||||
}
|
||||
|
||||
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);
|
||||
if (Attr)
|
||||
HTM_TxtF ("<th rowspan=\"%u\" colspan=\"%u\" class=\"%s\">",
|
||||
RowSpan,ColSpan,Attr);
|
||||
else
|
||||
HTM_TH_BeginAttr ("rowspan=\"%u\" colspan=\"%u\"",
|
||||
HTM_TxtF ("<th rowspan=\"%u\" colspan=\"%u\">",
|
||||
RowSpan,ColSpan);
|
||||
}
|
||||
else if (RowSpan > 1)
|
||||
{
|
||||
if (Class)
|
||||
HTM_TH_BeginAttr ("rowspan=\"%u\" class=\"%s\"",
|
||||
RowSpan,Class);
|
||||
if (Attr)
|
||||
HTM_TxtF ("<th rowspan=\"%u\" class=\"%s\">",
|
||||
RowSpan,Attr);
|
||||
else
|
||||
HTM_TH_BeginAttr ("rowspan=\"%u\"",
|
||||
HTM_TxtF ("<th rowspan=\"%u\">",
|
||||
RowSpan);
|
||||
}
|
||||
else if (ColSpan > 1)
|
||||
{
|
||||
if (Class)
|
||||
HTM_TH_BeginAttr ("colspan=\"%u\" class=\"%s\"",
|
||||
ColSpan,Class);
|
||||
if (Attr)
|
||||
HTM_TxtF ("<th colspan=\"%u\" class=\"%s\">",
|
||||
ColSpan,Attr);
|
||||
else
|
||||
HTM_TH_BeginAttr ("colspan=\"%u\"",
|
||||
HTM_TxtF ("<th colspan=\"%u\">",
|
||||
ColSpan);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Class)
|
||||
HTM_TH_BeginAttr ("class=\"%s\"",
|
||||
Class);
|
||||
if (Attr)
|
||||
HTM_TxtF ("<th class=\"%s\">",
|
||||
Attr);
|
||||
else
|
||||
HTM_TH_BeginWithoutAttr ();
|
||||
}
|
||||
HTM_Txt ("<th>");
|
||||
}
|
||||
|
||||
static void HTM_TH_BeginAttr (const char *fmt,...)
|
||||
if (ClassFmt)
|
||||
if (ClassFmt[0])
|
||||
free (Attr);
|
||||
|
||||
HTM_Txt (Txt);
|
||||
HTM_Txt ("</th>");
|
||||
}
|
||||
|
||||
void HTM_TH_Begin (unsigned RowSpan,unsigned ColSpan,const char *ClassFmt,...)
|
||||
{
|
||||
va_list ap;
|
||||
int NumBytesPrinted;
|
||||
char *Attr;
|
||||
char *Attr = NULL;
|
||||
|
||||
if (fmt)
|
||||
if (ClassFmt)
|
||||
if (ClassFmt[0])
|
||||
{
|
||||
if (fmt[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 ("<th %s>",Attr);
|
||||
if (RowSpan > 1 && ColSpan > 1)
|
||||
{
|
||||
if (Attr)
|
||||
HTM_TxtF ("<th rowspan=\"%u\" colspan=\"%u\" class=\"%s\">",
|
||||
RowSpan,ColSpan,Attr);
|
||||
else
|
||||
HTM_TxtF ("<th rowspan=\"%u\" colspan=\"%u\">",
|
||||
RowSpan,ColSpan);
|
||||
}
|
||||
else if (RowSpan > 1)
|
||||
{
|
||||
if (Attr)
|
||||
HTM_TxtF ("<th rowspan=\"%u\" class=\"%s\">",
|
||||
RowSpan,Attr);
|
||||
else
|
||||
HTM_TxtF ("<th rowspan=\"%u\">",
|
||||
RowSpan);
|
||||
}
|
||||
else if (ColSpan > 1)
|
||||
{
|
||||
if (Attr)
|
||||
HTM_TxtF ("<th colspan=\"%u\" class=\"%s\">",
|
||||
ColSpan,Attr);
|
||||
else
|
||||
HTM_TxtF ("<th colspan=\"%u\">",
|
||||
ColSpan);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Attr)
|
||||
HTM_TxtF ("<th class=\"%s\">",
|
||||
Attr);
|
||||
else
|
||||
HTM_Txt ("<th>");
|
||||
}
|
||||
|
||||
if (ClassFmt)
|
||||
if (ClassFmt[0])
|
||||
free (Attr);
|
||||
}
|
||||
else
|
||||
HTM_TH_BeginWithoutAttr ();
|
||||
}
|
||||
else
|
||||
HTM_TH_BeginWithoutAttr ();
|
||||
|
||||
HTM_TH_NestingLevel++;
|
||||
}
|
||||
|
||||
static void HTM_TH_BeginWithoutAttr (void)
|
||||
{
|
||||
HTM_Txt ("<th>");
|
||||
}
|
||||
|
||||
void HTM_TH_End (void)
|
||||
{
|
||||
if (HTM_TH_NestingLevel == 0) // No TH open
|
||||
|
@ -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 ("<th></th>");
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -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 ();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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,8 +863,9 @@ 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] :
|
||||
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,
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 ();
|
||||
|
|
|
@ -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 *****/
|
||||
|
|
|
@ -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 ();
|
||||
}
|
||||
|
|
|
@ -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 ();
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 *****/
|
||||
|
|
|
@ -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 ();
|
||||
|
||||
|
|
|
@ -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 ();
|
||||
}
|
||||
|
|
|
@ -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_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,14 +2309,14 @@ 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 ();
|
||||
|
||||
|
@ -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 ();
|
||||
|
||||
|
|
|
@ -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,11 +633,11 @@ 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 ();
|
||||
|
@ -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_TH_End ();
|
||||
HTM_TH (1,1,"LM",Txt_Requester);
|
||||
HTM_TH (1,1,Txt_Requester ,"LM");
|
||||
HTM_TH_Empty (1);
|
||||
|
||||
HTM_TR_End ();
|
||||
|
|
|
@ -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 ();
|
||||
}
|
||||
|
|
|
@ -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 ();
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 ();
|
||||
|
||||
|
|
21
swad_exam.c
21
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
|
||||
|
|
|
@ -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 ();
|
||||
|
|
|
@ -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 ();
|
||||
|
|
|
@ -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","{<em>p<sub>i</sub></em>=1}");
|
||||
HTM_TH (1,1,"RT LINE_BOTTOM","{-1≤<em>p<sub>i</sub></em><0}");
|
||||
HTM_TH (1,1,"RT LINE_BOTTOM","{<em>p<sub>i</sub></em>=0}");
|
||||
HTM_TH (1,1,"RT LINE_BOTTOM","{0<<em>p<sub>i</sub></em><1}");
|
||||
HTM_TH (1,1,"RT LINE_BOTTOM","{<em>p<sub>i</sub></em>=0}");
|
||||
HTM_TH (1,1,"RT LINE_BOTTOM LINE_LEFT","<em>Σp<sub>i</sub></em>");
|
||||
HTM_TH (1,1,"RT LINE_BOTTOM","-1≤<em style=\"text-decoration:overline;\">p</em>≤1");
|
||||
HTM_TH (1,1,"{<em>p<sub>i</sub></em>=1}" ,"RT LINE_BOTTOM LINE_LEFT");
|
||||
HTM_TH (1,1,"{-1≤<em>p<sub>i</sub></em><0}","RT LINE_BOTTOM");
|
||||
HTM_TH (1,1,"{<em>p<sub>i</sub></em>=0}" ,"RT LINE_BOTTOM");
|
||||
HTM_TH (1,1,"{0<<em>p<sub>i</sub></em><1}" ,"RT LINE_BOTTOM");
|
||||
HTM_TH (1,1,"{<em>p<sub>i</sub></em>=0}" ,"RT LINE_BOTTOM");
|
||||
HTM_TH (1,1,"<em>Σp<sub>i</sub></em>" ,"RT LINE_BOTTOM LINE_LEFT");
|
||||
HTM_TH (1,1,"-1≤"
|
||||
"<em style=\"text-decoration:overline;\">p</em>"
|
||||
"≤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],
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 */
|
||||
|
|
236
swad_figure.c
236
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,8 +1223,8 @@ 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;
|
||||
|
@ -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... *****/
|
||||
|
|
|
@ -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,7 +714,8 @@ 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);
|
||||
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 */
|
||||
|
|
14
swad_forum.c
14
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 ();
|
||||
|
||||
|
|
29
swad_game.c
29
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 ();
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
34
swad_group.c
34
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);
|
||||
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);
|
||||
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 ();
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 ();
|
||||
}
|
||||
|
||||
|
|
311
swad_indicator.c
311
swad_indicator.c
|
@ -449,13 +449,12 @@ 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);
|
||||
|
||||
HTM_TH (1,1,Txt_Indicators,"RM");
|
||||
HTM_TH (1,2,Txt_Courses ,"RM");
|
||||
HTM_TR_End ();
|
||||
|
||||
for (Ind = 0;
|
||||
|
@ -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 ();
|
||||
|
||||
|
|
|
@ -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 ();
|
||||
|
|
12
swad_link.c
12
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 ();
|
||||
}
|
||||
|
||||
|
|
16
swad_log.c
16
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;
|
||||
|
|
14
swad_mail.c
14
swad_mail.c
|
@ -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 ();
|
||||
}
|
||||
|
||||
|
|
16
swad_mark.c
16
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 ();
|
||||
|
|
37
swad_match.c
37
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);
|
||||
|
|
|
@ -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≤<em>p<sub>i</sub></em>≤1}");
|
||||
HTM_TH (1,1,"RT LINE_BOTTOM","{<em>p<sub>i</sub></em>=0}");
|
||||
HTM_TH (1,1,"RT LINE_BOTTOM LINE_LEFT","<em>Σp<sub>i</sub></em>");
|
||||
HTM_TH (1,1,"RT LINE_BOTTOM","-1≤<em style=\"text-decoration:overline;\">p</em>≤1");
|
||||
|
||||
HTM_TH (1,1,"{-1≤<em>p<sub>i</sub></em>≤1}" ,"RT LINE_BOTTOM LINE_LEFT");
|
||||
HTM_TH (1,1,"{<em>p<sub>i</sub></em>=0}" ,"RT LINE_BOTTOM");
|
||||
HTM_TH (1,1,"<em>Σp<sub>i</sub></em>" ,"RT LINE_BOTTOM LINE_LEFT");
|
||||
HTM_TH (1,1,"-1≤"
|
||||
"<em style=\"text-decoration:overline;\">p</em>"
|
||||
"≤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 *****/
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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... *****/
|
||||
|
|
|
@ -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
|
||||
|
|
21
swad_photo.c
21
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);
|
||||
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,"CT",Txt_SEX_PLURAL_Abc[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,
|
||||
|
|
10
swad_place.c
10
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 ();
|
||||
}
|
||||
|
||||
|
|
|
@ -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 ();
|
||||
}
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 ();
|
||||
|
|
133
swad_project.c
133
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)
|
||||
{
|
||||
|
|
100
swad_question.c
100
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 ? "" :
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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\""
|
||||
|
|
18
swad_room.c
18
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 ();
|
||||
}
|
||||
|
||||
|
|
|
@ -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]);
|
||||
|
|
127
swad_statistic.c
127
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 *****/
|
||||
|
|
|
@ -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 ();
|
||||
|
|
|
@ -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 :
|
||||
|
|
|
@ -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≤<em>p<sub>i</sub></em>≤1}");
|
||||
HTM_TH (1,1,"RT LINE_BOTTOM","{<em>p<sub>i</sub></em>=0}");
|
||||
HTM_TH (1,1,"RT LINE_BOTTOM LINE_LEFT","<em>Σp<sub>i</sub></em>");
|
||||
HTM_TH (1,1,"RT LINE_BOTTOM","-1≤<em style=\"text-decoration:overline;\">p</em>≤1");
|
||||
|
||||
HTM_TH (1,1,"{-1≤<em>p<sub>i</sub></em>≤1}","RT LINE_BOTTOM LINE_LEFT");
|
||||
HTM_TH (1,1,"{<em>p<sub>i</sub></em>=0}" ,"RT LINE_BOTTOM");
|
||||
HTM_TH (1,1,"<em>Σp<sub>i</sub></em>" ,"RT LINE_BOTTOM LINE_LEFT");
|
||||
HTM_TH (1,1,"-1≤"
|
||||
"<em style=\"text-decoration:overline;\">p</em>"
|
||||
"≤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 *****/
|
||||
|
|
32
swad_theme.c
32
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
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
104
swad_user.c
104
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])
|
||||
|
|
Loading…
Reference in New Issue