Version 21.76: Dec 27, 2021 Code refactoring related to themes.

This commit is contained in:
acanas 2021-12-27 12:58:20 +01:00
parent f2658b832b
commit 1fc695c69a
29 changed files with 239 additions and 432 deletions

View File

@ -1692,17 +1692,22 @@ a:hover img.CENTER_PHOTO_SHOW
}
/********************************** Notice ***********************************/
.NOTICE_HIGHLIGHT
.NOTICE_CONT
{
padding:10px 0;
background-color:#ddecf1;
animation:fadein 2s linear forwards;
}
@keyframes fadein
{
to {background-color:white;}
}
.NOTICE_CONT
.NOTICE_HIGHLIGHT_WHITE {background-color:#ddecf1; animation:fadeinnoticelight 2s linear forwards;}
.NOTICE_HIGHLIGHT_GREY {background-color:#ddecf1; animation:fadeinnoticelight 2s linear forwards;}
.NOTICE_HIGHLIGHT_PURPLE {background-color:#ddecf1; animation:fadeinnoticelight 2s linear forwards;}
.NOTICE_HIGHLIGHT_BLUE {background-color:#ddecf1; animation:fadeinnoticelight 2s linear forwards;}
.NOTICE_HIGHLIGHT_YELLOW {background-color:#ddecf1; animation:fadeinnoticelight 2s linear forwards;}
.NOTICE_HIGHLIGHT_PINK {background-color:#ddecf1; animation:fadeinnoticelight 2s linear forwards;}
.NOTICE_HIGHLIGHT_DARK {background-color:#808080; animation:fadeinnoticedark 2s linear forwards;}
@keyframes fadeinnoticelight {to {background-color:white;}}
@keyframes fadeinnoticedark {to {background-color:#484848;}}
.NOTICE_BOX
{
box-sizing:border-box;
margin:0 auto 10px auto;
@ -1713,8 +1718,8 @@ a:hover img.CENTER_PHOTO_SHOW
text-align:left;
overflow:hidden;
}
.NOTICE_CONT_NARROW {width:148px;}
.NOTICE_CONT_WIDE {width:500px;}
.NOTICE_BOX_NARROW {width:148px;}
.NOTICE_BOX_WIDE {width:500px;}
.NOTICE_DATE
{
float:right;

View File

@ -206,7 +206,7 @@ static void Agd_ShowMyAgenda (struct Agd_Agenda *Agenda)
static void Agd_ShowFormToSelPast__FutureEvents (const struct Agd_Agenda *Agenda)
{
extern const char *The_ClassPrefOn[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_AGENDA_PAST___FUTURE_EVENTS[2];
Agd_Past__FutureEvents_t PstFut;
static const char *Icon[2] =
@ -221,7 +221,8 @@ static void Agd_ShowFormToSelPast__FutureEvents (const struct Agd_Agenda *Agenda
PstFut++)
{
if ((Agenda->Past__FutureEvents & (1 << PstFut)))
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"",
The_Colors[Gbl.Prefs.Theme]);
else
HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (ActSeeMyAgd);
@ -245,7 +246,7 @@ static void Agd_ShowFormToSelPast__FutureEvents (const struct Agd_Agenda *Agenda
static void Agd_ShowFormToSelPrivatPublicEvents (const struct Agd_Agenda *Agenda)
{
extern const char *The_ClassPrefOn[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_AGENDA_PRIVAT_PUBLIC_EVENTS[2];
Agd_PrivatPublicEvents_t PrvPub;
static const struct
@ -264,7 +265,8 @@ static void Agd_ShowFormToSelPrivatPublicEvents (const struct Agd_Agenda *Agenda
PrvPub++)
{
if ((Agenda->PrivatPublicEvents & (1 << PrvPub)))
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"",
The_Colors[Gbl.Prefs.Theme]);
else
HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (ActSeeMyAgd);
@ -288,7 +290,7 @@ static void Agd_ShowFormToSelPrivatPublicEvents (const struct Agd_Agenda *Agenda
static void Agd_ShowFormToSelHiddenVisiblEvents (const struct Agd_Agenda *Agenda)
{
extern const char *The_ClassPrefOn[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_AGENDA_HIDDEN_VISIBL_EVENTS[2];
Agd_HiddenVisiblEvents_t HidVis;
static const struct
@ -307,7 +309,8 @@ static void Agd_ShowFormToSelHiddenVisiblEvents (const struct Agd_Agenda *Agenda
HidVis++)
{
if ((Agenda->HiddenVisiblEvents & (1 << HidVis)))
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"",
The_Colors[Gbl.Prefs.Theme]);
else
HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (ActSeeMyAgd);

View File

@ -359,8 +359,7 @@ void Ale_ShowAlertAndButton1 (Ale_AlertType_t AlertType,const char *fmt,...)
static void Ale_ShowFixAlertAndButton1 (Ale_AlertType_t AlertType,const char *Txt)
{
extern const char *The_ClassAlertBackground[The_NUM_THEMES];
extern const char *The_ClassAlertTxtColor[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_Close;
char IdAlert[Frm_MAX_BYTES_ID + 1];
static const bool AlertClosable[Ale_NUM_ALERT_TYPES] =
@ -399,8 +398,7 @@ static void Ale_ShowFixAlertAndButton1 (Ale_AlertType_t AlertType,const char *Tx
HTM_DIV_Begin ("class=\"CM\"");
/***** Begin box *****/
HTM_DIV_Begin ("class=\"ALERT %s\"",
The_ClassAlertBackground[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"ALERT ALERT_BG_%s\"",The_Colors[Gbl.Prefs.Theme]);
/***** Icon to close the alert *****/
if (AlertClosable[AlertType])
@ -415,11 +413,12 @@ static void Ale_ShowFixAlertAndButton1 (Ale_AlertType_t AlertType,const char *Tx
/***** Write message *****/
if (AlertType == Ale_NONE)
HTM_DIV_Begin ("class=\"ALERT_TXT %s\"",
The_ClassAlertTxtColor[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"ALERT_TXT ALERT_TXT_%s\"",
The_Colors[Gbl.Prefs.Theme]);
else
HTM_DIV_Begin ("class=\"ALERT_TXT %s\" style=\"background-image:url('%s/%s');\"",
The_ClassAlertTxtColor[Gbl.Prefs.Theme],
HTM_DIV_Begin ("class=\"ALERT_TXT ALERT_TXT_%s\""
" style=\"background-image:url('%s/%s');\"",
The_Colors[Gbl.Prefs.Theme],
Cfg_URL_ICON_PUBLIC,Ale_AlertIcons[AlertType]);
HTM_Txt (Txt);
HTM_DIV_End ();

View File

@ -225,24 +225,14 @@ static void Ann_DrawAnAnnouncement (long AnnCod,Ann_Status_t Status,
bool ShowAllAnnouncements,
bool ICanEdit)
{
extern const char *The_ClassNoticeTextColor[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_Users;
extern const char *Txt_ROLES_PLURAL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
extern const char *Txt_Do_not_show_again;
static const char *ContainerClass[Ann_NUM_STATUS] =
{
[Ann_ACTIVE_ANNOUNCEMENT ] = "NOTICE_CONT NOTICE_CONT_WIDE",
[Ann_OBSOLETE_ANNOUNCEMENT] = "NOTICE_CONT NOTICE_CONT_WIDE LIGHT",
};
static const char *The_ClassNoticeSubjectColor[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "NOTICE_SUBJECT_WHITE",
[The_THEME_GREY ] = "NOTICE_SUBJECT_GREY",
[The_THEME_PURPLE] = "NOTICE_SUBJECT_PURPLE",
[The_THEME_BLUE ] = "NOTICE_SUBJECT_BLUE",
[The_THEME_YELLOW] = "NOTICE_SUBJECT_YELLOW",
[The_THEME_PINK ] = "NOTICE_SUBJECT_PINK",
[The_THEME_DARK ] = "NOTICE_SUBJECT_DARK",
[Ann_ACTIVE_ANNOUNCEMENT ] = "NOTICE_BOX NOTICE_BOX_WIDE",
[Ann_OBSOLETE_ANNOUNCEMENT] = "NOTICE_BOX NOTICE_BOX_WIDE LIGHT",
};
Rol_Role_t Role;
bool SomeRolesAreSelected;
@ -271,13 +261,14 @@ static void Ann_DrawAnAnnouncement (long AnnCod,Ann_Status_t Status,
}
/***** Write the subject of the announcement *****/
HTM_DIV_Begin ("class=\"NOTICE_SUBJECT %s\"",The_ClassNoticeSubjectColor[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"NOTICE_SUBJECT NOTICE_SUBJECT_%s\"",
The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Subject);
HTM_DIV_End ();
/***** Write the content of the announcement *****/
HTM_DIV_Begin ("class=\"NOTICE_TEXT %s\"",
The_ClassNoticeTextColor[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"NOTICE_TEXT NOTICE_TEXT_%s\"",
The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Content);
HTM_DIV_End ();
@ -289,7 +280,7 @@ static void Ann_DrawAnAnnouncement (long AnnCod,Ann_Status_t Status,
{
/* Users' roles who can view this announcement */
HTM_TxtColon (Txt_Users);
for (Role = Rol_UNK, SomeRolesAreSelected = false;
for (Role = Rol_UNK, SomeRolesAreSelected = false;
Role <= Rol_TCH;
Role++)
if (Roles & (1 << Role))

View File

@ -115,7 +115,7 @@ static void Box_BoxInternalBegin (const char *Width,const char *Title,
const char *HelpLink,Box_Closable_t Closable,
const char *ClassFrame)
{
extern const char *The_ClassFrameTitleColor[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_Help;
extern const char *Txt_Close;
@ -191,10 +191,10 @@ static void Box_BoxInternalBegin (const char *Width,const char *Title,
/***** Frame title *****/
if (Title)
{
HTM_DIV_Begin ("class=\"FRAME_TITLE %s %s\"",
HTM_DIV_Begin ("class=\"FRAME_TITLE %s FRAME_TITLE_%s\"",
Gbl.Box.Nested ? "FRAME_TITLE_SMALL" :
"FRAME_TITLE_BIG",
The_ClassFrameTitleColor[Gbl.Prefs.Theme]);
The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Title);
HTM_DIV_End ();
}

View File

@ -112,7 +112,7 @@ static void Cal_PutIconsFirstDayOfWeek (__attribute__((unused)) void *Args)
void Cal_ShowFormToSelFirstDayOfWeek (Act_Action_t Action,
void (*FuncParams) (void *Args),void *Args)
{
extern const char *The_ClassPrefOn[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_First_day_of_the_week_X;
extern const char *Txt_DAYS_SMALL[7];
unsigned FirstDayOfWeek;
@ -125,7 +125,8 @@ void Cal_ShowFormToSelFirstDayOfWeek (Act_Action_t Action,
if (Cal_DayIsValidAsFirstDayOfWeek[FirstDayOfWeek])
{
if (FirstDayOfWeek == Gbl.Prefs.FirstDayOfWeek)
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"",
The_Colors[Gbl.Prefs.Theme]);
else
HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (Action);

View File

@ -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.75.1 (2021-12-26)"
#define CSS_FILE "swad21.74.css"
#define Log_PLATFORM_VERSION "SWAD 21.76 (2021-12-27)"
#define CSS_FILE "swad21.76.css"
#define JS_FILE "swad21.67.4.js"
/*
Version 21.76: Dec 27, 2021 Code refactoring related to themes. (322302 lines)
Version 21.75.1: Dec 26, 2021 Fixed bug in icons. (322479 lines)
Version 21.75: Dec 26, 2021 Code refactoring related to links. (322477 lines)
Version 21.74: Dec 26, 2021 Working on design of dark theme.

View File

@ -215,19 +215,19 @@ static void CtyCfg_PutIconToPrint (__attribute__((unused)) void *Args)
static void CtyCfg_Title (bool PutLink)
{
extern const char *The_ClassFrameTitleColor[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
/***** Begin container *****/
HTM_DIV_Begin ("class=\"FRAME_TITLE FRAME_TITLE_BIG %s\"",
The_ClassFrameTitleColor[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"FRAME_TITLE FRAME_TITLE_BIG FRAME_TITLE_%s\"",
The_Colors[Gbl.Prefs.Theme]);
/* Begin link */
if (PutLink)
HTM_A_Begin ("href=\"%s\" target=\"_blank\" title=\"%s\""
" class=\"FRAME_TITLE_BIG %s\"",
" class=\"FRAME_TITLE_BIG FRAME_TITLE_%s\"",
Gbl.Hierarchy.Cty.WWW[Gbl.Prefs.Language],
Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language],
The_ClassFrameTitleColor[Gbl.Prefs.Theme]);
The_Colors[Gbl.Prefs.Theme]);
/* Country name */
HTM_Txt (Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]);

View File

@ -526,7 +526,7 @@ static void Enr_ReqAdminUsrs (Rol_Role_t Role)
static void Enr_ShowFormRegRemSeveralUsrs (Rol_Role_t Role)
{
extern const char *Hlp_USERS_Administration_administer_multiple_users;
extern const char *The_ClassTitle[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_Administer_multiple_students;
extern const char *Txt_Administer_multiple_non_editing_teachers;
extern const char *Txt_Administer_multiple_teachers;
@ -592,7 +592,7 @@ static void Enr_ShowFormRegRemSeveralUsrs (Rol_Role_t Role)
Hlp_USERS_Administration_administer_multiple_users,Box_NOT_CLOSABLE);
/***** Step 1: List of students to be enroled / removed *****/
HTM_DIV_Begin ("class=\"%s LM\"",The_ClassTitle[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"TITLE_%s LM\"",The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Txt_Step_1_Provide_a_list_of_users);
HTM_DIV_End ();
@ -600,13 +600,13 @@ static void Enr_ShowFormRegRemSeveralUsrs (Rol_Role_t Role)
Enr_PutAreaToEnterUsrsIDs ();
/***** Step 2: Put different actions to register/remove users to/from current course *****/
HTM_DIV_Begin ("class=\"%s LM\"",The_ClassTitle[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"TITLE_%s LM\"",The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Txt_Step_2_Select_the_desired_action);
HTM_DIV_End ();
Enr_PutActionsRegRemSeveralUsrs ();
/***** Step 3: Select groups in which register / remove users *****/
HTM_DIV_Begin ("class=\"%s LM\"",The_ClassTitle[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"TITLE_%s LM\"",The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Txt_Step_3_Optionally_select_groups);
HTM_DIV_End ();
if (Gbl.Hierarchy.Level == HieLvl_CRS) // Course selected
@ -623,7 +623,7 @@ static void Enr_ShowFormRegRemSeveralUsrs (Rol_Role_t Role)
}
/***** Step 4: Confirm register / remove students *****/
HTM_DIV_Begin ("class=\"%s LM\"",The_ClassTitle[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"TITLE_%s LM\"",The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Txt_Step_4_Confirm_the_enrolment_removing);
HTM_DIV_End ();
Pwd_AskForConfirmationOnDangerousAction ();

View File

@ -4404,7 +4404,7 @@ void Grp_PutParamWhichGrpsAllGrps (void)
void Grp_ShowFormToSelWhichGrps (Act_Action_t Action,
void (*FuncParams) (void *Args),void *Args)
{
extern const char *The_ClassPrefOn[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_GROUP_WHICH_GROUPS[2];
Grp_WhichGroups_t WhichGrps;
@ -4417,7 +4417,8 @@ void Grp_ShowFormToSelWhichGrps (Act_Action_t Action,
WhichGrps++)
{
if (WhichGrps == Gbl.Crs.Grps.WhichGrps)
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"",
The_Colors[Gbl.Prefs.Theme]);
else
HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (Action);

View File

@ -179,16 +179,15 @@ void Hie_WriteMenuHierarchy (void)
void Hie_WriteHierarchyInBreadcrumb (void)
{
extern const char *The_ClassBreadcrumb[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_System;
extern const char *Txt_Country;
extern const char *Txt_Institution;
extern const char *Txt_Center;
extern const char *Txt_Degree;
const char *ClassTxt = The_ClassBreadcrumb[Gbl.Prefs.Theme];
/***** Form to go to the system *****/
HTM_DIV_Begin ("class=\"BC %s\"",ClassTxt);
HTM_DIV_Begin ("class=\"BC BC_%s\"",The_Colors[Gbl.Prefs.Theme]);
HTM_NBSP ();
@ -203,7 +202,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
if (Gbl.Hierarchy.Cty.CtyCod > 0) // Country selected...
{
HTM_DIV_Begin ("class=\"BC %s\"",ClassTxt);
HTM_DIV_Begin ("class=\"BC BC_%s\"",The_Colors[Gbl.Prefs.Theme]);
/***** Separator *****/
HTM_Txt ("&nbsp;&gt;&nbsp;");
@ -221,7 +220,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
}
else
{
HTM_DIV_Begin ("class=\"BC BC_SEMIOFF %s\"",ClassTxt);
HTM_DIV_Begin ("class=\"BC BC_SEMIOFF BC_%s\"",The_Colors[Gbl.Prefs.Theme]);
/***** Separator *****/
HTM_Txt ("&nbsp;&gt;&nbsp;");
@ -238,7 +237,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
if (Gbl.Hierarchy.Ins.InsCod > 0) // Institution selected...
{
HTM_DIV_Begin ("class=\"BC %s\"",ClassTxt);
HTM_DIV_Begin ("class=\"BC BC_%s\"",The_Colors[Gbl.Prefs.Theme]);
/***** Separator *****/
HTM_Txt ("&nbsp;&gt;&nbsp;");
@ -256,7 +255,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
}
else if (Gbl.Hierarchy.Cty.CtyCod > 0)
{
HTM_DIV_Begin ("class=\"BC BC_SEMIOFF %s\"",ClassTxt);
HTM_DIV_Begin ("class=\"BC BC_SEMIOFF BC_%s\"",The_Colors[Gbl.Prefs.Theme]);
/***** Separator *****/
HTM_Txt ("&nbsp;&gt;&nbsp;");
@ -272,7 +271,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
}
else
{
HTM_DIV_Begin ("class=\"BC BC_OFF %s\"",ClassTxt);
HTM_DIV_Begin ("class=\"BC BC_OFF BC_%s\"",The_Colors[Gbl.Prefs.Theme]);
/***** Separator *****/
HTM_Txt ("&nbsp;&gt;&nbsp;");
@ -285,7 +284,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
if (Gbl.Hierarchy.Ctr.CtrCod > 0) // Center selected...
{
HTM_DIV_Begin ("class=\"BC %s\"",ClassTxt);
HTM_DIV_Begin ("class=\"BC BC_%s\"",The_Colors[Gbl.Prefs.Theme]);
/***** Separator *****/
HTM_Txt ("&nbsp;&gt;&nbsp;");
@ -303,7 +302,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
}
else if (Gbl.Hierarchy.Ins.InsCod > 0)
{
HTM_DIV_Begin ("class=\"BC BC_SEMIOFF %s\"",ClassTxt);
HTM_DIV_Begin ("class=\"BC BC_SEMIOFF BC_%s\"",The_Colors[Gbl.Prefs.Theme]);
/***** Separator *****/
HTM_Txt ("&nbsp;&gt;&nbsp;");
@ -319,7 +318,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
}
else
{
HTM_DIV_Begin ("class=\"BC BC_OFF %s\"",ClassTxt);
HTM_DIV_Begin ("class=\"BC BC_OFF BC_%s\"",The_Colors[Gbl.Prefs.Theme]);
/***** Separator *****/
HTM_Txt ("&nbsp;&gt;&nbsp;");
@ -332,7 +331,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
if (Gbl.Hierarchy.Deg.DegCod > 0) // Degree selected...
{
HTM_DIV_Begin ("class=\"BC %s\"",ClassTxt);
HTM_DIV_Begin ("class=\"BC BC_%s\"",The_Colors[Gbl.Prefs.Theme]);
/***** Separator *****/
HTM_Txt ("&nbsp;&gt;&nbsp;");
@ -350,7 +349,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
}
else if (Gbl.Hierarchy.Ctr.CtrCod > 0)
{
HTM_DIV_Begin ("class=\"BC BC_SEMIOFF %s\"",ClassTxt);
HTM_DIV_Begin ("class=\"BC BC_SEMIOFF BC_%s\"",The_Colors[Gbl.Prefs.Theme]);
/***** Separator *****/
HTM_Txt ("&nbsp;&gt;&nbsp;");
@ -366,7 +365,7 @@ void Hie_WriteHierarchyInBreadcrumb (void)
}
else
{
HTM_DIV_Begin ("class=\"BC BC_OFF %s\"",ClassTxt);
HTM_DIV_Begin ("class=\"BC BC_OFF BC_%s\"",The_Colors[Gbl.Prefs.Theme]);
/***** Separator *****/
HTM_Txt ("&nbsp;&gt;&nbsp;");
@ -377,11 +376,11 @@ void Hie_WriteHierarchyInBreadcrumb (void)
HTM_DIV_End ();
}
HTM_DIV_Begin ("class=\"BC%s %s\"",
HTM_DIV_Begin ("class=\"BC%s BC_%s\"",
(Gbl.Hierarchy.Level == HieLvl_CRS) ? "" :
((Gbl.Hierarchy.Deg.DegCod > 0) ? " BC_SEMIOFF" :
" BC_OFF"),
ClassTxt);
The_Colors[Gbl.Prefs.Theme]);
/***** Separator *****/
HTM_Txt ("&nbsp;&gt;&nbsp;");
@ -395,11 +394,11 @@ void Hie_WriteHierarchyInBreadcrumb (void)
void Hie_WriteBigNameCtyInsCtrDegCrs (void)
{
extern const char *The_ClassCourse[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_TAGLINE;
HTM_TxtF ("<h1 id=\"main_title\" class=\"%s\">",
The_ClassCourse[Gbl.Prefs.Theme]);
HTM_TxtF ("<h1 id=\"main_title\" class=\"MAIN_TITLE_%s\">",
The_Colors[Gbl.Prefs.Theme]);
/***** Logo *****/
switch (Gbl.Hierarchy.Level)

View File

@ -50,19 +50,17 @@ void HieCfg_Title (bool PutLink,
char LogoWWW[Cns_MAX_BYTES_WWW + 1],
char TextFullName[Cns_HIERARCHY_MAX_BYTES_FULL_NAME + 1])
{
extern const char *The_ClassFrameTitleColor[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
/***** Begin container *****/
HTM_DIV_Begin ("class=\"FRAME_TITLE FRAME_TITLE_BIG %s\"",
The_ClassFrameTitleColor[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"FRAME_TITLE FRAME_TITLE_BIG FRAME_TITLE_%s\"",
The_Colors[Gbl.Prefs.Theme]);
/* Begin link */
if (PutLink)
HTM_A_Begin ("href=\"%s\" target=\"_blank\" title=\"%s\""
" class=\"FRAME_TITLE_BIG %s\"",
LogoWWW,
LogoFullName,
The_ClassFrameTitleColor[Gbl.Prefs.Theme]);
" class=\"FRAME_TITLE_BIG FRAME_TITLE_%s\"",
LogoWWW,LogoFullName,The_Colors[Gbl.Prefs.Theme]);
/* Logo and name */
Lgo_DrawLogo (LogoScope,LogoCod,LogoShrtName,64,NULL,true);

View File

@ -157,7 +157,7 @@ const char *Ico_GetIcon (const char *IconWithoutExtension)
void Ico_PutIconsToSelectIconSet (void)
{
extern const char *The_ClassPrefOn[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Hlp_PROFILE_Settings_icons;
extern const char *Txt_Icons;
Ico_IconSet_t IconSet;
@ -173,7 +173,8 @@ void Ico_PutIconsToSelectIconSet (void)
IconSet++)
{
if (IconSet == Gbl.Prefs.IconSet)
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"",
The_Colors[Gbl.Prefs.Theme]);
else
HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (ActChgIco);

View File

@ -106,8 +106,7 @@ void Lay_WriteStartOfPage (void)
{
extern const char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES];
extern const unsigned Txt_Current_CGI_SWAD_Language;
extern const char *The_ClassBodyBG[The_NUM_THEMES];
extern const char *The_TabOnBgColors[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
static const char *LayoutMainZone[Mnu_NUM_MENUS] =
{
[Mnu_MENU_HORIZONTAL] = "main_horizontal",
@ -258,8 +257,8 @@ void Lay_WriteStartOfPage (void)
switch (BrowserTab)
{
case Act_BRW_1ST_TAB:
HTM_TxtF ("<body class=\"%s\" onload=\"init();\">\n",
The_ClassBodyBG[Gbl.Prefs.Theme]);
HTM_TxtF ("<body class=\"BODY_BG_%s\" onload=\"init();\">\n",
The_Colors[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("id=\"zoomLyr\" class=\"ZOOM\"");
HTM_IMG (Cfg_URL_ICON_PUBLIC,"usr_bl.jpg",NULL,
"class=\"IMG_USR\" id=\"zoomImg\"");
@ -346,8 +345,8 @@ void Lay_WriteStartOfPage (void)
HTM_DIV_Begin ("id=\"main_zone_central_both\"");
break;
}
HTM_DIV_Begin ("id=\"main_zone_central_container\" class=\"%s\"",
The_TabOnBgColors[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("id=\"main_zone_central_container\" class=\"TAB_ON_%s\"",
The_Colors[Gbl.Prefs.Theme]);
/* Layout with horizontal or vertical menu */
HTM_DIV_Begin ("id=\"%s\"",LayoutMainZone[Gbl.Prefs.Menu]);
@ -964,7 +963,6 @@ static void Lay_WriteScriptCustomDropzone (void)
static void Lay_WritePageTopHeading (void)
{
extern const char *The_ClassTagline[The_NUM_THEMES];
extern const char *Txt_TAGLINE;
extern const char *Txt_TAGLINE_BR;
static const char *ClassHeadRow1[The_NUM_THEMES] =
@ -987,6 +985,16 @@ static void Lay_WritePageTopHeading (void)
[The_THEME_PINK ] = "HEAD_ROW_2_PINK",
[The_THEME_DARK ] = "HEAD_ROW_2_DARK",
};
static const char *ClassTagline[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "BT_LINK TAGLINE_WHITE",
[The_THEME_GREY ] = "BT_LINK TAGLINE_GREY",
[The_THEME_PURPLE] = "BT_LINK TAGLINE_PURPLE",
[The_THEME_BLUE ] = "BT_LINK TAGLINE_BLUE",
[The_THEME_YELLOW] = "BT_LINK TAGLINE_YELLOW",
[The_THEME_PINK ] = "BT_LINK TAGLINE_PINK",
[The_THEME_DARK ] = "BT_LINK TAGLINE_DARK",
};
/***** Begin header *****/
HTM_Txt ("<header>");
@ -1014,7 +1022,7 @@ static void Lay_WritePageTopHeading (void)
HTM_DIV_Begin ("id=\"head_row_1_tagline\"");
HTM_BUTTON_OnSubmit_Begin (Txt_TAGLINE,
The_ClassTagline[Gbl.Prefs.Theme],
ClassTagline[Gbl.Prefs.Theme],
NULL);
HTM_Txt (Txt_TAGLINE_BR);
HTM_BUTTON_End ();
@ -1050,7 +1058,8 @@ static void Lay_WritePageTopHeading (void)
/***** 2nd. row *****/
/* Begin second row */
HTM_DIV_Begin ("id=\"head_row_2\" class=\"%s\"",ClassHeadRow2[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("id=\"head_row_2\" class=\"%s\"",
ClassHeadRow2[Gbl.Prefs.Theme]);
/* 2nd. row, 1st. column
Clock with hour:minute (server hour is shown) */
@ -1458,7 +1467,7 @@ static void Lay_WriteFootFromHTMLFile (void)
void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto,
long InsCod,long DegCod,long CrsCod)
{
extern const char *The_ClassPhoto[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
struct Hie_Hierarchy Hie;
/***** Get data of institution *****/
@ -1491,14 +1500,14 @@ void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto,
HTM_TD_End ();
/***** Second column: class photo title *****/
HTM_TD_Begin ("class=\"CLASSPHOTO_TITLE %s CM\"",
The_ClassPhoto[Gbl.Prefs.Theme]);
HTM_TD_Begin ("class=\"CLASSPHOTO_TITLE CLASSPHOTO_%s CM\"",
The_Colors[Gbl.Prefs.Theme]);
if (InsCod > 0)
{
if (!PrintView)
HTM_A_Begin ("href=\"%s\" target=\"_blank\""
" class=\"CLASSPHOTO_TITLE %s\"",
Hie.Ins.WWW,The_ClassPhoto[Gbl.Prefs.Theme]);
" class=\"CLASSPHOTO_TITLE CLASSPHOTO_%s\"",
Hie.Ins.WWW,The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Hie.Ins.FullName);
if (!PrintView)
HTM_A_End ();
@ -1509,8 +1518,8 @@ void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto,
HTM_Txt (" - ");
if (!PrintView)
HTM_A_Begin ("href=\"%s\" target=\"_blank\""
" class=\"CLASSPHOTO_TITLE %s\"",
Hie.Deg.WWW,The_ClassPhoto[Gbl.Prefs.Theme]);
" class=\"CLASSPHOTO_TITLE CLASSPHOTO_%s\"",
Hie.Deg.WWW,The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Hie.Deg.FullName);
if (!PrintView)
HTM_A_End ();
@ -1533,8 +1542,8 @@ void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto,
{
if (!PrintView)
HTM_A_Begin ("href=\"%s\" target=\"_blank\""
" class=\"CLASSPHOTO_TITLE %s\"",
Hie.Deg.WWW,The_ClassPhoto[Gbl.Prefs.Theme]);
" class=\"CLASSPHOTO_TITLE CLASSPHOTO_%s\"",
Hie.Deg.WWW,The_Colors[Gbl.Prefs.Theme]);
Lgo_DrawLogo (HieLvl_DEG,Hie.Deg.DegCod,Hie.Deg.ShrtName,40,NULL,true);
if (!PrintView)
HTM_A_End ();

View File

@ -209,7 +209,7 @@ Act_Action_t Mnu_GetFirstActionAvailableInCurrentTab (void)
void Mnu_WriteMenuThisTab (void)
{
extern const char *The_ClassTxtMenu[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB];
static const char *ClassIcoMenu[Ico_NUM_ICON_SETS][The_NUM_THEMES] =
{
@ -272,8 +272,8 @@ void Mnu_WriteMenuThisTab (void)
Gbl.Prefs.URLIconSet,
Act_GetIcon (NumAct));
HTM_DIV_End ();
HTM_DIV_Begin ("class=\"MENU_TXT %s\"",
The_ClassTxtMenu[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"MENU_TXT MENU_TXT_%s\"",
The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Txt_MENU_TITLE[Gbl.Action.Tab][NumOptInMenu]);
HTM_DIV_End ();
HTM_DIV_End ();
@ -303,7 +303,7 @@ void Mnu_WriteMenuThisTab (void)
void Mnu_PutIconsToSelectMenu (void)
{
extern const char *Hlp_PROFILE_Settings_menu;
extern const char *The_ClassPrefOn[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_Menu;
extern const char *Txt_MENU_NAMES[Mnu_NUM_MENUS];
Mnu_Menu_t Menu;
@ -318,7 +318,8 @@ void Mnu_PutIconsToSelectMenu (void)
Menu++)
{
if (Menu == Gbl.Prefs.Menu)
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"",
The_Colors[Gbl.Prefs.Theme]);
else
HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (ActChgMnu);

View File

@ -546,37 +546,17 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
long UsrCod,
Not_Status_t Status)
{
extern const char *The_ClassNoticeTextColor[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_See_full_notice;
static const char *ContainerClass[Not_NUM_STATUS] =
{
[Not_ACTIVE_NOTICE ] = "NOTICE_CONT",
[Not_OBSOLETE_NOTICE] = "NOTICE_CONT LIGHT",
[Not_ACTIVE_NOTICE ] = "NOTICE_BOX",
[Not_OBSOLETE_NOTICE] = "NOTICE_BOX LIGHT",
};
static const char *ContainerWidthClass[Not_NUM_TYPES_LISTING] =
{
[Not_LIST_BRIEF_NOTICES] = "NOTICE_CONT_NARROW",
[Not_LIST_FULL_NOTICES ] = "NOTICE_CONT_WIDE",
};
static const char *The_ClassNoticeDateColor[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "NOTICE_DATE_WHITE",
[The_THEME_GREY ] = "NOTICE_DATE_GREY",
[The_THEME_PURPLE] = "NOTICE_DATE_PURPLE",
[The_THEME_BLUE ] = "NOTICE_DATE_BLUE",
[The_THEME_YELLOW] = "NOTICE_DATE_YELLOW",
[The_THEME_PINK ] = "NOTICE_DATE_PINK",
[The_THEME_DARK ] = "NOTICE_DATE_DARK",
};
static const char *The_ClassNoticeAuthorColor[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "NOTICE_AUTHOR_WHITE",
[The_THEME_GREY ] = "NOTICE_AUTHOR_GREY",
[The_THEME_PURPLE] = "NOTICE_AUTHOR_PURPLE",
[The_THEME_BLUE ] = "NOTICE_AUTHOR_BLUE",
[The_THEME_YELLOW] = "NOTICE_AUTHOR_YELLOW",
[The_THEME_PINK ] = "NOTICE_AUTHOR_PINK",
[The_THEME_DARK ] = "NOTICE_AUTHOR_DARK",
[Not_LIST_BRIEF_NOTICES] = "NOTICE_BOX_NARROW",
[Not_LIST_FULL_NOTICES ] = "NOTICE_BOX_WIDE",
};
static unsigned UniqueId = 0;
char *Id;
@ -591,7 +571,10 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
{
HTM_ARTICLE_Begin (Anchor);
if (Highlight)
HTM_DIV_Begin ("class=\"NOTICE_HIGHLIGHT\"");
HTM_DIV_Begin ("class=\"NOTICE_CONT NOTICE_HIGHLIGHT_%s\"",
The_Colors[Gbl.Prefs.Theme]);
else
HTM_DIV_Begin ("class=\"NOTICE_CONT\"");
}
/***** Begin yellow note *****/
@ -624,8 +607,8 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
/* Write the date */
UniqueId++;
HTM_DIV_Begin ("class=\"NOTICE_DATE %s RT\"",
The_ClassNoticeDateColor[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"NOTICE_DATE NOTICE_DATE_%s RT\"",
The_Colors[Gbl.Prefs.Theme]);
if (TypeNoticesListing == Not_LIST_BRIEF_NOTICES)
{
/* Form to view full notice */
@ -651,8 +634,8 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
/***** Write the content of the notice *****/
if (TypeNoticesListing == Not_LIST_BRIEF_NOTICES)
{
HTM_DIV_Begin ("class=\"NOTICE_TEXT_BRIEF %s\"",
The_ClassNoticeTextColor[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"NOTICE_TEXT_BRIEF NOTICE_TEXT_%s\"",
The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Content);
HTM_DIV_End ();
@ -666,15 +649,15 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
}
else
{
HTM_DIV_Begin ("class=\"NOTICE_TEXT %s\"",
The_ClassNoticeTextColor[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"NOTICE_TEXT NOTICE_TEXT_%s\"",
The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Content);
HTM_DIV_End ();
}
/***** Write the author *****/
HTM_DIV_Begin ("class=\"NOTICE_AUTHOR %s\"", // Limited width
The_ClassNoticeAuthorColor[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"NOTICE_AUTHOR NOTICE_AUTHOR_%s\"", // Limited width
The_Colors[Gbl.Prefs.Theme]);
Usr_UsrDataConstructor (&UsrDat);
UsrDat.UsrCod = UsrCod;
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat, // Get author's data from database
@ -690,8 +673,7 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
/***** End article for this notice *****/
if (TypeNoticesListing == Not_LIST_FULL_NOTICES)
{
if (Highlight)
HTM_DIV_End ();
HTM_DIV_End ();
HTM_ARTICLE_End ();
}

View File

@ -1625,13 +1625,22 @@ void Ntf_ChangeNotifyEvents (void)
void Ntf_WriteNumberOfNewNtfs (void)
{
extern const char *The_ClassNotif[The_NUM_THEMES];
extern const char *Txt_See_notifications;
extern const char *Txt_notification;
extern const char *Txt_notifications;
extern const char *Txt_Notifications;
extern const char *Txt_NOTIF_new_SINGULAR;
extern const char *Txt_NOTIF_new_PLURAL;
static const char *ClassNotif[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "BT_LINK NOTIF_WHITE",
[The_THEME_GREY ] = "BT_LINK NOTIF_GREY",
[The_THEME_PURPLE] = "BT_LINK NOTIF_PURPLE",
[The_THEME_BLUE ] = "BT_LINK NOTIF_BLUE",
[The_THEME_YELLOW] = "BT_LINK NOTIF_YELLOW",
[The_THEME_PINK ] = "BT_LINK NOTIF_PINK",
[The_THEME_DARK ] = "BT_LINK NOTIF_DARK",
};
unsigned NumUnseenNtfs;
unsigned NumNewNtfs = 0;
@ -1644,7 +1653,7 @@ void Ntf_WriteNumberOfNewNtfs (void)
/***** Begin link *****/
HTM_BUTTON_OnSubmit_Begin (Txt_See_notifications,
The_ClassNotif[Gbl.Prefs.Theme],NULL);
ClassNotif[Gbl.Prefs.Theme],NULL);
/***** Number of unseen notifications *****/
HTM_SPAN_Begin ("id=\"notif_all\"");

View File

@ -2115,7 +2115,7 @@ static void Pho_GetMaxStdsPerDegree (struct Pho_DegPhotos *DegPhotos)
static void Pho_ShowOrPrintClassPhotoDegrees (struct Pho_DegPhotos *DegPhotos,
Pho_AvgPhotoSeeOrPrint_t SeeOrPrint)
{
extern const char *The_ClassPhoto[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
MYSQL_RES *mysql_res;
unsigned long NumDeg;
unsigned long NumDegs;
@ -2158,8 +2158,8 @@ static void Pho_ShowOrPrintClassPhotoDegrees (struct Pho_DegPhotos *DegPhotos,
}
/***** Show average photo of students belonging to this degree *****/
HTM_TD_Begin ("class=\"CLASSPHOTO %s CM\"",
The_ClassPhoto[Gbl.Prefs.Theme]);
HTM_TD_Begin ("class=\"CLASSPHOTO CLASSPHOTO_%s CM\"",
The_Colors[Gbl.Prefs.Theme]);
Pho_ShowDegreeAvgPhotoAndStat (&Deg,DegPhotos,
SeeOrPrint,
Usr_SEX_ALL,
@ -2194,7 +2194,7 @@ static void Pho_ShowOrPrintListDegrees (struct Pho_DegPhotos *DegPhotos,
Pho_AvgPhotoSeeOrPrint_t SeeOrPrint)
{
extern const char *The_ClassDat[The_NUM_THEMES];
extern const char *The_ClassPhoto[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_No_INDEX;
extern const char *Txt_Degree;
extern const char *Txt_SEX_PLURAL_Abc[Usr_NUM_SEXS];
@ -2270,8 +2270,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 %s RM %s\"",
The_ClassPhoto[Gbl.Prefs.Theme],
HTM_TD_Begin ("class=\"CLASSPHOTO CLASSPHOTO_%s RM %s\"",
The_Colors[Gbl.Prefs.Theme],
Gbl.ColorRows[Gbl.RowEvenOdd]);
if (Gbl.Usrs.Listing.WithPhotos)
Pho_ShowDegreeAvgPhotoAndStat (&Deg,DegPhotos,
@ -2358,7 +2358,7 @@ static void Pho_ShowDegreeAvgPhotoAndStat (const struct Deg_Degree *Deg,
{
extern const char *Usr_StringsSexDB[Usr_NUM_SEXS];
extern const char *The_ClassDatStrong[The_NUM_THEMES];
extern const char *The_ClassPhoto[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_students_ABBREVIATION;
extern const char *Txt_SEX_PLURAL_abc[Usr_NUM_SEXS];
extern const char *Txt_photos;
@ -2453,8 +2453,8 @@ static void Pho_ShowDegreeAvgPhotoAndStat (const struct Deg_Degree *Deg,
PhotoWidth,PhotoHeight);
/***** Caption *****/
HTM_DIV_Begin ("class=\"CLASSPHOTO_CAPTION %s\"",
The_ClassPhoto[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"CLASSPHOTO_CAPTION CLASSPHOTO_%s\"",
The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Deg->ShrtName);
HTM_BR ();
HTM_TxtF ("%d&nbsp;%s",NumStds,Txt_students_ABBREVIATION);

View File

@ -59,7 +59,7 @@ void Pho_PutIconsToSelectPhotoShape (void)
{
extern const char *Hlp_PROFILE_Settings_user_photos;
extern const char *Ico_ClassColor[Ico_NUM_COLORS][The_NUM_THEMES];
extern const char *The_ClassPrefOn[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_User_photos;
extern const char *Txt_PHOTO_SHAPES[Pho_NUM_SHAPES];
static const char *ClassPhoto[Pho_NUM_SHAPES] =
@ -81,7 +81,8 @@ void Pho_PutIconsToSelectPhotoShape (void)
Shape++)
{
if (Shape == Gbl.Prefs.PhotoShape)
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"",
The_Colors[Gbl.Prefs.Theme]);
else
HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (ActChgUsrPho);

View File

@ -566,7 +566,7 @@ static void Prj_ShowPrjsInCurrentPage (void *Projects)
static void Prj_ShowFormToFilterByMy_All (const struct Prj_Projects *Projects)
{
extern const char *The_ClassPrefOn[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
struct Prj_Filter Filter;
Usr_Who_t Who;
unsigned Mask = 1 << Usr_WHO_ME |
@ -580,7 +580,8 @@ static void Prj_ShowFormToFilterByMy_All (const struct Prj_Projects *Projects)
if (Mask & (1 << Who))
{
if (Who == Projects->Filter.Who)
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"",
The_Colors[Gbl.Prefs.Theme]);
else
HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (Who == Usr_WHO_SELECTED ? ActReqUsrPrj :
@ -607,7 +608,7 @@ static void Prj_ShowFormToFilterByMy_All (const struct Prj_Projects *Projects)
static void Prj_ShowFormToFilterByAssign (const struct Prj_Projects *Projects)
{
extern const char *The_ClassPrefOn[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_PROJECT_ASSIGNED_NONASSIGNED_PLURAL[Prj_NUM_ASSIGNED_NONASSIG];
struct Prj_Filter Filter;
Prj_AssignedNonassig_t Assign;
@ -618,7 +619,8 @@ static void Prj_ShowFormToFilterByAssign (const struct Prj_Projects *Projects)
Assign++)
{
if ((Projects->Filter.Assign & (1 << Assign)))
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"",
The_Colors[Gbl.Prefs.Theme]);
else
HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (ActSeePrj);
@ -645,7 +647,7 @@ static void Prj_ShowFormToFilterByAssign (const struct Prj_Projects *Projects)
static void Prj_ShowFormToFilterByHidden (const struct Prj_Projects *Projects)
{
extern const char *The_ClassPrefOn[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_PROJECT_HIDDEN_VISIBL_PROJECTS[Prj_NUM_HIDDEN_VISIBL];
struct Prj_Filter Filter;
Prj_HiddenVisibl_t HidVis;
@ -665,7 +667,7 @@ static void Prj_ShowFormToFilterByHidden (const struct Prj_Projects *Projects)
HidVis++)
{
if ((Projects->Filter.Hidden & (1 << HidVis)))
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"",The_Colors[Gbl.Prefs.Theme]);
else
HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (ActSeePrj);
@ -693,7 +695,7 @@ static void Prj_ShowFormToFilterByHidden (const struct Prj_Projects *Projects)
static void Prj_ShowFormToFilterByWarning (const struct Prj_Projects *Projects)
{
extern const char *The_ClassPrefOn[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_PROJECT_FAULTY_FAULTLESS_PROJECTS[Prj_NUM_FAULTINESS];
struct Prj_Filter Filter;
Prj_Faultiness_t Faultiness;
@ -713,7 +715,8 @@ static void Prj_ShowFormToFilterByWarning (const struct Prj_Projects *Projects)
Faultiness++)
{
if ((Projects->Filter.Faulti & (1 << Faultiness)))
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"",
The_Colors[Gbl.Prefs.Theme]);
else
HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (ActSeePrj);

View File

@ -207,7 +207,7 @@ void Set_SetSettingsFromIP (void)
static void Set_PutIconsToSelectSideCols (void)
{
extern const char *Hlp_PROFILE_Settings_columns;
extern const char *The_ClassPrefOn[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_Columns;
extern const char *Txt_LAYOUT_SIDE_COLUMNS[4];
unsigned SideCols;
@ -223,7 +223,8 @@ static void Set_PutIconsToSelectSideCols (void)
SideCols++)
{
if (SideCols == Gbl.Prefs.SideCols)
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"",
The_Colors[Gbl.Prefs.Theme]);
else
HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (ActChgCol);

View File

@ -51,10 +51,7 @@ static const char *Tab_GetIcon (Tab_Tab_t Tab);
void Tab_DrawTabs (void)
{
extern const char *The_ClassTxtTabOn[The_NUM_THEMES];
extern const char *The_ClassTxtTabOff[The_NUM_THEMES];
extern const char *The_TabOnBgColors[The_NUM_THEMES];
extern const char *The_TabOffBgColors[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_TABS_TXT[Tab_NUM_TABS];
extern const char *Txt_TABS_TXT[Tab_NUM_TABS];
Tab_Tab_t NumTab;
@ -110,11 +107,10 @@ void Tab_DrawTabs (void)
if (ICanViewTab) // Don't show the first hidden tabs
{
/* Form, icon (at top) and text (at bottom) of the tab */
HTM_LI_Begin ("class=\"%s %s\"",
NumTab == Gbl.Action.Tab ? "TAB_ON" :
"TAB_OFF",
NumTab == Gbl.Action.Tab ? The_TabOnBgColors[Gbl.Prefs.Theme] :
The_TabOffBgColors[Gbl.Prefs.Theme]);
HTM_LI_Begin ("class=\"%s%s\"",
NumTab == Gbl.Action.Tab ? "TAB_ON TAB_ON_" :
"TAB_OFF TAB_OFF_",
The_Colors[Gbl.Prefs.Theme]);
if (NumTab == Gbl.Action.Tab)
HTM_DIV_Begin (NULL); // This div must be present even in current tab in order to render properly the tab
@ -127,9 +123,10 @@ void Tab_DrawTabs (void)
"BT_LINK",NULL);
HTM_IMG (Gbl.Prefs.URLIconSet,Tab_GetIcon (NumTab),Txt_TABS_TXT[NumTab],
"class=\"TAB_ICO%s\"",ClassIcoTab[Gbl.Prefs.IconSet][Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"TAB_TXT %s\"",
NumTab == Gbl.Action.Tab ? The_ClassTxtTabOn[Gbl.Prefs.Theme] :
The_ClassTxtTabOff[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"TAB_TXT TAB_%s_TXT_%s\"",
NumTab == Gbl.Action.Tab ? "ON" :
"OFF",
The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Txt_TABS_TXT[NumTab]);
HTM_DIV_End ();
HTM_BUTTON_End ();

View File

@ -74,138 +74,6 @@ const char *The_ThemeNames[The_NUM_THEMES] =
[The_THEME_DARK ] = "Dark",
};
const char *The_ClassBodyBG[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "BODY_BG_WHITE",
[The_THEME_GREY ] = "BODY_BG_GREY",
[The_THEME_PURPLE] = "BODY_BG_PURPLE",
[The_THEME_BLUE ] = "BODY_BG_BLUE",
[The_THEME_YELLOW] = "BODY_BG_YELLOW",
[The_THEME_PINK ] = "BODY_BG_PINK",
[The_THEME_DARK ] = "BODY_BG_DARK",
};
const char *The_TabOnBgColors[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "TAB_ON_WHITE",
[The_THEME_GREY ] = "TAB_ON_GREY",
[The_THEME_PURPLE] = "TAB_ON_PURPLE",
[The_THEME_BLUE ] = "TAB_ON_BLUE",
[The_THEME_YELLOW] = "TAB_ON_YELLOW",
[The_THEME_PINK ] = "TAB_ON_PINK",
[The_THEME_DARK ] = "TAB_ON_DARK",
};
const char *The_TabOffBgColors[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "TAB_OFF_WHITE",
[The_THEME_GREY ] = "TAB_OFF_GREY",
[The_THEME_PURPLE] = "TAB_OFF_PURPLE",
[The_THEME_BLUE ] = "TAB_OFF_BLUE",
[The_THEME_YELLOW] = "TAB_OFF_YELLOW",
[The_THEME_PINK ] = "TAB_OFF_PINK",
[The_THEME_DARK ] = "TAB_OFF_DARK",
};
const char *The_ClassTagline[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "BT_LINK TAGLINE_WHITE",
[The_THEME_GREY ] = "BT_LINK TAGLINE_GREY",
[The_THEME_PURPLE] = "BT_LINK TAGLINE_PURPLE",
[The_THEME_BLUE ] = "BT_LINK TAGLINE_BLUE",
[The_THEME_YELLOW] = "BT_LINK TAGLINE_YELLOW",
[The_THEME_PINK ] = "BT_LINK TAGLINE_PINK",
[The_THEME_DARK ] = "BT_LINK TAGLINE_DARK",
};
const char *The_ClassNotif[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "BT_LINK NOTIF_WHITE",
[The_THEME_GREY ] = "BT_LINK NOTIF_GREY",
[The_THEME_PURPLE] = "BT_LINK NOTIF_PURPLE",
[The_THEME_BLUE ] = "BT_LINK NOTIF_BLUE",
[The_THEME_YELLOW] = "BT_LINK NOTIF_YELLOW",
[The_THEME_PINK ] = "BT_LINK NOTIF_PINK",
[The_THEME_DARK ] = "BT_LINK NOTIF_DARK",
};
const char *The_ClassUsr[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "USR_WHITE",
[The_THEME_GREY ] = "USR_GREY",
[The_THEME_PURPLE] = "USR_PURPLE",
[The_THEME_BLUE ] = "USR_BLUE",
[The_THEME_YELLOW] = "USR_YELLOW",
[The_THEME_PINK ] = "USR_PINK",
[The_THEME_DARK ] = "USR_DARK",
};
const char *The_ClassBreadcrumb[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "BC_WHITE",
[The_THEME_GREY ] = "BC_GREY",
[The_THEME_PURPLE] = "BC_PURPLE",
[The_THEME_BLUE ] = "BC_BLUE",
[The_THEME_YELLOW] = "BC_YELLOW",
[The_THEME_PINK ] = "BC_PINK",
[The_THEME_DARK ] = "BC_DARK",
};
const char *The_ClassCourse[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "MAIN_TITLE_WHITE",
[The_THEME_GREY ] = "MAIN_TITLE_GREY",
[The_THEME_PURPLE] = "MAIN_TITLE_PURPLE",
[The_THEME_BLUE ] = "MAIN_TITLE_BLUE",
[The_THEME_YELLOW] = "MAIN_TITLE_YELLOW",
[The_THEME_PINK ] = "MAIN_TITLE_PINK",
[The_THEME_DARK ] = "MAIN_TITLE_DARK",
};
const char *The_ClassTxtMenu[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "MENU_TXT_WHITE",
[The_THEME_GREY ] = "MENU_TXT_GREY",
[The_THEME_PURPLE] = "MENU_TXT_PURPLE",
[The_THEME_BLUE ] = "MENU_TXT_BLUE",
[The_THEME_YELLOW] = "MENU_TXT_YELLOW",
[The_THEME_PINK ] = "MENU_TXT_PINK",
[The_THEME_DARK ] = "MENU_TXT_DARK",
};
const char *The_ClassTxtTabOff[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "TAB_OFF_TXT_WHITE",
[The_THEME_GREY ] = "TAB_OFF_TXT_GREY",
[The_THEME_PURPLE] = "TAB_OFF_TXT_PURPLE",
[The_THEME_BLUE ] = "TAB_OFF_TXT_BLUE",
[The_THEME_YELLOW] = "TAB_OFF_TXT_YELLOW",
[The_THEME_PINK ] = "TAB_OFF_TXT_PINK",
[The_THEME_DARK ] = "TAB_OFF_TXT_DARK",
};
const char *The_ClassTxtTabOn[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "TAB_ON_TXT_WHITE",
[The_THEME_GREY ] = "TAB_ON_TXT_GREY",
[The_THEME_PURPLE] = "TAB_ON_TXT_PURPLE",
[The_THEME_BLUE ] = "TAB_ON_TXT_BLUE",
[The_THEME_YELLOW] = "TAB_ON_TXT_YELLOW",
[The_THEME_PINK ] = "TAB_ON_TXT_PINK",
[The_THEME_DARK ] = "TAB_ON_TXT_DARK",
};
const char *The_ClassTitle[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "TITLE_WHITE",
[The_THEME_GREY ] = "TITLE_GREY",
[The_THEME_PURPLE] = "TITLE_PURPLE",
[The_THEME_BLUE ] = "TITLE_BLUE",
[The_THEME_YELLOW] = "TITLE_YELLOW",
[The_THEME_PINK ] = "TITLE_PINK",
[The_THEME_DARK ] = "TITLE_DARK",
};
const char *The_ClassFormLinkInBox[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "BT_LINK FORM_IN_WHITE",
@ -360,17 +228,6 @@ const char *The_ClassBgHighlight[The_NUM_THEMES] =
[The_THEME_DARK ] = "BG_HIGHLIGHT_DARK",
};
const char *The_ClassPrefOn[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "PREF_ON_WHITE",
[The_THEME_GREY ] = "PREF_ON_GREY",
[The_THEME_PURPLE] = "PREF_ON_PURPLE",
[The_THEME_BLUE ] = "PREF_ON_BLUE",
[The_THEME_YELLOW] = "PREF_ON_YELLOW",
[The_THEME_PINK ] = "PREF_ON_PINK",
[The_THEME_DARK ] = "PREF_ON_DARK",
};
const char *The_ClassInput[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "INPUT_WHITE",
@ -382,88 +239,15 @@ const char *The_ClassInput[The_NUM_THEMES] =
[The_THEME_DARK ] = "INPUT_DARK",
};
const char *The_ClassFrameTitleColor[The_NUM_THEMES] =
const char *The_Colors[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "FRAME_TITLE_WHITE",
[The_THEME_GREY ] = "FRAME_TITLE_GREY",
[The_THEME_PURPLE] = "FRAME_TITLE_PURPLE",
[The_THEME_BLUE ] = "FRAME_TITLE_BLUE",
[The_THEME_YELLOW] = "FRAME_TITLE_YELLOW",
[The_THEME_PINK ] = "FRAME_TITLE_PINK",
[The_THEME_DARK ] = "FRAME_TITLE_DARK",
};
const char *The_ClassAlertBackground[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "ALERT_BG_WHITE",
[The_THEME_GREY ] = "ALERT_BG_GREY",
[The_THEME_PURPLE] = "ALERT_BG_PURPLE",
[The_THEME_BLUE ] = "ALERT_BG_BLUE",
[The_THEME_YELLOW] = "ALERT_BG_YELLOW",
[The_THEME_PINK ] = "ALERT_BG_PINK",
[The_THEME_DARK ] = "ALERT_BG_DARK",
};
const char *The_ClassAlertTxtColor[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "ALERT_TXT_WHITE",
[The_THEME_GREY ] = "ALERT_TXT_GREY",
[The_THEME_PURPLE] = "ALERT_TXT_PURPLE",
[The_THEME_BLUE ] = "ALERT_TXT_BLUE",
[The_THEME_YELLOW] = "ALERT_TXT_YELLOW",
[The_THEME_PINK ] = "ALERT_TXT_PINK",
[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",
};
const char *The_TmlTxtColor[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "Tml_TXT_WHITE",
[The_THEME_GREY ] = "Tml_TXT_GREY",
[The_THEME_PURPLE] = "Tml_TXT_PURPLE",
[The_THEME_BLUE ] = "Tml_TXT_BLUE",
[The_THEME_YELLOW] = "Tml_TXT_YELLOW",
[The_THEME_PINK ] = "Tml_TXT_PINK",
[The_THEME_DARK ] = "Tml_TXT_DARK",
};
const char *The_ClassPhoto[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "CLASSPHOTO_WHITE",
[The_THEME_GREY ] = "CLASSPHOTO_GREY",
[The_THEME_PURPLE] = "CLASSPHOTO_PURPLE",
[The_THEME_BLUE ] = "CLASSPHOTO_BLUE",
[The_THEME_YELLOW] = "CLASSPHOTO_YELLOW",
[The_THEME_PINK ] = "CLASSPHOTO_PINK",
[The_THEME_DARK ] = "CLASSPHOTO_DARK",
};
const char *The_ClassNoticeTextColor[The_NUM_THEMES] =
{
[The_THEME_WHITE ] = "NOTICE_TEXT_WHITE",
[The_THEME_GREY ] = "NOTICE_TEXT_GREY",
[The_THEME_PURPLE] = "NOTICE_TEXT_PURPLE",
[The_THEME_BLUE ] = "NOTICE_TEXT_BLUE",
[The_THEME_YELLOW] = "NOTICE_TEXT_YELLOW",
[The_THEME_PINK ] = "NOTICE_TEXT_PINK",
[The_THEME_DARK ] = "NOTICE_TEXT_DARK",
[The_THEME_WHITE ] = "WHITE",
[The_THEME_GREY ] = "GREY",
[The_THEME_PURPLE] = "PURPLE",
[The_THEME_BLUE ] = "BLUE",
[The_THEME_YELLOW] = "YELLOW",
[The_THEME_PINK ] = "PINK",
[The_THEME_DARK ] = "DARK",
};
/*****************************************************************************/
@ -479,7 +263,6 @@ static void The_PutIconsTheme (__attribute__((unused)) void *Args);
void The_PutIconsToSelectTheme (void)
{
extern const char *Hlp_PROFILE_Settings_theme;
extern const char *The_ClassPrefOn[The_NUM_THEMES];
extern const char *Txt_Theme_SKIN;
The_Theme_t Theme;
char Icon[PATH_MAX + 1];
@ -494,7 +277,8 @@ void The_PutIconsToSelectTheme (void)
Theme++)
{
if (Theme == Gbl.Prefs.Theme)
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"",
The_Colors[Gbl.Prefs.Theme]);
else
HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (ActChgThe);
@ -587,7 +371,24 @@ The_Theme_t The_GetThemeFromStr (const char *Str)
void The_SetColorRows (void)
{
extern const char *The_ClassColorRows[2][The_NUM_THEMES];
static 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",
};
Gbl.ColorRows[0] = The_ClassColorRows[0][Gbl.Prefs.Theme]; // Darker
Gbl.ColorRows[1] = The_ClassColorRows[1][Gbl.Prefs.Theme]; // Lighter

View File

@ -645,12 +645,13 @@ static void Tml_Com_WriteAuthorName (const struct UsrData *UsrDat) // Author
static void Tml_Com_WriteContent (struct Tml_Com_Comment *Com)
{
extern const char *The_TmlTxtColor[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
/***** Write content of the comment *****/
if (Com->Content.Txt[0])
{
HTM_DIV_Begin ("class=\"Tml_TXT %s\"",The_TmlTxtColor[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"Tml_TXT Tml_TXT_%s\"",
The_Colors[Gbl.Prefs.Theme]);
Msg_WriteMsgContent (Com->Content.Txt,true,false);
HTM_DIV_End ();
}

View File

@ -381,7 +381,7 @@ static void Tml_Not_WriteContent (const struct Tml_Not_Note *Not)
static void Tml_Not_GetAndWriteNoPost (const struct Tml_Not_Note *Not)
{
extern const char *The_TmlTxtColor[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
struct Hie_Hierarchy Hie;
struct For_Forums Forums;
char ForumName[For_MAX_BYTES_FORUM_NAME + 1];
@ -406,7 +406,7 @@ static void Tml_Not_GetAndWriteNoPost (const struct Tml_Not_Note *Not)
Tml_Not_GetNoteSummary (Not,SummaryStr);
/* Write note summary */
HTM_DIV_Begin ("class=\"Tml_TXT %s\"",The_TmlTxtColor[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"Tml_TXT Tml_TXT_%s\"",The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (SummaryStr);
HTM_DIV_End ();
}

View File

@ -121,12 +121,13 @@ static void Tml_Pst_GetPostContent (long PstCod,struct Tml_Pst_Content *Content)
static void Tml_Pst_ShowPostContent (struct Tml_Pst_Content *Content)
{
extern const char *The_TmlTxtColor[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
/***** Write content text *****/
if (Content->Txt[0])
{
HTM_DIV_Begin ("class=\"Tml_TXT %s\"",The_TmlTxtColor[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"Tml_TXT Tml_TXT_%s\"",
The_Colors[Gbl.Prefs.Theme]);
Msg_WriteMsgContent (Content->Txt,true,false);
HTM_DIV_End ();
}

View File

@ -62,7 +62,7 @@ static void Tml_Who_ShowWarningYouDontFollowAnyUser (void);
void Tml_Who_PutFormWho (struct Tml_Timeline *Timeline)
{
extern const char *The_ClassPrefOn[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
Usr_Who_t Who;
unsigned Mask = 1 << Usr_WHO_ME |
1 << Usr_WHO_FOLLOWED |
@ -78,7 +78,8 @@ void Tml_Who_PutFormWho (struct Tml_Timeline *Timeline)
{
/* Begin container */
if (Who == Timeline->Who)
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"",
The_Colors[Gbl.Prefs.Theme]);
else
HTM_DIV_Begin ("class=\"PREF_OFF\"");

View File

@ -212,12 +212,12 @@ static void Tmt_FreeTimeTable (void)
static void Tmt_ShowTimeTableGrpsSelected (void)
{
extern const char *The_ClassPhoto[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *Txt_Groups_OF_A_USER;
extern const char *Txt_All_groups;
HTM_DIV_Begin ("class=\"CLASSPHOTO_TITLE %s CM\"",
The_ClassPhoto[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"CLASSPHOTO_TITLE CLASSPHOTO_%s CM\"",
The_Colors[Gbl.Prefs.Theme]);
switch (Gbl.Crs.Grps.WhichGrps)
{

View File

@ -1343,7 +1343,7 @@ void Usr_PutFormLogIn (void)
void Usr_WriteLoggedUsrHead (void)
{
extern const char *The_ClassUsr[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
extern const char *The_ClassInput[The_NUM_THEMES];
extern const char *Txt_Role;
extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
@ -1356,7 +1356,7 @@ void Usr_WriteLoggedUsrHead (void)
};
unsigned NumAvailableRoles = Rol_GetNumAvailableRoles ();
HTM_DIV_Begin ("class=\"HEAD_USR %s\"",The_ClassUsr[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"HEAD_USR USR_%s\"",The_Colors[Gbl.Prefs.Theme]);
/***** User's role *****/
if (NumAvailableRoles == 1)
@ -3577,14 +3577,15 @@ void Usr_FreeListOtherRecipients (void)
void Usr_ShowFormsToSelectUsrListType (void (*FuncParams) (void *Args),void *Args)
{
extern const char *The_ClassPrefOn[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
Set_BeginSettingsHead ();
Set_BeginOneSettingSelector ();
/***** Select Set_USR_LIST_AS_CLASS_PHOTO *****/
if (Gbl.Usrs.Me.ListType == Set_USR_LIST_AS_CLASS_PHOTO)
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"",
The_Colors[Gbl.Prefs.Theme]);
else
HTM_DIV_Begin ("class=\"PREF_OFF\"");
Set_FormToSelectUsrListType (FuncParams,Args,
@ -3604,7 +3605,7 @@ void Usr_ShowFormsToSelectUsrListType (void (*FuncParams) (void *Args),void *Arg
/***** Select Usr_LIST_AS_LISTING *****/
if (Gbl.Usrs.Me.ListType == Set_USR_LIST_AS_LISTING)
HTM_DIV_Begin ("class=\"PREF_ON %s\"",The_ClassPrefOn[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"PREF_ON PREF_ON_%s\"",The_Colors[Gbl.Prefs.Theme]);
else
HTM_DIV_Begin ("class=\"PREF_OFF\"");
Set_FormToSelectUsrListType (FuncParams,Args,
@ -6114,7 +6115,7 @@ static void Usr_DrawClassPhoto (Usr_ClassPhotoType_t ClassPhotoType,
struct SelectedUsrs *SelectedUsrs,
bool PutCheckBoxToSelectUsr)
{
extern const char *The_ClassPhoto[The_NUM_THEMES];
extern const char *The_Colors[The_NUM_THEMES];
static const char *ClassPhoto[Usr_NUM_CLASS_PHOTO_TYPE][Pho_NUM_SHAPES] =
{
[Usr_CLASS_PHOTO_SEL ][Pho_SHAPE_CIRCLE ] = "PHOTOC21x28",
@ -6165,14 +6166,14 @@ static void Usr_DrawClassPhoto (Usr_ClassPhotoType_t ClassPhotoType,
UsrDat.UsrCod == Gbl.Usrs.Other.UsrDat.UsrCod)
{
UsrIsTheMsgSender = true;
HTM_TD_Begin ("class=\"CLASSPHOTO %s CB LIGHT_GREEN\"",
The_ClassPhoto[Gbl.Prefs.Theme]);
HTM_TD_Begin ("class=\"CLASSPHOTO CLASSPHOTO_%s CB LIGHT_GREEN\"",
The_Colors[Gbl.Prefs.Theme]);
}
else
{
UsrIsTheMsgSender = false;
HTM_TD_Begin ("class=\"CLASSPHOTO %s CB\"",
The_ClassPhoto[Gbl.Prefs.Theme]);
HTM_TD_Begin ("class=\"CLASSPHOTO CLASSPHOTO_%s CB\"",
The_Colors[Gbl.Prefs.Theme]);
}
/***** Checkbox to select this user *****/
@ -6186,8 +6187,8 @@ static void Usr_DrawClassPhoto (Usr_ClassPhotoType_t ClassPhotoType,
false);
/***** Photo foot *****/
HTM_DIV_Begin ("class=\"CLASSPHOTO_CAPTION %s\"",
The_ClassPhoto[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("class=\"CLASSPHOTO_CAPTION CLASSPHOTO_%s\"",
The_Colors[Gbl.Prefs.Theme]);
/* Name */
if (UsrDat.FrstName[0])