diff --git a/css/swad21.68.css b/css/swad21.70.css similarity index 98% rename from css/swad21.68.css rename to css/swad21.70.css index 66a1d5bd..ef036710 100644 --- a/css/swad21.68.css +++ b/css/swad21.70.css @@ -283,7 +283,7 @@ a:hover /* Default ==> underlined */ } .HEAD_ROW_2_GREY { - background-color:#383838; + background-color:#404040; } .HEAD_ROW_2_PURPLE { @@ -2306,7 +2306,7 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;} .FORM_IN_BLUE {color:#4d88a1; font-size:13pt;} .FORM_IN_YELLOW {color:#7c4d2a; font-size:13pt;} .FORM_IN_PINK {color:#4d88a1; font-size:13pt;} -.FORM_IN_DARK {color:#4d88a1; font-size:13pt;} +.FORM_IN_DARK {color:#c0e0ff; font-size:13pt;} /* Outside white box */ .FORM_OUT_WHITE {color:#4d88a1; font-size:13pt;} @@ -2317,9 +2317,6 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;} .FORM_OUT_PINK {color:#63474e; font-size:13pt;} .FORM_OUT_DARK {color:#c0e0ff; font-size:13pt;} -.BOLD {font-weight:bold;} -.NOWRAP {white-space:nowrap;} - /****************************** Placing of objects ***************************/ .LT {text-align:left; vertical-align:top; } /* Left Top */ .LM {text-align:left; vertical-align:middle;} /* Left Middle */ @@ -2331,13 +2328,20 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;} .RM {text-align:right; vertical-align:middle;} /* Right Middle */ .RB {text-align:right; vertical-align:bottom;} /* Right Bottom */ -/***************** Colors used in headers,backgrounds,etc. *****************/ +/***************** Colors used in headers, backgrounds, etc. *****************/ .COLOR0 {background-color:#F4F2EA;} .COLOR1 {background-color:#FBFAF7;} .LIGHT_GREEN {background-color:#C0FF40;} -.LIGHT_BLUE {background-color:#DDECF1;} .VERY_LIGHT_BLUE {background-color:#EAF3F6;} +.BG_HIGHLIGHT_WHITE {background-color:#ddecf1;} +.BG_HIGHLIGHT_GREY {background-color:#ddecf1;} +.BG_HIGHLIGHT_PURPLE {background-color:#ddecf1;} +.BG_HIGHLIGHT_BLUE {background-color:#ddecf1;} +.BG_HIGHLIGHT_YELLOW {background-color:#ddecf1;} +.BG_HIGHLIGHT_PINK {background-color:#ddecf1;} +.BG_HIGHLIGHT_DARK {background-color:#707070;} + /********************************* Course info *******************************/ #crs_info { @@ -2458,29 +2462,35 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;} .T2 {color:#202020; font-size:13pt;} .T3 {color:#202020; font-size:12pt;} -.DAT_WHITE {color:#404040; font-size:13pt;} -.DAT_GREY {color:#404040; font-size:13pt;} -.DAT_PURPLE {color:#404040; font-size:13pt;} -.DAT_BLUE {color:#404040; font-size:13pt;} -.DAT_YELLOW {color:#404040; font-size:13pt;} -.DAT_PINK {color:#404040; font-size:13pt;} -.DAT_DARK {color:#d0d0d0; font-size:13pt;} +.DAT_WHITE {color:#404040; font-size:13pt;} +.DAT_GREY {color:#404040; font-size:13pt;} +.DAT_PURPLE {color:#404040; font-size:13pt;} +.DAT_BLUE {color:#404040; font-size:13pt;} +.DAT_YELLOW {color:#404040; font-size:13pt;} +.DAT_PINK {color:#404040; font-size:13pt;} +.DAT_DARK {color:#d0d0d0; font-size:13pt;} -.DAT_N_WHITE {color:black; font-size:13pt;} -.DAT_N_GREY {color:black; font-size:13pt;} -.DAT_N_PURPLE {color:black; font-size:13pt;} -.DAT_N_BLUE {color:black; font-size:13pt;} -.DAT_N_YELLOW {color:black; font-size:13pt;} -.DAT_N_PINK {color:black; font-size:13pt;} -.DAT_N_DARK {color:white; font-size:13pt;} +.DAT_STRONG_WHITE {color:black; font-size:13pt;} +.DAT_STRONG_GREY {color:black; font-size:13pt;} +.DAT_STRONG_PURPLE {color:black; font-size:13pt;} +.DAT_STRONG_BLUE {color:black; font-size:13pt;} +.DAT_STRONG_YELLOW {color:black; font-size:13pt;} +.DAT_STRONG_PINK {color:black; font-size:13pt;} +.DAT_STRONG_DARK {color:white; font-size:13pt;} + +.DAT_LIGHT_WHITE {color:#a0a0a0; font-size:13pt;} +.DAT_LIGHT_GREY {color:#a0a0a0; font-size:13pt;} +.DAT_LIGHT_PURPLE {color:#a0a0a0; font-size:13pt;} +.DAT_LIGHT_BLUE {color:#a0a0a0; font-size:13pt;} +.DAT_LIGHT_YELLOW {color:#a0a0a0; font-size:13pt;} +.DAT_LIGHT_PINK {color:#a0a0a0; font-size:13pt;} +.DAT_LIGHT_DARK {color:#909090; font-size:13pt;} -.DAT_NOBR {color:#404040; font-size:13pt; white-space:nowrap;} -.DAT_BOLD {color:#404040; font-size:13pt; font-weight:bold;} .DAT_GREEN {color:#246600; font-size:13pt;} .DAT_RED {color:#660000; font-size:13pt;} -.DAT_LIGHT {color:#A0A0A0; font-size:13pt;} -.DAT_NOBR_N {color:black; font-size:13pt; white-space:nowrap;} -.DAT_N_BOLD {color:black; font-size:13pt; font-weight:bold;} + +.NOWRAP {white-space:nowrap;} +.BOLD {font-weight:bold;} /*********************** Line in top part of a table row *********************/ .LINE_TOP diff --git a/swad_ID.c b/swad_ID.c index 49004e55..261bbd68 100644 --- a/swad_ID.c +++ b/swad_ID.c @@ -577,7 +577,7 @@ static void ID_ShowFormChangeUsrID (bool ItsMe,bool IShouldFillInID) HTM_SPAN_Begin ("class=\"%s\" title=\"%s\"", UsrDat->IDs.List[NumID].Confirmed ? "USR_ID_C" : "USR_ID_NC", - Str_BuildStringStr (UsrDat->IDs.List[NumID].Confirmed ? Txt_ID_X_confirmed : + Str_BuildString (UsrDat->IDs.List[NumID].Confirmed ? Txt_ID_X_confirmed : Txt_ID_X_not_confirmed, UsrDat->IDs.List[NumID].ID)); Str_FreeStrings (); diff --git a/swad_account.c b/swad_account.c index 1ba0db31..cc8bceb8 100644 --- a/swad_account.c +++ b/swad_account.c @@ -272,7 +272,7 @@ void Acc_CheckIfEmptyAccountExists (void) static void Acc_WriteRowEmptyAccount (unsigned NumUsr,const char *ID,struct UsrData *UsrDat) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_ID; extern const char *Txt_Name; extern const char *Txt_yet_unnamed; @@ -289,7 +289,7 @@ static void Acc_WriteRowEmptyAccount (unsigned NumUsr,const char *ID,struct UsrD /***** Write user's ID and name *****/ HTM_TD_Begin ("class=\"%s LT COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme], + The_ClassDatStrong[Gbl.Prefs.Theme], Gbl.RowEvenOdd); HTM_TxtF ("%s: %s",Txt_ID,ID); HTM_BR (); @@ -438,7 +438,7 @@ void Acc_ShowFormGoToRequestNewAccount (void) extern const char *Txt_Create_account; /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildStringStr (Txt_New_on_PLATFORM_Sign_up, + Box_BoxBegin (NULL,Str_BuildString (Txt_New_on_PLATFORM_Sign_up, Cfg_PLATFORM_SHORT_NAME), NULL,NULL, Hlp_PROFILE_SignUp,Box_NOT_CLOSABLE); diff --git a/swad_agenda.c b/swad_agenda.c index 3c384c87..a7ac75f8 100644 --- a/swad_agenda.c +++ b/swad_agenda.c @@ -386,12 +386,12 @@ void Agd_ShowUsrAgenda (void) /***** Begin box *****/ if (Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod)) - Box_BoxBegin ("100%",Str_BuildStringStr (Txt_Public_agenda_USER, + Box_BoxBegin ("100%",Str_BuildString (Txt_Public_agenda_USER, Gbl.Usrs.Me.UsrDat.FullName), Agd_PutIconsMyPublicAgenda,Gbl.Usrs.Me.UsrDat.EnUsrCod, Hlp_PROFILE_Agenda_public_agenda,Box_NOT_CLOSABLE); else - Box_BoxBegin ("100%",Str_BuildStringStr (Txt_Public_agenda_USER, + Box_BoxBegin ("100%",Str_BuildString (Txt_Public_agenda_USER, Gbl.Usrs.Other.UsrDat.FullName), Agd_PutIconsOtherPublicAgenda,Gbl.Usrs.Other.UsrDat.EnUsrCod, Hlp_PROFILE_Agenda_public_agenda,Box_NOT_CLOSABLE); @@ -438,12 +438,12 @@ void Agd_ShowOtherAgendaAfterLogIn (void) /***** Begin box *****/ if (Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod)) - Box_BoxBegin ("100%",Str_BuildStringStr (Txt_Public_agenda_USER, + Box_BoxBegin ("100%",Str_BuildString (Txt_Public_agenda_USER, Gbl.Usrs.Me.UsrDat.FullName), Agd_PutIconToViewEditMyFullAgenda,Gbl.Usrs.Me.UsrDat.EnUsrCod, Hlp_PROFILE_Agenda_public_agenda,Box_NOT_CLOSABLE); else - Box_BoxBegin ("100%",Str_BuildStringStr (Txt_Public_agenda_USER, + Box_BoxBegin ("100%",Str_BuildString (Txt_Public_agenda_USER, Gbl.Usrs.Other.UsrDat.FullName), Agd_PutIconsOtherPublicAgenda,Gbl.Usrs.Other.UsrDat.EnUsrCod, Hlp_PROFILE_Agenda_public_agenda,Box_NOT_CLOSABLE); @@ -771,6 +771,7 @@ static void Agd_ShowOneEvent (struct Agd_Agenda *Agenda, extern const char *Dat_TimeStatusClassVisible[Dat_NUM_TIME_STATUS]; extern const char *Dat_TimeStatusClassHidden[Dat_NUM_TIME_STATUS]; extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassDatLight[The_NUM_THEMES]; char *Anchor = NULL; static unsigned UniqueId = 0; char *Id; @@ -857,7 +858,7 @@ static void Agd_ShowOneEvent (struct Agd_Agenda *Agenda, /* Text of the event */ HTM_TD_Begin ("colspan=\"2\" class=\"LT COLOR%u\"",Gbl.RowEvenOdd); - HTM_DIV_Begin ("class=\"PAR %s\"",AgdEvent.Hidden ? "DAT_LIGHT" : + HTM_DIV_Begin ("class=\"PAR %s\"",AgdEvent.Hidden ? The_ClassDatLight[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme]); Agd_DB_GetEventTxt (&AgdEvent,Txt); Str_ChangeFormat (Str_FROM_HTML,Str_TO_RIGOROUS_HTML, @@ -1616,7 +1617,7 @@ void Agd_PrintAgdQRCode (void) extern const char *Txt_Where_s_USER; /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Where_s_USER, + Box_BoxBegin (NULL,Str_BuildString (Txt_Where_s_USER, Gbl.Usrs.Me.UsrDat.FullName), NULL,NULL, NULL,Box_NOT_CLOSABLE); diff --git a/swad_assignment.c b/swad_assignment.c index a2eabc14..e679c2db 100644 --- a/swad_assignment.c +++ b/swad_assignment.c @@ -394,6 +394,7 @@ static void Asg_ShowOneAssignment (struct Asg_Assignments *Assignments, long AsgCod,bool PrintView) { extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassDatLight[The_NUM_THEMES]; char *Anchor = NULL; static unsigned UniqueId = 0; char *Id; @@ -503,7 +504,7 @@ static void Asg_ShowOneAssignment (struct Asg_Assignments *Assignments, if (Gbl.Crs.Grps.NumGrps) Asg_GetAndWriteNamesOfGrpsAssociatedToAsg (&Asg); - HTM_DIV_Begin ("class=\"PAR %s\"",Asg.Hidden ? "DAT_LIGHT" : + HTM_DIV_Begin ("class=\"PAR %s\"",Asg.Hidden ? The_ClassDatLight[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme]); HTM_Txt (Txt); HTM_DIV_End (); diff --git a/swad_attendance.c b/swad_attendance.c index 9aab549b..45cd20b5 100644 --- a/swad_attendance.c +++ b/swad_attendance.c @@ -448,6 +448,7 @@ static void Att_ShowOneAttEvent (struct Att_Events *Events, bool ShowOnlyThisAttEventComplete) { extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassDatLight[The_NUM_THEMES]; extern const char *Txt_View_event; char *Anchor = NULL; static unsigned UniqueId = 0; @@ -561,7 +562,7 @@ static void Att_ShowOneAttEvent (struct Att_Events *Events, if (Gbl.Crs.Grps.NumGrps) Att_GetAndWriteNamesOfGrpsAssociatedToAttEvent (Event); - HTM_DIV_Begin ("class=\"%s\"",Event->Hidden ? "DAT_LIGHT" : + HTM_DIV_Begin ("class=\"%s\"",Event->Hidden ? The_ClassDatLight[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme]); HTM_Txt (Description); HTM_DIV_End (); @@ -1684,7 +1685,7 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr, struct Att_Event *Event) { extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; static const char *ClassPhoto[Pho_NUM_SHAPES] = { [Pho_SHAPE_CIRCLE ] = "PHOTOC45x60", @@ -1751,7 +1752,7 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr, /***** Write number of student in the list *****/ HTM_TD_Begin ("class=\"%s RT COLOR%u\"", - UsrDat->Accepted ? The_ClassDatN[Gbl.Prefs.Theme] : + UsrDat->Accepted ? The_ClassDatStrong[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme], Gbl.RowEvenOdd); HTM_Unsigned (NumUsr); @@ -1929,7 +1930,7 @@ void Att_RegisterMeAsStdInAttEvent (void) /***** Get comments for this student *****/ Present = Att_CheckIfUsrIsPresentInAttEventAndGetComments (Event.AttCod,Gbl.Usrs.Me.UsrDat.UsrCod, CommentStd,CommentTch); - Par_GetParToHTML (Str_BuildStringStr ("CommentStd%s", + Par_GetParToHTML (Str_BuildString ("CommentStd%s", Gbl.Usrs.Me.UsrDat.EnUsrCod), CommentStd,Cns_MAX_BYTES_TEXT); Str_FreeStrings (); @@ -2046,7 +2047,7 @@ void Att_RegisterStudentsInAttEvent (void) { /***** Get comments for this student *****/ Att_CheckIfUsrIsPresentInAttEventAndGetComments (Event.AttCod,Gbl.Usrs.LstUsrs[Rol_STD].Lst[NumUsr].UsrCod,CommentStd,CommentTch); - Par_GetParToHTML (Str_BuildStringStr ("CommentTch%s", + Par_GetParToHTML (Str_BuildString ("CommentTch%s", Gbl.Usrs.LstUsrs[Rol_STD].Lst[NumUsr].EnUsrCod), CommentTch,Cns_MAX_BYTES_TEXT); Str_FreeStrings (); @@ -2798,7 +2799,7 @@ static void Att_ListUsrsAttendanceTable (const struct Att_Events *Events, unsigned NumUsrsInList, long *LstSelectedUsrCods) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Number_of_users; struct UsrData UsrDat; unsigned NumUsr; @@ -2844,7 +2845,7 @@ static void Att_ListUsrsAttendanceTable (const struct Att_Events *Events, HTM_TD_Begin ("colspan=\"%u\" class=\"%s LINE_TOP RM\"", Gbl.Usrs.Listing.WithPhotos ? 4 : 3, - The_ClassDatN[Gbl.Prefs.Theme]); + The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_TxtColon (Txt_Number_of_users); HTM_TD_End (); @@ -2854,7 +2855,7 @@ static void Att_ListUsrsAttendanceTable (const struct Att_Events *Events, if (Events->Lst[NumAttEvent].Selected) { HTM_TD_Begin ("class=\"%s LINE_TOP RM\"", - The_ClassDatN[Gbl.Prefs.Theme]); + The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Unsigned (Events->Lst[NumAttEvent].NumStdsFromList); HTM_TD_End (); @@ -2862,7 +2863,7 @@ static void Att_ListUsrsAttendanceTable (const struct Att_Events *Events, } HTM_TD_Begin ("class=\"%s LINE_TOP RM\"", - The_ClassDatN[Gbl.Prefs.Theme]); + The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Unsigned (Total); HTM_TD_End (); @@ -2931,7 +2932,7 @@ static void Att_WriteRowUsrSeveralAttEvents (const struct Att_Events *Events, unsigned NumUsr,struct UsrData *UsrDat) { extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; static const char *ClassPhoto[Pho_NUM_SHAPES] = { [Pho_SHAPE_CIRCLE ] = "PHOTOC21x28", @@ -2947,7 +2948,7 @@ static void Att_WriteRowUsrSeveralAttEvents (const struct Att_Events *Events, HTM_TR_Begin (NULL); HTM_TD_Begin ("class=\"%s RM COLOR%u\"", - UsrDat->Accepted ? The_ClassDatN[Gbl.Prefs.Theme] : + UsrDat->Accepted ? The_ClassDatStrong[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme], Gbl.RowEvenOdd); HTM_Unsigned (NumUsr + 1); @@ -3004,7 +3005,7 @@ static void Att_WriteRowUsrSeveralAttEvents (const struct Att_Events *Events, /***** Last column with the number of times this user is present *****/ HTM_TD_Begin ("class=\"%s RM COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); HTM_Unsigned (NumTimesPresent); HTM_TD_End (); @@ -3093,7 +3094,7 @@ static void Att_ListAttEventsForAStd (const struct Att_Events *Events, unsigned NumUsr,struct UsrData *UsrDat) { extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Student_comment; extern const char *Txt_Teachers_comment; static const char *ClassPhoto[Pho_NUM_SHAPES] = @@ -3117,7 +3118,7 @@ static void Att_ListAttEventsForAStd (const struct Att_Events *Events, HTM_TR_Begin (NULL); HTM_TD_Begin ("class=\"%s RM COLOR%u\"", - UsrDat->Accepted ? The_ClassDatN[Gbl.Prefs.Theme] : + UsrDat->Accepted ? The_ClassDatStrong[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme], Gbl.RowEvenOdd); HTM_TxtF ("%u:",NumUsr); @@ -3137,7 +3138,7 @@ static void Att_ListAttEventsForAStd (const struct Att_Events *Events, /***** Write user's ID ******/ HTM_TD_Begin ("class=\"%s LM\"", - UsrDat->Accepted ? The_ClassDatN[Gbl.Prefs.Theme] : + UsrDat->Accepted ? The_ClassDatStrong[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme]); ID_WriteUsrIDs (UsrDat,NULL); HTM_TD_End (); diff --git a/swad_banner.c b/swad_banner.c index 9ac5153b..a4a77e9c 100644 --- a/swad_banner.c +++ b/swad_banner.c @@ -403,6 +403,7 @@ void Ban_PutIconToViewBanners (void) static void Ban_ListBannersForEdition (struct Ban_Banners *Banners) { extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassDatLight[The_NUM_THEMES]; unsigned NumBan; struct Ban_Banner *Ban; char *Anchor = NULL; @@ -448,7 +449,7 @@ static void Ban_ListBannersForEdition (struct Ban_Banners *Banners) /* Banner code */ HTM_TD_Begin ("class=\"%s RM\"", - Ban->Hidden ? "DAT_LIGHT" : + Ban->Hidden ? The_ClassDatLight[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme]); HTM_ARTICLE_Begin (Anchor); HTM_Long (Ban->BanCod); diff --git a/swad_browser.c b/swad_browser.c index 3e5ddbd9..03288568 100644 --- a/swad_browser.c +++ b/swad_browser.c @@ -6881,6 +6881,7 @@ static void Brw_PutFormToCreateAFolder (const char FileNameToShow[NAME_MAX + 1]) static void Brw_PutFormToUploadFilesUsingDropzone (const char *FileNameToShow) { + extern const char *The_ClassDatLight[The_NUM_THEMES]; extern const char *Txt_Upload_files; extern const char *Txt_or_you_can_upload_new_files_to_the_folder_X; extern const char *Txt_Select_one_or_more_files_from_your_computer_or_drag_and_drop_here; @@ -6914,7 +6915,7 @@ static void Brw_PutFormToUploadFilesUsingDropzone (const char *FileNameToShow) Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk); HTM_DIV_Begin ("class=\"dz-message\""); - HTM_SPAN_Begin ("class=\"DAT_LIGHT\""); + HTM_SPAN_Begin ("class=\"%s\"",The_ClassDatLight[Gbl.Prefs.Theme]); HTM_Txt (Txt_Select_one_or_more_files_from_your_computer_or_drag_and_drop_here); HTM_SPAN_End (); HTM_DIV_End (); @@ -8558,7 +8559,7 @@ static void Brw_WriteSmallLinkToDownloadFile (const char *URL, /* Begin link */ HTM_BUTTON_SUBMIT_Begin (Txt_Check_marks_in_the_file, - Str_BuildStringStr ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme]), + Str_BuildString ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme]), NULL); Str_FreeStrings (); @@ -9809,9 +9810,10 @@ void Brw_ListDocsFound (MYSQL_RES **mysql_res,unsigned NumDocs, { /***** Begin box and table *****/ /* Number of documents found */ - Box_BoxTableBegin (NULL,Str_BuildStringLongStr ((long) NumDocs, - (NumDocs == 1) ? TitleSingular : - TitlePlural), + Box_BoxTableBegin (NULL,Str_BuildString ("%u %s", + NumDocs, + (NumDocs == 1) ? TitleSingular : + TitlePlural), NULL,NULL, NULL,Box_NOT_CLOSABLE,2); Str_FreeStrings (); @@ -9868,8 +9870,9 @@ void Brw_ListDocsFound (MYSQL_RES **mysql_res,unsigned NumDocs, static void Brw_WriteRowDocData (unsigned *NumDocsNotHidden,MYSQL_ROW row) { + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Documents_area; extern const char *Txt_Teachers_files_area; extern const char *Txt_Shared_files_area; @@ -9934,8 +9937,8 @@ static void Brw_WriteRowDocData (unsigned *NumDocsNotHidden,MYSQL_ROW row) /***** Set row color *****/ BgColor = (CrsCod > 0 && - CrsCod == Gbl.Hierarchy.Crs.CrsCod) ? "LIGHT_BLUE" : - Gbl.ColorRows[Gbl.RowEvenOdd]; + CrsCod == Gbl.Hierarchy.Crs.CrsCod) ? The_ClassBgHighlight[Gbl.Prefs.Theme] : + Gbl.ColorRows[Gbl.RowEvenOdd]; HTM_TR_Begin (NULL); @@ -9952,7 +9955,7 @@ static void Brw_WriteRowDocData (unsigned *NumDocsNotHidden,MYSQL_ROW row) Frm_BeginFormGoTo (ActSeeInsInf); Deg_PutParamDegCod (InsCod); HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (InsShortName), - Str_BuildStringStr ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), + Str_BuildString ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), NULL); Str_FreeStrings (); Lgo_DrawLogo (HieLvl_INS,InsCod,InsShortName,20,"BT_LINK LT",true); @@ -9969,7 +9972,7 @@ static void Brw_WriteRowDocData (unsigned *NumDocsNotHidden,MYSQL_ROW row) Frm_BeginFormGoTo (ActSeeCtrInf); Deg_PutParamDegCod (CtrCod); HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (CtrShortName), - Str_BuildStringStr ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), + Str_BuildString ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), NULL); Str_FreeStrings (); Lgo_DrawLogo (HieLvl_CTR,CtrCod,CtrShortName,20,"LT",true); @@ -9986,7 +9989,7 @@ static void Brw_WriteRowDocData (unsigned *NumDocsNotHidden,MYSQL_ROW row) Frm_BeginFormGoTo (ActSeeDegInf); Deg_PutParamDegCod (DegCod); HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (DegShortName), - Str_BuildStringStr ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), + Str_BuildString ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), NULL); Str_FreeStrings (); Lgo_DrawLogo (HieLvl_DEG,DegCod,DegShortName,20,"LT",true); @@ -10003,7 +10006,7 @@ static void Brw_WriteRowDocData (unsigned *NumDocsNotHidden,MYSQL_ROW row) Frm_BeginFormGoTo (ActSeeCrsInf); Crs_PutParamCrsCod (CrsCod); HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (CrsShortName), - Str_BuildStringStr ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme]), + Str_BuildString ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme]), NULL); Str_FreeStrings (); HTM_Txt (CrsShortName); @@ -10069,7 +10072,7 @@ static void Brw_WriteRowDocData (unsigned *NumDocsNotHidden,MYSQL_ROW row) /***** Write file name using path (row[1]) *****/ HTM_TD_Begin ("class=\"%s LT %s\"", - The_ClassDatN[Gbl.Prefs.Theme],BgColor); + The_ClassDatStrong[Gbl.Prefs.Theme],BgColor); /* Begin form */ Action = Brw_ActReqDatFile[Brw_FileBrowserForFoundDocs[FileMetadata.FileBrowser]]; @@ -10110,7 +10113,7 @@ static void Brw_WriteRowDocData (unsigned *NumDocsNotHidden,MYSQL_ROW row) /* File or folder icon */ HTM_BUTTON_SUBMIT_Begin (FileNameToShow, - Str_BuildStringStr ("BT_LINK LT %s",The_ClassDatN[Gbl.Prefs.Theme]), + Str_BuildString ("BT_LINK LT %s",The_ClassDatStrong[Gbl.Prefs.Theme]), NULL); Str_FreeStrings (); if (FileMetadata.FilFolLnk.Type == Brw_IS_FOLDER) diff --git a/swad_calendar.c b/swad_calendar.c index aab0049d..ca4f85be 100644 --- a/swad_calendar.c +++ b/swad_calendar.c @@ -132,7 +132,7 @@ void Cal_ShowFormToSelFirstDayOfWeek (Act_Action_t Action, FuncParams (Args); snprintf (Icon,sizeof (Icon),"first-day-of-week-%u.png",FirstDayOfWeek); Ico_PutSettingIconLink (Icon, - Str_BuildStringStr (Txt_First_day_of_the_week_X, + Str_BuildString (Txt_First_day_of_the_week_X, Txt_DAYS_SMALL[FirstDayOfWeek])); Str_FreeStrings (); Frm_EndForm (); diff --git a/swad_center.c b/swad_center.c index 0bf7837b..d8e360af 100644 --- a/swad_center.c +++ b/swad_center.c @@ -105,6 +105,7 @@ static void Ctr_FormToGoToMap (struct Ctr_Center *Ctr); void Ctr_SeeCtrWithPendingDegs (void) { extern const char *Hlp_SYSTEM_Pending; + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; extern const char *The_ClassDat[The_NUM_THEMES]; extern const char *Txt_Centers_with_pending_degrees; extern const char *Txt_Center; @@ -143,7 +144,7 @@ void Ctr_SeeCtrWithPendingDegs (void) /* Get center code (row[0]) */ Ctr.CtrCod = Str_ConvertStrCodToLongCod (row[0]); - BgColor = (Ctr.CtrCod == Gbl.Hierarchy.Ctr.CtrCod) ? "LIGHT_BLUE" : + BgColor = (Ctr.CtrCod == Gbl.Hierarchy.Ctr.CtrCod) ? The_ClassBgHighlight[Gbl.Prefs.Theme] : Gbl.ColorRows[Gbl.RowEvenOdd]; /* Get data of center */ @@ -154,7 +155,10 @@ void Ctr_SeeCtrWithPendingDegs (void) HTM_TD_Begin ("class=\"LM %s\"",BgColor); Ctr_DrawCenterLogoAndNameWithLink (&Ctr,ActSeeDeg, - "BT_LINK DAT_NOBR","CM"); + Str_BuildString ("BT_LINK %s NOWRAP", + The_ClassDat[Gbl.Prefs.Theme]), + "CM"); + Str_FreeStrings (); HTM_TD_End (); /* Number of pending degrees (row[1]) */ @@ -246,7 +250,7 @@ static void Ctr_ListCenters (void) unsigned NumCtr; /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Centers_of_INSTITUTION_X, + Box_BoxBegin (NULL,Str_BuildString (Txt_Centers_of_INSTITUTION_X, Gbl.Hierarchy.Ins.FullName), Ctr_PutIconsListingCenters,NULL, Hlp_INSTITUTION_Centers,Box_NOT_CLOSABLE); @@ -327,8 +331,10 @@ static void Ctr_PutIconToEditCenters (void) static void Ctr_ListOneCenterForSeeing (struct Ctr_Center *Ctr,unsigned NumCtr) { + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; + extern const char *The_ClassDatLight[The_NUM_THEMES]; extern const char *Txt_CENTER_STATUS[Hie_NUM_STATUS_TXT]; struct Plc_Place Plc; const char *TxtClassNormal; @@ -341,15 +347,15 @@ static void Ctr_ListOneCenterForSeeing (struct Ctr_Center *Ctr,unsigned NumCtr) if (Ctr->Status & Hie_STATUS_BIT_PENDING) { - TxtClassNormal = "DAT_LIGHT"; - TxtClassStrong = Str_BuildStringStr ("BT_LINK LT %s","DAT_LIGHT"); + TxtClassNormal = The_ClassDatLight[Gbl.Prefs.Theme]; + TxtClassStrong = Str_BuildString ("BT_LINK LT %s",The_ClassDatLight[Gbl.Prefs.Theme]); } else { TxtClassNormal = The_ClassDat[Gbl.Prefs.Theme]; - TxtClassStrong = Str_BuildStringStr ("BT_LINK LT %s",The_ClassDatN[Gbl.Prefs.Theme]); + TxtClassStrong = Str_BuildString ("BT_LINK LT %s",The_ClassDatStrong[Gbl.Prefs.Theme]); } - BgColor = (Ctr->CtrCod == Gbl.Hierarchy.Ctr.CtrCod) ? "LIGHT_BLUE" : + BgColor = (Ctr->CtrCod == Gbl.Hierarchy.Ctr.CtrCod) ? The_ClassBgHighlight[Gbl.Prefs.Theme] : Gbl.ColorRows[Gbl.RowEvenOdd]; HTM_TR_Begin (NULL); @@ -453,7 +459,7 @@ static void Ctr_EditCentersInternal (void) Hie_WriteMenuHierarchy (); /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Centers_of_INSTITUTION_X, + Box_BoxBegin (NULL,Str_BuildString (Txt_Centers_of_INSTITUTION_X, Gbl.Hierarchy.Ins.FullName), Ctr_PutIconsEditingCenters,NULL, Hlp_INSTITUTION_Centers,Box_NOT_CLOSABLE); @@ -1831,9 +1837,10 @@ void Ctr_ListCtrsFound (MYSQL_RES **mysql_res,unsigned NumCtrs) { /***** Begin box and table *****/ /* Number of centers found */ - Box_BoxTableBegin (NULL,Str_BuildStringLongStr ((long) NumCtrs, - (NumCtrs == 1) ? Txt_center : - Txt_centers), + Box_BoxTableBegin (NULL,Str_BuildString ("%u %s", + NumCtrs, + (NumCtrs == 1) ? Txt_center : + Txt_centers), NULL,NULL, NULL,Box_NOT_CLOSABLE,2); Str_FreeStrings (); diff --git a/swad_center_config.c b/swad_center_config.c index 966e947f..b7a55e7c 100644 --- a/swad_center_config.c +++ b/swad_center_config.c @@ -433,7 +433,7 @@ static void CtrCfg_Altitude (void) static void CtrCfg_Photo (bool PrintView,bool PutForm,bool PutLink, const char PathPhoto[PATH_MAX + 1]) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; char *PhotoAttribution = NULL; char *URL; char *Icon; @@ -451,7 +451,7 @@ static void CtrCfg_Photo (bool PrintView,bool PutForm,bool PutLink, HTM_DIV_Begin ("class=\"DAT_SMALL CM\""); if (PutLink) HTM_A_Begin ("href=\"%s\" target=\"_blank\" class=\"%s\"", - Gbl.Hierarchy.Ctr.WWW,The_ClassDatN[Gbl.Prefs.Theme]); + Gbl.Hierarchy.Ctr.WWW,The_ClassDatStrong[Gbl.Prefs.Theme]); if (asprintf (&URL,"%s/%02u/%u", Cfg_URL_CTR_PUBLIC, (unsigned) (Gbl.Hierarchy.Ctr.CtrCod % 100), @@ -590,7 +590,7 @@ static void CtrCfg_Institution (bool PrintView,bool PutForm) Frm_BeginFormGoTo (ActSeeInsInf); Ins_PutParamInsCod (Gbl.Hierarchy.Ins.InsCod); HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (Gbl.Hierarchy.Ins.ShrtName), - Str_BuildStringStr ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), + Str_BuildString ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), NULL); Str_FreeStrings (); } @@ -764,9 +764,9 @@ static void CtrCfg_NumDegs (void) HTM_TD_Begin ("class=\"LB\""); Frm_BeginFormGoTo (ActSeeDeg); Ctr_PutParamCtrCod (Gbl.Hierarchy.Ctr.CtrCod); - HTM_BUTTON_SUBMIT_Begin (Str_BuildStringStr (Txt_Degrees_of_CENTER_X, + HTM_BUTTON_SUBMIT_Begin (Str_BuildString (Txt_Degrees_of_CENTER_X, Gbl.Hierarchy.Ctr.ShrtName), - Str_BuildStringStr ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme]), + Str_BuildString ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme]), NULL); Str_FreeStrings (); HTM_Unsigned (Deg_GetCachedNumDegsInCtr (Gbl.Hierarchy.Ctr.CtrCod)); diff --git a/swad_changelog.h b/swad_changelog.h index c6663ee5..d4493a0c 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -602,12 +602,13 @@ 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.69 (2021-12-15)" -#define CSS_FILE "swad21.68.css" +#define Log_PLATFORM_VERSION "SWAD 21.70 (2021-12-15)" +#define CSS_FILE "swad21.70.css" #define JS_FILE "swad21.67.4.js" /* // TODO: al ver los resultados de un juego como profesor, el rol del estudiante sale como desconocido y no se puede ver el DNI + Version 21.70: Dec 15, 2021 Working on design of dark theme. (321252 lines) Version 21.69: Dec 15, 2021 Working on design of dark theme. (321089 lines) Version 21.68: Dec 08, 2021 Beginning design of dark theme. (320444 lines) Copy the following icons to icon public directory: diff --git a/swad_chat.c b/swad_chat.c index 3755e3f4..4baf7c41 100644 --- a/swad_chat.c +++ b/swad_chat.c @@ -263,8 +263,8 @@ void Cht_ShowListOfChatRoomsWithUsrs (void) /***** Write heading *****/ HTM_TR_Begin (NULL); - HTM_TH (1,1,"CM LIGHT_BLUE",Txt_CHAT_Room_code); - HTM_TH (1,1,"LM LIGHT_BLUE",Txt_Number_of_users); + HTM_TH (1,1,"CM",Txt_CHAT_Room_code); + HTM_TH (1,1,"LM",Txt_Number_of_users); HTM_TR_End (); /***** Loop over chat rooms *****/ diff --git a/swad_cookie.c b/swad_cookie.c index 9ebeb48e..cdf4cf80 100644 --- a/swad_cookie.c +++ b/swad_cookie.c @@ -55,8 +55,9 @@ static void Coo_PutIconsCookies (__attribute__((unused)) void *Args); void Coo_EditMyPrefsOnCookies (void) { extern const char *Hlp_PROFILE_Settings_cookies; + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Cookies; extern const char *Txt_Accept_third_party_cookies_to_view_multimedia_content_from_other_websites; @@ -74,7 +75,9 @@ void Coo_EditMyPrefsOnCookies (void) /* Begin container */ if (Gbl.Usrs.Me.UsrDat.Prefs.AcceptCookies) - HTM_DIV_Begin ("class=\"%s LIGHT_BLUE\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_DIV_Begin ("class=\"%s %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + The_ClassBgHighlight[Gbl.Prefs.Theme]); else HTM_DIV_Begin ("class=\"%s\"",The_ClassDat[Gbl.Prefs.Theme]); diff --git a/swad_country.c b/swad_country.c index 6abda8ea..83ec37f3 100644 --- a/swad_country.c +++ b/swad_country.c @@ -98,6 +98,7 @@ static void Cty_FormToGoToMap (struct Cty_Countr *Cty); void Cty_SeeCtyWithPendingInss (void) { extern const char *Hlp_SYSTEM_Pending; + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; extern const char *The_ClassDat[The_NUM_THEMES]; extern const char *Txt_Countries_with_pending_institutions; extern const char *Txt_Country; @@ -143,7 +144,7 @@ void Cty_SeeCtyWithPendingInss (void) /* Get country code (row[0]) */ Cty.CtyCod = Str_ConvertStrCodToLongCod (row[0]); - BgColor = (Cty.CtyCod == Gbl.Hierarchy.Cty.CtyCod) ? "LIGHT_BLUE" : + BgColor = (Cty.CtyCod == Gbl.Hierarchy.Cty.CtyCod) ? The_ClassBgHighlight[Gbl.Prefs.Theme] : Gbl.ColorRows[Gbl.RowEvenOdd]; /* Get data of country */ @@ -157,7 +158,7 @@ void Cty_SeeCtyWithPendingInss (void) Cty_DrawCountryMapAndNameWithLink (&Cty,ActSeeIns, "COUNTRY_SMALL", "COUNTRY_MAP_SMALL", - Str_BuildStringStr ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme])); + Str_BuildString ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme])); Str_FreeStrings (); HTM_TD_End (); @@ -400,11 +401,12 @@ static void Cty_PutHeadCountriesForSeeing (bool OrderSelectable) static void Cty_ListOneCountryForSeeing (struct Cty_Countr *Cty,unsigned NumCty) { + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; const char *BgColor; - BgColor = (Cty->CtyCod == Gbl.Hierarchy.Cty.CtyCod) ? "LIGHT_BLUE" : + BgColor = (Cty->CtyCod == Gbl.Hierarchy.Cty.CtyCod) ? The_ClassBgHighlight[Gbl.Prefs.Theme] : Gbl.ColorRows[Gbl.RowEvenOdd]; HTM_TR_Begin (NULL); @@ -419,7 +421,7 @@ static void Cty_ListOneCountryForSeeing (struct Cty_Countr *Cty,unsigned NumCty) Cty_DrawCountryMapAndNameWithLink (Cty,ActSeeIns, "COUNTRY_SMALL", "COUNTRY_MAP_SMALL", - Str_BuildStringStr ("BT_LINK %s",The_ClassDatN[Gbl.Prefs.Theme])); + Str_BuildString ("BT_LINK %s",The_ClassDatStrong[Gbl.Prefs.Theme])); Str_FreeStrings (); HTM_TD_End (); @@ -553,7 +555,7 @@ void Cty_DrawCountryMap (struct Cty_Countr *Cty,const char *Class) Cfg_URL_ICON_COUNTRIES_PUBLIC, Cty->Alpha2) < 0) Err_NotEnoughMemoryExit (); - HTM_IMG (URL,Str_BuildStringStr ("%s.png",Cty->Alpha2), + HTM_IMG (URL,Str_BuildString ("%s.png",Cty->Alpha2), Cty->Name[Gbl.Prefs.Language], "class=\"%s\"",Class); Str_FreeStrings (); @@ -1807,9 +1809,10 @@ void Cty_ListCtysFound (MYSQL_RES **mysql_res,unsigned NumCtys) { /***** Begin box and table *****/ /* Number of countries found */ - Box_BoxTableBegin (NULL,Str_BuildStringLongStr ((long) NumCtys, - NumCtys == 1 ? Txt_country : - Txt_countries), + Box_BoxTableBegin (NULL,Str_BuildString ("%u %s", + NumCtys, + NumCtys == 1 ? Txt_country : + Txt_countries), NULL,NULL, NULL,Box_NOT_CLOSABLE,2); Str_FreeStrings (); diff --git a/swad_country_config.c b/swad_country_config.c index ecd237ed..a9936b62 100644 --- a/swad_country_config.c +++ b/swad_country_config.c @@ -372,7 +372,7 @@ static void CtyCfg_Platform (bool PrintView) { Frm_BeginFormGoTo (ActSeeSysInf); HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (Cfg_PLATFORM_SHORT_NAME), - Str_BuildStringStr ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), + Str_BuildString ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), NULL); Str_FreeStrings (); } @@ -395,7 +395,7 @@ static void CtyCfg_Platform (bool PrintView) static void CtyCfg_Name (bool PutLink) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Country; /***** Country name *****/ @@ -405,11 +405,11 @@ static void CtyCfg_Name (bool PutLink) Frm_LabelColumn ("RT",NULL,Txt_Country); /* Data */ - HTM_TD_Begin ("class=\"LB %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"LB %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); if (PutLink) HTM_A_Begin ("href=\"%s\" target=\"_blank\" class=\"%s\"", Gbl.Hierarchy.Cty.WWW[Gbl.Prefs.Language], - The_ClassDatN[Gbl.Prefs.Theme]); + The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Txt (Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]); if (PutLink) HTM_A_End (); @@ -479,9 +479,9 @@ static void CtyCfg_NumInss (void) HTM_TD_Begin ("class=\"LB\""); Frm_BeginFormGoTo (ActSeeIns); Cty_PutParamCtyCod (Gbl.Hierarchy.Cty.CtyCod); - HTM_BUTTON_SUBMIT_Begin (Str_BuildStringStr (Txt_Institutions_of_COUNTRY_X, + HTM_BUTTON_SUBMIT_Begin (Str_BuildString (Txt_Institutions_of_COUNTRY_X, Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]), - Str_BuildStringStr ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme]), + Str_BuildString ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme]), NULL); Str_FreeStrings (); HTM_Unsigned (Ins_GetCachedNumInssInCty (Gbl.Hierarchy.Cty.CtyCod)); diff --git a/swad_course.c b/swad_course.c index 41ea582d..abe99f83 100644 --- a/swad_course.c +++ b/swad_course.c @@ -147,6 +147,7 @@ void Crs_ShowIntroduction (void) static void Crs_WriteListMyCoursesToSelectOne (void) { extern const char *Hlp_PROFILE_Courses; + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; extern const char *The_ClassFormLinkInBox[The_NUM_THEMES]; extern const char *The_ClassFormLinkInBoxBold[The_NUM_THEMES]; extern const char *Txt_My_courses; @@ -174,8 +175,9 @@ static void Crs_WriteListMyCoursesToSelectOne (void) char ClassHighlight[64]; ClassNormal = The_ClassFormLinkInBox[Gbl.Prefs.Theme]; - snprintf (ClassHighlight,sizeof (ClassHighlight),"%s LIGHT_BLUE", - The_ClassFormLinkInBoxBold[Gbl.Prefs.Theme]); + snprintf (ClassHighlight,sizeof (ClassHighlight),"%s %s", + The_ClassFormLinkInBoxBold[Gbl.Prefs.Theme], + The_ClassBgHighlight[Gbl.Prefs.Theme]); /***** Begin box *****/ Box_BoxBegin (NULL,Txt_My_courses, @@ -847,7 +849,7 @@ static void Crs_ListCourses (void) unsigned Year; /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Courses_of_DEGREE_X, + Box_BoxBegin (NULL,Str_BuildString (Txt_Courses_of_DEGREE_X, Gbl.Hierarchy.Deg.ShrtName), Crs_PutIconsListCourses,NULL, Hlp_DEGREE_Courses,Box_NOT_CLOSABLE); @@ -928,8 +930,10 @@ static void Crs_PutIconToEditCourses (void) static bool Crs_ListCoursesOfAYearForSeeing (unsigned Year) { + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; + extern const char *The_ClassDatLight[The_NUM_THEMES]; extern const char *Txt_COURSE_With_users; extern const char *Txt_COURSE_Without_users; extern const char *Txt_YEAR_OF_DEGREE[1 + Deg_MAX_YEARS_PER_DEGREE]; @@ -953,17 +957,17 @@ static bool Crs_ListCoursesOfAYearForSeeing (unsigned Year) ThisYearHasCourses = true; if (Crs->Status & Hie_STATUS_BIT_PENDING) { - TxtClassNormal = "DAT_LIGHT"; - TxtClassStrong = Str_BuildStringStr ("BT_LINK LT %s","DAT_LIGHT"); + TxtClassNormal = The_ClassDatLight[Gbl.Prefs.Theme]; + TxtClassStrong = Str_BuildString ("BT_LINK LT %s",The_ClassDatLight[Gbl.Prefs.Theme]); } else { TxtClassNormal = The_ClassDat[Gbl.Prefs.Theme]; - TxtClassStrong = Str_BuildStringStr ("BT_LINK LT %s",The_ClassDatN[Gbl.Prefs.Theme]); + TxtClassStrong = Str_BuildString ("BT_LINK LT %s",The_ClassDatStrong[Gbl.Prefs.Theme]); } /* Check if this course is one of my courses */ - BgColor = (Enr_CheckIfIBelongToCrs (Crs->CrsCod)) ? "LIGHT_BLUE" : + BgColor = (Enr_CheckIfIBelongToCrs (Crs->CrsCod)) ? The_ClassBgHighlight[Gbl.Prefs.Theme] : Gbl.ColorRows[Gbl.RowEvenOdd]; HTM_TR_Begin (NULL); @@ -1061,7 +1065,7 @@ static void Crs_EditCoursesInternal (void) Hie_WriteMenuHierarchy (); /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Courses_of_DEGREE_X, + Box_BoxBegin (NULL,Str_BuildString (Txt_Courses_of_DEGREE_X, Gbl.Hierarchy.Deg.ShrtName), Crs_PutIconsEditingCourses,NULL, Hlp_DEGREE_Courses,Box_NOT_CLOSABLE); @@ -2157,7 +2161,7 @@ static void Crs_PutButtonToRegisterInCrs (void) if (Crs_EditingCrs->CrsCod != Gbl.Hierarchy.Crs.CrsCod) Crs_PutParamCrsCod (Crs_EditingCrs->CrsCod); - Btn_PutCreateButton (Str_BuildStringStr (Txt_Register_me_in_X, + Btn_PutCreateButton (Str_BuildString (Txt_Register_me_in_X, Crs_EditingCrs->ShrtName)); Str_FreeStrings (); @@ -2277,7 +2281,7 @@ void Crs_GetAndWriteCrssOfAUsr (const struct UsrData *UsrDat,Rol_Role_t Role) HTM_TR_Begin (NULL); HTM_TH_Begin (1,7,"LM"); - HTM_TxtColon (Str_BuildStringStr (Txt_USER_in_COURSE, + HTM_TxtColon (Str_BuildString (Txt_USER_in_COURSE, Role == Rol_UNK ? Txt_User[Usr_SEX_UNKNOWN] : // Role == Rol_UNK ==> any role Txt_ROLES_SINGUL_Abc[Role][UsrDat->Sex])); Str_FreeStrings (); @@ -2338,9 +2342,10 @@ void Crs_ListCrssFound (MYSQL_RES **mysql_res,unsigned NumCrss) { /***** Begin box and table *****/ /* Number of courses found */ - Box_BoxTableBegin (NULL,Str_BuildStringLongStr ((long) NumCrss, - (NumCrss == 1) ? Txt_course : - Txt_courses), + Box_BoxTableBegin (NULL,Str_BuildString ("%u %s", + NumCrss, + (NumCrss == 1) ? Txt_course : + Txt_courses), NULL,NULL, NULL,Box_NOT_CLOSABLE,2); Str_FreeStrings (); @@ -2384,8 +2389,9 @@ void Crs_ListCrssFound (MYSQL_RES **mysql_res,unsigned NumCrss) static void Crs_WriteRowCrsData (unsigned NumCrs,MYSQL_ROW row,bool WriteColumnAccepted) { + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Enrolment_confirmed; extern const char *Txt_Enrolment_not_confirmed; extern const char *Txt_YEAR_OF_DEGREE[1 + Deg_MAX_YEARS_PER_DEGREE]; @@ -2428,16 +2434,16 @@ static void Crs_WriteRowCrsData (unsigned NumCrs,MYSQL_ROW row,bool WriteColumnA NumUsrs = NumStds + NumNETs + NumTchs; if (NumUsrs) { - ClassTxt = The_ClassDatN[Gbl.Prefs.Theme]; - ClassLink = Str_BuildStringStr ("BT_LINK LT %s",The_ClassDatN[Gbl.Prefs.Theme]); + ClassTxt = The_ClassDatStrong[Gbl.Prefs.Theme]; + ClassLink = Str_BuildString ("BT_LINK LT %s",The_ClassDatStrong[Gbl.Prefs.Theme]); } else { ClassTxt = The_ClassDat[Gbl.Prefs.Theme]; - ClassLink = Str_BuildStringStr ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]); + ClassLink = Str_BuildString ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]); } - BgColor = (CrsCod == Gbl.Hierarchy.Crs.CrsCod) ? "LIGHT_BLUE" : - Gbl.ColorRows[RowEvenOdd]; + BgColor = (CrsCod == Gbl.Hierarchy.Crs.CrsCod) ? The_ClassBgHighlight[Gbl.Prefs.Theme] : + Gbl.ColorRows[RowEvenOdd]; /***** Begin row *****/ HTM_TR_Begin (NULL); diff --git a/swad_course_config.c b/swad_course_config.c index aee61cce..404f8c82 100644 --- a/swad_course_config.c +++ b/swad_course_config.c @@ -250,7 +250,7 @@ static void CrsCfg_Degree (bool PrintView,bool PutForm) Frm_BeginFormGoTo (ActSeeDegInf); Deg_PutParamDegCod (Gbl.Hierarchy.Deg.DegCod); HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (Gbl.Hierarchy.Deg.ShrtName), - Str_BuildStringStr ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), + Str_BuildString ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), NULL); Str_FreeStrings (); } @@ -442,7 +442,7 @@ static void CrsCfg_Indicators (void) Txt_of_PART_OF_A_TOTAL,Ind_NUM_INDICATORS) < 0) Err_NotEnoughMemoryExit (); HTM_BUTTON_SUBMIT_Begin (Title, - Str_BuildStringStr ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme]), + Str_BuildString ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme]), NULL); Str_FreeStrings (); HTM_TxtF ("%s ",Title); diff --git a/swad_date.c b/swad_date.c index 666e4abb..f8359231 100644 --- a/swad_date.c +++ b/swad_date.c @@ -122,8 +122,9 @@ void Dat_ResetHour (struct Dat_Hour *Hour) void Dat_PutBoxToSelectDateFormat (void) { extern const char *Hlp_PROFILE_Settings_dates; + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Dates; Dat_Format_t Format; @@ -143,7 +144,9 @@ void Dat_PutBoxToSelectDateFormat (void) Format++) { if (Format == Gbl.Prefs.DateFormat) - HTM_LI_Begin ("class=\"%s LIGHT_BLUE\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_LI_Begin ("class=\"%s %s\"", + The_ClassDatStrong[Gbl.Prefs.Theme], + The_ClassBgHighlight[Gbl.Prefs.Theme]); else HTM_LI_Begin ("class=\"%s\"",The_ClassDat[Gbl.Prefs.Theme]); HTM_LABEL_Begin (NULL); @@ -190,8 +193,8 @@ void Dat_PutSpanDateFormat (Dat_Format_t Format) void Dat_PutScriptDateFormat (Dat_Format_t Format) { - Dat_WriteLocalDateHMSFromUTC (Str_BuildStringLong ("date_format_%ld", - (long) Format), + Dat_WriteLocalDateHMSFromUTC (Str_BuildString ("date_format_%u", + (unsigned) Format), Gbl.StartExecutionTimeUTC, Format,Dat_SEPARATOR_NONE, false,true,false,0x0); diff --git a/swad_degree.c b/swad_degree.c index af6cb8ae..44982628 100644 --- a/swad_degree.c +++ b/swad_degree.c @@ -109,6 +109,7 @@ static void Deg_EditingDegreeDestructor (void); void Deg_SeeDegWithPendingCrss (void) { extern const char *Hlp_SYSTEM_Pending; + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; extern const char *The_ClassDat[The_NUM_THEMES]; extern const char *Txt_Degrees_with_pending_courses; extern const char *Txt_Degree; @@ -147,7 +148,7 @@ void Deg_SeeDegWithPendingCrss (void) /* Get degree code (row[0]) */ Deg.DegCod = Str_ConvertStrCodToLongCod (row[0]); - BgColor = (Deg.DegCod == Gbl.Hierarchy.Deg.DegCod) ? "LIGHT_BLUE" : + BgColor = (Deg.DegCod == Gbl.Hierarchy.Deg.DegCod) ? The_ClassBgHighlight[Gbl.Prefs.Theme] : Gbl.ColorRows[Gbl.RowEvenOdd]; /* Get data of degree */ @@ -159,7 +160,10 @@ void Deg_SeeDegWithPendingCrss (void) /* Degree logo and full name */ HTM_TD_Begin ("class=\"LM %s\"",BgColor); Deg_DrawDegreeLogoAndNameWithLink (&Deg,ActSeeCrs, - "BT_LINK DAT_NOBR","CM"); + Str_BuildString ("BT_LINK %s NOWRAP", + The_ClassDat[Gbl.Prefs.Theme]), + "CM"); + Str_FreeStrings (); HTM_TD_End (); /* Number of pending courses (row[1]) */ @@ -692,7 +696,7 @@ static void Deg_ListDegrees (void) unsigned NumDeg; /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Degrees_of_CENTER_X, + Box_BoxBegin (NULL,Str_BuildString (Txt_Degrees_of_CENTER_X, Gbl.Hierarchy.Ctr.ShrtName), Deg_PutIconsListingDegrees,NULL, Hlp_CENTER_Degrees,Box_NOT_CLOSABLE); @@ -773,8 +777,10 @@ static void Deg_PutIconToEditDegrees (void) static void Deg_ListOneDegreeForSeeing (struct Deg_Degree *Deg,unsigned NumDeg) { + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; + extern const char *The_ClassDatLight[The_NUM_THEMES]; extern const char *Txt_DEGREE_With_courses; extern const char *Txt_DEGREE_Without_courses; extern const char *Txt_DEGREE_STATUS[Hie_NUM_STATUS_TXT]; @@ -791,15 +797,15 @@ static void Deg_ListOneDegreeForSeeing (struct Deg_Degree *Deg,unsigned NumDeg) if (Deg->Status & Hie_STATUS_BIT_PENDING) { - TxtClassNormal = "DAT_LIGHT"; - TxtClassStrong = Str_BuildStringStr ("BT_LINK LT %s","DAT_LIGHT"); + TxtClassNormal = The_ClassDatLight[Gbl.Prefs.Theme]; + TxtClassStrong = Str_BuildString ("BT_LINK LT %s",The_ClassDatLight[Gbl.Prefs.Theme]); } else { TxtClassNormal = The_ClassDat[Gbl.Prefs.Theme]; - TxtClassStrong = Str_BuildStringStr ("BT_LINK LT %s",The_ClassDatN[Gbl.Prefs.Theme]); + TxtClassStrong = Str_BuildString ("BT_LINK LT %s",The_ClassDatStrong[Gbl.Prefs.Theme]); } - BgColor = (Deg->DegCod == Gbl.Hierarchy.Deg.DegCod) ? "LIGHT_BLUE" : + BgColor = (Deg->DegCod == Gbl.Hierarchy.Deg.DegCod) ? The_ClassBgHighlight[Gbl.Prefs.Theme] : Gbl.ColorRows[Gbl.RowEvenOdd]; /***** Begin table row *****/ @@ -885,7 +891,7 @@ static void Deg_EditDegreesInternal (void) Hie_WriteMenuHierarchy (); /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Degrees_of_CENTER_X, + Box_BoxBegin (NULL,Str_BuildString (Txt_Degrees_of_CENTER_X, Gbl.Hierarchy.Ctr.ShrtName), Deg_PutIconsEditingDegrees,NULL, Hlp_CENTER_Degrees,Box_NOT_CLOSABLE); @@ -1791,9 +1797,10 @@ void Deg_ListDegsFound (MYSQL_RES **mysql_res,unsigned NumDegs) { /***** Begin box and table *****/ /* Number of degrees found */ - Box_BoxTableBegin (NULL,Str_BuildStringLongStr ((long) NumDegs, - (NumDegs == 1) ? Txt_degree : - Txt_degrees), + Box_BoxTableBegin (NULL,Str_BuildString ("%u %s", + NumDegs, + (NumDegs == 1) ? Txt_degree : + Txt_degrees), NULL,NULL, NULL,Box_NOT_CLOSABLE,2); Str_FreeStrings (); diff --git a/swad_degree_config.c b/swad_degree_config.c index a6250ec8..5d39b3c7 100644 --- a/swad_degree_config.c +++ b/swad_degree_config.c @@ -241,7 +241,7 @@ static void DegCfg_Center (bool PrintView,bool PutForm) Frm_BeginFormGoTo (ActSeeCtrInf); Ctr_PutParamCtrCod (Gbl.Hierarchy.Ctr.CtrCod); HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (Gbl.Hierarchy.Ctr.ShrtName), - Str_BuildStringStr ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), + Str_BuildString ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), NULL); Str_FreeStrings (); } @@ -329,9 +329,9 @@ static void DegCfg_NumCrss (void) HTM_TD_Begin ("class=\"LB\""); Frm_BeginFormGoTo (ActSeeCrs); Deg_PutParamDegCod (Gbl.Hierarchy.Deg.DegCod); - HTM_BUTTON_SUBMIT_Begin (Str_BuildStringStr (Txt_Courses_of_DEGREE_X, + HTM_BUTTON_SUBMIT_Begin (Str_BuildString (Txt_Courses_of_DEGREE_X, Gbl.Hierarchy.Deg.ShrtName), - Str_BuildStringStr ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme]), + Str_BuildString ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme]), NULL); Str_FreeStrings (); HTM_Unsigned (Crs_GetCachedNumCrssInDeg (Gbl.Hierarchy.Deg.DegCod)); diff --git a/swad_degree_type.c b/swad_degree_type.c index da8a5342..c4d1ebad 100644 --- a/swad_degree_type.c +++ b/swad_degree_type.c @@ -313,7 +313,8 @@ void DegTyp_PutIconToViewDegreeTypes (void) static void DegTyp_ListDegreeTypesForSeeing (void) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; unsigned NumDegTyp; const char *BgColor; @@ -323,7 +324,7 @@ static void DegTyp_ListDegreeTypesForSeeing (void) NumDegTyp++, Gbl.RowEvenOdd = 1 - Gbl.RowEvenOdd) { BgColor = (Gbl.DegTypes.Lst[NumDegTyp].DegTypCod == - Gbl.Hierarchy.Deg.DegTypCod) ? "LIGHT_BLUE" : + Gbl.Hierarchy.Deg.DegTypCod) ? The_ClassBgHighlight[Gbl.Prefs.Theme] : Gbl.ColorRows[Gbl.RowEvenOdd]; /* Begin table row */ @@ -331,19 +332,19 @@ static void DegTyp_ListDegreeTypesForSeeing (void) /* Number of degree type in this list */ HTM_TD_Begin ("class=\"RM %s %s\"", - The_ClassDatN[Gbl.Prefs.Theme],BgColor); + The_ClassDatStrong[Gbl.Prefs.Theme],BgColor); HTM_Unsigned (NumDegTyp + 1); HTM_TD_End (); /* Name of degree type */ HTM_TD_Begin ("class=\"LM %s %s\"", - The_ClassDatN[Gbl.Prefs.Theme],BgColor); + The_ClassDatStrong[Gbl.Prefs.Theme],BgColor); HTM_Txt (Gbl.DegTypes.Lst[NumDegTyp].DegTypName); HTM_TD_End (); /* Number of degrees of this type */ HTM_TD_Begin ("class=\"RM %s %s\"", - The_ClassDatN[Gbl.Prefs.Theme],BgColor); + The_ClassDatStrong[Gbl.Prefs.Theme],BgColor); HTM_Unsigned (Gbl.DegTypes.Lst[NumDegTyp].NumDegs); HTM_TD_End (); diff --git a/swad_department.c b/swad_department.c index b44b757a..5e318891 100644 --- a/swad_department.c +++ b/swad_department.c @@ -124,12 +124,12 @@ void Dpt_SeeDepts (void) /***** Begin box and table *****/ if (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) - Box_BoxTableBegin (NULL,Str_BuildStringStr (Txt_Departments_of_INSTITUTION_X, + Box_BoxTableBegin (NULL,Str_BuildString (Txt_Departments_of_INSTITUTION_X, Gbl.Hierarchy.Ins.FullName), Dpt_PutIconToEditDpts,NULL, Hlp_INSTITUTION_Departments,Box_NOT_CLOSABLE,2); else - Box_BoxTableBegin (NULL,Str_BuildStringStr (Txt_Departments_of_INSTITUTION_X, + Box_BoxTableBegin (NULL,Str_BuildString (Txt_Departments_of_INSTITUTION_X, Gbl.Hierarchy.Ins.FullName), NULL,NULL, Hlp_INSTITUTION_Departments,Box_NOT_CLOSABLE,2); @@ -285,7 +285,7 @@ static void Dpt_EditDepartmentsInternal (void) Dpt_GetListDepartments (&Departments,Gbl.Hierarchy.Ins.InsCod); /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Departments_of_INSTITUTION_X, + Box_BoxBegin (NULL,Str_BuildString (Txt_Departments_of_INSTITUTION_X, Gbl.Hierarchy.Ins.FullName), NULL,NULL, Hlp_INSTITUTION_Departments_edit,Box_NOT_CLOSABLE); diff --git a/swad_enrolment.c b/swad_enrolment.c index 7e715621..b39713cb 100644 --- a/swad_enrolment.c +++ b/swad_enrolment.c @@ -2228,7 +2228,7 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected) Frm_BeginFormGoTo (ActSeeCrsInf); Crs_PutParamCrsCod (Crs.CrsCod); HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (Crs.FullName), - Str_BuildStringStr ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), + Str_BuildString ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), NULL); Str_FreeStrings (); HTM_TxtF ("%s > %s",Deg.ShrtName,Crs.ShrtName); diff --git a/swad_exam.c b/swad_exam.c index a1fd7d44..0bf5e145 100644 --- a/swad_exam.c +++ b/swad_exam.c @@ -474,6 +474,7 @@ static void Exa_ShowOneExam (struct Exa_Exams *Exams, struct Exa_Exam *Exam,bool ShowOnlyThisExam) { extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassDatLight[The_NUM_THEMES]; extern const char *Txt_View_exam; extern const char *Txt_Sets_of_questions; extern const char *Txt_Maximum_grade; @@ -613,7 +614,7 @@ static void Exa_ShowOneExam (struct Exa_Exams *Exams, Str_ChangeFormat (Str_FROM_HTML,Str_TO_RIGOROUS_HTML, Txt,Cns_MAX_BYTES_TEXT,false); // Convert from HTML to rigorous HTML ALn_InsertLinks (Txt,Cns_MAX_BYTES_TEXT,60); // Insert links - HTM_DIV_Begin ("class=\"PAR %s\"",Exam->Hidden ? "DAT_LIGHT" : + HTM_DIV_Begin ("class=\"PAR %s\"",Exam->Hidden ? The_ClassDatLight[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme]); HTM_Txt (Txt); HTM_DIV_End (); diff --git a/swad_exam_result.c b/swad_exam_result.c index 831a1af6..69f5a05d 100644 --- a/swad_exam_result.c +++ b/swad_exam_result.c @@ -206,7 +206,7 @@ void ExaRes_ShowMyResultsInExa (void) /***** List my sessions results in exam *****/ ExaRes_ShowResultsBegin (&Exams, - Str_BuildStringStr (Txt_Results_of_exam_X,Exam.Title), + Str_BuildString (Txt_Results_of_exam_X,Exam.Title), false); // Do not list exams to select Str_FreeStrings (); ExaRes_ListMyResultsInExa (&Exams,Exam.ExaCod); @@ -258,7 +258,7 @@ void ExaRes_ShowMyResultsInSes (void) false); // Do not put form to start new session /***** List my sessions results in session *****/ - ExaRes_ShowResultsBegin (&Exams,Str_BuildStringStr (Txt_Results_of_session_X,Session.Title), + ExaRes_ShowResultsBegin (&Exams,Str_BuildString (Txt_Results_of_session_X,Session.Title), false); // Do not list exams to select Str_FreeStrings (); ExaRes_ListMyResultsInSes (&Exams,Session.SesCod); @@ -406,7 +406,7 @@ void ExaRes_ShowAllResultsInExa (void) /***** List sessions results in exam *****/ ExaRes_ShowResultsBegin (&Exams, - Str_BuildStringStr (Txt_Results_of_exam_X,Exam.Title), + Str_BuildString (Txt_Results_of_exam_X,Exam.Title), false); // Do not list exams to select Str_FreeStrings (); ExaRes_ListAllResultsInExa (&Exams,Exam.ExaCod); @@ -483,7 +483,7 @@ void ExaRes_ShowAllResultsInSes (void) /***** List sessions results in session *****/ ExaRes_ShowResultsBegin (&Exams, - Str_BuildStringStr (Txt_Results_of_session_X,Session.Title), + Str_BuildString (Txt_Results_of_session_X,Session.Title), false); // Do not list exams to select Str_FreeStrings (); ExaRes_ListAllResultsInSes (&Exams,Session.SesCod); @@ -1101,20 +1101,20 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, const struct ExaPrn_Score *TotalScore, double TotalGrade) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Sessions; unsigned NumTotalQstsInvalid; /***** Row title *****/ HTM_TD_Begin ("colspan=\"3\" class=\"RM %s LINE_TOP LINE_BOTTOM COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); HTM_TxtColonNBSP (Txt_Sessions); HTM_Unsigned (NumResults); HTM_TD_End (); /***** Write total number of questions *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); HTM_Unsigned (NumTotalQsts->All); HTM_TD_End (); @@ -1137,7 +1137,7 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, /***** Write number of correct questions *****/ HTM_TD_Begin ("class=\"RT %s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); if (NumTotalQsts->Valid.Correct) HTM_Unsigned (NumTotalQsts->Valid.Correct); else @@ -1146,7 +1146,7 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, /***** Write number of wrong questions *****/ HTM_TD_Begin ("class=\"RT %s LINE_TOP LINE_BOTTOM COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); if (NumTotalQsts->Valid.Wrong.Negative) HTM_Unsigned (NumTotalQsts->Valid.Wrong.Negative); else @@ -1154,7 +1154,7 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, HTM_TD_End (); HTM_TD_Begin ("class=\"RT %s LINE_TOP LINE_BOTTOM COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); if (NumTotalQsts->Valid.Wrong.Zero) HTM_Unsigned (NumTotalQsts->Valid.Wrong.Zero); else @@ -1162,7 +1162,7 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, HTM_TD_End (); HTM_TD_Begin ("class=\"RT %s LINE_TOP LINE_BOTTOM COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); if (NumTotalQsts->Valid.Wrong.Positive) HTM_Unsigned (NumTotalQsts->Valid.Wrong.Positive); else @@ -1171,7 +1171,7 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, /***** Write number of blank questions *****/ HTM_TD_Begin ("class=\"RT %s LINE_TOP LINE_BOTTOM COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); if (NumTotalQsts->Valid.Blank) HTM_Unsigned (NumTotalQsts->Valid.Blank); else @@ -1180,7 +1180,7 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, /***** Write total valid score *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); HTM_Double2Decimals (TotalScore->Valid); HTM_Txt ("/"); HTM_Unsigned (NumTotalQsts->Valid.Total); @@ -1188,7 +1188,7 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, /***** Write average valid score per valid question *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); HTM_Double2Decimals (NumTotalQsts->Valid.Total ? TotalScore->Valid / (double) NumTotalQsts->Valid.Total : 0.0); @@ -1197,13 +1197,13 @@ static void ExaRes_ShowResultsSummaryRow (unsigned NumResults, /***** Write total grade *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); HTM_Double2Decimals (TotalGrade); HTM_TD_End (); /***** Last cell *****/ HTM_TD_Begin ("class=\"%s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); HTM_TD_End (); } @@ -1510,7 +1510,7 @@ static void ExaRes_ComputeValidPrintScore (struct ExaPrn_Print *Print) void ExaRes_ShowExamResultUser (struct UsrData *UsrDat) { extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; static const char *ClassPhoto[Pho_NUM_SHAPES] = { @@ -1524,7 +1524,7 @@ void ExaRes_ShowExamResultUser (struct UsrData *UsrDat) HTM_TR_Begin (NULL); /***** Label *****/ - HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_TxtColon (Txt_ROLES_SINGUL_Abc[UsrDat->Roles.InCurrentCrs][UsrDat->Sex]); HTM_TD_End (); @@ -1553,7 +1553,7 @@ void ExaRes_ShowExamResultUser (struct UsrData *UsrDat) static void ExaRes_ShowExamResultTime (struct ExaPrn_Print *Print) { extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_START_END_TIME[Dat_NUM_START_END_TIME]; Dat_StartEndTime_t StartEndTime; char *Id; @@ -1566,7 +1566,7 @@ static void ExaRes_ShowExamResultTime (struct ExaPrn_Print *Print) HTM_TR_Begin (NULL); /***** Label *****/ - HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_TxtColon (Txt_START_END_TIME[StartEndTime]); HTM_TD_End (); @@ -1594,7 +1594,7 @@ static void ExaRes_ShowExamResultNumQsts (struct ExaPrn_Print *Print, const struct ExaRes_ICanView *ICanView) { extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Questions; extern const char *Txt_QUESTIONS_valid; extern const char *Txt_QUESTIONS_invalid; @@ -1603,7 +1603,7 @@ static void ExaRes_ShowExamResultNumQsts (struct ExaPrn_Print *Print, HTM_TR_Begin (NULL); /***** Label *****/ - HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_TxtColon (Txt_Questions); HTM_TD_End (); @@ -1649,7 +1649,7 @@ static void ExaRes_ShowExamResultNumAnss (struct ExaPrn_Print *Print, const struct ExaRes_ICanView *ICanView) { extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Valid_answers; extern const char *Txt_ANSWERS_correct; extern const char *Txt_ANSWERS_wrong; @@ -1659,7 +1659,7 @@ static void ExaRes_ShowExamResultNumAnss (struct ExaPrn_Print *Print, HTM_TR_Begin (NULL); /***** Label *****/ - HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_TxtColon (Txt_Valid_answers); HTM_TD_End (); @@ -1692,7 +1692,7 @@ static void ExaRes_ShowExamResultScore (struct ExaPrn_Print *Print, const struct ExaRes_ICanView *ICanView) { extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Score; extern const char *Txt_valid_score; @@ -1700,7 +1700,7 @@ static void ExaRes_ShowExamResultScore (struct ExaPrn_Print *Print, HTM_TR_Begin (NULL); /***** Label *****/ - HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_TxtColon (Txt_Score); HTM_TD_End (); @@ -1746,7 +1746,7 @@ static void ExaRes_ShowExamResultGrade (const struct Exa_Exam *Exam, const struct ExaRes_ICanView *ICanView) { extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Grade; extern const char *Txt_valid_grade; @@ -1754,7 +1754,7 @@ static void ExaRes_ShowExamResultGrade (const struct Exa_Exam *Exam, HTM_TR_Begin (NULL); /***** Label *****/ - HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_TxtColon (Txt_Grade); HTM_TD_End (); diff --git a/swad_exam_set.c b/swad_exam_set.c index 320158c9..b726e135 100644 --- a/swad_exam_set.c +++ b/swad_exam_set.c @@ -786,7 +786,7 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams, Lay_PutContextualLinkOnlyIcon (ActUp_ExaSet,Anchor, ExaSet_PutParamsOneSet,Exams, "arrow-up.svg", - Str_BuildStringStr (Txt_Move_up_X, + Str_BuildString (Txt_Move_up_X, StrSetInd)); Str_FreeStrings (); } @@ -799,7 +799,7 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams, Lay_PutContextualLinkOnlyIcon (ActDwnExaSet,Anchor, ExaSet_PutParamsOneSet,Exams, "arrow-down.svg", - Str_BuildStringStr (Txt_Move_down_X, + Str_BuildString (Txt_Move_down_X, StrSetInd)); Str_FreeStrings (); } diff --git a/swad_figure.c b/swad_figure.c index a32f634e..3d642368 100644 --- a/swad_figure.c +++ b/swad_figure.c @@ -443,12 +443,12 @@ static void Fig_GetAndShowUsersStats (void) static void Fig_GetAndShowNumUsrsInCrss (Rol_Role_t Role) { extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Total; extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; long Cod = Sco_GetCurrentCod (); - char *Class = (Role == Rol_UNK) ? Str_BuildStringStr ("RB %s LINE_TOP",The_ClassDatN[Gbl.Prefs.Theme]) : - Str_BuildStringStr ("RB %s",The_ClassDat[Gbl.Prefs.Theme]); + char *Class = (Role == Rol_UNK) ? Str_BuildString ("RB %s LINE_TOP",The_ClassDatStrong[Gbl.Prefs.Theme]) : + Str_BuildString ("RB %s",The_ClassDat[Gbl.Prefs.Theme]); unsigned Roles = (Role == Rol_UNK) ? ((1 << Rol_STD) | (1 << Rol_NET) | (1 << Rol_TCH)) : @@ -488,7 +488,7 @@ static void Fig_GetAndShowNumUsrsNotBelongingToAnyCrs (void) { extern const char *The_ClassDat[The_NUM_THEMES]; extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; - char *Class = Str_BuildStringStr ("%s RB",The_ClassDat[Gbl.Prefs.Theme]); + char *Class = Str_BuildString ("%s RB",The_ClassDat[Gbl.Prefs.Theme]); /***** Write the total number of users not belonging to any course *****/ HTM_TR_Begin (NULL); @@ -879,7 +879,7 @@ static void Fig_GetAndShowHierarchyWithUsrs (Rol_Role_t Role) static void Fig_GetAndShowHierarchyTotal (void) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Total; unsigned NumCtysTotal = 1; unsigned NumInssTotal = 1; @@ -924,7 +924,7 @@ static void Fig_GetAndShowHierarchyTotal (void) /***** Write total number of elements *****/ Fig_ShowHierarchyRow ("",Txt_Total, - Str_BuildStringStr ("%s LINE_TOP",The_ClassDatN[Gbl.Prefs.Theme]), + Str_BuildString ("%s LINE_TOP",The_ClassDatStrong[Gbl.Prefs.Theme]), (int) NumCtysTotal, (int) NumInssTotal, (int) NumCtrsTotal, @@ -1552,12 +1552,12 @@ static void Fig_WriteRowStatsFileBrowsers1 (const char *NameOfFileZones, struct Fig_SizeOfFileZones *SizeOfFileZones) { extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; char StrNumCrss[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; char StrNumGrps[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; char StrNumUsrs[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; char FileSizeStr[Fil_MAX_BYTES_FILE_SIZE_STRING + 1]; - const char *Class = (FileZone == Brw_UNKNOWN) ? Str_BuildStringStr ("%s LINE_TOP",The_ClassDatN[Gbl.Prefs.Theme]) : + const char *Class = (FileZone == Brw_UNKNOWN) ? Str_BuildString ("%s LINE_TOP",The_ClassDatStrong[Gbl.Prefs.Theme]) : The_ClassDat[Gbl.Prefs.Theme]; Fil_WriteFileSizeFull ((double) SizeOfFileZones->Size,FileSizeStr); @@ -1624,11 +1624,11 @@ static void Fig_WriteRowStatsFileBrowsers2 (const char *NameOfFileZones, struct Fig_SizeOfFileZones *SizeOfFileZones) { extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; char StrNumFoldersPerCrs[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; char StrNumFilesPerCrs[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; char FileSizePerCrsStr[Fil_MAX_BYTES_FILE_SIZE_STRING + 1]; - const char *Class = (FileZone == Brw_UNKNOWN) ? Str_BuildStringStr ("%s LINE_TOP",The_ClassDatN[Gbl.Prefs.Theme]) : + const char *Class = (FileZone == Brw_UNKNOWN) ? Str_BuildString ("%s LINE_TOP",The_ClassDatStrong[Gbl.Prefs.Theme]) : The_ClassDat[Gbl.Prefs.Theme]; if (SizeOfFileZones->NumCrss == -1) // Not applicable @@ -1681,11 +1681,11 @@ static void Fig_WriteRowStatsFileBrowsers3 (const char *NameOfFileZones, struct Fig_SizeOfFileZones *SizeOfFileZones) { extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; char StrNumFoldersPerUsr[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; char StrNumFilesPerUsr[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; char FileSizePerUsrStr[Fil_MAX_BYTES_FILE_SIZE_STRING + 1]; - const char *Class = (FileZone == Brw_UNKNOWN) ? Str_BuildStringStr ("%s LINE_TOP",The_ClassDatN[Gbl.Prefs.Theme]) : + const char *Class = (FileZone == Brw_UNKNOWN) ? Str_BuildString ("%s LINE_TOP",The_ClassDatStrong[Gbl.Prefs.Theme]) : The_ClassDat[Gbl.Prefs.Theme]; if (SizeOfFileZones->NumUsrs == -1) // Not applicable @@ -2008,7 +2008,7 @@ static void Fig_GetAndShowTestsStats (void) { extern const char *Hlp_ANALYTICS_Figures_tests; extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_FIGURE_TYPES[Fig_NUM_FIGURES]; extern const char *Txt_Type_of_BR_answers; extern const char *Txt_Number_of_BR_courses_BR_with_test_BR_questions; @@ -2101,15 +2101,15 @@ static void Fig_GetAndShowTestsStats (void) /***** Write stats *****/ HTM_TR_Begin (NULL); - HTM_TD_Begin ("class=\"LM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"LM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Txt (Txt_Total); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Unsigned (Stats.NumCoursesWithQuestions); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_TxtF ("%u (%.1f%%)", Stats.NumCoursesWithPluggableQuestions, Stats.NumCoursesWithQuestions ? (double) Stats.NumCoursesWithPluggableQuestions * 100.0 / @@ -2117,27 +2117,27 @@ static void Fig_GetAndShowTestsStats (void) 0.0); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Unsigned (Stats.NumQsts); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Double2Decimals (Stats.AvgQstsPerCourse); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_UnsignedLong (Stats.NumHits); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Double2Decimals (Stats.AvgHitsPerCourse); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Double2Decimals (Stats.AvgHitsPerQuestion); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Double2Decimals (Stats.AvgScorePerQuestion); HTM_TD_End (); @@ -2263,7 +2263,7 @@ static void Fig_GetAndShowTimelineActivityStats (void) { extern const char *Hlp_ANALYTICS_Figures_timeline; extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_FIGURE_TYPES[Fig_NUM_FIGURES]; extern const char *Txt_Type; extern const char *Txt_Number_of_posts; @@ -2383,25 +2383,25 @@ static void Fig_GetAndShowTimelineActivityStats (void) /* Write totals */ HTM_TR_Begin (NULL); - HTM_TD_Begin ("class=\"LM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"LM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Txt (Txt_Total); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Unsigned (NumNotes); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Unsigned (NumUsrs); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Percentage (NumUsrsTotal ? (double) NumUsrs * 100.0 / (double) NumUsrsTotal : 0.0); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Double2Decimals (NumUsrs ? (double) NumNotes / (double) NumUsrs : 0.0); HTM_TD_End (); @@ -2748,7 +2748,7 @@ static void Fig_WriteForumTitleAndStats (For_ForumType_t ForumType, static void Fig_WriteForumTotalStats (struct Fig_FiguresForum *FiguresForum) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Total; double NumThrsPerForum; double NumPostsPerThread; @@ -2769,38 +2769,38 @@ static void Fig_WriteForumTotalStats (struct Fig_FiguresForum *FiguresForum) HTM_TR_Begin (NULL); HTM_TD_Begin ("class=\"%s LINE_TOP\" style=\"width:20px;\"", - The_ClassDatN[Gbl.Prefs.Theme]); + The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_TD_End (); - HTM_TD_Begin ("class=\"LM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"LM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Txt (Txt_Total); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Unsigned (FiguresForum->NumForums); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Unsigned (FiguresForum->NumThreads); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Unsigned (FiguresForum->NumPosts); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s LINE_TOP RM\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP RM\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Unsigned (FiguresForum->NumUsrsToBeNotifiedByEMail); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Double2Decimals (NumThrsPerForum); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Double2Decimals (NumPostsPerThread); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Double2Decimals (NumPostsPerForum); HTM_TD_End (); @@ -2815,7 +2815,7 @@ static void Fig_GetAndShowNumUsrsPerNotifyEvent (void) { extern const char *Hlp_ANALYTICS_Figures_notifications; extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_FIGURE_TYPES[Fig_NUM_FIGURES]; extern const char *Txt_Event; extern const char *Txt_NOTIFY_EVENTS_PLURAL[Ntf_NUM_NOTIFY_EVENTS]; @@ -2942,25 +2942,25 @@ static void Fig_GetAndShowNumUsrsPerNotifyEvent (void) /***** Write total number of users who want to be notified by email on some event *****/ HTM_TR_Begin (NULL); - HTM_TD_Begin ("class=\"LM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"LM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Txt (Txt_Total); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Unsigned (NumUsrsTotalWhoWantToBeNotifiedByEMailAboutSomeEvent); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Percentage (NumUsrsTotal ? (double) NumUsrsTotalWhoWantToBeNotifiedByEMailAboutSomeEvent * 100.0 / (double) NumUsrsTotal : 0.0); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Unsigned (NumEventsTotal); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Unsigned (NumMailsTotal); HTM_TD_End (); @@ -2978,7 +2978,7 @@ static void Fig_GetAndShowNoticesStats (void) { extern const char *Hlp_ANALYTICS_Figures_notices; extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_FIGURE_TYPES[Fig_NUM_FIGURES]; extern const char *Txt_NOTICE_Active_BR_notices; extern const char *Txt_NOTICE_Obsolete_BR_notices; @@ -3034,7 +3034,7 @@ static void Fig_GetAndShowNoticesStats (void) HTM_Unsigned (NumNoticesDeleted); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Unsigned ( NumTotalNotices); HTM_TD_End (); @@ -3056,7 +3056,7 @@ static void Fig_GetAndShowMsgsStats (void) { extern const char *Hlp_ANALYTICS_Figures_messages; extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_FIGURE_TYPES[Fig_NUM_FIGURES]; extern const char *Txt_Messages; extern const char *Txt_MSGS_Not_deleted; @@ -3106,7 +3106,7 @@ static void Fig_GetAndShowMsgsStats (void) HTM_Unsigned (NumMsgsSentDeleted); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Unsigned (NumMsgsSentNotDeleted + NumMsgsSentDeleted); HTM_TD_End (); @@ -3130,7 +3130,7 @@ static void Fig_GetAndShowMsgsStats (void) HTM_Unsigned (NumMsgsReceivedAndDeleted); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Unsigned (NumMsgsReceivedNotDeleted + NumMsgsReceivedAndDeleted); HTM_TD_End (); @@ -3614,7 +3614,7 @@ static void Fig_GetAndShowNumUsrsPerFirstDayOfWeek (void) FirstDayOfWeek) < 0) Err_NotEnoughMemoryExit (); Ico_PutIcon (Icon, - Str_BuildStringStr (Txt_First_day_of_the_week_X, + Str_BuildString (Txt_First_day_of_the_week_X, Txt_DAYS_SMALL[FirstDayOfWeek]), "ICO40x40"); Str_FreeStrings (); @@ -3646,7 +3646,7 @@ static void Fig_GetAndShowNumUsrsPerDateFormat (void) { extern const char *Hlp_ANALYTICS_Figures_dates; extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_FIGURE_TYPES[Fig_NUM_FIGURES]; extern const char *Txt_Format; extern const char *Txt_Number_of_users; @@ -3691,7 +3691,7 @@ static void Fig_GetAndShowNumUsrsPerDateFormat (void) { HTM_TR_Begin (NULL); - HTM_TD_Begin ("class=\"LM %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"LM %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); Dat_PutSpanDateFormat (Format); Dat_PutScriptDateFormat (Format); HTM_TD_End (); diff --git a/swad_follow.c b/swad_follow.c index 93abd5a5..62215c45 100644 --- a/swad_follow.c +++ b/swad_follow.c @@ -314,6 +314,7 @@ void Fol_ShowFollowingAndFollowers (const struct UsrData *UsrDat, unsigned NumFollowing,unsigned NumFollowers, bool UsrFollowsMe,bool IFollowUsr) { + extern const char *The_ClassDatLight[The_NUM_THEMES]; extern const char *Txt_FOLLOWS_YOU; extern const char *Txt_Following; extern const char *Txt_Followers; @@ -328,7 +329,7 @@ void Fol_ShowFollowingAndFollowers (const struct UsrData *UsrDat, HTM_DIV_Begin ("class=\"FOLLOW_SIDE\""); /* User follows me? */ - HTM_DIV_Begin ("id=\"follows_me\" class=\"DAT_LIGHT\""); + HTM_DIV_Begin ("id=\"follows_me\" class=\"%s\"",The_ClassDatLight[Gbl.Prefs.Theme]); if (UsrFollowsMe) HTM_Txt (Txt_FOLLOWS_YOU); HTM_DIV_End (); @@ -640,7 +641,7 @@ static void Fol_ShowFollowedOrFollower (struct UsrData *UsrDat) Usr_PutParamUsrCodEncrypted (UsrDat->EnUsrCod); HTM_DIV_Begin ("class=\"FOLLOW_USR_NAME\""); // Limited width HTM_BUTTON_SUBMIT_Begin (Txt_Another_user_s_profile, - Str_BuildStringStr ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), + Str_BuildString ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), NULL); Str_FreeStrings (); Usr_WriteFirstNameBRSurnames (UsrDat); diff --git a/swad_forum.c b/swad_forum.c index 918a9927..25161d38 100644 --- a/swad_forum.c +++ b/swad_forum.c @@ -928,9 +928,9 @@ static void For_ShowAForumPost (struct For_Forums *Forums, For_PutParamsForum (Forums); Ico_PutIconLink (Enabled ? "eye-green.svg" : "eye-slash-red.svg", - Str_BuildStringLong (Enabled ? Txt_FORUM_Post_X_allowed_Click_to_ban_it : - Txt_FORUM_Post_X_banned_Click_to_unban_it, - (long) PstNum)); + Str_BuildString (Enabled ? Txt_FORUM_Post_X_allowed_Click_to_ban_it : + Txt_FORUM_Post_X_banned_Click_to_unban_it, + PstNum)); Str_FreeStrings (); Frm_EndForm (); } @@ -938,9 +938,9 @@ static void For_ShowAForumPost (struct For_Forums *Forums, { Ico_PutIcon (Enabled ? "eye-green.svg" : "eye-slash-red.svg", - Str_BuildStringLong (Enabled ? Txt_FORUM_Post_X_allowed : - Txt_FORUM_Post_X_banned, - (long) PstNum), + Str_BuildString (Enabled ? Txt_FORUM_Post_X_allowed : + Txt_FORUM_Post_X_banned, + PstNum), "ICO_HIDDEN ICO16x16"); Str_FreeStrings (); } @@ -1665,6 +1665,7 @@ static void For_WriteLinkToForum (const struct For_Forums *Forums, unsigned Level, bool IsLastItemInLevel[1 + For_FORUM_MAX_LEVELS]) { + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; extern const char *The_ClassFormLinkInBox[The_NUM_THEMES]; extern const char *The_ClassFormLinkInBoxBold[The_NUM_THEMES]; extern const char *Txt_Copy_not_allowed; @@ -1680,92 +1681,94 @@ static void For_WriteLinkToForum (const struct For_Forums *Forums, The_ClassFormLinkInBox[Gbl.Prefs.Theme]); /***** Begin row *****/ - HTM_LI_Begin (Highlight ? "class=\"LIGHT_BLUE\"" : - NULL); + if (Highlight) + HTM_LI_Begin ("class=\"%s\"",The_ClassBgHighlight[Gbl.Prefs.Theme]); + else + HTM_LI_Begin (NULL); - /***** Indent forum title *****/ - Lay_IndentDependingOnLevel (Level,IsLastItemInLevel); + /***** Indent forum title *****/ + Lay_IndentDependingOnLevel (Level,IsLastItemInLevel); - /***** Write paste button used to move a thread in clipboard to this forum *****/ - if (Forums->Thread.ToMove >= 0) // If I have permission to paste threads and there is a thread ready to be pasted... + /***** Write paste button used to move a thread in clipboard to this forum *****/ + if (Forums->Thread.ToMove >= 0) // If I have permission to paste threads and there is a thread ready to be pasted... + { + /* Check if thread to move is yet in current forum */ + if (For_DB_CheckIfThrBelongsToForum (Forums->Thread.ToMove,Forum)) + Ico_PutIcon ("paste.svg",Txt_Copy_not_allowed,"CONTEXT_OPT ICO_HIDDEN ICO16x16"); + else { - /* Check if thread to move is yet in current forum */ - if (For_DB_CheckIfThrBelongsToForum (Forums->Thread.ToMove,Forum)) - Ico_PutIcon ("paste.svg",Txt_Copy_not_allowed,"CONTEXT_OPT ICO_HIDDEN ICO16x16"); - else - { - Frm_BeginFormAnchor (For_ActionsPasThrFor[Forum->Type], - For_FORUM_THREADS_SECTION_ID); - For_PutAllHiddenParamsForum (1, // Page of threads = first - 1, // Page of posts = first - Forums->ForumSet, - Forums->ThreadsOrder, - Forum->Location, - Forums->Thread.ToMove, - -1L); - Ico_PutIconPaste (); - Frm_EndForm (); - } + Frm_BeginFormAnchor (For_ActionsPasThrFor[Forum->Type], + For_FORUM_THREADS_SECTION_ID); + For_PutAllHiddenParamsForum (1, // Page of threads = first + 1, // Page of posts = first + Forums->ForumSet, + Forums->ThreadsOrder, + Forum->Location, + Forums->Thread.ToMove, + -1L); + Ico_PutIconPaste (); + Frm_EndForm (); } + } - /***** Write link to forum *****/ - Frm_BeginFormAnchor (For_ActionsSeeFor[Forum->Type], - For_FORUM_THREADS_SECTION_ID); - For_PutAllHiddenParamsForum (1, // Page of threads = first - 1, // Page of posts = first - Forums->ForumSet, - Forums->ThreadsOrder, - Forum->Location, - -1L, - -1L); + /***** Write link to forum *****/ + Frm_BeginFormAnchor (For_ActionsSeeFor[Forum->Type], + For_FORUM_THREADS_SECTION_ID); + For_PutAllHiddenParamsForum (1, // Page of threads = first + 1, // Page of posts = first + Forums->ForumSet, + Forums->ThreadsOrder, + Forum->Location, + -1L, + -1L); - HTM_BUTTON_SUBMIT_Begin (Act_GetActionText (For_ActionsSeeFor[Forum->Type]), - Class,NULL); + HTM_BUTTON_SUBMIT_Begin (Act_GetActionText (For_ActionsSeeFor[Forum->Type]), + Class,NULL); - For_SetForumName (Forum,ForumName,Gbl.Prefs.Language,true); - switch (Forum->Type) - { - case For_FORUM_GLOBAL_USRS: - case For_FORUM_GLOBAL_TCHS: - Ico_PutIcon ("comments.svg",ForumName,"ICO16x16"); - break; - case For_FORUM__SWAD__USRS: - case For_FORUM__SWAD__TCHS: - Ico_PutIcon ("swad64x64.png",ForumName,"ICO16x16"); - break; - case For_FORUM_INSTIT_USRS: - case For_FORUM_INSTIT_TCHS: - Lgo_DrawLogo (HieLvl_INS,Forum->Location,ForumName,16,NULL,true); - break; - case For_FORUM_CENTER_USRS: - case For_FORUM_CENTER_TCHS: - Lgo_DrawLogo (HieLvl_CTR,Forum->Location,ForumName,16,NULL,true); - break; - case For_FORUM_DEGREE_USRS: - case For_FORUM_DEGREE_TCHS: - Lgo_DrawLogo (HieLvl_DEG,Forum->Location,ForumName,16,NULL,true); - break; - case For_FORUM_COURSE_USRS: - case For_FORUM_COURSE_TCHS: - Ico_PutIcon ("chalkboard-teacher.svg",ForumName,"ICO16x16"); - break; - default: - break; - } - HTM_TxtF (" %s",ForumName); + For_SetForumName (Forum,ForumName,Gbl.Prefs.Language,true); + switch (Forum->Type) + { + case For_FORUM_GLOBAL_USRS: + case For_FORUM_GLOBAL_TCHS: + Ico_PutIcon ("comments.svg",ForumName,"ICO16x16"); + break; + case For_FORUM__SWAD__USRS: + case For_FORUM__SWAD__TCHS: + Ico_PutIcon ("swad64x64.png",ForumName,"ICO16x16"); + break; + case For_FORUM_INSTIT_USRS: + case For_FORUM_INSTIT_TCHS: + Lgo_DrawLogo (HieLvl_INS,Forum->Location,ForumName,16,NULL,true); + break; + case For_FORUM_CENTER_USRS: + case For_FORUM_CENTER_TCHS: + Lgo_DrawLogo (HieLvl_CTR,Forum->Location,ForumName,16,NULL,true); + break; + case For_FORUM_DEGREE_USRS: + case For_FORUM_DEGREE_TCHS: + Lgo_DrawLogo (HieLvl_DEG,Forum->Location,ForumName,16,NULL,true); + break; + case For_FORUM_COURSE_USRS: + case For_FORUM_COURSE_TCHS: + Ico_PutIcon ("chalkboard-teacher.svg",ForumName,"ICO16x16"); + break; + default: + break; + } + HTM_TxtF (" %s",ForumName); - /***** Write total number of threads and posts in this forum *****/ - if (NumThrs) - For_WriteNumberOfThrs (NumThrs); + /***** Write total number of threads and posts in this forum *****/ + if (NumThrs) + For_WriteNumberOfThrs (NumThrs); - /***** End row *****/ - HTM_BUTTON_End (); + /***** End row *****/ + HTM_BUTTON_End (); - Frm_EndForm (); + Frm_EndForm (); - /***** Put link to register students *****/ - if (Forum->Type == For_FORUM_COURSE_USRS) - Enr_PutButtonInlineToRegisterStds (Forum->Location); + /***** Put link to register students *****/ + if (Forum->Type == For_FORUM_COURSE_USRS) + Enr_PutButtonInlineToRegisterStds (Forum->Location); HTM_LI_End (); } @@ -2129,6 +2132,7 @@ static void For_ListForumThrs (struct For_Forums *Forums, long ThrCodHighlighted, struct Pagination *PaginationThrs) { + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; extern const char *The_ClassFormInBox[The_NUM_THEMES]; extern const char *The_ClassFormInBoxBold[The_NUM_THEMES]; extern const char *Txt_Thread_with_posts_from_you; @@ -2175,7 +2179,7 @@ static void For_ListForumThrs (struct For_Forums *Forums, Style = (Thr.NumUnreadPosts ? "AUTHOR_TXT_NEW" : "AUTHOR_TXT"); BgColor = (Thr.ThrCod == ThreadInMyClipboard) ? "LIGHT_GREEN" : - ((Thr.ThrCod == ThrCodHighlighted) ? "LIGHT_BLUE" : + ((Thr.ThrCod == ThrCodHighlighted) ? The_ClassBgHighlight[Gbl.Prefs.Theme] : Gbl.ColorRows[Gbl.RowEvenOdd]); HTM_TR_Begin (NULL); diff --git a/swad_game.c b/swad_game.c index fc9214c1..8947bfe1 100644 --- a/swad_game.c +++ b/swad_game.c @@ -515,6 +515,7 @@ static void Gam_ShowOneGame (struct Gam_Games *Games, struct Gam_Game *Game,bool ShowOnlyThisGame) { extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassDatLight[The_NUM_THEMES]; extern const char *Txt_View_game; extern const char *Txt_Number_of_questions; extern const char *Txt_Maximum_grade; @@ -664,7 +665,7 @@ static void Gam_ShowOneGame (struct Gam_Games *Games, Str_ChangeFormat (Str_FROM_HTML,Str_TO_RIGOROUS_HTML, Txt,Cns_MAX_BYTES_TEXT,false); // Convert from HTML to rigorous HTML ALn_InsertLinks (Txt,Cns_MAX_BYTES_TEXT,60); // Insert links - HTM_DIV_Begin ("class=\"PAR %s\"",Game->Hidden ? "DAT_LIGHT" : + HTM_DIV_Begin ("class=\"PAR %s\"",Game->Hidden ? The_ClassDatLight[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme]); HTM_Txt (Txt); HTM_DIV_End (); @@ -1760,7 +1761,7 @@ static void Gam_ListOneOrMoreQuestionsForEdition (struct Gam_Games *Games, Lay_PutContextualLinkOnlyIcon (ActUp_GamQst,Anchor, Gam_PutParamsOneQst,Games, "arrow-up.svg", - Str_BuildStringStr (Txt_Move_up_X, + Str_BuildString (Txt_Move_up_X, StrQstInd)); Str_FreeStrings (); } @@ -1773,7 +1774,7 @@ static void Gam_ListOneOrMoreQuestionsForEdition (struct Gam_Games *Games, Lay_PutContextualLinkOnlyIcon (ActDwnGamQst,Anchor, Gam_PutParamsOneQst,Games, "arrow-down.svg", - Str_BuildStringStr (Txt_Move_down_X, + Str_BuildString (Txt_Move_down_X, StrQstInd)); Str_FreeStrings (); } diff --git a/swad_group.c b/swad_group.c index d4495c80..58aaf7b3 100644 --- a/swad_group.c +++ b/swad_group.c @@ -1460,7 +1460,7 @@ static void Grp_ListGroupsForEdition (const struct Roo_Rooms *Rooms) Grp_PutParamGrpCod (&Grp->GrpCod); Ico_PutIconLink (Grp->Open ? "unlock.svg" : "lock.svg", - Str_BuildStringStr (Grp->Open ? Txt_Group_X_open_click_to_close_it : + Str_BuildString (Grp->Open ? Txt_Group_X_open_click_to_close_it : Txt_Group_X_closed_click_to_open_it, Grp->GrpName)); Str_FreeStrings (); @@ -1475,7 +1475,7 @@ static void Grp_ListGroupsForEdition (const struct Roo_Rooms *Rooms) Grp_PutParamGrpCod (&Grp->GrpCod); Ico_PutIconLink (Grp->FileZones ? "folder-open-green.svg" : "folder-red.svg", - Str_BuildStringStr (Grp->FileZones ? Txt_File_zones_of_the_group_X_enabled_click_to_disable_them : + Str_BuildString (Grp->FileZones ? Txt_File_zones_of_the_group_X_enabled_click_to_disable_them : Txt_File_zones_of_the_group_X_disabled_click_to_enable_them, Grp->GrpName)); Str_FreeStrings (); @@ -1620,6 +1620,7 @@ void Grp_ListGrpsToEditAsgAttSvyEvtMch (struct GroupType *GrpTyp, Grp_WhichIsAssociatedToGrp_t WhichIsAssociatedToGrp, long Cod) // Assignment, attendance event, survey, exam event or match { + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; static const struct { const char *Table; @@ -1663,18 +1664,19 @@ void Grp_ListGrpsToEditAsgAttSvyEvtMch (struct GroupType *GrpTyp, /* Put checkbox to select the group */ HTM_TR_Begin (NULL); - HTM_TD_Begin ("class=\"%s\"", - IBelongToThisGroup ? "LM LIGHT_BLUE" : - "LM"); - HTM_INPUT_CHECKBOX ("GrpCods",HTM_DONT_SUBMIT_ON_CHANGE, - "id=\"Grp%ld\" value=\"%ld\"%s%s" - " onclick=\"uncheckParent(this,'WholeCrs')\"", - Grp->GrpCod,Grp->GrpCod, - AssociatedToGrp ? " checked=\"checked\"" : - "", - (IBelongToThisGroup || - Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? "" : - " disabled=\"disabled\""); + if (IBelongToThisGroup) + HTM_TD_Begin ("class=\"LM %s\"",The_ClassBgHighlight[Gbl.Prefs.Theme]); + else + HTM_TD_Begin ("class=\"LM\""); + HTM_INPUT_CHECKBOX ("GrpCods",HTM_DONT_SUBMIT_ON_CHANGE, + "id=\"Grp%ld\" value=\"%ld\"%s%s" + " onclick=\"uncheckParent(this,'WholeCrs')\"", + Grp->GrpCod,Grp->GrpCod, + AssociatedToGrp ? " checked=\"checked\"" : + "", + (IBelongToThisGroup || + Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) ? "" : + " disabled=\"disabled\""); HTM_TD_End (); Grp_WriteRowGrp (Grp,IBelongToThisGroup); @@ -1843,6 +1845,7 @@ static void Grp_ShowWarningToStdsToChangeGrps (void) static bool Grp_ListGrpsForChangeMySelection (struct GroupType *GrpTyp, unsigned *NumGrpsThisTypeIBelong) { + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; struct ListCodGrps LstGrpsIBelong; unsigned NumGrpThisType; struct Group *Grp; @@ -1956,44 +1959,45 @@ static bool Grp_ListGrpsForChangeMySelection (struct GroupType *GrpTyp, /* Put radio item or checkbox to select the group */ HTM_TR_Begin (NULL); - HTM_TD_Begin ("class=\"%s\"", - IBelongToThisGroup ? "LM LIGHT_BLUE" : - "LM"); + if (IBelongToThisGroup) + HTM_TD_Begin ("class=\"LM %s\"",The_ClassBgHighlight[Gbl.Prefs.Theme]); + else + HTM_TD_Begin ("class=\"LM\""); - snprintf (StrGrpCod,sizeof (StrGrpCod),"GrpCod%ld",GrpTyp->GrpTypCod); - if (Gbl.Usrs.Me.Role.Logged == Rol_STD && // If I am a student - !GrpTyp->MultipleEnrolment && // ...and the enrolment is single - GrpTyp->NumGrps > 1) // ...and there are more than one group - { - /* Put a radio item */ - if (GrpTyp->MandatoryEnrolment) - HTM_INPUT_RADIO (StrGrpCod,false, - "id=\"Grp%ld\" value=\"%ld\"%s%s", - Grp->GrpCod,Grp->GrpCod, - IBelongToThisGroup ? " checked=\"checked\"" : "", // Group selected? - ICanChangeMySelectionForThisGrp ? "" : - IBelongToThisGroup ? " readonly" : // I can not unregister (disabled does not work because the value is not submitted) - " disabled=\"disabled\""); // I can not register - else // If the enrolment is not mandatory, I can select no groups - HTM_INPUT_RADIO (StrGrpCod,false, - "id=\"Grp%ld\" value=\"%ld\"%s%s" - " onclick=\"selectUnselectRadio(this,this.form.GrpCod%ld,%u)\"", - Grp->GrpCod,Grp->GrpCod, - IBelongToThisGroup ? " checked=\"checked\"" : "", // Group selected? - ICanChangeMySelectionForThisGrp ? "" : - IBelongToThisGroup ? " readonly" : // I can not unregister (disabled does not work because the value is not submitted) - " disabled=\"disabled\"", // I can not register - GrpTyp->GrpTypCod,GrpTyp->NumGrps); - } - else - /* Put a checkbox item */ - HTM_INPUT_CHECKBOX (StrGrpCod,HTM_DONT_SUBMIT_ON_CHANGE, - "id=\"Grp%ld\" value=\"%ld\"%s%s", - Grp->GrpCod,Grp->GrpCod, - IBelongToThisGroup ? " checked=\"checked\"" : "", - ICanChangeMySelectionForThisGrp ? "" : - IBelongToThisGroup ? " readonly" : // I can not unregister (disabled does not work because the value is not submitted) - " disabled=\"disabled\""); // I can not register + snprintf (StrGrpCod,sizeof (StrGrpCod),"GrpCod%ld",GrpTyp->GrpTypCod); + if (Gbl.Usrs.Me.Role.Logged == Rol_STD && // If I am a student + !GrpTyp->MultipleEnrolment && // ...and the enrolment is single + GrpTyp->NumGrps > 1) // ...and there are more than one group + { + /* Put a radio item */ + if (GrpTyp->MandatoryEnrolment) + HTM_INPUT_RADIO (StrGrpCod,false, + "id=\"Grp%ld\" value=\"%ld\"%s%s", + Grp->GrpCod,Grp->GrpCod, + IBelongToThisGroup ? " checked=\"checked\"" : "", // Group selected? + ICanChangeMySelectionForThisGrp ? "" : + IBelongToThisGroup ? " readonly" : // I can not unregister (disabled does not work because the value is not submitted) + " disabled=\"disabled\""); // I can not register + else // If the enrolment is not mandatory, I can select no groups + HTM_INPUT_RADIO (StrGrpCod,false, + "id=\"Grp%ld\" value=\"%ld\"%s%s" + " onclick=\"selectUnselectRadio(this,this.form.GrpCod%ld,%u)\"", + Grp->GrpCod,Grp->GrpCod, + IBelongToThisGroup ? " checked=\"checked\"" : "", // Group selected? + ICanChangeMySelectionForThisGrp ? "" : + IBelongToThisGroup ? " readonly" : // I can not unregister (disabled does not work because the value is not submitted) + " disabled=\"disabled\"", // I can not register + GrpTyp->GrpTypCod,GrpTyp->NumGrps); + } + else + /* Put a checkbox item */ + HTM_INPUT_CHECKBOX (StrGrpCod,HTM_DONT_SUBMIT_ON_CHANGE, + "id=\"Grp%ld\" value=\"%ld\"%s%s", + Grp->GrpCod,Grp->GrpCod, + IBelongToThisGroup ? " checked=\"checked\"" : "", + ICanChangeMySelectionForThisGrp ? "" : + IBelongToThisGroup ? " readonly" : // I can not unregister (disabled does not work because the value is not submitted) + " disabled=\"disabled\""); // I can not register HTM_TD_End (); @@ -2050,6 +2054,7 @@ void Grp_ShowLstGrpsToChgOtherUsrsGrps (long UsrCod) static void Grp_ListGrpsToAddOrRemUsrs (struct GroupType *GrpTyp,long UsrCod) { + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; struct ListCodGrps LstGrpsUsrBelongs; unsigned NumGrpThisType; bool UsrBelongsToThisGroup; @@ -2077,19 +2082,20 @@ static void Grp_ListGrpsToAddOrRemUsrs (struct GroupType *GrpTyp,long UsrCod) HTM_TR_Begin (NULL); /* Begin cell for checkbox */ - HTM_TD_Begin ("class=\"%s\"", - UsrBelongsToThisGroup ? "LM LIGHT_BLUE" : - "LM"); + if (UsrBelongsToThisGroup) + HTM_TD_Begin ("class=\"LM %s\"",The_ClassBgHighlight[Gbl.Prefs.Theme]); + else + HTM_TD_Begin ("class=\"LM\""); - /* Put checkbox to select the group */ - // Always checkbox, not radio, because the role in the form may be teacher, - // so if he/she is registered as teacher, he/she can belong to several groups - snprintf (StrGrpCod,sizeof (StrGrpCod),"GrpCod%ld",GrpTyp->GrpTypCod); - HTM_INPUT_CHECKBOX (StrGrpCod,HTM_DONT_SUBMIT_ON_CHANGE, - "id=\"Grp%ld\" value=\"%ld\"%s", - Grp->GrpCod,Grp->GrpCod, - UsrBelongsToThisGroup ? " checked=\"checked\"" : - ""); // I can not register + /* Put checkbox to select the group */ + // Always checkbox, not radio, because the role in the form may be teacher, + // so if he/she is registered as teacher, he/she can belong to several groups + snprintf (StrGrpCod,sizeof (StrGrpCod),"GrpCod%ld",GrpTyp->GrpTypCod); + HTM_INPUT_CHECKBOX (StrGrpCod,HTM_DONT_SUBMIT_ON_CHANGE, + "id=\"Grp%ld\" value=\"%ld\"%s", + Grp->GrpCod,Grp->GrpCod, + UsrBelongsToThisGroup ? " checked=\"checked\"" : + ""); // I can not register /* End cell for checkbox */ HTM_TD_End (); @@ -2113,6 +2119,7 @@ static void Grp_ListGrpsToAddOrRemUsrs (struct GroupType *GrpTyp,long UsrCod) static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp, Grp_WhichGroups_t GroupsSelectableByStdsOrNETs) { + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; extern const char *The_ClassDat[The_NUM_THEMES]; extern const char *Txt_users_with_no_group; unsigned NumGrpThisType; @@ -2181,16 +2188,17 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp, /* Put checkbox to select the group */ HTM_TR_Begin (NULL); - HTM_TD_Begin ("class=\"%s\"", - IBelongToThisGroup ? "LIGHT_BLUE" : - "LM"); - HTM_INPUT_CHECKBOX ("GrpCods",HTM_DONT_SUBMIT_ON_CHANGE, - "id=\"Grp%ld\" value=\"%ld\"%s%s", - Grp->GrpCod,Grp->GrpCod, - Checked ? " checked=\"checked\"" : - "", - ICanSelUnselGroup ? " onclick=\"checkParent(this,'AllGroups')\"" : - " disabled=\"disabled\""); + if (IBelongToThisGroup) + HTM_TD_Begin ("class=\"LM %s\"",The_ClassBgHighlight[Gbl.Prefs.Theme]); + else + HTM_TD_Begin ("class=\"LM\""); + HTM_INPUT_CHECKBOX ("GrpCods",HTM_DONT_SUBMIT_ON_CHANGE, + "id=\"Grp%ld\" value=\"%ld\"%s%s", + Grp->GrpCod,Grp->GrpCod, + Checked ? " checked=\"checked\"" : + "", + ICanSelUnselGroup ? " onclick=\"checkParent(this,'AllGroups')\"" : + " disabled=\"disabled\""); HTM_TD_End (); Grp_WriteRowGrp (Grp,IBelongToThisGroup); @@ -2325,6 +2333,7 @@ static void Grp_WriteGrpHead (struct GroupType *GrpTyp) static void Grp_WriteRowGrp (struct Group *Grp,bool Highlight) { + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; extern const char *The_ClassDat[The_NUM_THEMES]; extern const char *Txt_Group_X_open; extern const char *Txt_Group_X_closed; @@ -2335,32 +2344,37 @@ static void Grp_WriteRowGrp (struct Group *Grp,bool Highlight) /***** Write icon to show if group is open or closed *****/ if (Highlight) - HTM_TD_Begin ("class=\"BM LIGHT_BLUE\""); + HTM_TD_Begin ("class=\"BM %s\"",The_ClassBgHighlight[Gbl.Prefs.Theme]); else HTM_TD_Begin ("class=\"BM\""); Ico_PutIconOff (Grp->Open ? "unlock.svg" : "lock.svg", - Str_BuildStringStr (Grp->Open ? Txt_Group_X_open : + Str_BuildString (Grp->Open ? Txt_Group_X_open : Txt_Group_X_closed, Grp->GrpName)); Str_FreeStrings (); HTM_TD_End (); /***** Group name *****/ - HTM_TD_Begin ("class=\"%s\"", - Highlight ? "LM LIGHT_BLUE" : - "LM"); - HTM_LABEL_Begin ("for=\"Grp%ld\" class=\"%s\"", - Grp->GrpCod,The_ClassDat[Gbl.Prefs.Theme]); - HTM_Txt (Grp->GrpName); - HTM_LABEL_End (); + if (Highlight) + HTM_TD_Begin ("class=\"LM %s\"",The_ClassBgHighlight[Gbl.Prefs.Theme]); + else + HTM_TD_Begin ("class=\"LM\""); + HTM_LABEL_Begin ("for=\"Grp%ld\" class=\"%s\"", + Grp->GrpCod,The_ClassDat[Gbl.Prefs.Theme]); + HTM_Txt (Grp->GrpName); + HTM_LABEL_End (); HTM_TD_End (); /***** Room *****/ - HTM_TD_Begin ("class=\"%s %s\"", - The_ClassDat[Gbl.Prefs.Theme],Highlight ? "LM LIGHT_BLUE" : - "LM"); - HTM_Txt (Grp->Room.ShrtName); + if (Highlight) + HTM_TD_Begin ("class=\"LM %s %s\"", + The_ClassDat[Gbl.Prefs.Theme], + The_ClassBgHighlight[Gbl.Prefs.Theme]); + else + HTM_TD_Begin ("class=\"LM %s\"", + The_ClassDat[Gbl.Prefs.Theme]); + HTM_Txt (Grp->Room.ShrtName); HTM_TD_End (); /***** Current number of users in this group *****/ @@ -2368,31 +2382,43 @@ static void Grp_WriteRowGrp (struct Group *Grp,bool Highlight) Role >= Rol_STD; Role--) { - HTM_TD_Begin ("class=\"%s %s\"", - The_ClassDat[Gbl.Prefs.Theme],Highlight ? "CM LIGHT_BLUE" : - "CM"); - HTM_Int (Grp->NumUsrs[Role]); + if (Highlight) + HTM_TD_Begin ("class=\"CM %s %s\"", + The_ClassDat[Gbl.Prefs.Theme], + The_ClassBgHighlight[Gbl.Prefs.Theme]); + else + HTM_TD_Begin ("class=\"CM %s\"", + The_ClassDat[Gbl.Prefs.Theme]); + HTM_Int (Grp->NumUsrs[Role]); HTM_TD_End (); } /***** Max. number of students in this group *****/ - HTM_TD_Begin ("class=\"%s %s\"", - The_ClassDat[Gbl.Prefs.Theme],Highlight ? "CM LIGHT_BLUE" : - "CM"); - Grp_WriteMaxStds (StrMaxStudents,Grp->MaxStudents); - HTM_TxtF ("%s ",StrMaxStudents); + if (Highlight) + HTM_TD_Begin ("class=\"CM %s %s\"", + The_ClassDat[Gbl.Prefs.Theme], + The_ClassBgHighlight[Gbl.Prefs.Theme]); + else + HTM_TD_Begin ("class=\"CM %s\"", + The_ClassDat[Gbl.Prefs.Theme]); + Grp_WriteMaxStds (StrMaxStudents,Grp->MaxStudents); + HTM_TxtF ("%s ",StrMaxStudents); HTM_TD_End (); /***** Vacants in this group *****/ - HTM_TD_Begin ("class=\"%s %s\"", - The_ClassDat[Gbl.Prefs.Theme],Highlight ? "CM LIGHT_BLUE" : - "CM"); - if (Grp->MaxStudents <= Grp_MAX_STUDENTS_IN_A_GROUP) - { - Vacant = (int) Grp->MaxStudents - (int) Grp->NumUsrs[Rol_STD]; - HTM_Unsigned (Vacant > 0 ? (unsigned) Vacant : - 0); - } + if (Highlight) + HTM_TD_Begin ("class=\"CM %s %s\"", + The_ClassDat[Gbl.Prefs.Theme], + The_ClassBgHighlight[Gbl.Prefs.Theme]); + else + HTM_TD_Begin ("class=\"CM %s\"", + The_ClassDat[Gbl.Prefs.Theme]); + if (Grp->MaxStudents <= Grp_MAX_STUDENTS_IN_A_GROUP) + { + Vacant = (int) Grp->MaxStudents - (int) Grp->NumUsrs[Rol_STD]; + HTM_Unsigned (Vacant > 0 ? (unsigned) Vacant : + 0); + } HTM_TD_End (); } diff --git a/swad_help.c b/swad_help.c index 79af79de..9234c500 100644 --- a/swad_help.c +++ b/swad_help.c @@ -127,7 +127,7 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void) if (ActionsRemoveMe[Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs] != ActUnk) { /* Request my removing from this course */ - Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildStringStr (Txt_Remove_me_from_THE_COURSE_X, + Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildString (Txt_Remove_me_from_THE_COURSE_X, Gbl.Hierarchy.Crs.ShrtName), ActionsRemoveMe[Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs], Btn_REMOVE_BUTTON,Txt_Remove_me); @@ -137,7 +137,7 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void) else // I do not belong to this course { /* Request my registration in this course */ - Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildStringStr (Txt_Register_me_in_X, + Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildString (Txt_Register_me_in_X, Gbl.Hierarchy.Crs.ShrtName), ActReqSignUp, Btn_CREATE_BUTTON,Txt_Sign_up); @@ -153,7 +153,7 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void) 1 << Rol_STD)) // Current course probably has no students { /* Request students enrolment */ - Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildStringStr (Txt_Register_students_in_COURSE_X, + Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildString (Txt_Register_students_in_COURSE_X, Gbl.Hierarchy.Crs.ShrtName), ActReqEnrSevStd, Btn_CREATE_BUTTON,Txt_Register_students); @@ -170,7 +170,7 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void) if (Gbl.Hierarchy.Deg.DegCod > 0) // Degree selected { /* Select a course */ - Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildStringStr (Gbl.Hierarchy.Level == HieLvl_CRS ? Txt_Select_create_course_in_X : + Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildString (Gbl.Hierarchy.Level == HieLvl_CRS ? Txt_Select_create_course_in_X : Txt_Select_or_create_one_course_in_X, Gbl.Hierarchy.Deg.ShrtName), ActSeeCrs, @@ -180,7 +180,7 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void) else if (Gbl.Hierarchy.Ctr.CtrCod > 0) // Center selected { /* Select a degree */ - Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildStringStr (Gbl.Hierarchy.Deg.DegCod > 0 ? Txt_Select_or_create_another_degree_in_X : + Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildString (Gbl.Hierarchy.Deg.DegCod > 0 ? Txt_Select_or_create_another_degree_in_X : Txt_Select_or_create_one_degree_in_X, Gbl.Hierarchy.Ctr.ShrtName), ActSeeDeg, @@ -190,7 +190,7 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void) else if (Gbl.Hierarchy.Ins.InsCod > 0) // Institution selected { /* Select a center */ - Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildStringStr (Gbl.Hierarchy.Ctr.CtrCod > 0 ? Txt_Select_or_create_another_center_in_X : + Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildString (Gbl.Hierarchy.Ctr.CtrCod > 0 ? Txt_Select_or_create_another_center_in_X : Txt_Select_or_create_one_center_in_X, Gbl.Hierarchy.Ins.ShrtName), ActSeeCtr, @@ -200,7 +200,7 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void) else if (Gbl.Hierarchy.Cty.CtyCod > 0) // Country selected { /* Select an institution */ - Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildStringStr (Gbl.Hierarchy.Ins.InsCod > 0 ? Txt_Select_or_create_another_institution_in_X : + Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildString (Gbl.Hierarchy.Ins.InsCod > 0 ? Txt_Select_or_create_another_institution_in_X : Txt_Select_or_create_one_institution_in_X, Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]), ActSeeIns, @@ -227,7 +227,7 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void) Btn_CONFIRM_BUTTON,Txt_Log_in); /* Sign up */ - Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildStringStr (Txt_New_on_PLATFORM_Sign_up, + Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildString (Txt_New_on_PLATFORM_Sign_up, Cfg_PLATFORM_SHORT_NAME), ActFrmMyAcc, Btn_CREATE_BUTTON,Txt_Create_account); diff --git a/swad_hierarchy_config.c b/swad_hierarchy_config.c index 86a93779..cfdd24c0 100644 --- a/swad_hierarchy_config.c +++ b/swad_hierarchy_config.c @@ -70,7 +70,7 @@ void HieCfg_Title (bool PutLink, void HieCfg_FullName (bool PutForm,const char *Label,Act_Action_t NextAction, const char FullName[Cns_HIERARCHY_MAX_BYTES_FULL_NAME + 1]) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; /***** Full name *****/ HTM_TR_Begin (NULL); @@ -81,7 +81,7 @@ void HieCfg_FullName (bool PutForm,const char *Label,Act_Action_t NextAction, Label); /* Data */ - HTM_TD_Begin ("class=\"LB %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"LB %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); if (PutForm) { /* Form to change full name */ @@ -106,7 +106,7 @@ void HieCfg_FullName (bool PutForm,const char *Label,Act_Action_t NextAction, void HieCfg_ShrtName (bool PutForm,Act_Action_t NextAction, const char ShrtName[Cns_HIERARCHY_MAX_BYTES_SHRT_NAME + 1]) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Short_name; /***** Short name *****/ @@ -118,7 +118,7 @@ void HieCfg_ShrtName (bool PutForm,Act_Action_t NextAction, Txt_Short_name); /* Data */ - HTM_TD_Begin ("class=\"LB %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"LB %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); if (PutForm) { /* Form to change short name */ @@ -245,9 +245,9 @@ void HieCfg_NumCtrs (unsigned NumCtrs,bool PutForm) { Frm_BeginFormGoTo (ActSeeCtr); Ins_PutParamInsCod (Gbl.Hierarchy.Ins.InsCod); - HTM_BUTTON_SUBMIT_Begin (Str_BuildStringStr (Txt_Centers_of_INSTITUTION_X, + HTM_BUTTON_SUBMIT_Begin (Str_BuildString (Txt_Centers_of_INSTITUTION_X, Gbl.Hierarchy.Ins.ShrtName), - Str_BuildStringStr ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme]), + Str_BuildString ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme]), NULL); Str_FreeStrings (); } diff --git a/swad_indicator.c b/swad_indicator.c index a9df7159..a60f728e 100644 --- a/swad_indicator.c +++ b/swad_indicator.c @@ -428,15 +428,20 @@ static void Ind_ShowNumCoursesWithIndicators (const struct Ind_Indicators *Indic unsigned NumCrssWithIndicatorYes[1 + Ind_NUM_INDICATORS], unsigned NumCrss,bool PutForm) { + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; + extern const char *The_ClassDatLight[The_NUM_THEMES]; extern const char *Txt_Indicators; extern const char *Txt_Courses; extern const char *Txt_Total; unsigned Ind; const char *Class; - const char *ClassNormal = "DAT_LIGHT RM"; - const char *ClassHighlight = Str_BuildStringStr ("%s RM LIGHT_BLUE",The_ClassDat[Gbl.Prefs.Theme]); + const char *ClassNormal = Str_BuildString ("RM %s", + The_ClassDatLight[Gbl.Prefs.Theme]); + const char *ClassHighlight = Str_BuildString ("RM %s %s", + The_ClassDat[Gbl.Prefs.Theme], + The_ClassBgHighlight[Gbl.Prefs.Theme]); /***** Write number of courses with each number of indicators valid *****/ HTM_TABLE_BeginPadding (2); @@ -495,15 +500,15 @@ static void Ind_ShowNumCoursesWithIndicators (const struct Ind_Indicators *Indic if (PutForm) HTM_TD_Empty (1); - HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Txt (Txt_Total); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Unsigned (NumCrss); HTM_TD_End (); - HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RM %s LINE_TOP\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_TxtF ("(%.1f%%)",100.0); HTM_TD_End (); diff --git a/swad_info.c b/swad_info.c index ab9a7695..59d6ea1a 100644 --- a/swad_info.c +++ b/swad_info.c @@ -886,6 +886,7 @@ void Inf_SetInfoSrc (void) void Inf_FormsToSelSendInfo (void) { + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; extern const char *The_ClassFormInBox[The_NUM_THEMES]; extern const char *The_ClassDat[The_NUM_THEMES]; extern const char *Txt_Source_of_information; @@ -948,26 +949,29 @@ void Inf_FormsToSelSendInfo (void) HTM_TR_Begin (NULL); /* Select info source */ - HTM_TD_Begin ("class=\"%s LT%s\"", - The_ClassDat[Gbl.Prefs.Theme], - InfoSrc == FromDB.Src ? " LIGHT_BLUE" : - ""); - Frm_BeginForm (Inf_ActionsSelecInfoSrc[Gbl.Crs.Info.Type]); - HTM_INPUT_RADIO ("InfoSrc",InfoSrc != FromDB.Src && - (InfoSrc == Inf_NONE || - InfoAvailable[InfoSrc]), // Info available for this source - "id=\"InfoSrc%u\" value=\"%u\"%s", - (unsigned) InfoSrc,(unsigned) InfoSrc, - InfoSrc == FromDB.Src ? " checked=\"checked\"" : - (InfoSrc == Inf_NONE || - InfoAvailable[InfoSrc]) ? "" : // Info available for this source - " disabled=\"disabled\""); - Frm_EndForm (); + if (InfoSrc == FromDB.Src) + HTM_TD_Begin ("class=\"LT %s %s\"", + The_ClassDat[Gbl.Prefs.Theme], + The_ClassBgHighlight[Gbl.Prefs.Theme]); + else + HTM_TD_Begin ("class=\"LT %s\"", + The_ClassDat[Gbl.Prefs.Theme]); + Frm_BeginForm (Inf_ActionsSelecInfoSrc[Gbl.Crs.Info.Type]); + HTM_INPUT_RADIO ("InfoSrc",InfoSrc != FromDB.Src && + (InfoSrc == Inf_NONE || + InfoAvailable[InfoSrc]), // Info available for this source + "id=\"InfoSrc%u\" value=\"%u\"%s", + (unsigned) InfoSrc,(unsigned) InfoSrc, + InfoSrc == FromDB.Src ? " checked=\"checked\"" : + (InfoSrc == Inf_NONE || + InfoAvailable[InfoSrc]) ? "" : // Info available for this source + " disabled=\"disabled\""); + Frm_EndForm (); HTM_TD_End (); /* Form for this info source */ if (InfoSrc == FromDB.Src) - HTM_TD_Begin ("class=\"LT LIGHT_BLUE\""); + HTM_TD_Begin ("class=\"LT %s\"",The_ClassBgHighlight[Gbl.Prefs.Theme]); else HTM_TD_Begin ("class=\"LT\""); HTM_LABEL_Begin ("for=\"InfoSrc%u\" class=\"%s\"", diff --git a/swad_institution.c b/swad_institution.c index eb0c669e..6b4a58b3 100644 --- a/swad_institution.c +++ b/swad_institution.c @@ -106,6 +106,7 @@ static void Ins_FormToGoToMap (struct Ins_Instit *Ins); void Ins_SeeInsWithPendingCtrs (void) { extern const char *Hlp_SYSTEM_Pending; + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; extern const char *The_ClassDat[The_NUM_THEMES]; extern const char *Txt_Institutions_with_pending_centers; extern const char *Txt_Institution; @@ -156,8 +157,8 @@ void Ins_SeeInsWithPendingCtrs (void) /* Get institution code (row[0]) */ Ins.InsCod = Str_ConvertStrCodToLongCod (row[0]); - BgColor = (Ins.InsCod == Gbl.Hierarchy.Ins.InsCod) ? "LIGHT_BLUE" : - Gbl.ColorRows[Gbl.RowEvenOdd]; + BgColor = (Ins.InsCod == Gbl.Hierarchy.Ins.InsCod) ? The_ClassBgHighlight[Gbl.Prefs.Theme] : + Gbl.ColorRows[Gbl.RowEvenOdd]; /* Get data of institution */ Ins_GetDataOfInstitByCod (&Ins); @@ -167,7 +168,10 @@ void Ins_SeeInsWithPendingCtrs (void) HTM_TD_Begin ("class=\"LM %s\"",BgColor); Ins_DrawInstitutionLogoAndNameWithLink (&Ins,ActSeeCtr, - "BT_LINK DAT_NOBR","CM"); + Str_BuildString ("BT_LINK %s NOWRAP", + The_ClassDat[Gbl.Prefs.Theme]), + "CM"); + Str_FreeStrings (); HTM_TD_End (); /* Number of pending centers (row[1]) */ @@ -282,7 +286,7 @@ static void Ins_ListInstitutions (void) unsigned NumIns; /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Institutions_of_COUNTRY_X, + Box_BoxBegin (NULL,Str_BuildString (Txt_Institutions_of_COUNTRY_X, Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]), Ins_PutIconsListingInstitutions,NULL, Hlp_COUNTRY_Institutions,Box_NOT_CLOSABLE); @@ -358,8 +362,10 @@ static void Ins_PutIconToEditInstitutions (void) static void Ins_ListOneInstitutionForSeeing (struct Ins_Instit *Ins,unsigned NumIns) { + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; + extern const char *The_ClassDatLight[The_NUM_THEMES]; extern const char *Txt_INSTITUTION_STATUS[Hie_NUM_STATUS_TXT]; const char *TxtClassNormal; const char *TxtClassStrong; @@ -367,16 +373,16 @@ static void Ins_ListOneInstitutionForSeeing (struct Ins_Instit *Ins,unsigned Num if (Ins->Status & Hie_STATUS_BIT_PENDING) { - TxtClassNormal = "DAT_LIGHT"; - TxtClassStrong = Str_BuildStringStr ("BT_LINK LT %s","DAT_LIGHT"); + TxtClassNormal = The_ClassDatLight[Gbl.Prefs.Theme]; + TxtClassStrong = Str_BuildString ("BT_LINK LT %s",The_ClassDatLight[Gbl.Prefs.Theme]); } else { TxtClassNormal = The_ClassDat[Gbl.Prefs.Theme]; - TxtClassStrong = Str_BuildStringStr ("BT_LINK LT %s",The_ClassDatN[Gbl.Prefs.Theme]); + TxtClassStrong = Str_BuildString ("BT_LINK LT %s",The_ClassDatStrong[Gbl.Prefs.Theme]); } - BgColor = (Ins->InsCod == Gbl.Hierarchy.Ins.InsCod) ? "LIGHT_BLUE" : - Gbl.ColorRows[Gbl.RowEvenOdd]; + BgColor = (Ins->InsCod == Gbl.Hierarchy.Ins.InsCod) ? The_ClassBgHighlight[Gbl.Prefs.Theme] : + Gbl.ColorRows[Gbl.RowEvenOdd]; HTM_TR_Begin (NULL); @@ -540,7 +546,7 @@ static void Ins_EditInstitutionsInternal (void) Hie_WriteMenuHierarchy (); /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Institutions_of_COUNTRY_X, + Box_BoxBegin (NULL,Str_BuildString (Txt_Institutions_of_COUNTRY_X, Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]), Ins_PutIconsEditingInstitutions,NULL, Hlp_COUNTRY_Institutions,Box_NOT_CLOSABLE); @@ -1803,9 +1809,10 @@ void Ins_ListInssFound (MYSQL_RES **mysql_res,unsigned NumInss) { /***** Begin box and table *****/ /* Number of institutions found */ - Box_BoxTableBegin (NULL,Str_BuildStringLongStr ((long) NumInss, - NumInss == 1 ? Txt_institution : - Txt_institutions), + Box_BoxTableBegin (NULL,Str_BuildString ("%u %s", + NumInss, + NumInss == 1 ? Txt_institution : + Txt_institutions), NULL,NULL, NULL,Box_NOT_CLOSABLE,2); Str_FreeStrings (); diff --git a/swad_institution_config.c b/swad_institution_config.c index 10532498..f646f63a 100644 --- a/swad_institution_config.c +++ b/swad_institution_config.c @@ -342,7 +342,7 @@ static void InsCfg_Country (bool PrintView,bool PutForm) Frm_BeginFormGoTo (ActSeeCtyInf); Cty_PutParamCtyCod (Gbl.Hierarchy.Cty.CtyCod); HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]), - Str_BuildStringStr ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), + Str_BuildString ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), NULL); Str_FreeStrings (); } diff --git a/swad_mail.c b/swad_mail.c index 33e7b8f6..6e916a37 100644 --- a/swad_mail.c +++ b/swad_mail.c @@ -1149,7 +1149,7 @@ static void Mai_ShowFormChangeUsrEmail (bool ItsMe, if (Confirmed) { Ico_PutIcon ("check-circle.svg", - Str_BuildStringStr (Txt_Email_X_confirmed,row[0]), + Str_BuildString (Txt_Email_X_confirmed,row[0]), "ICO16x16"); Str_FreeStrings (); } diff --git a/swad_match.c b/swad_match.c index b36f8f77..fbfb500d 100644 --- a/swad_match.c +++ b/swad_match.c @@ -2375,7 +2375,7 @@ static void Mch_PutFormCountdown (struct Mch_Match *Match,long Seconds,const cha HTM_BUTTON_SUBMIT_Begin (PutForm ? Txt_Countdown : NULL, - Str_BuildStringStr (PutForm ? "BT_LINK MCH_BUTTON_ON %s" : + Str_BuildString (PutForm ? "BT_LINK MCH_BUTTON_ON %s" : "BT_LINK_OFF MCH_BUTTON_HIDDEN %s", Color), NULL); @@ -2645,9 +2645,10 @@ static void Mch_ShowFormColumns (const struct Mch_Match *Match) /* Number of columns */ Ico_PutSettingIconLink (NumColsIcon[NumCols], - Str_BuildStringLongStr ((long) NumCols, - NumCols == 1 ? Txt_column : - Txt_columns)); + Str_BuildString ("%u %s", + NumCols, + NumCols == 1 ? Txt_column : + Txt_columns)); Str_FreeStrings (); /* End form */ @@ -2688,7 +2689,7 @@ static void Mch_PutCheckboxResult (const struct Mch_Match *Match) /***** Put icon with link *****/ HTM_BUTTON_SUBMIT_Begin (Txt_View_results, - Str_BuildStringStr ("BT_LINK %s ICO_HIGHLIGHT",The_ClassDat[Gbl.Prefs.Theme]), + Str_BuildString ("BT_LINK %s ICO_HIGHLIGHT",The_ClassDat[Gbl.Prefs.Theme]), NULL); Str_FreeStrings (); HTM_TxtF ("", @@ -3229,9 +3230,10 @@ static void Mch_DrawScoreRow (double Score,double MinScore,double MaxScore, if (asprintf (&Icon,"score%u_1x1.png",Color) < 0) // Background Err_NotEnoughMemoryExit (); HTM_IMG (Cfg_URL_ICON_PUBLIC,Icon, - Str_BuildStringLongStr ((long) NumUsrs, - NumUsrs == 1 ? Txt_ROLES_SINGUL_abc[Rol_STD][Usr_SEX_UNKNOWN] : - Txt_ROLES_PLURAL_abc[Rol_STD][Usr_SEX_UNKNOWN]), + Str_BuildString ("%u %s", + NumUsrs, + NumUsrs == 1 ? Txt_ROLES_SINGUL_abc[Rol_STD][Usr_SEX_UNKNOWN] : + Txt_ROLES_PLURAL_abc[Rol_STD][Usr_SEX_UNKNOWN]), "class=\"MCH_SCO_BAR\" style=\"width:%u%%;\"",BarWidth); Str_FreeStrings (); free (Icon); diff --git a/swad_match_result.c b/swad_match_result.c index 1dc6d29a..6fa509d9 100644 --- a/swad_match_result.c +++ b/swad_match_result.c @@ -169,7 +169,7 @@ void MchRes_ShowMyMchResultsInGam (void) /***** List my matches results in game *****/ MchRes_ShowResultsBegin (&Games, - Str_BuildStringStr (Txt_Results_of_game_X,Game.Title), + Str_BuildString (Txt_Results_of_game_X,Game.Title), false); // Do not list games to select Str_FreeStrings (); MchRes_ListMyMchResultsInGam (&Games,Game.GamCod); @@ -221,7 +221,7 @@ void MchRes_ShowMyMchResultsInMch (void) false); // Do not put form to start new match /***** List my matches results in match *****/ - MchRes_ShowResultsBegin (&Games,Str_BuildStringStr (Txt_Results_of_match_X,Match.Title), + MchRes_ShowResultsBegin (&Games,Str_BuildString (Txt_Results_of_match_X,Match.Title), false); // Do not list games to select Str_FreeStrings (); MchRes_ListMyMchResultsInMch (&Games,Match.MchCod); @@ -373,7 +373,7 @@ void MchRes_ShowAllMchResultsInGam (void) /***** List matches results in game *****/ MchRes_ShowResultsBegin (&Games, - Str_BuildStringStr (Txt_Results_of_game_X,Game.Title), + Str_BuildString (Txt_Results_of_game_X,Game.Title), false); // Do not list games to select Str_FreeStrings (); MchRes_ListAllMchResultsInGam (&Games,Game.GamCod); @@ -448,7 +448,7 @@ void MchRes_ShowAllMchResultsInMch (void) /***** List matches results in match *****/ MchRes_ShowResultsBegin (&Games, - Str_BuildStringStr (Txt_Results_of_match_X,Match.Title), + Str_BuildString (Txt_Results_of_match_X,Match.Title), false); // Do not list games to select Str_FreeStrings (); MchRes_ListAllMchResultsInMch (&Games,Match.MchCod); @@ -975,7 +975,7 @@ static void MchRes_ShowMchResultsSummaryRow (unsigned NumResults, double TotalScore, double TotalGrade) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Matches; /***** Begin row *****/ @@ -983,35 +983,35 @@ static void MchRes_ShowMchResultsSummaryRow (unsigned NumResults, /***** Row title *****/ HTM_TD_Begin ("colspan=\"3\" class=\"RM %s LINE_TOP LINE_BOTTOM COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); HTM_TxtColonNBSP (Txt_Matches); HTM_Unsigned (NumResults); HTM_TD_End (); /***** Write total number of questions *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); if (NumResults) HTM_Unsigned (NumTotalQsts->All); HTM_TD_End (); /***** Write total number of non-blank answers *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); if (NumResults) HTM_Unsigned (NumTotalQsts->NotBlank); HTM_TD_End (); /***** Write total number of blank answers *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); if (NumResults) HTM_Unsigned (NumTotalQsts->All - NumTotalQsts->NotBlank); HTM_TD_End (); /***** Write total score *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); HTM_Double2Decimals (TotalScore); HTM_Txt ("/"); HTM_Unsigned (NumTotalQsts->All); @@ -1019,7 +1019,7 @@ static void MchRes_ShowMchResultsSummaryRow (unsigned NumResults, /***** Write average score per question *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); HTM_Double2Decimals (NumTotalQsts->All ? TotalScore / (double) NumTotalQsts->All : 0.0); @@ -1027,13 +1027,13 @@ static void MchRes_ShowMchResultsSummaryRow (unsigned NumResults, /***** Write total grade *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); HTM_Double2Decimals (TotalGrade); HTM_TD_End (); /***** Last cell *****/ HTM_TD_Begin ("class=\"%s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); HTM_TD_End (); /***** End row *****/ @@ -1048,7 +1048,7 @@ void MchRes_ShowOneMchResult (void) { extern const char *Hlp_ASSESSMENT_Games_results; extern const char *The_ClassDat[The_NUM_THEMES]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_START_END_TIME[Dat_NUM_START_END_TIME]; extern const char *Txt_Questions; @@ -1135,7 +1135,7 @@ void MchRes_ShowOneMchResult (void) /* User */ HTM_TR_Begin (NULL); - HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_TxtColon (Txt_ROLES_SINGUL_Abc[UsrDat->Roles.InCurrentCrs][UsrDat->Sex]); HTM_TD_End (); @@ -1161,7 +1161,7 @@ void MchRes_ShowOneMchResult (void) { HTM_TR_Begin (NULL); - HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_TxtColon (Txt_START_END_TIME[StartEndTime]); HTM_TD_End (); @@ -1181,7 +1181,7 @@ void MchRes_ShowOneMchResult (void) /***** Number of questions *****/ HTM_TR_Begin (NULL); - HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_TxtColon (Txt_Questions); HTM_TD_End (); @@ -1194,7 +1194,7 @@ void MchRes_ShowOneMchResult (void) /***** Number of answers *****/ HTM_TR_Begin (NULL); - HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_TxtColon (Txt_Answers); HTM_TD_End (); @@ -1207,7 +1207,7 @@ void MchRes_ShowOneMchResult (void) /***** Score *****/ HTM_TR_Begin (NULL); - HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_TxtColon (Txt_Score); HTM_TD_End (); @@ -1229,7 +1229,7 @@ void MchRes_ShowOneMchResult (void) /***** Grade *****/ HTM_TR_Begin (NULL); - HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_TxtColon (Txt_Grade); HTM_TD_End (); @@ -1249,7 +1249,7 @@ void MchRes_ShowOneMchResult (void) /***** Tags present in this result *****/ HTM_TR_Begin (NULL); - HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"RT %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_TxtColon (Txt_Tags); HTM_TD_End (); diff --git a/swad_message.c b/swad_message.c index de8e71b0..16b9705f 100644 --- a/swad_message.c +++ b/swad_message.c @@ -516,6 +516,7 @@ static void Msg_ShowOneUniqueRecipient (void) static void Msg_WriteFormUsrsIDsOrNicksOtherRecipients (void) { + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; extern const char *Txt_Other_recipients; extern const char *Txt_Recipients; extern const char *Txt_nicks_emails_or_IDs_separated_by_commas; @@ -533,7 +534,8 @@ static void Msg_WriteFormUsrsIDsOrNicksOtherRecipients (void) /***** Title *****/ HTM_TR_Begin (NULL); - HTM_TH_Begin (1,ColSpan,"LM LIGHT_BLUE"); + HTM_TH_Begin (1,ColSpan,Str_BuildString ("LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme])); + Str_FreeStrings (); HTM_LABEL_Begin ("for=\"OtherRecipients\""); HTM_TxtColon (StdsAndTchsWritten ? Txt_Other_recipients : Txt_Recipients); diff --git a/swad_photo.c b/swad_photo.c index 04221b59..79418747 100644 --- a/swad_photo.c +++ b/swad_photo.c @@ -790,7 +790,7 @@ static bool Pho_ReceivePhotoAndDetectFaces (bool ItsMe,const struct UsrData *Usr Cfg_PATH_PHOTO_TMP_PUBLIC,Gbl.UniqueNameEncrypted); HTM_DIV_Begin ("class=\"TIT CM\""); HTM_IMG (Cfg_URL_PHOTO_TMP_PUBLIC, - Str_BuildStringStr ("%s_map.jpg",Gbl.UniqueNameEncrypted), + Str_BuildString ("%s_map.jpg",Gbl.UniqueNameEncrypted), Txt_Faces_detected, "usemap=\"#faces_map\""); Str_FreeStrings (); @@ -1061,6 +1061,7 @@ void Pho_BuildHTMLUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL, char **CaptionStr) { extern const char *Rol_Icons[Rol_NUM_ROLES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Following; extern const char *Txt_Followers; unsigned NumFollowing; @@ -1090,10 +1091,11 @@ void Pho_BuildHTMLUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL, if (PutZoomCode) { /* First name and surnames */ - if (asprintf (&Caption.Name,"