Version 21.86: Mar 25, 2022 Working on design of dark theme.

This commit is contained in:
acanas 2022-03-25 00:48:40 +01:00
parent 274b5572e8
commit 693552ae01
22 changed files with 393 additions and 463 deletions

View File

@ -1694,10 +1694,8 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
struct Att_Event *Event)
{
extern const char *The_ClassDat[The_NUM_THEMES];
extern const char *The_ClassDatStrong[The_NUM_THEMES];
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
extern const char *The_ClassInput[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
static const char *ClassPhoto[PhoSha_NUM_SHAPES] =
{
[PhoSha_SHAPE_CIRCLE ] = "PHOTOC45x60",
@ -1764,9 +1762,10 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
HTM_TD_End ();
/***** Write number of student in the list *****/
HTM_TD_Begin ("class=\"%s RT %s\"",
UsrDat->Accepted ? The_ClassDatStrong[Gbl.Prefs.Theme] :
The_ClassDat[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"RT %s_%s %s\"",
UsrDat->Accepted ? "DAT_STRONG" :
"DAT",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Unsigned (NumUsr);
HTM_TD_End ();
@ -1782,17 +1781,19 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
}
/***** Write user's ID ******/
HTM_TD_Begin ("class=\"%s %s LT\"",
UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"LT %s_%s %s\"",
UsrDat->Accepted ? "DAT_SMALL_STRONG" :
"DAT_SMALL",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
ID_WriteUsrIDs (UsrDat,NULL);
HTM_TD_End ();
/***** Write student's name *****/
HTM_TD_Begin ("class=\"%s LT %s\"",
UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"LT %s_%s %s\"",
UsrDat->Accepted ? "DAT_SMALL_STRONG" :
"DAT_SMALL",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Txt (UsrDat->Surname1);
if (UsrDat->Surname2[0])
@ -1801,9 +1802,10 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
HTM_TD_End ();
/***** Student's comment: write form or text */
HTM_TD_Begin ("class=\"%s LT %s\"",
UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"LT %s_%s %s\"",
UsrDat->Accepted ? "DAT_SMALL_STRONG" :
"DAT_SMALL",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (ICanEditStdComment) // Show with form
{
@ -1823,9 +1825,10 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr,
HTM_TD_End ();
/***** Teacher's comment: write form, text or nothing */
HTM_TD_Begin ("class=\"%s LT %s\"",
UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"LT %s_%s %s\"",
UsrDat->Accepted ? "DAT_SMALL_STRONG" :
"DAT_SMALL",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (ICanEditTchComment) // Show with form
{
@ -2959,8 +2962,7 @@ static void Att_WriteRowUsrSeveralAttEvents (const struct Att_Events *Events,
{
extern const char *The_ClassDat[The_NUM_THEMES];
extern const char *The_ClassDatStrong[The_NUM_THEMES];
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
static const char *ClassPhoto[PhoSha_NUM_SHAPES] =
{
[PhoSha_SHAPE_CIRCLE ] = "PHOTOC21x28",
@ -2993,17 +2995,19 @@ static void Att_WriteRowUsrSeveralAttEvents (const struct Att_Events *Events,
}
/***** Write user's ID ******/
HTM_TD_Begin ("class=\"%s LM %s\"",
UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"LM %s_%s %s\"",
UsrDat->Accepted ? "DAT_SMALL_STRONG" :
"DAT_SMALL",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
ID_WriteUsrIDs (UsrDat,NULL);
HTM_TD_End ();
/***** Write user's name *****/
HTM_TD_Begin ("class=\"%s LM %s\"",
UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"LM %s_%s %s\"",
UsrDat->Accepted ? "DAT_SMALL_STRONG" :
"DAT_SMALL",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Txt (UsrDat->Surname1);
if (UsrDat->Surname2[0])
@ -3127,8 +3131,6 @@ static void Att_ListAttEventsForAStd (const struct Att_Events *Events,
{
extern const char *The_ClassDat[The_NUM_THEMES];
extern const char *The_ClassDatStrong[The_NUM_THEMES];
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_Student_comment;
extern const char *Txt_Teachers_comment;
@ -3173,16 +3175,18 @@ static void Att_ListAttEventsForAStd (const struct Att_Events *Events,
HTM_TR_Begin (NULL);
/***** Write user's ID ******/
HTM_TD_Begin ("class=\"%s LM\"",
UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
The_ClassDatSmall[Gbl.Prefs.Theme]);
HTM_TD_Begin ("class=\"LM %s_%s\"",
UsrDat->Accepted ? "DAT_SMALL_STRONG" :
"DAT_SMALL",
The_Colors[Gbl.Prefs.Theme]);
ID_WriteUsrIDs (UsrDat,NULL);
HTM_TD_End ();
/***** Write student's name *****/
HTM_TD_Begin ("class=\"%s LM\"",
UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
The_ClassDatSmall[Gbl.Prefs.Theme]);
HTM_TD_Begin ("class=\"LM %s_%s\"",
UsrDat->Accepted ? "DAT_SMALL_STRONG" :
"DAT_SMALL",
The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (UsrDat->Surname1);
if (UsrDat->Surname2[0])
HTM_TxtF (" %s",UsrDat->Surname2);

View File

@ -606,10 +606,11 @@ TODO: Fix bug: error al enviar un mensaje a dos recipientes, error on duplicate
TODO: Attach pdf files in multimedia.
*/
#define Log_PLATFORM_VERSION "SWAD 21.85.1 (2022-03-23)"
#define Log_PLATFORM_VERSION "SWAD 21.86 (2022-03-25)"
#define CSS_FILE "swad21.85.1.css"
#define JS_FILE "swad21.78.2.js"
/*
Version 21.86: Mar 25, 2022 Working on design of dark theme. (323663 lines)
Version 21.85.1: Mar 24, 2022 Working on design of dark theme. (323724 lines)
Version 21.85: Mar 24, 2022 Working on design of dark theme. (323634 lines)
Version 21.84: Mar 19, 2022 Code refactoring on row colors. (323626 lines)

View File

@ -214,11 +214,7 @@ static void ExaLog_LogUsrAgent (long LogCod,long PrnCod)
void ExaLog_ShowExamLog (const struct ExaPrn_Print *Print)
{
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_ClassDatSmallLight[The_NUM_THEMES];
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
extern const char *The_ClassDatSmallGreen[The_NUM_THEMES];
extern const char *The_ClassDatSmallRed[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_Hits;
extern const char *Txt_Click;
extern const char *Txt_Date_and_time;
@ -247,11 +243,11 @@ void ExaLog_ShowExamLog (const struct ExaPrn_Print *Print)
char *UserAgent;
const char *Class[ExaLog_NUM_ACTIONS] =
{
[ExaLog_UNKNOWN_ACTION ] = The_ClassDatSmallLight[Gbl.Prefs.Theme],
[ExaLog_START_EXAM ] = The_ClassDatSmallStrong[Gbl.Prefs.Theme],
[ExaLog_RESUME_EXAM ] = The_ClassDatSmallStrong[Gbl.Prefs.Theme],
[ExaLog_ANSWER_QUESTION] = The_ClassDatSmall[Gbl.Prefs.Theme],
[ExaLog_FINISH_EXAM ] = The_ClassDatSmallStrong[Gbl.Prefs.Theme],
[ExaLog_UNKNOWN_ACTION ] = "DAT_SMALL_LIGHT",
[ExaLog_START_EXAM ] = "DAT_SMALL_STRONG",
[ExaLog_RESUME_EXAM ] = "DAT_SMALL_STRONG",
[ExaLog_ANSWER_QUESTION] = "DAT_SMALL",
[ExaLog_FINISH_EXAM ] = "DAT_SMALL_STRONG",
};
/***** Get print log from database *****/
@ -322,9 +318,10 @@ void ExaLog_ShowExamLog (const struct ExaPrn_Print *Print)
HTM_TR_Begin (NULL);
/* Write number of click */
HTM_TD_Begin ("class=\"%s %s RT\"",
UsrCouldAnswer ? The_ClassDatSmall[Gbl.Prefs.Theme] :
The_ClassDatSmallLight[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"RT %s_%s %s\"",
UsrCouldAnswer ? "DAT_SMALL" :
"DAT_SMALL_LIGHT",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Unsigned (NumClick + 1);
HTM_TD_End ();
@ -332,9 +329,9 @@ void ExaLog_ShowExamLog (const struct ExaPrn_Print *Print)
/* Write click time */
if (asprintf (&Id,"click_date_%u",NumClick) < 0)
Err_NotEnoughMemoryExit ();
HTM_TD_Begin ("id=\"%s\" class=\"%s %s LT\"",
HTM_TD_Begin ("id=\"%s\" class=\"LT %s_%s %s\"",
Id,
Class[Action],
Class[Action],The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
Dat_WriteLocalDateHMSFromUTC (Id,ClickTimeUTC,
Gbl.Prefs.DateFormat,Dat_SEPARATOR_COMMA,
@ -343,30 +340,34 @@ void ExaLog_ShowExamLog (const struct ExaPrn_Print *Print)
HTM_TD_End ();
/* Write action */
HTM_TD_Begin ("class=\"%s %s LT\"",
Class[Action],The_GetColorRows ());
HTM_TD_Begin ("class=\"LT %s_%s %s\"",
Class[Action],The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Txt (Txt_EXAM_LOG_ACTIONS[Action]);
HTM_TD_End ();
/* Write number of question */
HTM_TD_Begin ("class=\"%s %s RT\"",
Class[Action],The_GetColorRows ());
HTM_TD_Begin ("class=\"RT %s_%s %s\"",
Class[Action],The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
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=\"%s %s CT\"",
UsrCouldAnswer ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CT %s_%s %s\"",
UsrCouldAnswer ? "DAT_SMALL_GREEN" :
"DAT_SMALL_RED",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Txt (UsrCouldAnswer ? "&check;" :
"&cross;");
HTM_TD_End ();
/* Write IP */
HTM_TD_Begin ("class=\"%s %s LT\"",
Class[Action],The_GetColorRows ());
HTM_TD_Begin ("class=\"LT %s_%s %s\"",
Class[Action],The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
Length = strlen (IP);
if (Length > 6)
{
@ -384,8 +385,9 @@ void ExaLog_ShowExamLog (const struct ExaPrn_Print *Print)
HTM_TD_End ();
/* Write session id */
HTM_TD_Begin ("class=\"%s %s LT\"",
Class[Action],The_GetColorRows ());
HTM_TD_Begin ("class=\"LT %s_%s %s\"",
Class[Action],The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (SessionId[0])
{
Length = strlen (SessionId);
@ -406,8 +408,9 @@ void ExaLog_ShowExamLog (const struct ExaPrn_Print *Print)
HTM_TD_End ();
/* Write user agent (row[6]) */
HTM_TD_Begin ("class=\"%s %s LT\"",
Class[Action],The_GetColorRows ());
HTM_TD_Begin ("class=\"LT %s_%s %s\"",
Class[Action],The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (UserAgent[0])
HTM_Txt (UserAgent);
HTM_TD_End ();

View File

@ -629,7 +629,7 @@ static void ExaPrn_ShowExamPrintToFillIt (struct Exa_Exams *Exams,
static void ExaPrn_GetAndWriteDescription (long ExaCod)
{
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
char Txt[Cns_MAX_BYTES_TEXT + 1];
/***** Get description from database *****/
@ -639,8 +639,8 @@ static void ExaPrn_GetAndWriteDescription (long ExaCod)
ALn_InsertLinks (Txt,Cns_MAX_BYTES_TEXT,60); // Insert links
/***** Write description *****/
HTM_DIV_Begin ("class=\"EXA_PRN_DESC %s\"",
The_ClassDatSmall[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"EXA_PRN_DESC DAT_SMALL_%s\"",
The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Txt);
HTM_DIV_End ();
}

View File

@ -661,7 +661,7 @@ void Hie_ResetHierarchy (void)
void Hie_GetAndWriteInsCtrDegAdminBy (long UsrCod,unsigned ColSpan)
{
extern const char *The_ClassDatSmallNoBR[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_all_degrees;
MYSQL_RES *mysql_res;
MYSQL_ROW row;
@ -687,9 +687,9 @@ void Hie_GetAndWriteInsCtrDegAdminBy (long UsrCod,unsigned ColSpan)
HTM_TD_End ();
/***** Write institution, center, degree *****/
HTM_TD_Begin ("colspan=\"%u\" class=\"%s %s LT\"",
HTM_TD_Begin ("colspan=\"%u\" class=\"LT DAT_SMALL_NOBR_%s %s\"",
ColSpan - 1,
The_ClassDatSmallNoBR[Gbl.Prefs.Theme],
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
/* Get next institution, center, degree */

View File

@ -537,9 +537,7 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I
Ind_IndicatorsLayout_t IndicatorsLayout,
unsigned NumCrss,MYSQL_RES *mysql_res)
{
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_ClassDatSmallGreen[The_NUM_THEMES];
extern const char *The_ClassDatSmallRed[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_Degree;
extern const char *Txt_Course;
extern const char *Txt_Institutional_BR_code;
@ -710,32 +708,35 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I
case Ind_INDICATORS_BRIEF:
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"%s %s LM\"",
IndicatorsCrs.CourseAllOK ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
(IndicatorsCrs.CoursePartiallyOK ? The_ClassDatSmall[Gbl.Prefs.Theme] :
The_ClassDatSmallRed[Gbl.Prefs.Theme]),
HTM_TD_Begin ("class=\"LM %s_%s %s\"",
IndicatorsCrs.CourseAllOK ? "DAT_SMALL_GREEN" :
(IndicatorsCrs.CoursePartiallyOK ? "DAT_SMALL" :
"DAT_SMALL_RED"),
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Txt (row[0]);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s LM\"",
IndicatorsCrs.CourseAllOK ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
(IndicatorsCrs.CoursePartiallyOK ? The_ClassDatSmall[Gbl.Prefs.Theme] :
The_ClassDatSmallRed[Gbl.Prefs.Theme]),
HTM_TD_Begin ("class=\"LM %s_%s %s\"",
IndicatorsCrs.CourseAllOK ? "DAT_SMALL_GREEN" :
(IndicatorsCrs.CoursePartiallyOK ? "DAT_SMALL" :
"DAT_SMALL_RED"),
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Txt (row[1]);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s LM\"",
IndicatorsCrs.CourseAllOK ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
(IndicatorsCrs.CoursePartiallyOK ? The_ClassDatSmall[Gbl.Prefs.Theme] :
The_ClassDatSmallRed[Gbl.Prefs.Theme]),
HTM_TD_Begin ("class=\"LM %s_%s %s\"",
IndicatorsCrs.CourseAllOK ? "DAT_SMALL_GREEN" :
(IndicatorsCrs.CoursePartiallyOK ? "DAT_SMALL" :
"DAT_SMALL_RED"),
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Txt (row[3]);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s LM\"",
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"LM DAT_SMALL_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_A_Begin ("href=\"%s/?crs=%ld&amp;act=%ld\" target=\"_blank\"",
Cfg_URL_SWAD_CGI,CrsCod,ActCod);
@ -744,79 +745,80 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I
HTM_A_End ();
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s RM\"",
IndicatorsCrs.CourseAllOK ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
(IndicatorsCrs.CoursePartiallyOK ? The_ClassDatSmall[Gbl.Prefs.Theme] :
The_ClassDatSmallRed[Gbl.Prefs.Theme]),
HTM_TD_Begin ("class=\"RM %s_%s %s\"",
IndicatorsCrs.CourseAllOK ? "DAT_SMALL_GREEN" :
(IndicatorsCrs.CoursePartiallyOK ? "DAT_SMALL" :
"DAT_SMALL_RED"),
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Unsigned (IndicatorsCrs.NumIndicators);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s CM\"",
The_ClassDatSmallGreen[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CM DAT_SMALL_GREEN_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (IndicatorsCrs.ThereIsSyllabus)
HTM_Txt (Txt_YES);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s CM\"",
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CM DAT_SMALL_RED_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (!IndicatorsCrs.ThereIsSyllabus)
HTM_Txt (Txt_NO);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s CM\"",
The_ClassDatSmallGreen[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CM DAT_SMALL_GREEN_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (IndicatorsCrs.ThereAreAssignments)
HTM_Txt (Txt_YES);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s CM\"",
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CM DAT_SMALL_RED_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (!IndicatorsCrs.ThereAreAssignments)
HTM_Txt (Txt_NO);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s CM\"",
The_ClassDatSmallGreen[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CM DAT_SMALL_GREEN_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (IndicatorsCrs.ThereIsOnlineTutoring)
HTM_Txt (Txt_YES);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s CM\"",
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CM DAT_SMALL_RED_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (!IndicatorsCrs.ThereIsOnlineTutoring)
HTM_Txt (Txt_NO);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s CM\"",
The_ClassDatSmallGreen[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CM DAT_SMALL_GREEN_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (IndicatorsCrs.ThereAreMaterials)
HTM_Txt (Txt_YES);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s CM\"",
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CM DAT_SMALL_RED_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (!IndicatorsCrs.ThereAreMaterials)
HTM_Txt (Txt_NO);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s CM\"",
The_ClassDatSmallGreen[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CM DAT_SMALL_GREEN_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (IndicatorsCrs.ThereIsAssessment)
HTM_Txt (Txt_YES);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s CM\"",
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CM DAT_SMALL_RED_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (!IndicatorsCrs.ThereIsAssessment)
HTM_Txt (Txt_NO);
@ -834,32 +836,35 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"%s %s LM\"",
IndicatorsCrs.CourseAllOK ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
(IndicatorsCrs.CoursePartiallyOK ? The_ClassDatSmall[Gbl.Prefs.Theme] :
The_ClassDatSmallRed[Gbl.Prefs.Theme]),
HTM_TD_Begin ("class=\"LM %s_%s %s\"",
IndicatorsCrs.CourseAllOK ? "DAT_SMALL_GREEN" :
(IndicatorsCrs.CoursePartiallyOK ? "DAT_SMALL" :
"DAT_SMALL_RED"),
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Txt (row[0]);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s LM\"",
IndicatorsCrs.CourseAllOK ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
(IndicatorsCrs.CoursePartiallyOK ? The_ClassDatSmall[Gbl.Prefs.Theme] :
The_ClassDatSmallRed[Gbl.Prefs.Theme]),
HTM_TD_Begin ("class=\"LM %s_%s %s\"",
IndicatorsCrs.CourseAllOK ? "DAT_SMALL_GREEN" :
(IndicatorsCrs.CoursePartiallyOK ? "DAT_SMALL" :
"DAT_SMALL_RED"),
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Txt (row[1]);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s LM\"",
IndicatorsCrs.CourseAllOK ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
(IndicatorsCrs.CoursePartiallyOK ? The_ClassDatSmall[Gbl.Prefs.Theme] :
The_ClassDatSmallRed[Gbl.Prefs.Theme]),
HTM_TD_Begin ("class=\"LM %s_%s %s\"",
IndicatorsCrs.CourseAllOK ? "DAT_SMALL_GREEN" :
(IndicatorsCrs.CoursePartiallyOK ? "DAT_SMALL" :
"DAT_SMALL_RED"),
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Txt (row[3]);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s LM\"",
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"LM DAT_SMALL_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_A_Begin ("href=\"%s/?crs=%ld&amp;act=%ld\" target=\"_blank\"",
Cfg_URL_SWAD_CGI,CrsCod,ActCod);
@ -868,185 +873,201 @@ static void Ind_ShowTableOfCoursesWithIndicators (const struct Ind_Indicators *I
HTM_A_End ();
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s RM\"",
NumTchs != 0 ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"RM %s_%s %s\"",
NumTchs != 0 ? "DAT_SMALL_GREEN" :
"DAT_SMALL_RED",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Unsigned (NumTchs);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s RM\"",
NumStds != 0 ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"RM %s_%s %s\"",
NumStds != 0 ? "DAT_SMALL_GREEN" :
"DAT_SMALL_RED",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Unsigned (NumStds);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s RM\"",
IndicatorsCrs.CourseAllOK ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
(IndicatorsCrs.CoursePartiallyOK ? The_ClassDatSmall[Gbl.Prefs.Theme] :
The_ClassDatSmallRed[Gbl.Prefs.Theme]),
HTM_TD_Begin ("class=\"RM %s_%s %s\"",
IndicatorsCrs.CourseAllOK ? "DAT_SMALL_GREEN" :
(IndicatorsCrs.CoursePartiallyOK ? "DAT_SMALL" :
"DAT_SMALL_RED"),
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Unsigned (IndicatorsCrs.NumIndicators);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s CM\"",
The_ClassDatSmallGreen[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CM DAT_SMALL_GREEN_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (IndicatorsCrs.ThereIsSyllabus)
HTM_Txt (Txt_YES);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s CM\"",
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CM DAT_SMALL_RED_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (!IndicatorsCrs.ThereIsSyllabus)
HTM_Txt (Txt_NO);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s LM\"",
(IndicatorsCrs.SyllabusLecSrc != Inf_NONE) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"LM %s_%s %s\"",
(IndicatorsCrs.SyllabusLecSrc != Inf_NONE) ? "DAT_SMALL_GREEN" :
"DAT_SMALL_RED",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Txt (Txt_INFO_SRC_SHORT_TEXT[IndicatorsCrs.SyllabusLecSrc]);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s LM\"",
(IndicatorsCrs.SyllabusPraSrc != Inf_NONE) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"LM %s_%s %s\"",
(IndicatorsCrs.SyllabusPraSrc != Inf_NONE) ? "DAT_SMALL_GREEN" :
"DAT_SMALL_RED",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Txt (Txt_INFO_SRC_SHORT_TEXT[IndicatorsCrs.SyllabusPraSrc]);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s LM\"",
(IndicatorsCrs.TeachingGuideSrc != Inf_NONE) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"LM %s_%s %s\"",
(IndicatorsCrs.TeachingGuideSrc != Inf_NONE) ? "DAT_SMALL_GREEN" :
"DAT_SMAL_RED",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Txt (Txt_INFO_SRC_SHORT_TEXT[IndicatorsCrs.TeachingGuideSrc]);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s CM\"",
The_ClassDatSmallGreen[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CM DAT_SMALL_GREEN_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (IndicatorsCrs.ThereAreAssignments)
HTM_Txt (Txt_YES);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s CM\"",
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CM DAT_SMALL_RED_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (!IndicatorsCrs.ThereAreAssignments)
HTM_Txt (Txt_NO);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s RM\"",
(IndicatorsCrs.NumAssignments != 0) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"RM %s_%s %s\"",
(IndicatorsCrs.NumAssignments != 0) ? "DAT_SMALL_GREEN" :
"DAT_SMALL_RED",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Unsigned (IndicatorsCrs.NumAssignments);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s RM\"",
(IndicatorsCrs.NumFilesAssignments != 0) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"RM %s_%s %s\"",
(IndicatorsCrs.NumFilesAssignments != 0) ? "DAT_SMALL_GREEN" :
"DAT_SMALL_RED",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Unsigned (IndicatorsCrs.NumFilesAssignments);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s RM\"",
(IndicatorsCrs.NumFilesWorks != 0) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"RM %s_%s %s\"",
(IndicatorsCrs.NumFilesWorks != 0) ? "DAT_SMALL_GREEN" :
"DAT_SMALL_RED",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Unsigned (IndicatorsCrs.NumFilesWorks);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s CM\"",
The_ClassDatSmallGreen[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CM DAT_SMALL_GREEN_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (IndicatorsCrs.ThereIsOnlineTutoring)
HTM_Txt (Txt_YES);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s CM\"",
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CM DAT_SMALL_RED_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (!IndicatorsCrs.ThereIsOnlineTutoring)
HTM_Txt (Txt_NO);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s RM\"",
(IndicatorsCrs.NumThreads != 0) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"RM %s_%s %s RM\"",
(IndicatorsCrs.NumThreads != 0) ? "DAT_SMALL_GREEN" :
"DAT_SMALL_RED",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Unsigned (IndicatorsCrs.NumThreads);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s RM\"",
(IndicatorsCrs.NumPosts != 0) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"RM %s_%s %s\"",
(IndicatorsCrs.NumPosts != 0) ? "DAT_SMALL_GREEN" :
"DAT_SMALL_RED",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Unsigned (IndicatorsCrs.NumPosts);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s RM\"",
(IndicatorsCrs.NumMsgsSentByTchs != 0) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"RM %s_%s %s\"",
(IndicatorsCrs.NumMsgsSentByTchs != 0) ? "DAT_SMALL_GREEN" :
"DAT_SMALL_RED",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Unsigned (IndicatorsCrs.NumMsgsSentByTchs);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s CM\"",
The_ClassDatSmallGreen[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CM DAT_SMALL_GREEN_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (IndicatorsCrs.ThereAreMaterials)
HTM_Txt (Txt_YES);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s CM\"",
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CM DAT_SMALL_RED_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (!IndicatorsCrs.ThereAreMaterials)
HTM_Txt (Txt_NO);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s RM\"",
(IndicatorsCrs.NumFilesInDocumentZones != 0) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"RM %s_%s %s\"",
(IndicatorsCrs.NumFilesInDocumentZones != 0) ? "DAT_SMALL_GREEN" :
"DAT_SMALL_RED",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Unsigned (IndicatorsCrs.NumFilesInDocumentZones);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s RM\"",
(IndicatorsCrs.NumFilesInSharedZones != 0) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"RM %s_%s %s\"",
(IndicatorsCrs.NumFilesInSharedZones != 0) ? "DAT_SMALL_GREEN" :
"DAT_SMALL_RED",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Unsigned (IndicatorsCrs.NumFilesInSharedZones);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s CM\"",
The_ClassDatSmallGreen[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CM DAT_SMALL_GREEN_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (IndicatorsCrs.ThereIsAssessment)
HTM_Txt (Txt_YES);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s CM\"",
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CM DAT_SMALL_RED_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (!IndicatorsCrs.ThereIsAssessment)
HTM_Txt (Txt_NO);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s LM\"",
(IndicatorsCrs.AssessmentSrc != Inf_NONE) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"LM %s_%s %s\"",
(IndicatorsCrs.AssessmentSrc != Inf_NONE) ? "DAT_SMALL_GREEN" :
"DAT_SMALL_RED",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Txt (Txt_INFO_SRC_SHORT_TEXT[IndicatorsCrs.AssessmentSrc]);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s %s LM\"",
(IndicatorsCrs.TeachingGuideSrc != Inf_NONE) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
The_ClassDatSmallRed[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"LM %s_%s %s\"",
(IndicatorsCrs.TeachingGuideSrc != Inf_NONE) ? "DAT_SMALL_GREEN" :
"DAT_SMALL_RED",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Txt (Txt_INFO_SRC_SHORT_TEXT[IndicatorsCrs.TeachingGuideSrc]);
HTM_TD_End ();

View File

@ -159,11 +159,7 @@ void Log_ShowLastClicks (void)
void Log_GetAndShowLastClicks (void)
{
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_ClassDatSmallBlue[The_NUM_THEMES];
extern const char *The_ClassDatSmallGreen[The_NUM_THEMES];
extern const char *The_ClassDatSmallRed[The_NUM_THEMES];
extern const char *The_ClassDatSmallYellow[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_Click;
extern const char *Txt_ELAPSED_TIME;
extern const char *Txt_Role;
@ -212,12 +208,12 @@ void Log_GetAndShowLastClicks (void)
Action = Act_GetActionFromActCod (ActCod);
/* Use a special color for this row depending on the action */
ClassRow = (Act_GetBrowserTab (Action) == Act_DOWNLD_FILE) ? The_ClassDatSmallYellow[Gbl.Prefs.Theme] :
ClassRow = (Act_GetBrowserTab (Action) == Act_DOWNLD_FILE) ? "DAT_SMALL_YELLOW" :
(ActCod == Act_GetActCod (ActLogIn ) ||
ActCod == Act_GetActCod (ActLogInNew)) ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
(ActCod == Act_GetActCod (ActLogOut )) ? The_ClassDatSmallRed[Gbl.Prefs.Theme] :
(ActCod == Act_GetActCod (ActWebSvc )) ? The_ClassDatSmallBlue[Gbl.Prefs.Theme] :
The_ClassDatSmall[Gbl.Prefs.Theme];
ActCod == Act_GetActCod (ActLogInNew)) ? "DAT_SMALL_GREEN" :
(ActCod == Act_GetActCod (ActLogOut )) ? "DAT_SMALL_RED" :
(ActCod == Act_GetActCod (ActWebSvc )) ? "DAT_SMALL_BLUE" :
"DAT_SMALL";
/* Compute elapsed time from last access */
if (sscanf (row[2],"%ld",&TimeDiff) != 1)
@ -241,36 +237,44 @@ void Log_GetAndShowLastClicks (void)
/* Print table row */
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"LC_CLK %s\"",ClassRow);
HTM_Txt (row[0]); // Click
HTM_TD_Begin ("class=\"LC_CLK %s_%s\"",
ClassRow,The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (row[0]); // Click
HTM_TD_End ();
HTM_TD_Begin ("class=\"LC_TIM %s\"",ClassRow); // Elapsed time
Dat_WriteHoursMinutesSecondsFromSeconds (TimeDiff);
HTM_TD_Begin ("class=\"LC_TIM %s_%s\"",
ClassRow,The_Colors[Gbl.Prefs.Theme]);
Dat_WriteHoursMinutesSecondsFromSeconds (TimeDiff); // Elapsed time
HTM_TD_End ();
HTM_TD_Begin ("class=\"LC_ROL %s\"",ClassRow);
HTM_TD_Begin ("class=\"LC_ROL %s_%s\"",
ClassRow,The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Txt_ROLES_SINGUL_Abc[Rol_ConvertUnsignedStrToRole (row[3])][Usr_SEX_UNKNOWN]); // Role
HTM_TD_End ();
HTM_TD_Begin ("class=\"LC_CTY %s\"",ClassRow);
HTM_Txt (Hie.Cty.Name[Gbl.Prefs.Language]); // Country
HTM_TD_Begin ("class=\"LC_CTY %s_%s\"",
ClassRow,The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Hie.Cty.Name[Gbl.Prefs.Language]); // Country
HTM_TD_End ();
HTM_TD_Begin ("class=\"LC_INS %s\"",ClassRow);
HTM_Txt (Hie.Ins.ShrtName); // Institution
HTM_TD_Begin ("class=\"LC_INS %s_%s\"",
ClassRow,The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Hie.Ins.ShrtName); // Institution
HTM_TD_End ();
HTM_TD_Begin ("class=\"LC_CTR %s\"",ClassRow);
HTM_Txt (Hie.Ctr.ShrtName); // Center
HTM_TD_Begin ("class=\"LC_CTR %s_%s\"",
ClassRow,The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Hie.Ctr.ShrtName); // Center
HTM_TD_End ();
HTM_TD_Begin ("class=\"LC_DEG %s\"",ClassRow);
HTM_Txt (Hie.Deg.ShrtName); // Degree
HTM_TD_Begin ("class=\"LC_DEG %s_%s\"",
ClassRow,The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Hie.Deg.ShrtName); // Degree
HTM_TD_End ();
HTM_TD_Begin ("class=\"LC_ACT %s\"",ClassRow);
HTM_Txt (Act_GetActionText (Action)); // Action
HTM_TD_Begin ("class=\"LC_ACT %s_%s\"",
ClassRow,The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Act_GetActionText (Action)); // Action
HTM_TD_End ();
HTM_TR_End ();

View File

@ -802,9 +802,9 @@ void Mai_GetSelUsrsAndListEmails (void)
static void Mai_ListEmails (__attribute__((unused)) void *Args)
{
extern const char *Hlp_COMMUNICATION_Email;
extern const char *The_Colors[The_NUM_THEMES];
extern const char *The_ClassFormOutBoxBold[The_NUM_THEMES];
extern const char *The_ClassDat[The_NUM_THEMES];
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *Txt_Email_addresses;
extern const char *Txt_X_users_who_have_email;
extern const char *Txt_X_users_who_have_accepted_and_who_have_email;
@ -822,7 +822,7 @@ static void Mai_ListEmails (__attribute__((unused)) void *Args)
Hlp_COMMUNICATION_Email,Box_NOT_CLOSABLE);
/***** Begin list with users' email addresses *****/
HTM_DIV_Begin ("class=\"%s CM\"",The_ClassDatSmall[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"CM DAT_SMALL_%s\"",The_Colors[Gbl.Prefs.Theme]);
/***** Initialize structure with user's data *****/
Usr_UsrDataConstructor (&UsrDat);

View File

@ -2720,8 +2720,7 @@ static void Mch_PutCheckboxResult (const struct Mch_Match *Match)
static void Mch_PutIfAnswered (const struct Mch_Match *Match,bool Answered)
{
extern const char *The_ClassDatSmallGreen[The_NUM_THEMES];
extern const char *The_ClassDatSmallRed[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_View_my_answer;
extern const char *Txt_MATCH_QUESTION_Answered;
extern const char *Txt_MATCH_QUESTION_Unanswered;
@ -2739,7 +2738,8 @@ static void Mch_PutIfAnswered (const struct Mch_Match *Match,bool Answered)
Frm_BeginForm (ActSeeMchAnsQstStd);
Mch_PutParamMchCod (Match->MchCod); // Current match being played
if (asprintf (&Class,"BT_LINK %s",The_ClassDatSmallGreen[Gbl.Prefs.Theme]) < 0) // Background
if (asprintf (&Class,"BT_LINK DAT_SMALL_GREEN_%s",
The_Colors[Gbl.Prefs.Theme]) < 0) // Background
Err_NotEnoughMemoryExit ();
HTM_BUTTON_OnMouseDown_Begin (Txt_View_my_answer,Class);
free (Class);
@ -2752,8 +2752,9 @@ static void Mch_PutIfAnswered (const struct Mch_Match *Match,bool Answered)
}
else
{
HTM_DIV_Begin ("class=\"%s\"",Answered ? The_ClassDatSmallGreen[Gbl.Prefs.Theme] :
The_ClassDatSmallRed[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"%s_%s\"",Answered ? "DAT_SMALL_GREEN" :
"DAT_SMALL_RED",
The_Colors[Gbl.Prefs.Theme]);
HTM_TxtF ("<i class=\"%s\" title=\"%s\"></i>",
Answered ? "fas fa-check-circle" :
"fas fa-exclamation-circle",

View File

@ -485,8 +485,7 @@ static void Msg_PutHiddenParamsSubjectAndContent (void)
static void Msg_ShowOneUniqueRecipient (void)
{
extern const char *The_ClassDatSmallNoBR[The_NUM_THEMES];
extern const char *The_ClassDatSmallNoBRStrong[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
static const char *ClassPhoto[PhoSha_NUM_SHAPES] =
{
[PhoSha_SHAPE_CIRCLE ] = "PHOTOC21x28",
@ -501,16 +500,18 @@ static void Msg_ShowOneUniqueRecipient (void)
false);
/****** Write user's IDs ******/
HTM_DIV_Begin ("class=\"MSG_TO_ONE_RCP %s\"",
Gbl.Usrs.Other.UsrDat.Accepted ? The_ClassDatSmallNoBRStrong[Gbl.Prefs.Theme] :
The_ClassDatSmallNoBR[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"MSG_TO_ONE_RCP %s_%s\"",
Gbl.Usrs.Other.UsrDat.Accepted ? "DAT_SMALL_NOBR_STRONG" :
"DAT_SMALL_NOBR",
The_Colors[Gbl.Prefs.Theme]);
ID_WriteUsrIDs (&Gbl.Usrs.Other.UsrDat,NULL);
HTM_DIV_End ();
/***** Write user's name *****/
HTM_DIV_Begin ("class=\"MSG_TO_ONE_RCP %s\"",
Gbl.Usrs.Other.UsrDat.Accepted ? The_ClassDatSmallNoBRStrong[Gbl.Prefs.Theme] :
The_ClassDatSmallNoBR[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"MSG_TO_ONE_RCP %s_%s\"",
Gbl.Usrs.Other.UsrDat.Accepted ? "DAT_SMALL_NOBR_STRONG" :
"DAT_SMALL_NOBR",
The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Gbl.Usrs.Other.UsrDat.FullName);
HTM_DIV_End ();

View File

@ -1062,8 +1062,7 @@ void Pho_BuildHTMLUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL,
{
extern const char *Rol_Icons[Rol_NUM_ROLES];
extern const char *The_ClassDatStrong[The_NUM_THEMES];
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_Following;
extern const char *Txt_Followers;
unsigned NumFollowing;
@ -1109,10 +1108,10 @@ void Pho_BuildHTMLUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL,
/* Nickname */
if (UsrDat->Nickname[0])
{
if (asprintf (&Caption.Nick,"<div class=\"ZOOM_TXT_LINE %s\">"
if (asprintf (&Caption.Nick,"<div class=\"ZOOM_TXT_LINE DAT_SMALL_STRONG_%s\">"
"@%s"
"</div>",
The_ClassDatSmallStrong[Gbl.Prefs.Theme],
The_Colors[Gbl.Prefs.Theme],
UsrDat->Nickname) < 0)
Err_NotEnoughMemoryExit ();
}
@ -1127,10 +1126,10 @@ void Pho_BuildHTMLUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL,
Ins_GetShrtNameAndCtyOfInstitution (&Ins,CtyName);
/* Write institution short name and country name */
if (asprintf (&Caption.InsCty,"<div class=\"ZOOM_TXT_LINE %s\">"
if (asprintf (&Caption.InsCty,"<div class=\"ZOOM_TXT_LINE DAT_SMALL_%s\">"
"%s&nbsp;(%s)"
"</div>",
The_ClassDatSmall[Gbl.Prefs.Theme],
The_Colors[Gbl.Prefs.Theme],
Ins.ShrtName,CtyName) < 0)
Err_NotEnoughMemoryExit ();
}
@ -1140,10 +1139,10 @@ void Pho_BuildHTMLUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL,
Cty_GetCountryName (UsrDat->CtyCod,Gbl.Prefs.Language,CtyName);
/* Write country name */
if (asprintf (&Caption.InsCty,"<div class=\"ZOOM_TXT_LINE %s\">"
if (asprintf (&Caption.InsCty,"<div class=\"ZOOM_TXT_LINE DAT_SMALL_%s\">"
"%s"
"</div>",
The_ClassDatSmall[Gbl.Prefs.Theme],
The_Colors[Gbl.Prefs.Theme],
CtyName) < 0)
Err_NotEnoughMemoryExit ();
}
@ -1154,13 +1153,13 @@ void Pho_BuildHTMLUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL,
Deg_GetUsrMainDeg (UsrDat->UsrCod,MainDegreeShrtName,&MaxRole);
if (MainDegreeShrtName[0])
{
if (asprintf (&Caption.MainDeg,"<div class=\"ZOOM_TXT_LINE %s\">"
if (asprintf (&Caption.MainDeg,"<div class=\"ZOOM_TXT_LINE DAT_SMALL_%s\">"
"<div class=\"ZOOM_DEG\""
" style=\"background-image:url('%s/%s');\">"
"%s"
"</div>"
"</div>",
The_ClassDatSmall[Gbl.Prefs.Theme],
The_Colors[Gbl.Prefs.Theme],
Cfg_URL_ICON_PUBLIC,Rol_Icons[MaxRole],
MainDegreeShrtName) < 0)
Err_NotEnoughMemoryExit ();
@ -1173,26 +1172,26 @@ void Pho_BuildHTMLUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL,
{
Fol_GetNumFollow (UsrDat->UsrCod,&NumFollowing,&NumFollowers);
if (asprintf (&Caption.Follow,"<div class=\"ZOOM_TXT_LINE\">"
"<span class=\"%s BOLD\">"
"<span class=\"DAT_STRONG_%s BOLD\">"
"%u"
"</span>"
"<span class=\"%s\">"
"<span class=\"DAT_SMALL_%s\">"
"&nbsp;%s&nbsp;"
"</span>"
"<span class=\"%s BOLD\">"
"<span class=\"DAT_STRONG_%s BOLD\">"
"%u"
"</span>"
"<span class=\"%s\">"
"<span class=\"DAT_SMALL_%s\">"
"&nbsp;%s"
"</span>"
"</div>",
The_ClassDatStrong[Gbl.Prefs.Theme],
The_Colors[Gbl.Prefs.Theme],
NumFollowing,
The_ClassDatSmall[Gbl.Prefs.Theme],
The_Colors[Gbl.Prefs.Theme],
Txt_Following,
The_ClassDatStrong[Gbl.Prefs.Theme],
The_Colors[Gbl.Prefs.Theme],
NumFollowers,
The_ClassDatSmall[Gbl.Prefs.Theme],
The_Colors[Gbl.Prefs.Theme],
Txt_Followers) < 0)
Err_NotEnoughMemoryExit ();
}
@ -2343,14 +2342,14 @@ static void Pho_GetNumStdsInDegree (long DegCod,Usr_Sex_t Sex,
static void Pho_ShowDegreeStat (int NumStds,int NumStdsWithPhoto)
{
extern const char *The_ClassDat[The_NUM_THEMES];
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_photos;
HTM_SPAN_Begin ("class=\"%s\"",The_ClassDat[Gbl.Prefs.Theme]);
HTM_TxtF ("%d&nbsp;",NumStds);
HTM_SPAN_End ();
HTM_SPAN_Begin ("class=\"%s\"",The_ClassDatSmall[Gbl.Prefs.Theme]);
HTM_SPAN_Begin ("class=\"DAT_SMALL_%s\"",The_Colors[Gbl.Prefs.Theme]);
HTM_TxtF ("(%d&nbsp;%s,&nbsp;%d%%)",
NumStdsWithPhoto,Txt_photos,
NumStds > 0 ? (int) (((NumStdsWithPhoto * 100.0) / NumStds) + 0.5) :

View File

@ -1172,8 +1172,7 @@ static void Prf_GetAndShowRankingFigure (const char *FieldName)
void Prf_ShowRankingFigure (MYSQL_RES **mysql_res,unsigned NumUsrs)
{
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
MYSQL_ROW row;
unsigned NumUsr;
unsigned Rank;
@ -1216,9 +1215,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=\"%s %s RM\"",
ItsMe ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"RM %s_%s %s\"",
ItsMe ? "DAT_SMALL_STRONG" :
"DAT_SMALL",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Long (Figure);
HTM_TD_End ();
@ -1241,8 +1241,7 @@ void Prf_ShowRankingFigure (MYSQL_RES **mysql_res,unsigned NumUsrs)
void Prf_GetAndShowRankingClicksPerDay (void)
{
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
MYSQL_RES *mysql_res;
MYSQL_ROW row;
unsigned NumUsrs = 0; // Initialized to avoid warning
@ -1286,9 +1285,10 @@ void Prf_GetAndShowRankingClicksPerDay (void)
/***** Show row *****/
HTM_TR_Begin (NULL);
Prf_ShowUsrInRanking (&UsrDat,Rank,ItsMe);
HTM_TD_Begin ("class=\"%s %s RM\"",
ItsMe ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"RM %s_%s %s\"",
ItsMe ? "DAT_SMALL_STRONG" :
"DAT_SMALL",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_DoubleFewDigits (NumClicksPerDay);
HTM_TD_End ();
@ -1311,8 +1311,7 @@ void Prf_GetAndShowRankingClicksPerDay (void)
static void Prf_ShowUsrInRanking (struct UsrData *UsrDat,unsigned Rank,bool ItsMe)
{
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_Another_user_s_profile;
static const char *ClassPhoto[PhoSha_NUM_SHAPES] =
{
@ -1323,9 +1322,10 @@ static void Prf_ShowUsrInRanking (struct UsrData *UsrDat,unsigned Rank,bool ItsM
};
bool Visible = Pri_ShowingIsAllowed (UsrDat->BaPrfVisibility,UsrDat);
HTM_TD_Begin ("class=\"%s %s RM\"",
ItsMe ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"RM %s_%s %s\"",
ItsMe ? "DAT_SMALL_STRONG" :
"DAT_SMALL",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_TxtF ("#%u",Rank);
HTM_TD_End ();
@ -1340,9 +1340,10 @@ 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=\"RANK_USR %s %s\"", // Limited width
ItsMe ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"RANK_USR %s_%s %s\"", // Limited width
ItsMe ? "DAT_SMALL_STRONG" :
"DAT_SMALL",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (Visible)
{

View File

@ -969,7 +969,7 @@ void Qst_WriteHeadingRowQuestionsForEdition (struct Qst_Questions *Questions)
void Qst_WriteQuestionListing (struct Qst_Questions *Questions,unsigned QstInd)
{
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
static unsigned UniqueId = 0;
char *Id;
@ -999,8 +999,8 @@ void Qst_WriteQuestionListing (struct Qst_Questions *Questions,unsigned QstInd)
HTM_TD_End ();
/* Question code */
HTM_TD_Begin ("class=\"%s %s CT\"",
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CT DAT_SMALL_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_TxtF ("%ld&nbsp;",Questions->Question.QstCod);
HTM_TD_End ();
@ -1008,9 +1008,9 @@ void Qst_WriteQuestionListing (struct Qst_Questions *Questions,unsigned QstInd)
/* Date (row[0] has the UTC date-time) */
if (asprintf (&Id,"tst_date_%u",++UniqueId) < 0)
Err_NotEnoughMemoryExit ();
HTM_TD_Begin ("id=\"%s\" class=\"%s %s CT\"",
HTM_TD_Begin ("id=\"%s\" class=\"CT DAT_SMALL_%s %s\"",
Id,
The_ClassDatSmall[Gbl.Prefs.Theme],
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
Dat_WriteLocalDateHMSFromUTC (Id,Questions->Question.EditTime,
Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK,
@ -1024,8 +1024,8 @@ void Qst_WriteQuestionListing (struct Qst_Questions *Questions,unsigned QstInd)
HTM_TD_End ();
/* Shuffle (row[2]) */
HTM_TD_Begin ("class=\"%s %s CT\"",
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CT DAT_SMALL_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (Questions->Question.Answer.Type == Qst_ANS_UNIQUE_CHOICE ||
Questions->Question.Answer.Type == Qst_ANS_MULTIPLE_CHOICE)
@ -1057,15 +1057,15 @@ void Qst_WriteQuestionListing (struct Qst_Questions *Questions,unsigned QstInd)
HTM_TD_End ();
/* Number of times this question has been answered */
HTM_TD_Begin ("class=\"%s %s CT\"",
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CT DAT_SMALL_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_UnsignedLong (Questions->Question.NumHits);
HTM_TD_End ();
/* Average score */
HTM_TD_Begin ("class=\"%s %s CT\"",
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CT DAT_SMALL_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (Questions->Question.NumHits)
HTM_Double2Decimals (Questions->Question.Score /
@ -1075,15 +1075,15 @@ 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=\"%s %s CT\"",
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CT DAT_SMALL_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_UnsignedLong (Questions->Question.NumHitsNotBlank);
HTM_TD_End ();
/* Average score (not blank) */
HTM_TD_Begin ("class=\"%s %s CT\"",
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CT DAT_SMALL_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (Questions->Question.NumHitsNotBlank)
HTM_Double2Decimals (Questions->Question.Score /
@ -1285,7 +1285,7 @@ void Qst_PutCheckboxToSelectAllQuestions (void)
void Qst_WriteQuestionRowForSelection (unsigned QstInd,
struct Qst_Question *Question)
{
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_TST_STR_ANSWER_TYPES[Qst_NUM_ANS_TYPES];
static unsigned UniqueId = 0;
char *Id;
@ -1304,15 +1304,15 @@ void Qst_WriteQuestionRowForSelection (unsigned QstInd,
HTM_TD_End ();
/* Write number of question */
HTM_TD_Begin ("class=\"%s %s CT\"",
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CT DAT_SMALL_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_TxtF ("%u&nbsp;",QstInd + 1);
HTM_TD_End ();
/* Write question code */
HTM_TD_Begin ("class=\"%s %s CT\"",
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CT DAT_SMALL_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_TxtF ("%ld&nbsp;",Question->QstCod);
HTM_TD_End ();
@ -1320,9 +1320,9 @@ void Qst_WriteQuestionRowForSelection (unsigned QstInd,
/* 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=\"%s %s CT\">",
HTM_TD_Begin ("id=\"%s\" class=\"CT DAT_SMALL_%s %s\">",
Id,
The_ClassDatSmall[Gbl.Prefs.Theme],
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
Dat_WriteLocalDateHMSFromUTC (Id,Question->EditTime,
Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK,
@ -1336,15 +1336,15 @@ void Qst_WriteQuestionRowForSelection (unsigned QstInd,
HTM_TD_End ();
/* Write the question type */
HTM_TD_Begin ("class=\"%s %s CT\"",
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CT DAT_SMALL_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_TxtF ("%s&nbsp;",Txt_TST_STR_ANSWER_TYPES[Question->Answer.Type]);
HTM_TD_End ();
/* Write if shuffle is enabled */
HTM_TD_Begin ("class=\"%s %s CT\"",
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CT DAT_SMALL_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_INPUT_CHECKBOX ("Shuffle",HTM_DONT_SUBMIT_ON_CHANGE,
"value=\"Y\"%s disabled=\"disabled\"",

View File

@ -854,8 +854,6 @@ static void QstImp_WriteRowImportedQst (struct XMLElement *StemElem,
const struct Qst_Question *Question,
bool QuestionExists)
{
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_ClassDatSmallLight[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_Existing_question;
extern const char *Txt_New_question;
@ -874,8 +872,8 @@ static void QstImp_WriteRowImportedQst (struct XMLElement *StemElem,
size_t AnswerTextLength;
char *AnswerFeedback;
size_t AnswerFeedbackLength;
const char *ClassData = QuestionExists ? The_ClassDatSmallLight[Gbl.Prefs.Theme] :
The_ClassDatSmall[Gbl.Prefs.Theme];
const char *ClassData = QuestionExists ? "DAT_SMALL_LIGHT" :
"DAT_SMALL";
const char *ClassStem = QuestionExists ? "Qst_TXT_LIGHT" :
"Qst_TXT";
@ -894,13 +892,15 @@ static void QstImp_WriteRowImportedQst (struct XMLElement *StemElem,
HTM_TD_End ();
/***** Write number of question *****/
HTM_TD_Begin ("class=\"%s %s CT\"",ClassData,The_GetColorRows ());
HTM_TD_Begin ("class=\"CT %s_%s %s\"",
ClassData,The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
if (!QuestionExists)
HTM_TxtF ("%u&nbsp;",++NumNonExistingQst);
HTM_TD_End ();
/***** Write the question tags *****/
HTM_TD_Begin ("class=\"%s LT\"",
HTM_TD_Begin ("class=\"LT %s\"",
The_GetColorRows ());
if (Question->Tags.Num)

View File

@ -1578,7 +1578,7 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
extern const char *The_ClassDatStrong[The_NUM_THEMES];
extern const char *The_ClassFormInBox[The_NUM_THEMES];
extern const char *The_ClassInput[The_NUM_THEMES];
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_RECORD_FIELD_VISIBILITY_RECORD[Rec_NUM_TYPES_VISIBILITY];
extern const char *Txt_Save_changes;
const char *Rec_RecordHelp[Rec_COURSE_NUM_VIEW_TYPES] =
@ -1726,8 +1726,8 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
if (TypeOfView == Rec_CRS_LIST_ONE_RECORD ||
TypeOfView == Rec_CRS_LIST_SEVERAL_RECORDS)
{
HTM_SPAN_Begin ("class=\"%s\"",
The_ClassDatSmall[Gbl.Prefs.Theme]);
HTM_SPAN_Begin ("class=\"DAT_SMALL_%s\"",
The_Colors[Gbl.Prefs.Theme]);
HTM_NBSP ();
HTM_TxtF ("(%s)",
Txt_RECORD_FIELD_VISIBILITY_RECORD[Gbl.Crs.Records.LstFields.Lst[NumField].Visibility]);

View File

@ -751,7 +751,7 @@ void Sta_SeeCrsAccesses (void)
static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
{
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_You_must_select_one_ore_more_users;
extern const char *Txt_There_is_no_knowing_how_many_users_not_logged_have_accessed;
extern const char *Txt_The_date_range_must_be_less_than_or_equal_to_X_days;
@ -1044,8 +1044,8 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
case Sta_CLICKS_GBL_PER_HOUR:
case Sta_CLICKS_CRS_PER_MINUTE:
case Sta_CLICKS_GBL_PER_MINUTE:
HTM_TxtF ("<p class=\"%s CM\">%s: %s</p>",
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TxtF ("<p class=\"CM DAT_SMALL_%s\">%s: %s</p>",
The_Colors[Gbl.Prefs.Theme],
Txt_Time_zone_used_in_the_calculation_of_these_statistics,
BrowserTimeZone);
break;
@ -2370,11 +2370,11 @@ static void Sta_ShowNumHitsPerHour (unsigned NumHits,
static void Sta_WriteAccessHour (unsigned Hour,struct Sta_Hits *Hits,unsigned ColumnWidth)
{
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
unsigned BarHeight;
HTM_TD_Begin ("class=\"%s CB\" style=\"width:%upx;\"",
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CB DAT_SMALL_%s\" style=\"width:%upx;\"",
The_Colors[Gbl.Prefs.Theme],
ColumnWidth);
/* Draw bar with a height porportional to the number of clicks */

View File

@ -2747,7 +2747,7 @@ static void Svy_ListSvyQuestions (struct Svy_Surveys *Surveys,
{
extern const char *Hlp_ASSESSMENT_Surveys_questions;
extern const char *The_ClassDat[The_NUM_THEMES];
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_Questions;
extern const char *Txt_No_INDEX;
extern const char *Txt_Type;
@ -2832,21 +2832,21 @@ static void Svy_ListSvyQuestions (struct Svy_Surveys *Surveys,
}
/* Write index of question inside survey */
HTM_TD_Begin ("class=\"%s CT %s\"",
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CT DAT_SMALL_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Unsigned (SvyQst.QstInd + 1);
HTM_TD_End ();
/* Write the question type (row[2]) */
HTM_TD_Begin ("class=\"%s CT %s\"",
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CT DAT_SMALL_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
HTM_Txt (Txt_SURVEY_STR_ANSWER_TYPES[SvyQst.AnswerType]);
HTM_TD_End ();
/* Write the stem and the answers of this question */
HTM_TD_Begin ("class=\"%s LT %s\"",
HTM_TD_Begin ("class=\"LT %s %s\"",
The_ClassDat[Gbl.Prefs.Theme],
The_GetColorRows ());
Svy_WriteQstStem (Stem);

View File

@ -509,7 +509,7 @@ static void Tag_PutIconDisable (long TagCod,const char *TagTxt)
void Tag_GetAndWriteTagsQst (long QstCod)
{
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_no_tags;
unsigned NumTags;
unsigned NumTag;
@ -519,8 +519,8 @@ void Tag_GetAndWriteTagsQst (long QstCod)
if ((NumTags = Tag_DB_GetTagsQst (&mysql_res,QstCod)))
{
/***** Write the tags *****/
HTM_UL_Begin ("class=\"Tst_TAG_LIST %s\"",
The_ClassDatSmall[Gbl.Prefs.Theme]);
HTM_UL_Begin ("class=\"Tst_TAG_LIST DAT_SMALL_%s\"",
The_Colors[Gbl.Prefs.Theme]);
for (NumTag = 0;
NumTag < NumTags;
NumTag++)
@ -534,8 +534,8 @@ void Tag_GetAndWriteTagsQst (long QstCod)
}
else
{
HTM_SPAN_Begin ("class=\"%s\"",
The_ClassDatSmall[Gbl.Prefs.Theme]);
HTM_SPAN_Begin ("class=\"DAT_SMALL_%s\"",
The_Colors[Gbl.Prefs.Theme]);
HTM_TxtF ("(%s)",Txt_no_tags);
HTM_SPAN_End ();
}

View File

@ -1650,15 +1650,15 @@ static void TstPrn_WriteTxtAnsPrint (struct UsrData *UsrDat,
static void TstPrn_WriteHeadUserCorrect (struct UsrData *UsrDat)
{
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_User[Usr_NUM_SEXS];
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
HTM_TD_Begin ("class=\"%s CM\"",The_ClassDatSmall[Gbl.Prefs.Theme]);
HTM_TD_Begin ("class=\"CM DAT_SMALL_%s\"",The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Txt_User[UsrDat->Sex]);
HTM_TD_End ();
HTM_TD_Begin ("class=\"%s CM\"",The_ClassDatSmall[Gbl.Prefs.Theme]);
HTM_TD_Begin ("class=\"CM DAT_SMALL_%s\"",The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Txt_ROLES_PLURAL_Abc[Rol_TCH][Usr_SEX_UNKNOWN]);
HTM_TD_End ();
}

View File

@ -221,105 +221,6 @@ const char *The_ClassDatLight[The_NUM_THEMES] =
[The_THEME_DARK ] = "DAT_LIGHT_DARK",
};
const char *The_ClassDatSmall[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "DAT_SMALL_WHITE",
[The_THEME_GREY ] = "DAT_SMALL_GREY",
[The_THEME_PURPLE] = "DAT_SMALL_PURPLE",
[The_THEME_BLUE ] = "DAT_SMALL_BLUE",
[The_THEME_YELLOW] = "DAT_SMALL_YELLOW",
[The_THEME_PINK ] = "DAT_SMALL_PINK",
[The_THEME_DARK ] = "DAT_SMALL_DARK",
};
const char *The_ClassDatSmallLight[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "DAT_SMALL_LIGHT_WHITE",
[The_THEME_GREY ] = "DAT_SMALL_LIGHT_GREY",
[The_THEME_PURPLE] = "DAT_SMALL_LIGHT_PURPLE",
[The_THEME_BLUE ] = "DAT_SMALL_LIGHT_BLUE",
[The_THEME_YELLOW] = "DAT_SMALL_LIGHT_YELLOW",
[The_THEME_PINK ] = "DAT_SMALL_LIGHT_PINK",
[The_THEME_DARK ] = "DAT_SMALL_LIGHT_DARK",
};
const char *The_ClassDatSmallStrong[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "DAT_SMALL_STRONG_WHITE",
[The_THEME_GREY ] = "DAT_SMALL_STRONG_GREY",
[The_THEME_PURPLE] = "DAT_SMALL_STRONG_PURPLE",
[The_THEME_BLUE ] = "DAT_SMALL_STRONG_BLUE",
[The_THEME_YELLOW] = "DAT_SMALL_STRONG_YELLOW",
[The_THEME_PINK ] = "DAT_SMALL_STRONG_PINK",
[The_THEME_DARK ] = "DAT_SMALL_STRONG_DARK",
};
const char *The_ClassDatSmallRed[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "DAT_SMALL_RED_WHITE",
[The_THEME_GREY ] = "DAT_SMALL_RED_GREY",
[The_THEME_PURPLE] = "DAT_SMALL_RED_PURPLE",
[The_THEME_BLUE ] = "DAT_SMALL_RED_BLUE",
[The_THEME_YELLOW] = "DAT_SMALL_RED_YELLOW",
[The_THEME_PINK ] = "DAT_SMALL_RED_PINK",
[The_THEME_DARK ] = "DAT_SMALL_RED_DARK",
};
const char *The_ClassDatSmallGreen[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "DAT_SMALL_GREEN_WHITE",
[The_THEME_GREY ] = "DAT_SMALL_GREEN_GREY",
[The_THEME_PURPLE] = "DAT_SMALL_GREEN_PURPLE",
[The_THEME_BLUE ] = "DAT_SMALL_GREEN_BLUE",
[The_THEME_YELLOW] = "DAT_SMALL_GREEN_YELLOW",
[The_THEME_PINK ] = "DAT_SMALL_GREEN_PINK",
[The_THEME_DARK ] = "DAT_SMALL_GREEN_DARK",
};
const char *The_ClassDatSmallBlue[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "DAT_SMALL_BLUE_WHITE",
[The_THEME_GREY ] = "DAT_SMALL_BLUE_GREY",
[The_THEME_PURPLE] = "DAT_SMALL_BLUE_PURPLE",
[The_THEME_BLUE ] = "DAT_SMALL_BLUE_BLUE",
[The_THEME_YELLOW] = "DAT_SMALL_BLUE_YELLOW",
[The_THEME_PINK ] = "DAT_SMALL_BLUE_PINK",
[The_THEME_DARK ] = "DAT_SMALL_BLUE_DARK",
};
const char *The_ClassDatSmallYellow[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "DAT_SMALL_YELLOW_WHITE",
[The_THEME_GREY ] = "DAT_SMALL_YELLOW_GREY",
[The_THEME_PURPLE] = "DAT_SMALL_YELLOW_PURPLE",
[The_THEME_BLUE ] = "DAT_SMALL_YELLOW_BLUE",
[The_THEME_YELLOW] = "DAT_SMALL_YELLOW_YELLOW",
[The_THEME_PINK ] = "DAT_SMALL_YELLOW_PINK",
[The_THEME_DARK ] = "DAT_SMALL_YELLOW_DARK",
};
const char *The_ClassDatSmallNoBR[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "DAT_SMALL_NOBR_WHITE",
[The_THEME_GREY ] = "DAT_SMALL_NOBR_GREY",
[The_THEME_PURPLE] = "DAT_SMALL_NOBR_PURPLE",
[The_THEME_BLUE ] = "DAT_SMALL_NOBR_BLUE",
[The_THEME_YELLOW] = "DAT_SMALL_NOBR_YELLOW",
[The_THEME_PINK ] = "DAT_SMALL_NOBR_PINK",
[The_THEME_DARK ] = "DAT_SMALL_NOBR_DARK",
};
const char *The_ClassDatSmallNoBRStrong[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "DAT_SMALL_NOBR_STRONG_WHITE",
[The_THEME_GREY ] = "DAT_SMALL_NOBR_STRONG_GREY",
[The_THEME_PURPLE] = "DAT_SMALL_NOBR_STRONG_PURPLE",
[The_THEME_BLUE ] = "DAT_SMALL_NOBR_STRONG_BLUE",
[The_THEME_YELLOW] = "DAT_SMALL_NOBR_STRONG_YELLOW",
[The_THEME_PINK ] = "DAT_SMALL_NOBR_STRONG_PINK",
[The_THEME_DARK ] = "DAT_SMALL_NOBR_STRONG_DARK",
};
const char *The_ClassInput[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "INPUT_WHITE",

View File

@ -1495,7 +1495,7 @@ static void Tmt_TimeTableDrawCellEdit (const struct Tmt_Timetable *Timetable,
Tmt_IntervalType_t IntervalType,Tmt_ClassType_t ClassType,
unsigned DurationNumIntervals,const char *Info)
{
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *The_ClassInput[The_NUM_THEMES];
extern const char *Tmt_DB_ClassType[Tmt_NUM_CLASS_TYPES];
extern const char *Txt_TIMETABLE_CLASS_TYPES[Tmt_NUM_CLASS_TYPES];
@ -1660,9 +1660,9 @@ static void Tmt_TimeTableDrawCellEdit (const struct Tmt_Timetable *Timetable,
{
/***** Info *****/
HTM_BR ();
HTM_LABEL_Begin ("for=\"TTInf%s\" class=\"%s\"",
HTM_LABEL_Begin ("for=\"TTInf%s\" class=\"DAT_SMALL_%s\"",
CellStr,
The_ClassDatSmall[Gbl.Prefs.Theme]);
The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Txt_Info);
HTM_LABEL_End ();
HTM_INPUT_TEXT ("TTInf",Tmt_MAX_CHARS_INFO,Info,

View File

@ -2153,8 +2153,6 @@ void Usr_WriteRowUsrMainData (unsigned NumUsr,struct UsrData *UsrDat,
bool PutCheckBoxToSelectUsr,Rol_Role_t Role,
struct SelectedUsrs *SelectedUsrs)
{
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_Enrolment_confirmed;
extern const char *Txt_Enrolment_not_confirmed;
@ -2228,9 +2226,10 @@ void Usr_WriteRowUsrMainData (unsigned NumUsr,struct UsrData *UsrDat,
}
/****** Write user's IDs ******/
HTM_TD_Begin ("class=\"%s %s LM\"",
UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"LM %s_%s %s\"",
UsrDat->Accepted ? "DAT_SMALL_STRONG" :
"DAT_SMALL",
The_Colors[Gbl.Prefs.Theme],
BgColor);
ID_WriteUsrIDs (UsrDat,NULL);
HTM_TD_End ();
@ -2254,7 +2253,7 @@ void Usr_WriteRowUsrMainData (unsigned NumUsr,struct UsrData *UsrDat,
static void Usr_WriteRowGstAllData (struct UsrData *UsrDat)
{
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
static const char *ClassPhoto[PhoSha_NUM_SHAPES] =
{
[PhoSha_SHAPE_CIRCLE ] = "PHOTOC21x28",
@ -2280,8 +2279,8 @@ static void Usr_WriteRowGstAllData (struct UsrData *UsrDat)
}
/****** Write user's ID ******/
HTM_TD_Begin ("class=\"%s %s LM\"",
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"LM DAT_SMALL_%s %s\"",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
ID_WriteUsrIDs (UsrDat,NULL);
HTM_NBSP ();
@ -2346,8 +2345,6 @@ static void Usr_WriteRowGstAllData (struct UsrData *UsrDat)
static void Usr_WriteRowStdAllData (struct UsrData *UsrDat,char *GroupNames)
{
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
static const char *ClassPhoto[PhoSha_NUM_SHAPES] =
{
@ -2378,9 +2375,10 @@ static void Usr_WriteRowStdAllData (struct UsrData *UsrDat,char *GroupNames)
}
/****** Write user's ID ******/
HTM_TD_Begin ("class=\"%s %s LM\"",
UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"LM %s_%s %s\"",
UsrDat->Accepted ? "DAT_SMALL_STRONG" :
"DAT_SMALL",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
ID_WriteUsrIDs (UsrDat,NULL);
HTM_NBSP ();
@ -2460,8 +2458,6 @@ static void Usr_WriteRowStdAllData (struct UsrData *UsrDat,char *GroupNames)
static void Usr_WriteRowTchAllData (struct UsrData *UsrDat)
{
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
static const char *ClassPhoto[PhoSha_NUM_SHAPES] =
{
@ -2490,9 +2486,10 @@ static void Usr_WriteRowTchAllData (struct UsrData *UsrDat)
}
/****** Write the user's ID ******/
HTM_TD_Begin ("class=\"%s %s LM\"",
UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"LM %s_%s %s\"",
UsrDat->Accepted ? "DAT_SMALL_STRONG" :
"DAT_SMALL",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
ID_WriteUsrIDs (UsrDat,NULL);
HTM_NBSP ();
@ -2544,8 +2541,6 @@ static void Usr_WriteRowTchAllData (struct UsrData *UsrDat)
static void Usr_WriteRowAdmData (unsigned NumUsr,struct UsrData *UsrDat)
{
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
static const char *ClassPhoto[PhoSha_NUM_SHAPES] =
{
@ -2577,9 +2572,10 @@ static void Usr_WriteRowAdmData (unsigned NumUsr,struct UsrData *UsrDat)
}
/****** Write the user's ID ******/
HTM_TD_Begin ("class=\"%s %s LM\"",
UsrDat->Accepted ? The_ClassDatSmallStrong[Gbl.Prefs.Theme] :
The_ClassDatSmall[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"LM %s_%s %s\"",
UsrDat->Accepted ? "DAT_SMALL_STRONG" :
"DAT_SMALL",
The_Colors[Gbl.Prefs.Theme],
The_GetColorRows ());
ID_WriteUsrIDs (UsrDat,NULL);
HTM_NBSP ();
@ -2657,18 +2653,15 @@ static void Usr_WriteUsrData (const char *BgColor,
const char *Data,const char *Link,
bool NonBreak,bool Accepted)
{
extern const char *The_ClassDatSmall[The_NUM_THEMES];
extern const char *The_ClassDatSmallStrong[The_NUM_THEMES];
extern const char *The_ClassDatSmallNoBR[The_NUM_THEMES];
extern const char *The_ClassDatSmallNoBRStrong[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
/***** Begin table cell *****/
HTM_TD_Begin ("class=\"%s LM %s\"",
Accepted ? (NonBreak ? The_ClassDatSmallNoBRStrong[Gbl.Prefs.Theme] :
The_ClassDatSmallStrong[Gbl.Prefs.Theme]) :
(NonBreak ? The_ClassDatSmallNoBR[Gbl.Prefs.Theme] :
The_ClassDatSmall[Gbl.Prefs.Theme]),
HTM_TD_Begin ("class=\"LM %s_%s %s\"",
Accepted ? (NonBreak ? "DAT_SMALL_NOBR_STRONG" :
"DAT_SMALL_STRONG") :
(NonBreak ? "DAT_SMALL_NOBR" :
"DAT_SMALL"),
The_Colors[Gbl.Prefs.Theme],
BgColor);
/***** Container to limit length *****/
@ -2676,9 +2669,10 @@ static void Usr_WriteUsrData (const char *BgColor,
/***** Begin link *****/
if (Link)
HTM_A_Begin ("href=\"%s\" class=\"%s\" target=\"_blank\"",
Link,Accepted ? The_ClassDatSmallNoBRStrong[Gbl.Prefs.Theme] :
The_ClassDatSmallNoBR[Gbl.Prefs.Theme]);
HTM_A_Begin ("href=\"%s\" class=\"%s_%s\" target=\"_blank\"",
Link,Accepted ? "DAT_SMALL_NOBR_STRONG" :
"DAT_SMALL_NOBR",
The_Colors[Gbl.Prefs.Theme]);
/***** Write data *****/
HTM_Txt (Data);