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 ***********************************/
.NOTICE_HIGHLIGHT .NOTICE_CONT
{ {
padding:10px 0; padding:10px 0;
background-color:#ddecf1;
animation:fadein 2s linear forwards;
} }
@keyframes fadein
{ .NOTICE_HIGHLIGHT_WHITE {background-color:#ddecf1; animation:fadeinnoticelight 2s linear forwards;}
to {background-color:white;} .NOTICE_HIGHLIGHT_GREY {background-color:#ddecf1; animation:fadeinnoticelight 2s linear forwards;}
} .NOTICE_HIGHLIGHT_PURPLE {background-color:#ddecf1; animation:fadeinnoticelight 2s linear forwards;}
.NOTICE_CONT .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; box-sizing:border-box;
margin:0 auto 10px auto; margin:0 auto 10px auto;
@ -1713,8 +1718,8 @@ a:hover img.CENTER_PHOTO_SHOW
text-align:left; text-align:left;
overflow:hidden; overflow:hidden;
} }
.NOTICE_CONT_NARROW {width:148px;} .NOTICE_BOX_NARROW {width:148px;}
.NOTICE_CONT_WIDE {width:500px;} .NOTICE_BOX_WIDE {width:500px;}
.NOTICE_DATE .NOTICE_DATE
{ {
float:right; 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) 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]; extern const char *Txt_AGENDA_PAST___FUTURE_EVENTS[2];
Agd_Past__FutureEvents_t PstFut; Agd_Past__FutureEvents_t PstFut;
static const char *Icon[2] = static const char *Icon[2] =
@ -221,7 +221,8 @@ static void Agd_ShowFormToSelPast__FutureEvents (const struct Agd_Agenda *Agenda
PstFut++) PstFut++)
{ {
if ((Agenda->Past__FutureEvents & (1 << 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 else
HTM_DIV_Begin ("class=\"PREF_OFF\""); HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (ActSeeMyAgd); 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) 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]; extern const char *Txt_AGENDA_PRIVAT_PUBLIC_EVENTS[2];
Agd_PrivatPublicEvents_t PrvPub; Agd_PrivatPublicEvents_t PrvPub;
static const struct static const struct
@ -264,7 +265,8 @@ static void Agd_ShowFormToSelPrivatPublicEvents (const struct Agd_Agenda *Agenda
PrvPub++) PrvPub++)
{ {
if ((Agenda->PrivatPublicEvents & (1 << 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 else
HTM_DIV_Begin ("class=\"PREF_OFF\""); HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (ActSeeMyAgd); 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) 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]; extern const char *Txt_AGENDA_HIDDEN_VISIBL_EVENTS[2];
Agd_HiddenVisiblEvents_t HidVis; Agd_HiddenVisiblEvents_t HidVis;
static const struct static const struct
@ -307,7 +309,8 @@ static void Agd_ShowFormToSelHiddenVisiblEvents (const struct Agd_Agenda *Agenda
HidVis++) HidVis++)
{ {
if ((Agenda->HiddenVisiblEvents & (1 << 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 else
HTM_DIV_Begin ("class=\"PREF_OFF\""); HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (ActSeeMyAgd); 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) static void Ale_ShowFixAlertAndButton1 (Ale_AlertType_t AlertType,const char *Txt)
{ {
extern const char *The_ClassAlertBackground[The_NUM_THEMES]; extern const char *The_Colors[The_NUM_THEMES];
extern const char *The_ClassAlertTxtColor[The_NUM_THEMES];
extern const char *Txt_Close; extern const char *Txt_Close;
char IdAlert[Frm_MAX_BYTES_ID + 1]; char IdAlert[Frm_MAX_BYTES_ID + 1];
static const bool AlertClosable[Ale_NUM_ALERT_TYPES] = 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\""); HTM_DIV_Begin ("class=\"CM\"");
/***** Begin box *****/ /***** Begin box *****/
HTM_DIV_Begin ("class=\"ALERT %s\"", HTM_DIV_Begin ("class=\"ALERT ALERT_BG_%s\"",The_Colors[Gbl.Prefs.Theme]);
The_ClassAlertBackground[Gbl.Prefs.Theme]);
/***** Icon to close the alert *****/ /***** Icon to close the alert *****/
if (AlertClosable[AlertType]) if (AlertClosable[AlertType])
@ -415,11 +413,12 @@ static void Ale_ShowFixAlertAndButton1 (Ale_AlertType_t AlertType,const char *Tx
/***** Write message *****/ /***** Write message *****/
if (AlertType == Ale_NONE) if (AlertType == Ale_NONE)
HTM_DIV_Begin ("class=\"ALERT_TXT %s\"", HTM_DIV_Begin ("class=\"ALERT_TXT ALERT_TXT_%s\"",
The_ClassAlertTxtColor[Gbl.Prefs.Theme]); The_Colors[Gbl.Prefs.Theme]);
else else
HTM_DIV_Begin ("class=\"ALERT_TXT %s\" style=\"background-image:url('%s/%s');\"", HTM_DIV_Begin ("class=\"ALERT_TXT ALERT_TXT_%s\""
The_ClassAlertTxtColor[Gbl.Prefs.Theme], " style=\"background-image:url('%s/%s');\"",
The_Colors[Gbl.Prefs.Theme],
Cfg_URL_ICON_PUBLIC,Ale_AlertIcons[AlertType]); Cfg_URL_ICON_PUBLIC,Ale_AlertIcons[AlertType]);
HTM_Txt (Txt); HTM_Txt (Txt);
HTM_DIV_End (); HTM_DIV_End ();

View File

@ -225,24 +225,14 @@ static void Ann_DrawAnAnnouncement (long AnnCod,Ann_Status_t Status,
bool ShowAllAnnouncements, bool ShowAllAnnouncements,
bool ICanEdit) 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_Users;
extern const char *Txt_ROLES_PLURAL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_ROLES_PLURAL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
extern const char *Txt_Do_not_show_again; extern const char *Txt_Do_not_show_again;
static const char *ContainerClass[Ann_NUM_STATUS] = static const char *ContainerClass[Ann_NUM_STATUS] =
{ {
[Ann_ACTIVE_ANNOUNCEMENT ] = "NOTICE_CONT NOTICE_CONT_WIDE", [Ann_ACTIVE_ANNOUNCEMENT ] = "NOTICE_BOX NOTICE_BOX_WIDE",
[Ann_OBSOLETE_ANNOUNCEMENT] = "NOTICE_CONT NOTICE_CONT_WIDE LIGHT", [Ann_OBSOLETE_ANNOUNCEMENT] = "NOTICE_BOX NOTICE_BOX_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",
}; };
Rol_Role_t Role; Rol_Role_t Role;
bool SomeRolesAreSelected; bool SomeRolesAreSelected;
@ -271,13 +261,14 @@ static void Ann_DrawAnAnnouncement (long AnnCod,Ann_Status_t Status,
} }
/***** Write the subject of the announcement *****/ /***** 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_Txt (Subject);
HTM_DIV_End (); HTM_DIV_End ();
/***** Write the content of the announcement *****/ /***** Write the content of the announcement *****/
HTM_DIV_Begin ("class=\"NOTICE_TEXT %s\"", HTM_DIV_Begin ("class=\"NOTICE_TEXT NOTICE_TEXT_%s\"",
The_ClassNoticeTextColor[Gbl.Prefs.Theme]); The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Content); HTM_Txt (Content);
HTM_DIV_End (); HTM_DIV_End ();
@ -289,7 +280,7 @@ static void Ann_DrawAnAnnouncement (long AnnCod,Ann_Status_t Status,
{ {
/* Users' roles who can view this announcement */ /* Users' roles who can view this announcement */
HTM_TxtColon (Txt_Users); HTM_TxtColon (Txt_Users);
for (Role = Rol_UNK, SomeRolesAreSelected = false; for (Role = Rol_UNK, SomeRolesAreSelected = false;
Role <= Rol_TCH; Role <= Rol_TCH;
Role++) Role++)
if (Roles & (1 << 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 *HelpLink,Box_Closable_t Closable,
const char *ClassFrame) 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_Help;
extern const char *Txt_Close; extern const char *Txt_Close;
@ -191,10 +191,10 @@ static void Box_BoxInternalBegin (const char *Width,const char *Title,
/***** Frame title *****/ /***** Frame title *****/
if (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" : Gbl.Box.Nested ? "FRAME_TITLE_SMALL" :
"FRAME_TITLE_BIG", "FRAME_TITLE_BIG",
The_ClassFrameTitleColor[Gbl.Prefs.Theme]); The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Title); HTM_Txt (Title);
HTM_DIV_End (); 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 Cal_ShowFormToSelFirstDayOfWeek (Act_Action_t Action,
void (*FuncParams) (void *Args),void *Args) 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_First_day_of_the_week_X;
extern const char *Txt_DAYS_SMALL[7]; extern const char *Txt_DAYS_SMALL[7];
unsigned FirstDayOfWeek; unsigned FirstDayOfWeek;
@ -125,7 +125,8 @@ void Cal_ShowFormToSelFirstDayOfWeek (Act_Action_t Action,
if (Cal_DayIsValidAsFirstDayOfWeek[FirstDayOfWeek]) if (Cal_DayIsValidAsFirstDayOfWeek[FirstDayOfWeek])
{ {
if (FirstDayOfWeek == Gbl.Prefs.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 else
HTM_DIV_Begin ("class=\"PREF_OFF\""); HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (Action); 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. 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 Log_PLATFORM_VERSION "SWAD 21.76 (2021-12-27)"
#define CSS_FILE "swad21.74.css" #define CSS_FILE "swad21.76.css"
#define JS_FILE "swad21.67.4.js" #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.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.75: Dec 26, 2021 Code refactoring related to links. (322477 lines)
Version 21.74: Dec 26, 2021 Working on design of dark theme. 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) static void CtyCfg_Title (bool PutLink)
{ {
extern const char *The_ClassFrameTitleColor[The_NUM_THEMES]; extern const char *The_Colors[The_NUM_THEMES];
/***** Begin container *****/ /***** Begin container *****/
HTM_DIV_Begin ("class=\"FRAME_TITLE FRAME_TITLE_BIG %s\"", HTM_DIV_Begin ("class=\"FRAME_TITLE FRAME_TITLE_BIG FRAME_TITLE_%s\"",
The_ClassFrameTitleColor[Gbl.Prefs.Theme]); The_Colors[Gbl.Prefs.Theme]);
/* Begin link */ /* Begin link */
if (PutLink) if (PutLink)
HTM_A_Begin ("href=\"%s\" target=\"_blank\" title=\"%s\"" 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.WWW[Gbl.Prefs.Language],
Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language], Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language],
The_ClassFrameTitleColor[Gbl.Prefs.Theme]); The_Colors[Gbl.Prefs.Theme]);
/* Country name */ /* Country name */
HTM_Txt (Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]); 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) static void Enr_ShowFormRegRemSeveralUsrs (Rol_Role_t Role)
{ {
extern const char *Hlp_USERS_Administration_administer_multiple_users; 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_students;
extern const char *Txt_Administer_multiple_non_editing_teachers; extern const char *Txt_Administer_multiple_non_editing_teachers;
extern const char *Txt_Administer_multiple_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); Hlp_USERS_Administration_administer_multiple_users,Box_NOT_CLOSABLE);
/***** Step 1: List of students to be enroled / removed *****/ /***** 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_Txt (Txt_Step_1_Provide_a_list_of_users);
HTM_DIV_End (); HTM_DIV_End ();
@ -600,13 +600,13 @@ static void Enr_ShowFormRegRemSeveralUsrs (Rol_Role_t Role)
Enr_PutAreaToEnterUsrsIDs (); Enr_PutAreaToEnterUsrsIDs ();
/***** Step 2: Put different actions to register/remove users to/from current course *****/ /***** 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_Txt (Txt_Step_2_Select_the_desired_action);
HTM_DIV_End (); HTM_DIV_End ();
Enr_PutActionsRegRemSeveralUsrs (); Enr_PutActionsRegRemSeveralUsrs ();
/***** Step 3: Select groups in which register / remove users *****/ /***** 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_Txt (Txt_Step_3_Optionally_select_groups);
HTM_DIV_End (); HTM_DIV_End ();
if (Gbl.Hierarchy.Level == HieLvl_CRS) // Course selected 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 *****/ /***** 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_Txt (Txt_Step_4_Confirm_the_enrolment_removing);
HTM_DIV_End (); HTM_DIV_End ();
Pwd_AskForConfirmationOnDangerousAction (); Pwd_AskForConfirmationOnDangerousAction ();

View File

@ -4404,7 +4404,7 @@ void Grp_PutParamWhichGrpsAllGrps (void)
void Grp_ShowFormToSelWhichGrps (Act_Action_t Action, void Grp_ShowFormToSelWhichGrps (Act_Action_t Action,
void (*FuncParams) (void *Args),void *Args) 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]; extern const char *Txt_GROUP_WHICH_GROUPS[2];
Grp_WhichGroups_t WhichGrps; Grp_WhichGroups_t WhichGrps;
@ -4417,7 +4417,8 @@ void Grp_ShowFormToSelWhichGrps (Act_Action_t Action,
WhichGrps++) WhichGrps++)
{ {
if (WhichGrps == Gbl.Crs.Grps.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 else
HTM_DIV_Begin ("class=\"PREF_OFF\""); HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (Action); Frm_BeginForm (Action);

View File

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

View File

@ -50,19 +50,17 @@ void HieCfg_Title (bool PutLink,
char LogoWWW[Cns_MAX_BYTES_WWW + 1], char LogoWWW[Cns_MAX_BYTES_WWW + 1],
char TextFullName[Cns_HIERARCHY_MAX_BYTES_FULL_NAME + 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 *****/ /***** Begin container *****/
HTM_DIV_Begin ("class=\"FRAME_TITLE FRAME_TITLE_BIG %s\"", HTM_DIV_Begin ("class=\"FRAME_TITLE FRAME_TITLE_BIG FRAME_TITLE_%s\"",
The_ClassFrameTitleColor[Gbl.Prefs.Theme]); The_Colors[Gbl.Prefs.Theme]);
/* Begin link */ /* Begin link */
if (PutLink) if (PutLink)
HTM_A_Begin ("href=\"%s\" target=\"_blank\" title=\"%s\"" HTM_A_Begin ("href=\"%s\" target=\"_blank\" title=\"%s\""
" class=\"FRAME_TITLE_BIG %s\"", " class=\"FRAME_TITLE_BIG FRAME_TITLE_%s\"",
LogoWWW, LogoWWW,LogoFullName,The_Colors[Gbl.Prefs.Theme]);
LogoFullName,
The_ClassFrameTitleColor[Gbl.Prefs.Theme]);
/* Logo and name */ /* Logo and name */
Lgo_DrawLogo (LogoScope,LogoCod,LogoShrtName,64,NULL,true); 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) 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 *Hlp_PROFILE_Settings_icons;
extern const char *Txt_Icons; extern const char *Txt_Icons;
Ico_IconSet_t IconSet; Ico_IconSet_t IconSet;
@ -173,7 +173,8 @@ void Ico_PutIconsToSelectIconSet (void)
IconSet++) IconSet++)
{ {
if (IconSet == Gbl.Prefs.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 else
HTM_DIV_Begin ("class=\"PREF_OFF\""); HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (ActChgIco); 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 char *Lan_STR_LANG_ID[1 + Lan_NUM_LANGUAGES];
extern const unsigned Txt_Current_CGI_SWAD_Language; extern const unsigned Txt_Current_CGI_SWAD_Language;
extern const char *The_ClassBodyBG[The_NUM_THEMES]; extern const char *The_Colors[The_NUM_THEMES];
extern const char *The_TabOnBgColors[The_NUM_THEMES];
static const char *LayoutMainZone[Mnu_NUM_MENUS] = static const char *LayoutMainZone[Mnu_NUM_MENUS] =
{ {
[Mnu_MENU_HORIZONTAL] = "main_horizontal", [Mnu_MENU_HORIZONTAL] = "main_horizontal",
@ -258,8 +257,8 @@ void Lay_WriteStartOfPage (void)
switch (BrowserTab) switch (BrowserTab)
{ {
case Act_BRW_1ST_TAB: case Act_BRW_1ST_TAB:
HTM_TxtF ("<body class=\"%s\" onload=\"init();\">\n", HTM_TxtF ("<body class=\"BODY_BG_%s\" onload=\"init();\">\n",
The_ClassBodyBG[Gbl.Prefs.Theme]); The_Colors[Gbl.Prefs.Theme]);
HTM_DIV_Begin ("id=\"zoomLyr\" class=\"ZOOM\""); HTM_DIV_Begin ("id=\"zoomLyr\" class=\"ZOOM\"");
HTM_IMG (Cfg_URL_ICON_PUBLIC,"usr_bl.jpg",NULL, HTM_IMG (Cfg_URL_ICON_PUBLIC,"usr_bl.jpg",NULL,
"class=\"IMG_USR\" id=\"zoomImg\""); "class=\"IMG_USR\" id=\"zoomImg\"");
@ -346,8 +345,8 @@ void Lay_WriteStartOfPage (void)
HTM_DIV_Begin ("id=\"main_zone_central_both\""); HTM_DIV_Begin ("id=\"main_zone_central_both\"");
break; break;
} }
HTM_DIV_Begin ("id=\"main_zone_central_container\" class=\"%s\"", HTM_DIV_Begin ("id=\"main_zone_central_container\" class=\"TAB_ON_%s\"",
The_TabOnBgColors[Gbl.Prefs.Theme]); The_Colors[Gbl.Prefs.Theme]);
/* Layout with horizontal or vertical menu */ /* Layout with horizontal or vertical menu */
HTM_DIV_Begin ("id=\"%s\"",LayoutMainZone[Gbl.Prefs.Menu]); HTM_DIV_Begin ("id=\"%s\"",LayoutMainZone[Gbl.Prefs.Menu]);
@ -964,7 +963,6 @@ static void Lay_WriteScriptCustomDropzone (void)
static void Lay_WritePageTopHeading (void) static void Lay_WritePageTopHeading (void)
{ {
extern const char *The_ClassTagline[The_NUM_THEMES];
extern const char *Txt_TAGLINE; extern const char *Txt_TAGLINE;
extern const char *Txt_TAGLINE_BR; extern const char *Txt_TAGLINE_BR;
static const char *ClassHeadRow1[The_NUM_THEMES] = 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_PINK ] = "HEAD_ROW_2_PINK",
[The_THEME_DARK ] = "HEAD_ROW_2_DARK", [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 *****/ /***** Begin header *****/
HTM_Txt ("<header>"); HTM_Txt ("<header>");
@ -1014,7 +1022,7 @@ static void Lay_WritePageTopHeading (void)
HTM_DIV_Begin ("id=\"head_row_1_tagline\""); HTM_DIV_Begin ("id=\"head_row_1_tagline\"");
HTM_BUTTON_OnSubmit_Begin (Txt_TAGLINE, HTM_BUTTON_OnSubmit_Begin (Txt_TAGLINE,
The_ClassTagline[Gbl.Prefs.Theme], ClassTagline[Gbl.Prefs.Theme],
NULL); NULL);
HTM_Txt (Txt_TAGLINE_BR); HTM_Txt (Txt_TAGLINE_BR);
HTM_BUTTON_End (); HTM_BUTTON_End ();
@ -1050,7 +1058,8 @@ static void Lay_WritePageTopHeading (void)
/***** 2nd. row *****/ /***** 2nd. row *****/
/* Begin second 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 /* 2nd. row, 1st. column
Clock with hour:minute (server hour is shown) */ Clock with hour:minute (server hour is shown) */
@ -1458,7 +1467,7 @@ static void Lay_WriteFootFromHTMLFile (void)
void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto, void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto,
long InsCod,long DegCod,long CrsCod) 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; struct Hie_Hierarchy Hie;
/***** Get data of institution *****/ /***** Get data of institution *****/
@ -1491,14 +1500,14 @@ void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto,
HTM_TD_End (); HTM_TD_End ();
/***** Second column: class photo title *****/ /***** Second column: class photo title *****/
HTM_TD_Begin ("class=\"CLASSPHOTO_TITLE %s CM\"", HTM_TD_Begin ("class=\"CLASSPHOTO_TITLE CLASSPHOTO_%s CM\"",
The_ClassPhoto[Gbl.Prefs.Theme]); The_Colors[Gbl.Prefs.Theme]);
if (InsCod > 0) if (InsCod > 0)
{ {
if (!PrintView) if (!PrintView)
HTM_A_Begin ("href=\"%s\" target=\"_blank\"" HTM_A_Begin ("href=\"%s\" target=\"_blank\""
" class=\"CLASSPHOTO_TITLE %s\"", " class=\"CLASSPHOTO_TITLE CLASSPHOTO_%s\"",
Hie.Ins.WWW,The_ClassPhoto[Gbl.Prefs.Theme]); Hie.Ins.WWW,The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Hie.Ins.FullName); HTM_Txt (Hie.Ins.FullName);
if (!PrintView) if (!PrintView)
HTM_A_End (); HTM_A_End ();
@ -1509,8 +1518,8 @@ void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto,
HTM_Txt (" - "); HTM_Txt (" - ");
if (!PrintView) if (!PrintView)
HTM_A_Begin ("href=\"%s\" target=\"_blank\"" HTM_A_Begin ("href=\"%s\" target=\"_blank\""
" class=\"CLASSPHOTO_TITLE %s\"", " class=\"CLASSPHOTO_TITLE CLASSPHOTO_%s\"",
Hie.Deg.WWW,The_ClassPhoto[Gbl.Prefs.Theme]); Hie.Deg.WWW,The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Hie.Deg.FullName); HTM_Txt (Hie.Deg.FullName);
if (!PrintView) if (!PrintView)
HTM_A_End (); HTM_A_End ();
@ -1533,8 +1542,8 @@ void Lay_WriteHeaderClassPhoto (bool PrintView,bool DrawingClassPhoto,
{ {
if (!PrintView) if (!PrintView)
HTM_A_Begin ("href=\"%s\" target=\"_blank\"" HTM_A_Begin ("href=\"%s\" target=\"_blank\""
" class=\"CLASSPHOTO_TITLE %s\"", " class=\"CLASSPHOTO_TITLE CLASSPHOTO_%s\"",
Hie.Deg.WWW,The_ClassPhoto[Gbl.Prefs.Theme]); Hie.Deg.WWW,The_Colors[Gbl.Prefs.Theme]);
Lgo_DrawLogo (HieLvl_DEG,Hie.Deg.DegCod,Hie.Deg.ShrtName,40,NULL,true); Lgo_DrawLogo (HieLvl_DEG,Hie.Deg.DegCod,Hie.Deg.ShrtName,40,NULL,true);
if (!PrintView) if (!PrintView)
HTM_A_End (); HTM_A_End ();

View File

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

View File

@ -546,37 +546,17 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
long UsrCod, long UsrCod,
Not_Status_t Status) 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; extern const char *Txt_See_full_notice;
static const char *ContainerClass[Not_NUM_STATUS] = static const char *ContainerClass[Not_NUM_STATUS] =
{ {
[Not_ACTIVE_NOTICE ] = "NOTICE_CONT", [Not_ACTIVE_NOTICE ] = "NOTICE_BOX",
[Not_OBSOLETE_NOTICE] = "NOTICE_CONT LIGHT", [Not_OBSOLETE_NOTICE] = "NOTICE_BOX LIGHT",
}; };
static const char *ContainerWidthClass[Not_NUM_TYPES_LISTING] = static const char *ContainerWidthClass[Not_NUM_TYPES_LISTING] =
{ {
[Not_LIST_BRIEF_NOTICES] = "NOTICE_CONT_NARROW", [Not_LIST_BRIEF_NOTICES] = "NOTICE_BOX_NARROW",
[Not_LIST_FULL_NOTICES ] = "NOTICE_CONT_WIDE", [Not_LIST_FULL_NOTICES ] = "NOTICE_BOX_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",
}; };
static unsigned UniqueId = 0; static unsigned UniqueId = 0;
char *Id; char *Id;
@ -591,7 +571,10 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
{ {
HTM_ARTICLE_Begin (Anchor); HTM_ARTICLE_Begin (Anchor);
if (Highlight) 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 *****/ /***** Begin yellow note *****/
@ -624,8 +607,8 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
/* Write the date */ /* Write the date */
UniqueId++; UniqueId++;
HTM_DIV_Begin ("class=\"NOTICE_DATE %s RT\"", HTM_DIV_Begin ("class=\"NOTICE_DATE NOTICE_DATE_%s RT\"",
The_ClassNoticeDateColor[Gbl.Prefs.Theme]); The_Colors[Gbl.Prefs.Theme]);
if (TypeNoticesListing == Not_LIST_BRIEF_NOTICES) if (TypeNoticesListing == Not_LIST_BRIEF_NOTICES)
{ {
/* Form to view full notice */ /* Form to view full notice */
@ -651,8 +634,8 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
/***** Write the content of the notice *****/ /***** Write the content of the notice *****/
if (TypeNoticesListing == Not_LIST_BRIEF_NOTICES) if (TypeNoticesListing == Not_LIST_BRIEF_NOTICES)
{ {
HTM_DIV_Begin ("class=\"NOTICE_TEXT_BRIEF %s\"", HTM_DIV_Begin ("class=\"NOTICE_TEXT_BRIEF NOTICE_TEXT_%s\"",
The_ClassNoticeTextColor[Gbl.Prefs.Theme]); The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Content); HTM_Txt (Content);
HTM_DIV_End (); HTM_DIV_End ();
@ -666,15 +649,15 @@ static void Not_DrawANotice (Not_Listing_t TypeNoticesListing,
} }
else else
{ {
HTM_DIV_Begin ("class=\"NOTICE_TEXT %s\"", HTM_DIV_Begin ("class=\"NOTICE_TEXT NOTICE_TEXT_%s\"",
The_ClassNoticeTextColor[Gbl.Prefs.Theme]); The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Content); HTM_Txt (Content);
HTM_DIV_End (); HTM_DIV_End ();
} }
/***** Write the author *****/ /***** Write the author *****/
HTM_DIV_Begin ("class=\"NOTICE_AUTHOR %s\"", // Limited width HTM_DIV_Begin ("class=\"NOTICE_AUTHOR NOTICE_AUTHOR_%s\"", // Limited width
The_ClassNoticeAuthorColor[Gbl.Prefs.Theme]); The_Colors[Gbl.Prefs.Theme]);
Usr_UsrDataConstructor (&UsrDat); Usr_UsrDataConstructor (&UsrDat);
UsrDat.UsrCod = UsrCod; UsrDat.UsrCod = UsrCod;
if (Usr_ChkUsrCodAndGetAllUsrDataFromUsrCod (&UsrDat, // Get author's data from database 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 *****/ /***** End article for this notice *****/
if (TypeNoticesListing == Not_LIST_FULL_NOTICES) if (TypeNoticesListing == Not_LIST_FULL_NOTICES)
{ {
if (Highlight) HTM_DIV_End ();
HTM_DIV_End ();
HTM_ARTICLE_End (); HTM_ARTICLE_End ();
} }

View File

@ -1625,13 +1625,22 @@ void Ntf_ChangeNotifyEvents (void)
void Ntf_WriteNumberOfNewNtfs (void) void Ntf_WriteNumberOfNewNtfs (void)
{ {
extern const char *The_ClassNotif[The_NUM_THEMES];
extern const char *Txt_See_notifications; extern const char *Txt_See_notifications;
extern const char *Txt_notification; extern const char *Txt_notification;
extern const char *Txt_notifications; extern const char *Txt_notifications;
extern const char *Txt_Notifications; extern const char *Txt_Notifications;
extern const char *Txt_NOTIF_new_SINGULAR; extern const char *Txt_NOTIF_new_SINGULAR;
extern const char *Txt_NOTIF_new_PLURAL; 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 NumUnseenNtfs;
unsigned NumNewNtfs = 0; unsigned NumNewNtfs = 0;
@ -1644,7 +1653,7 @@ void Ntf_WriteNumberOfNewNtfs (void)
/***** Begin link *****/ /***** Begin link *****/
HTM_BUTTON_OnSubmit_Begin (Txt_See_notifications, HTM_BUTTON_OnSubmit_Begin (Txt_See_notifications,
The_ClassNotif[Gbl.Prefs.Theme],NULL); ClassNotif[Gbl.Prefs.Theme],NULL);
/***** Number of unseen notifications *****/ /***** Number of unseen notifications *****/
HTM_SPAN_Begin ("id=\"notif_all\""); 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, static void Pho_ShowOrPrintClassPhotoDegrees (struct Pho_DegPhotos *DegPhotos,
Pho_AvgPhotoSeeOrPrint_t SeeOrPrint) Pho_AvgPhotoSeeOrPrint_t SeeOrPrint)
{ {
extern const char *The_ClassPhoto[The_NUM_THEMES]; extern const char *The_Colors[The_NUM_THEMES];
MYSQL_RES *mysql_res; MYSQL_RES *mysql_res;
unsigned long NumDeg; unsigned long NumDeg;
unsigned long NumDegs; unsigned long NumDegs;
@ -2158,8 +2158,8 @@ static void Pho_ShowOrPrintClassPhotoDegrees (struct Pho_DegPhotos *DegPhotos,
} }
/***** Show average photo of students belonging to this degree *****/ /***** Show average photo of students belonging to this degree *****/
HTM_TD_Begin ("class=\"CLASSPHOTO %s CM\"", HTM_TD_Begin ("class=\"CLASSPHOTO CLASSPHOTO_%s CM\"",
The_ClassPhoto[Gbl.Prefs.Theme]); The_Colors[Gbl.Prefs.Theme]);
Pho_ShowDegreeAvgPhotoAndStat (&Deg,DegPhotos, Pho_ShowDegreeAvgPhotoAndStat (&Deg,DegPhotos,
SeeOrPrint, SeeOrPrint,
Usr_SEX_ALL, Usr_SEX_ALL,
@ -2194,7 +2194,7 @@ static void Pho_ShowOrPrintListDegrees (struct Pho_DegPhotos *DegPhotos,
Pho_AvgPhotoSeeOrPrint_t SeeOrPrint) Pho_AvgPhotoSeeOrPrint_t SeeOrPrint)
{ {
extern const char *The_ClassDat[The_NUM_THEMES]; 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_No_INDEX;
extern const char *Txt_Degree; extern const char *Txt_Degree;
extern const char *Txt_SEX_PLURAL_Abc[Usr_NUM_SEXS]; 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 *****/ /***** Show average photo of students belonging to this degree *****/
Pho_GetNumStdsInDegree (Deg.DegCod,Sex,&NumStds,&NumStdsWithPhoto); Pho_GetNumStdsInDegree (Deg.DegCod,Sex,&NumStds,&NumStdsWithPhoto);
HTM_TD_Begin ("class=\"CLASSPHOTO %s RM %s\"", HTM_TD_Begin ("class=\"CLASSPHOTO CLASSPHOTO_%s RM %s\"",
The_ClassPhoto[Gbl.Prefs.Theme], The_Colors[Gbl.Prefs.Theme],
Gbl.ColorRows[Gbl.RowEvenOdd]); Gbl.ColorRows[Gbl.RowEvenOdd]);
if (Gbl.Usrs.Listing.WithPhotos) if (Gbl.Usrs.Listing.WithPhotos)
Pho_ShowDegreeAvgPhotoAndStat (&Deg,DegPhotos, 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 *Usr_StringsSexDB[Usr_NUM_SEXS];
extern const char *The_ClassDatStrong[The_NUM_THEMES]; 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_students_ABBREVIATION;
extern const char *Txt_SEX_PLURAL_abc[Usr_NUM_SEXS]; extern const char *Txt_SEX_PLURAL_abc[Usr_NUM_SEXS];
extern const char *Txt_photos; extern const char *Txt_photos;
@ -2453,8 +2453,8 @@ static void Pho_ShowDegreeAvgPhotoAndStat (const struct Deg_Degree *Deg,
PhotoWidth,PhotoHeight); PhotoWidth,PhotoHeight);
/***** Caption *****/ /***** Caption *****/
HTM_DIV_Begin ("class=\"CLASSPHOTO_CAPTION %s\"", HTM_DIV_Begin ("class=\"CLASSPHOTO_CAPTION CLASSPHOTO_%s\"",
The_ClassPhoto[Gbl.Prefs.Theme]); The_Colors[Gbl.Prefs.Theme]);
HTM_Txt (Deg->ShrtName); HTM_Txt (Deg->ShrtName);
HTM_BR (); HTM_BR ();
HTM_TxtF ("%d&nbsp;%s",NumStds,Txt_students_ABBREVIATION); 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 *Hlp_PROFILE_Settings_user_photos;
extern const char *Ico_ClassColor[Ico_NUM_COLORS][The_NUM_THEMES]; 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_User_photos;
extern const char *Txt_PHOTO_SHAPES[Pho_NUM_SHAPES]; extern const char *Txt_PHOTO_SHAPES[Pho_NUM_SHAPES];
static const char *ClassPhoto[Pho_NUM_SHAPES] = static const char *ClassPhoto[Pho_NUM_SHAPES] =
@ -81,7 +81,8 @@ void Pho_PutIconsToSelectPhotoShape (void)
Shape++) Shape++)
{ {
if (Shape == Gbl.Prefs.PhotoShape) 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 else
HTM_DIV_Begin ("class=\"PREF_OFF\""); HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (ActChgUsrPho); 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) 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; struct Prj_Filter Filter;
Usr_Who_t Who; Usr_Who_t Who;
unsigned Mask = 1 << Usr_WHO_ME | 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 (Mask & (1 << Who))
{ {
if (Who == Projects->Filter.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 else
HTM_DIV_Begin ("class=\"PREF_OFF\""); HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (Who == Usr_WHO_SELECTED ? ActReqUsrPrj : 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) 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]; extern const char *Txt_PROJECT_ASSIGNED_NONASSIGNED_PLURAL[Prj_NUM_ASSIGNED_NONASSIG];
struct Prj_Filter Filter; struct Prj_Filter Filter;
Prj_AssignedNonassig_t Assign; Prj_AssignedNonassig_t Assign;
@ -618,7 +619,8 @@ static void Prj_ShowFormToFilterByAssign (const struct Prj_Projects *Projects)
Assign++) Assign++)
{ {
if ((Projects->Filter.Assign & (1 << 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 else
HTM_DIV_Begin ("class=\"PREF_OFF\""); HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (ActSeePrj); 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) 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]; extern const char *Txt_PROJECT_HIDDEN_VISIBL_PROJECTS[Prj_NUM_HIDDEN_VISIBL];
struct Prj_Filter Filter; struct Prj_Filter Filter;
Prj_HiddenVisibl_t HidVis; Prj_HiddenVisibl_t HidVis;
@ -665,7 +667,7 @@ static void Prj_ShowFormToFilterByHidden (const struct Prj_Projects *Projects)
HidVis++) HidVis++)
{ {
if ((Projects->Filter.Hidden & (1 << 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 else
HTM_DIV_Begin ("class=\"PREF_OFF\""); HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (ActSeePrj); 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) 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]; extern const char *Txt_PROJECT_FAULTY_FAULTLESS_PROJECTS[Prj_NUM_FAULTINESS];
struct Prj_Filter Filter; struct Prj_Filter Filter;
Prj_Faultiness_t Faultiness; Prj_Faultiness_t Faultiness;
@ -713,7 +715,8 @@ static void Prj_ShowFormToFilterByWarning (const struct Prj_Projects *Projects)
Faultiness++) Faultiness++)
{ {
if ((Projects->Filter.Faulti & (1 << 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 else
HTM_DIV_Begin ("class=\"PREF_OFF\""); HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (ActSeePrj); Frm_BeginForm (ActSeePrj);

View File

@ -207,7 +207,7 @@ void Set_SetSettingsFromIP (void)
static void Set_PutIconsToSelectSideCols (void) static void Set_PutIconsToSelectSideCols (void)
{ {
extern const char *Hlp_PROFILE_Settings_columns; 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_Columns;
extern const char *Txt_LAYOUT_SIDE_COLUMNS[4]; extern const char *Txt_LAYOUT_SIDE_COLUMNS[4];
unsigned SideCols; unsigned SideCols;
@ -223,7 +223,8 @@ static void Set_PutIconsToSelectSideCols (void)
SideCols++) SideCols++)
{ {
if (SideCols == Gbl.Prefs.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 else
HTM_DIV_Begin ("class=\"PREF_OFF\""); HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (ActChgCol); Frm_BeginForm (ActChgCol);

View File

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

View File

@ -74,138 +74,6 @@ const char *The_ThemeNames[The_NUM_THEMES] =
[The_THEME_DARK ] = "Dark", [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] = const char *The_ClassFormLinkInBox[The_NUM_THEMES] =
{ {
[The_THEME_WHITE ] = "BT_LINK FORM_IN_WHITE", [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", [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] = const char *The_ClassInput[The_NUM_THEMES] =
{ {
[The_THEME_WHITE ] = "INPUT_WHITE", [The_THEME_WHITE ] = "INPUT_WHITE",
@ -382,88 +239,15 @@ const char *The_ClassInput[The_NUM_THEMES] =
[The_THEME_DARK ] = "INPUT_DARK", [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_WHITE ] = "WHITE",
[The_THEME_GREY ] = "FRAME_TITLE_GREY", [The_THEME_GREY ] = "GREY",
[The_THEME_PURPLE] = "FRAME_TITLE_PURPLE", [The_THEME_PURPLE] = "PURPLE",
[The_THEME_BLUE ] = "FRAME_TITLE_BLUE", [The_THEME_BLUE ] = "BLUE",
[The_THEME_YELLOW] = "FRAME_TITLE_YELLOW", [The_THEME_YELLOW] = "YELLOW",
[The_THEME_PINK ] = "FRAME_TITLE_PINK", [The_THEME_PINK ] = "PINK",
[The_THEME_DARK ] = "FRAME_TITLE_DARK", [The_THEME_DARK ] = "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",
}; };
/*****************************************************************************/ /*****************************************************************************/
@ -479,7 +263,6 @@ static void The_PutIconsTheme (__attribute__((unused)) void *Args);
void The_PutIconsToSelectTheme (void) void The_PutIconsToSelectTheme (void)
{ {
extern const char *Hlp_PROFILE_Settings_theme; extern const char *Hlp_PROFILE_Settings_theme;
extern const char *The_ClassPrefOn[The_NUM_THEMES];
extern const char *Txt_Theme_SKIN; extern const char *Txt_Theme_SKIN;
The_Theme_t Theme; The_Theme_t Theme;
char Icon[PATH_MAX + 1]; char Icon[PATH_MAX + 1];
@ -494,7 +277,8 @@ void The_PutIconsToSelectTheme (void)
Theme++) Theme++)
{ {
if (Theme == Gbl.Prefs.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 else
HTM_DIV_Begin ("class=\"PREF_OFF\""); HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (ActChgThe); Frm_BeginForm (ActChgThe);
@ -587,7 +371,24 @@ The_Theme_t The_GetThemeFromStr (const char *Str)
void The_SetColorRows (void) 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[0] = The_ClassColorRows[0][Gbl.Prefs.Theme]; // Darker
Gbl.ColorRows[1] = The_ClassColorRows[1][Gbl.Prefs.Theme]; // Lighter 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) 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 *****/ /***** Write content of the comment *****/
if (Com->Content.Txt[0]) 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); Msg_WriteMsgContent (Com->Content.Txt,true,false);
HTM_DIV_End (); 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) 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 Hie_Hierarchy Hie;
struct For_Forums Forums; struct For_Forums Forums;
char ForumName[For_MAX_BYTES_FORUM_NAME + 1]; 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); Tml_Not_GetNoteSummary (Not,SummaryStr);
/* Write note summary */ /* 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_Txt (SummaryStr);
HTM_DIV_End (); 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) 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 *****/ /***** Write content text *****/
if (Content->Txt[0]) 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); Msg_WriteMsgContent (Content->Txt,true,false);
HTM_DIV_End (); HTM_DIV_End ();
} }

View File

@ -62,7 +62,7 @@ static void Tml_Who_ShowWarningYouDontFollowAnyUser (void);
void Tml_Who_PutFormWho (struct Tml_Timeline *Timeline) 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; Usr_Who_t Who;
unsigned Mask = 1 << Usr_WHO_ME | unsigned Mask = 1 << Usr_WHO_ME |
1 << Usr_WHO_FOLLOWED | 1 << Usr_WHO_FOLLOWED |
@ -78,7 +78,8 @@ void Tml_Who_PutFormWho (struct Tml_Timeline *Timeline)
{ {
/* Begin container */ /* Begin container */
if (Who == Timeline->Who) 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 else
HTM_DIV_Begin ("class=\"PREF_OFF\""); HTM_DIV_Begin ("class=\"PREF_OFF\"");

View File

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

View File

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