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,"
" // Limited width + if (asprintf (&Caption.Name,"
" // Limited width "%s
" "%s%s%s" "
", + The_ClassDatStrong[Gbl.Prefs.Theme], UsrDat->FrstName, UsrDat->Surname1, UsrDat->Surname2[0] ? " " : @@ -1164,21 +1166,23 @@ void Pho_BuildHTMLUsrPhoto (const struct UsrData *UsrDat,const char *PhotoURL, { Fol_GetNumFollow (UsrDat->UsrCod,&NumFollowing,&NumFollowers); if (asprintf (&Caption.Follow,"
" - "" + "" "%u" "" "" " %s " "" - "" + "" "%u" "" "" " %s" "" "
", + The_ClassDatStrong[Gbl.Prefs.Theme], NumFollowing, Txt_Following, + The_ClassDatStrong[Gbl.Prefs.Theme], NumFollowers, Txt_Followers) < 0) Err_NotEnoughMemoryExit (); @@ -2243,7 +2247,7 @@ static void Pho_ShowOrPrintListDegrees (struct Pho_DegPhotos *DegPhotos, if (SeeOrPrint == Pho_DEGREES_SEE) { Deg_DrawDegreeLogoAndNameWithLink (&Deg,ActSeeDegInf, - Str_BuildStringStr ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme]), + Str_BuildString ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme]), "CT"); Str_FreeStrings (); } @@ -2345,7 +2349,7 @@ static void Pho_ShowDegreeAvgPhotoAndStat (const struct Deg_Degree *Deg, int NumStds,int NumStdsWithPhoto) { extern const char *Usr_StringsSexDB[Usr_NUM_SEXS]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_students_ABBREVIATION; extern const char *Txt_SEX_PLURAL_abc[Usr_NUM_SEXS]; extern const char *Txt_photos; @@ -2410,7 +2414,7 @@ static void Pho_ShowDegreeAvgPhotoAndStat (const struct Deg_Degree *Deg, Frm_SetUniqueId (IdCaption); HTM_DIV_Begin ("id=\"%s\" class=\"NOT_SHOWN\"",IdCaption); HTM_DIV_Begin ("class=\"ZOOM_TXT_LINE %s\"", - The_ClassDatN[Gbl.Prefs.Theme]); + The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Txt (PhotoCaption); HTM_DIV_End (); HTM_DIV_End (); diff --git a/swad_plugin.c b/swad_plugin.c index a7bc5b8c..bf6eaaeb 100644 --- a/swad_plugin.c +++ b/swad_plugin.c @@ -135,7 +135,7 @@ void Plg_ListPlugins (void) HTM_A_Begin ("href=\"%s\" title=\"%s\" class=\"%s\" target=\"_blank\"", URL,Plg->Name,The_ClassDat[Gbl.Prefs.Theme]); HTM_IMG (Cfg_URL_ICON_PLUGINS_PUBLIC, - Str_BuildStringStr ("%s24x24.gif",Gbl.Plugins.Lst[NumPlg].Logo), + Str_BuildString ("%s24x24.gif",Gbl.Plugins.Lst[NumPlg].Logo), Plg->Name, "class=\"ICO40x40\""); Str_FreeStrings (); @@ -363,7 +363,7 @@ static void Plg_ListPluginsForEdition (void) // TODO: Change plugin icons to 32x32 HTM_TD_Begin ("class=\"CM\" style=\"width:45px;\""); HTM_IMG (Cfg_URL_ICON_PLUGINS_PUBLIC, - Str_BuildStringStr ("%s24x24.gif",Gbl.Plugins.Lst[NumPlg].Logo), + Str_BuildString ("%s24x24.gif",Gbl.Plugins.Lst[NumPlg].Logo), Gbl.Plugins.Lst[NumPlg].Name, "class=\"ICO40x40\""); Str_FreeStrings (); diff --git a/swad_privacy.c b/swad_privacy.c index 18893a2f..9134392a 100644 --- a/swad_privacy.c +++ b/swad_privacy.c @@ -153,9 +153,10 @@ static void Pri_PutFormVisibility (const char *TxtLabel, Pri_Visibility_t CurrentVisibilityInDB, unsigned MaskAllowedVisibility) { + 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 *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_PRIVACY_OPTIONS[Pri_NUM_OPTIONS_PRIVACY]; Pri_Visibility_t Visibility; @@ -178,9 +179,11 @@ static void Pri_PutFormVisibility (const char *TxtLabel, if (MaskAllowedVisibility & (1 << Visibility)) { if (Visibility == CurrentVisibilityInDB) - 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_LI_Begin ("class=\"%s\"", + The_ClassDat[Gbl.Prefs.Theme]); HTM_LABEL_Begin (NULL); HTM_INPUT_RADIO (ParamName,Action != ActUnk, "value=\"%u\"%s%s", diff --git a/swad_profile.c b/swad_profile.c index 71d3ac4d..1a7637ad 100644 --- a/swad_profile.c +++ b/swad_profile.c @@ -373,6 +373,7 @@ void Prf_ChangeExtendedProfileVis (void) void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat) { + extern const char *The_ClassDatStrong[The_NUM_THEMES]; bool UsrIsBannedFromRanking; struct Prf_UsrFigures UsrFigures; Rol_Role_t Role; @@ -383,7 +384,8 @@ void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat) /***** Left list *****/ /* Begin left list */ HTM_DIV_Begin ("class=\"PRF_FIG_LEFT_CONT\""); - HTM_UL_Begin ("class=\"PRF_FIG_UL DAT_NOBR_N\""); + HTM_UL_Begin ("class=\"PRF_FIG_UL %s NOWRAP\"", + The_ClassDatStrong[Gbl.Prefs.Theme]); /* Time since first click */ Prf_ShowTimeSinceFirstClick (UsrDat,&UsrFigures); @@ -408,7 +410,8 @@ void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat) if (!UsrIsBannedFromRanking) { /* Begin right list */ - HTM_UL_Begin ("class=\"PRF_FIG_UL DAT_NOBR_N\""); + HTM_UL_Begin ("class=\"PRF_FIG_UL %s NOWRAP\"", + The_ClassDatStrong[Gbl.Prefs.Theme]); /* Number of clicks */ Prf_ShowNumClicks (UsrDat,&UsrFigures); diff --git a/swad_program.c b/swad_program.c index 6a1f9509..5e70bd3a 100644 --- a/swad_program.c +++ b/swad_program.c @@ -776,7 +776,7 @@ static void Prg_PutFormsToRemEditOneItem (unsigned NumItem, Lay_PutContextualLinkOnlyIcon (ActUp_PrgItm,"prg_highlighted", Prg_PutParams,&Item->Hierarchy.ItmCod, "arrow-up.svg", - Str_BuildStringStr (Txt_Move_up_X, + Str_BuildString (Txt_Move_up_X, StrItemIndex)); Str_FreeStrings (); } @@ -789,7 +789,7 @@ static void Prg_PutFormsToRemEditOneItem (unsigned NumItem, Lay_PutContextualLinkOnlyIcon (ActDwnPrgItm,"prg_highlighted", Prg_PutParams,&Item->Hierarchy.ItmCod, "arrow-down.svg", - Str_BuildStringStr (Txt_Move_down_X, + Str_BuildString (Txt_Move_down_X, StrItemIndex)); Str_FreeStrings (); } @@ -802,7 +802,7 @@ static void Prg_PutFormsToRemEditOneItem (unsigned NumItem, Lay_PutContextualLinkOnlyIcon (ActLftPrgItm,"prg_highlighted", Prg_PutParams,&Item->Hierarchy.ItmCod, "arrow-left.svg", - Str_BuildStringStr (Txt_Increase_level_of_X, + Str_BuildString (Txt_Increase_level_of_X, StrItemIndex)); Str_FreeStrings (); } @@ -815,7 +815,7 @@ static void Prg_PutFormsToRemEditOneItem (unsigned NumItem, Lay_PutContextualLinkOnlyIcon (ActRgtPrgItm,"prg_highlighted", Prg_PutParams,&Item->Hierarchy.ItmCod, "arrow-right.svg", - Str_BuildStringStr (Txt_Decrease_level_of_X, + Str_BuildString (Txt_Decrease_level_of_X, StrItemIndex)); Str_FreeStrings (); } diff --git a/swad_project.c b/swad_project.c index de5e20b9..7da87df1 100644 --- a/swad_project.c +++ b/swad_project.c @@ -1003,7 +1003,7 @@ static void Prj_ShowProjectsHead (struct Prj_Projects *Projects, static void Prj_ShowTableAllProjectsHead (void) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_PROJECT_ORDER[Prj_NUM_ORDERS]; extern const char *Txt_Assigned_QUESTION; extern const char *Txt_Number_of_students; @@ -1015,7 +1015,7 @@ static void Prj_ShowTableAllProjectsHead (void) extern const char *Txt_URL; Prj_Order_t Order; unsigned NumRoleToShow; - const char *Class = Str_BuildStringStr ("LT %s",The_ClassDatN[Gbl.Prefs.Theme]); + const char *Class = Str_BuildString ("LT %s",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_TR_Begin (NULL); @@ -1219,6 +1219,7 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects, Prj_ProjectView_t ProjectView) { extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassDatLight[The_NUM_THEMES]; extern const char *Txt_Project_files; extern const char *Txt_Assigned_QUESTION; extern const char *Txt_Yes; @@ -1253,7 +1254,7 @@ static void Prj_ShowOneProject (struct Prj_Projects *Projects, "ASG_TITLE"; ClassLink = (Prj->Hidden == Prj_HIDDEN) ? "BT_LINK LT ASG_TITLE_LIGHT" : "BT_LINK LT ASG_TITLE"; - ClassData = (Prj->Hidden == Prj_HIDDEN) ? "DAT_LIGHT" : + ClassData = (Prj->Hidden == Prj_HIDDEN) ? The_ClassDatLight[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme]; /***** Set anchor string *****/ @@ -1657,6 +1658,7 @@ static void Prj_PutIconToToggleProject (unsigned UniqueId, static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj) { extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassDatLight[The_NUM_THEMES]; extern const char *Txt_Yes; extern const char *Txt_No; extern const char *Txt_PROJECT_STATUS[Prj_NUM_PROPOSAL_TYPES]; @@ -1672,7 +1674,7 @@ static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj) /***** Set CSS classes *****/ ClassDate = (Prj->Hidden == Prj_HIDDEN) ? "DATE_BLUE_LIGHT" : "DATE_BLUE"; - ClassData = (Prj->Hidden == Prj_HIDDEN) ? "DAT_LIGHT" : + ClassData = (Prj->Hidden == Prj_HIDDEN) ? The_ClassDatLight[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme]; /***** Begin row *****/ @@ -1761,12 +1763,13 @@ static void Prj_ShowOneProjectDepartment (const struct Prj_Project *Prj, Prj_ProjectView_t ProjectView) { extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassDatLight[The_NUM_THEMES]; struct Dpt_Department Dpt; bool PutLink; const char *ClassData; /***** Set CSS classes *****/ - ClassData = (Prj->Hidden == Prj_HIDDEN) ? "DAT_LIGHT" : + ClassData = (Prj->Hidden == Prj_HIDDEN) ? The_ClassDatLight[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme]; /***** Get data of department *****/ @@ -1800,11 +1803,12 @@ static void Prj_ShowOneProjectDepartment (const struct Prj_Project *Prj, static void Prj_ShowTableAllProjectsDepartment (const struct Prj_Project *Prj) { extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassDatLight[The_NUM_THEMES]; struct Dpt_Department Dpt; const char *ClassData; /***** Set CSS classes *****/ - ClassData = (Prj->Hidden == Prj_HIDDEN) ? "DAT_LIGHT" : + ClassData = (Prj->Hidden == Prj_HIDDEN) ? The_ClassDatLight[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme]; /***** Get data of department *****/ @@ -1828,13 +1832,14 @@ static void Prj_ShowOneProjectTxtField (struct Prj_Project *Prj, bool Warning) { extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassDatLight[The_NUM_THEMES]; const char *ClassLabel; const char *ClassData; /***** Set CSS classes *****/ ClassLabel = (Prj->Hidden == Prj_HIDDEN) ? "ASG_LABEL_LIGHT" : "ASG_LABEL"; - ClassData = (Prj->Hidden == Prj_HIDDEN) ? "DAT_LIGHT" : + ClassData = (Prj->Hidden == Prj_HIDDEN) ? The_ClassDatLight[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme]; /***** Label *****/ @@ -1897,10 +1902,11 @@ static void Prj_ShowTableAllProjectsTxtField (struct Prj_Project *Prj, char *TxtField) { extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassDatLight[The_NUM_THEMES]; const char *ClassData; /***** Set CSS classes *****/ - ClassData = (Prj->Hidden == Prj_HIDDEN) ? "DAT_LIGHT" : + ClassData = (Prj->Hidden == Prj_HIDDEN) ? The_ClassDatLight[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme]; /***** Change format *****/ @@ -1922,6 +1928,7 @@ static void Prj_ShowOneProjectURL (const struct Prj_Project *Prj, const char *id,unsigned UniqueId) { extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassDatLight[The_NUM_THEMES]; extern const char *Txt_URL; const char *ClassLabel; const char *ClassData; @@ -1932,7 +1939,7 @@ static void Prj_ShowOneProjectURL (const struct Prj_Project *Prj, /***** Set CSS classes *****/ ClassLabel = (Prj->Hidden == Prj_HIDDEN) ? "ASG_LABEL_LIGHT" : "ASG_LABEL"; - ClassData = (Prj->Hidden == Prj_HIDDEN) ? "DAT_LIGHT" : + ClassData = (Prj->Hidden == Prj_HIDDEN) ? The_ClassDatLight[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme]; /***** Write row with label and text *****/ @@ -1982,10 +1989,11 @@ static void Prj_ShowOneProjectURL (const struct Prj_Project *Prj, static void Prj_ShowTableAllProjectsURL (const struct Prj_Project *Prj) { extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassDatLight[The_NUM_THEMES]; const char *ClassData; /***** Set CSS classes *****/ - ClassData = (Prj->Hidden == Prj_HIDDEN) ? "DAT_LIGHT" : + ClassData = (Prj->Hidden == Prj_HIDDEN) ? The_ClassDatLight[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme]; /***** Show URL *****/ @@ -2022,6 +2030,7 @@ static void Prj_ShowOneProjectMembersWithARole (struct Prj_Projects *Projects, Prj_RoleInProject_t RoleInPrj) { extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassDatLight[The_NUM_THEMES]; extern const char *Txt_PROJECT_ROLES_SINGUL_Abc[Prj_NUM_ROLES_IN_PROJECT]; extern const char *Txt_PROJECT_ROLES_PLURAL_Abc[Prj_NUM_ROLES_IN_PROJECT]; extern const char *Txt_Remove; @@ -2059,7 +2068,7 @@ static void Prj_ShowOneProjectMembersWithARole (struct Prj_Projects *Projects, /***** Set CSS classes *****/ ClassLabel = (Prj->Hidden == Prj_HIDDEN) ? "ASG_LABEL_LIGHT" : "ASG_LABEL"; - ClassData = (Prj->Hidden == Prj_HIDDEN) ? "DAT_LIGHT" : + ClassData = (Prj->Hidden == Prj_HIDDEN) ? The_ClassDatLight[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme]; /***** Get users in project from database *****/ @@ -2173,7 +2182,7 @@ static void Prj_ShowOneProjectMembersWithARole (struct Prj_Projects *Projects, Projects->PrjCod = Prj->PrjCod; // Used to pass project code as a parameter Ico_PutContextualIconToAdd (ActionReqAddUsr[RoleInPrj],NULL, Prj_PutCurrentParams,Projects, - Str_BuildStringStr (Txt_Add_USERS, + Str_BuildString (Txt_Add_USERS, Txt_PROJECT_ROLES_PLURAL_abc[RoleInPrj])); Str_FreeStrings (); HTM_TD_End (); @@ -2206,6 +2215,7 @@ static void Prj_ShowTableAllProjectsMembersWithARole (const struct Prj_Project * Prj_RoleInProject_t RoleInPrj) { extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassDatLight[The_NUM_THEMES]; MYSQL_RES *mysql_res; MYSQL_ROW row; unsigned NumUsr; @@ -2213,7 +2223,7 @@ static void Prj_ShowTableAllProjectsMembersWithARole (const struct Prj_Project * const char *ClassData; /***** Set CSS classes *****/ - ClassData = (Prj->Hidden == Prj_HIDDEN) ? "DAT_LIGHT" : + ClassData = (Prj->Hidden == Prj_HIDDEN) ? The_ClassDatLight[Gbl.Prefs.Theme] : The_ClassDat[Gbl.Prefs.Theme]; /***** Get users in project from database *****/ @@ -2586,7 +2596,7 @@ static void Prj_ReqRemUsrFromPrj (struct Prj_Projects *Projects, Frm_BeginForm (ActionRemUsr[RoleInPrj]); Projects->PrjCod = Prj.PrjCod; Prj_PutCurrentParams (Projects); - Btn_PutRemoveButton (Str_BuildStringStr (Txt_Remove_USER_from_this_project, + Btn_PutRemoveButton (Str_BuildString (Txt_Remove_USER_from_this_project, Txt_PROJECT_ROLES_SINGUL_abc[RoleInPrj][Gbl.Usrs.Other.UsrDat.Sex])); Str_FreeStrings (); Frm_EndForm (); diff --git a/swad_question.c b/swad_question.c index e61d93c6..cf5fc5f3 100644 --- a/swad_question.c +++ b/swad_question.c @@ -518,6 +518,7 @@ void Qst_ListQuestionForEdition (struct Qst_Question *Question, unsigned QstInd,bool QuestionExists, const char *Anchor) { + extern const char *The_ClassDatLight[The_NUM_THEMES]; extern const char *Txt_Question_removed; /***** Number of question and answer type (row[1]) *****/ @@ -560,7 +561,7 @@ void Qst_ListQuestionForEdition (struct Qst_Question *Question, } else { - HTM_SPAN_Begin ("class=\"DAT_LIGHT\""); + HTM_SPAN_Begin ("class=\"%s\"",The_ClassDatLight[Gbl.Prefs.Theme]); HTM_Txt (Txt_Question_removed); HTM_SPAN_End (); } @@ -1858,7 +1859,7 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question) /***** Begin box *****/ if (Question->QstCod > 0) // The question already has assigned a code { - Box_BoxBegin (NULL,Str_BuildStringLong (Txt_Question_code_X,Question->QstCod), + Box_BoxBegin (NULL,Str_BuildString (Txt_Question_code_X,Question->QstCod), Qst_PutIconToRemoveOneQst,&Question->QstCod, Hlp_ASSESSMENT_Questions_writing_a_question,Box_NOT_CLOSABLE); Str_FreeStrings (); diff --git a/swad_record.c b/swad_record.c index 1d2f4e4e..2ad389b9 100644 --- a/swad_record.c +++ b/swad_record.c @@ -1565,7 +1565,7 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView, struct UsrData *UsrDat,const char *Anchor) { extern const char *Hlp_USERS_Students_course_record_card; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *The_ClassFormInBox[The_NUM_THEMES]; extern const char *Txt_RECORD_FIELD_VISIBILITY_RECORD[Rec_NUM_TYPES_VISIBILITY]; extern const char *Txt_Save_changes; @@ -1735,7 +1735,7 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView, /* Write form, text, or nothing depending on the user's role and the visibility of the field */ HTM_TD_Begin ("class=\"REC_C2_BOT LT %s COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); if (ICanEditThisField) // Show with form { HTM_TEXTAREA_Begin ("name=\"Field%ld\" rows=\"%u\"" @@ -2683,14 +2683,14 @@ static void Rec_ShowNickname (struct UsrData *UsrDat,bool PutFormLinks) static void Rec_ShowCountryInHead (struct UsrData *UsrDat,bool ShowData) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; - HTM_TD_Begin ("class=\"REC_C2_MID LT %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"REC_C2_MID LT %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); if (ShowData && UsrDat->CtyCod > 0) { /* Link to see country information */ Cty_WriteCountryName (UsrDat->CtyCod, - Str_BuildStringStr ("BT_LINK %s",The_ClassDatN[Gbl.Prefs.Theme])); // Put link to country + Str_BuildString ("BT_LINK %s",The_ClassDatStrong[Gbl.Prefs.Theme])); // Put link to country Str_FreeStrings (); } HTM_TD_End (); @@ -2715,7 +2715,7 @@ static void Rec_ShowWebsAndSocialNets (struct UsrData *UsrDat, static void Rec_ShowEmail (struct UsrData *UsrDat) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Email; /***** Email *****/ @@ -2725,14 +2725,14 @@ static void Rec_ShowEmail (struct UsrData *UsrDat) Frm_LabelColumn ("REC_C1_BOT RM",NULL,Txt_Email); /* Data */ - HTM_TD_Begin ("class=\"REC_C2_BOT LM %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"REC_C2_BOT LM %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); if (UsrDat->Email[0]) { HTM_DIV_Begin ("class=\"REC_EMAIL\""); // Limited width if (Mai_ICanSeeOtherUsrEmail (UsrDat)) { HTM_A_Begin ("href=\"mailto:%s\" class=\"%s\"", - UsrDat->Email,The_ClassDatN[Gbl.Prefs.Theme]); + UsrDat->Email,The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Txt (UsrDat->Email); HTM_A_End (); } @@ -2751,7 +2751,7 @@ static void Rec_ShowEmail (struct UsrData *UsrDat) static void Rec_ShowUsrIDs (struct UsrData *UsrDat,const char *Anchor) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_ID; /***** User's IDs *****/ @@ -2761,7 +2761,7 @@ static void Rec_ShowUsrIDs (struct UsrData *UsrDat,const char *Anchor) Frm_LabelColumn ("REC_C1_BOT RT",NULL,Txt_ID); /* Data */ - HTM_TD_Begin ("class=\"REC_C2_BOT LT %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"REC_C2_BOT LT %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); ID_WriteUsrIDs (UsrDat,Anchor); HTM_TD_End (); @@ -2776,7 +2776,7 @@ static void Rec_ShowRole (struct UsrData *UsrDat, Rec_SharedRecordViewType_t TypeOfView) { extern const char *Usr_StringsSexIcons[Usr_NUM_SEXS]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Role; extern const char *Txt_Sex; extern const char *Txt_SEX_SINGULAR_Abc[Usr_NUM_SEXS]; @@ -2802,7 +2802,7 @@ static void Rec_ShowRole (struct UsrData *UsrDat, Frm_LabelColumn ("REC_C1_BOT RM","Role",Txt_Role); /* Data */ - HTM_TD_Begin ("class=\"REC_C2_BOT LM %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"REC_C2_BOT LM %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); switch (TypeOfView) { case Rec_SHA_SIGN_UP_IN_CRS_FORM: // I want to apply for enrolment @@ -2997,7 +2997,7 @@ static void Rec_ShowRole (struct UsrData *UsrDat, /***** Form to select a sex *****/ /* Label */ Frm_LabelColumn ("REC_C1_BOT RM","", - Str_BuildStringStr ("%s*",Txt_Sex)); + Str_BuildString ("%s*",Txt_Sex)); Str_FreeStrings (); /* Data */ @@ -3006,7 +3006,7 @@ static void Rec_ShowRole (struct UsrData *UsrDat, Sex <= Usr_SEX_MALE; Sex++) { - HTM_LABEL_Begin ("class=\"%s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_LABEL_Begin ("class=\"%s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_INPUT_RADIO ("Sex",false, "value=\"%u\"%s required=\"required\"", (unsigned) Sex, @@ -3023,7 +3023,7 @@ static void Rec_ShowRole (struct UsrData *UsrDat, Frm_LabelColumn ("REC_C1_BOT RM",NULL,Txt_Role); /* Data */ - HTM_TD_Begin ("class=\"REC_C2_BOT LM %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"REC_C2_BOT LM %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Txt (Txt_ROLES_SINGUL_Abc[UsrDat->Roles.InCurrentCrs][UsrDat->Sex]); HTM_TD_End (); } @@ -3037,7 +3037,7 @@ static void Rec_ShowRole (struct UsrData *UsrDat, static void Rec_ShowSurname1 (struct UsrData *UsrDat,bool PutForm) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Surname_1; HTM_TR_Begin (NULL); @@ -3046,14 +3046,14 @@ static void Rec_ShowSurname1 (struct UsrData *UsrDat,bool PutForm) if (PutForm) { Frm_LabelColumn ("REC_C1_BOT RM","Surname1", - Str_BuildStringStr ("%s*",Txt_Surname_1)); + Str_BuildString ("%s*",Txt_Surname_1)); Str_FreeStrings (); } else Frm_LabelColumn ("REC_C1_BOT RM",NULL,Txt_Surname_1); /* Data */ - HTM_TD_Begin ("class=\"REC_C2_BOT LM %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"REC_C2_BOT LM %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); if (PutForm) HTM_INPUT_TEXT ("Surname1",Usr_MAX_CHARS_FIRSTNAME_OR_SURNAME,UsrDat->Surname1, HTM_DONT_SUBMIT_ON_CHANGE, @@ -3076,7 +3076,7 @@ static void Rec_ShowSurname1 (struct UsrData *UsrDat,bool PutForm) static void Rec_ShowSurname2 (struct UsrData *UsrDat,bool PutForm) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Surname_2; HTM_TR_Begin (NULL); @@ -3087,7 +3087,7 @@ static void Rec_ShowSurname2 (struct UsrData *UsrDat,bool PutForm) Txt_Surname_2); /* Data */ - HTM_TD_Begin ("class=\"REC_C2_BOT LM %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"REC_C2_BOT LM %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); if (PutForm) HTM_INPUT_TEXT ("Surname2",Usr_MAX_CHARS_FIRSTNAME_OR_SURNAME, UsrDat->Surname2, @@ -3110,7 +3110,7 @@ static void Rec_ShowSurname2 (struct UsrData *UsrDat,bool PutForm) static void Rec_ShowFirstName (struct UsrData *UsrDat,bool PutForm) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_First_name; HTM_TR_Begin (NULL); @@ -3119,7 +3119,7 @@ static void Rec_ShowFirstName (struct UsrData *UsrDat,bool PutForm) if (PutForm) { Frm_LabelColumn ("REC_C1_BOT RM","FirstName", - Str_BuildStringStr ("%s*",Txt_First_name)); + Str_BuildString ("%s*",Txt_First_name)); Str_FreeStrings (); } else @@ -3127,7 +3127,7 @@ static void Rec_ShowFirstName (struct UsrData *UsrDat,bool PutForm) /* Data */ HTM_TD_Begin ("colspan=\"2\" class=\"REC_C2_BOT LM %s\"", - The_ClassDatN[Gbl.Prefs.Theme]); + The_ClassDatStrong[Gbl.Prefs.Theme]); if (PutForm) HTM_INPUT_TEXT ("FirstName",Usr_MAX_CHARS_FIRSTNAME_OR_SURNAME, UsrDat->FrstName, @@ -3165,7 +3165,7 @@ static void Rec_ShowCountry (struct UsrData *UsrDat,bool PutForm) if (PutForm) { Frm_LabelColumn ("REC_C1_BOT RM","OthCtyCod", - Str_BuildStringStr ("%s*",Txt_Country)); + Str_BuildString ("%s*",Txt_Country)); Str_FreeStrings (); } else @@ -3200,7 +3200,7 @@ static void Rec_ShowCountry (struct UsrData *UsrDat,bool PutForm) static void Rec_ShowDateOfBirth (struct UsrData *UsrDat,bool ShowData,bool PutForm) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Date_of_birth; /***** Date of birth *****/ @@ -3212,7 +3212,7 @@ static void Rec_ShowDateOfBirth (struct UsrData *UsrDat,bool ShowData,bool PutFo Txt_Date_of_birth); /* Data */ - HTM_TD_Begin ("class=\"REC_C2_BOT LM %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"REC_C2_BOT LM %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); if (ShowData) { if (PutForm) @@ -3237,7 +3237,7 @@ static void Rec_ShowDateOfBirth (struct UsrData *UsrDat,bool ShowData,bool PutFo static void Rec_ShowPhone (struct UsrData *UsrDat,bool ShowData,bool PutForm, unsigned NumPhone) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Phone; char *Name; char *Label; @@ -3259,7 +3259,7 @@ static void Rec_ShowPhone (struct UsrData *UsrDat,bool ShowData,bool PutForm, Label); /* Data */ - HTM_TD_Begin ("class=\"REC_C2_BOT LM %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"REC_C2_BOT LM %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); if (ShowData) { if (PutForm) @@ -3269,7 +3269,7 @@ static void Rec_ShowPhone (struct UsrData *UsrDat,bool ShowData,bool PutForm, else if (UsrDat->Phone[NumPhone][0]) { HTM_A_Begin ("href=\"tel:%s\" class=\"%s\"", - UsrDat->Phone[NumPhone],The_ClassDatN[Gbl.Prefs.Theme]); + UsrDat->Phone[NumPhone],The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Txt (UsrDat->Phone[NumPhone]); HTM_A_End (); } @@ -3291,7 +3291,7 @@ static void Rec_ShowPhone (struct UsrData *UsrDat,bool ShowData,bool PutForm, static void Rec_ShowComments (struct UsrData *UsrDat,bool ShowData,bool PutForm) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_USER_comments; /***** Comments *****/ @@ -3303,7 +3303,7 @@ static void Rec_ShowComments (struct UsrData *UsrDat,bool ShowData,bool PutForm) Txt_USER_comments); /* Data */ - HTM_TD_Begin ("class=\"REC_C2_BOT LT %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"REC_C2_BOT LT %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); if (ShowData) { if (PutForm) @@ -3354,7 +3354,7 @@ static void Rec_ShowTeacherRows (struct UsrData *UsrDat,struct Ins_Instit *Ins, static void Rec_ShowInstitution (struct Ins_Instit *Ins,bool ShowData) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Institution; /***** Institution *****/ @@ -3364,13 +3364,13 @@ static void Rec_ShowInstitution (struct Ins_Instit *Ins,bool ShowData) Frm_LabelColumn ("REC_C1_BOT RT",NULL,Txt_Institution); /* Data */ - HTM_TD_Begin ("class=\"REC_C2_BOT LT %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"REC_C2_BOT LT %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); if (ShowData) if (Ins->InsCod > 0) { if (Ins->WWW[0]) HTM_A_Begin ("href=\"%s\" target=\"_blank\" class=\"%s\"", - Ins->WWW,The_ClassDatN[Gbl.Prefs.Theme]); + Ins->WWW,The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Txt (Ins->FullName); if (Ins->WWW[0]) HTM_A_End (); @@ -3386,7 +3386,7 @@ static void Rec_ShowInstitution (struct Ins_Instit *Ins,bool ShowData) static void Rec_ShowCenter (struct UsrData *UsrDat,bool ShowData) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Center; struct Ctr_Center Ctr; @@ -3397,7 +3397,7 @@ static void Rec_ShowCenter (struct UsrData *UsrDat,bool ShowData) Frm_LabelColumn ("REC_C1_BOT RT",NULL,Txt_Center); /* Data */ - HTM_TD_Begin ("class=\"REC_C2_BOT LT %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"REC_C2_BOT LT %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); if (ShowData) { if (UsrDat->Tch.CtrCod > 0) @@ -3406,7 +3406,7 @@ static void Rec_ShowCenter (struct UsrData *UsrDat,bool ShowData) Ctr_GetDataOfCenterByCod (&Ctr); if (Ctr.WWW[0]) HTM_A_Begin ("href=\"%s\" target=\"_blank\" class=\"%s\"", - Ctr.WWW,The_ClassDatN[Gbl.Prefs.Theme]); + Ctr.WWW,The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Txt (Ctr.FullName); if (Ctr.WWW[0]) HTM_A_End (); @@ -3423,7 +3423,7 @@ static void Rec_ShowCenter (struct UsrData *UsrDat,bool ShowData) static void Rec_ShowDepartment (struct UsrData *UsrDat,bool ShowData) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Department; struct Dpt_Department Dpt; @@ -3434,7 +3434,7 @@ static void Rec_ShowDepartment (struct UsrData *UsrDat,bool ShowData) Frm_LabelColumn ("REC_C1_BOT RT",NULL,Txt_Department); /* Data */ - HTM_TD_Begin ("class=\"REC_C2_BOT LT %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"REC_C2_BOT LT %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); if (ShowData) { if (UsrDat->Tch.DptCod > 0) @@ -3443,7 +3443,7 @@ static void Rec_ShowDepartment (struct UsrData *UsrDat,bool ShowData) Dpt_GetDataOfDepartmentByCod (&Dpt); if (Dpt.WWW[0]) HTM_A_Begin ("href=\"%s\" target=\"_blank\" class=\"%s\"", - Dpt.WWW,The_ClassDatN[Gbl.Prefs.Theme]); + Dpt.WWW,The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Txt (Dpt.FullName); if (Dpt.WWW[0]) HTM_A_End (); @@ -3460,7 +3460,7 @@ static void Rec_ShowDepartment (struct UsrData *UsrDat,bool ShowData) static void Rec_ShowOffice (struct UsrData *UsrDat,bool ShowData) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Office; /***** Office *****/ @@ -3470,7 +3470,7 @@ static void Rec_ShowOffice (struct UsrData *UsrDat,bool ShowData) Frm_LabelColumn ("REC_C1_BOT RT",NULL,Txt_Office); /* Data */ - HTM_TD_Begin ("class=\"REC_C2_BOT LT %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"REC_C2_BOT LT %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); if (ShowData) HTM_Txt (UsrDat->Tch.Office); HTM_TD_End (); @@ -3484,7 +3484,7 @@ static void Rec_ShowOffice (struct UsrData *UsrDat,bool ShowData) static void Rec_ShowOfficePhone (struct UsrData *UsrDat,bool ShowData) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Phone; /***** Office phone *****/ @@ -3494,11 +3494,11 @@ static void Rec_ShowOfficePhone (struct UsrData *UsrDat,bool ShowData) Frm_LabelColumn ("REC_C1_BOT RM",NULL,Txt_Phone); /* Data */ - HTM_TD_Begin ("class=\"REC_C2_BOT LM %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"REC_C2_BOT LM %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); if (ShowData) { HTM_A_Begin ("href=\"tel:%s\" class=\"%s\"", - UsrDat->Tch.OfficePhone,The_ClassDatN[Gbl.Prefs.Theme]); + UsrDat->Tch.OfficePhone,The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Txt (UsrDat->Tch.OfficePhone); HTM_A_End (); } @@ -3774,7 +3774,7 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher) /* Label */ Frm_LabelColumn ("REC_C1_BOT RM","InsCtyCod", - Str_BuildStringStr ("%s*",Txt_Country)); + Str_BuildString ("%s*",Txt_Country)); Str_FreeStrings (); /* Data */ @@ -3806,7 +3806,7 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher) /* Label */ Frm_LabelColumn ("REC_C1_BOT RM","OthInsCod", - Str_BuildStringStr ("%s*",Txt_Institution)); + Str_BuildString ("%s*",Txt_Institution)); Str_FreeStrings (); /* Data */ @@ -3847,7 +3847,7 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher) /* Label */ Frm_LabelColumn ("REC_C1_BOT RM","OthCtrCod", - Str_BuildStringStr ("%s*",Txt_Center)); + Str_BuildString ("%s*",Txt_Center)); Str_FreeStrings (); /* Data */ @@ -3886,7 +3886,7 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher) /* Label */ Frm_LabelColumn ("REC_C1_BOT RM",Dpt_PARAM_DPT_COD_NAME, - Str_BuildStringStr ("%s*",Txt_Department)); + Str_BuildString ("%s*",Txt_Department)); Str_FreeStrings (); /* Data */ diff --git a/swad_report.c b/swad_report.c index fa889fd7..d9e26f3b 100644 --- a/swad_report.c +++ b/swad_report.c @@ -124,7 +124,7 @@ void Rep_ReqMyUsageReport (void) Frm_BeginForm (ActSeeMyUsgRep); /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Report_of_use_of_PLATFORM, + Box_BoxBegin (NULL,Str_BuildString (Txt_Report_of_use_of_PLATFORM, Cfg_PLATFORM_SHORT_NAME), NULL,NULL, Hlp_ANALYTICS_Report,Box_NOT_CLOSABLE); @@ -227,12 +227,13 @@ static void Rep_CreateMyUsageReport (struct Rep_Report *Report) static void Rep_PutLinkToMyUsageReport (struct Rep_Report *Report) { extern const char *Hlp_ANALYTICS_Report; + extern const char *The_ClassDatLight[The_NUM_THEMES]; extern const char *Txt_Report_of_use_of_PLATFORM; extern const char *Txt_Report; extern const char *Txt_This_link_will_remain_active_as_long_as_your_user_s_account_exists; /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Report_of_use_of_PLATFORM, + Box_BoxBegin (NULL,Str_BuildString (Txt_Report_of_use_of_PLATFORM, Cfg_PLATFORM_SHORT_NAME), NULL,NULL, Hlp_ANALYTICS_Report,Box_NOT_CLOSABLE); @@ -252,7 +253,7 @@ static void Rep_PutLinkToMyUsageReport (struct Rep_Report *Report) HTM_A_End (); HTM_DIV_End (); - HTM_DIV_Begin ("class=\"DAT_LIGHT\""); + HTM_DIV_Begin ("class=\"%s\"",The_ClassDatLight[Gbl.Prefs.Theme]); HTM_Txt (Txt_This_link_will_remain_active_as_long_as_your_user_s_account_exists); HTM_DIV_End (); @@ -268,7 +269,7 @@ static void Rep_PutLinkToMyUsageReport (struct Rep_Report *Report) static void Rep_TitleReport (struct Rep_CurrentTimeUTC *CurrentTimeUTC) { 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_User[Usr_NUM_SEXS]; extern const char *Txt_Date; @@ -276,7 +277,7 @@ static void Rep_TitleReport (struct Rep_CurrentTimeUTC *CurrentTimeUTC) /***** User *****/ HTM_TxtColonNBSP (Txt_User[Gbl.Usrs.Me.UsrDat.Sex]); - HTM_SPAN_Begin ("class=\"DAT_N_BOLD\""); + HTM_SPAN_Begin ("class=\"%s BOLD\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Txt (Gbl.Usrs.Me.UsrDat.FullName); HTM_SPAN_End (); @@ -285,7 +286,7 @@ static void Rep_TitleReport (struct Rep_CurrentTimeUTC *CurrentTimeUTC) { HTM_BR (); HTM_TxtColonNBSP (Txt_Date); - HTM_SPAN_Begin ("class=\"%s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_SPAN_Begin ("class=\"%s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_TxtF ("%s %s UTC",CurrentTimeUTC->StrDate, CurrentTimeUTC->StrTime); HTM_SPAN_End (); diff --git a/swad_statistic.c b/swad_statistic.c index 8d4f62b3..6e23e97b 100644 --- a/swad_statistic.c +++ b/swad_statistic.c @@ -275,7 +275,7 @@ static void Sta_PutFormCrsHits (struct Sta_Stats *Stats) Gbl.Usrs.LstUsrs[Rol_TCH].NumUsrs; /***** Begin box *****/ - Box_BoxBegin (NULL,Str_BuildStringStr (Txt_Statistics_of_visits_to_the_course_X, + Box_BoxBegin (NULL,Str_BuildString (Txt_Statistics_of_visits_to_the_course_X, Gbl.Hierarchy.Crs.ShrtName), NULL,NULL, Hlp_ANALYTICS_Visits_visits_to_course,Box_NOT_CLOSABLE); @@ -1047,7 +1047,7 @@ static void Sta_ShowDetailedAccessesList (const struct Sta_Stats *Stats, MYSQL_RES *mysql_res) { extern Act_Action_t Act_FromActCodToAction[1 + Act_MAX_ACTION_COD]; - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Show_previous_X_clicks; extern const char *Txt_PAGES_Previous; extern const char *Txt_Clicks; @@ -1132,8 +1132,8 @@ static void Sta_ShowDetailedAccessesList (const struct Sta_Stats *Stats, HTM_TD_Begin ("class=\"LM\""); if (FirstRow > 1) { - HTM_BUTTON_SUBMIT_Begin (Str_BuildStringLong (Txt_Show_previous_X_clicks, - (long) Stats->RowsPerPage), + HTM_BUTTON_SUBMIT_Begin (Str_BuildString (Txt_Show_previous_X_clicks, + Stats->RowsPerPage), "BT_LINK TIT_TBL",NULL); Str_FreeStrings (); HTM_STRONG_Begin (); @@ -1146,7 +1146,7 @@ static void Sta_ShowDetailedAccessesList (const struct Sta_Stats *Stats, Frm_EndForm (); /* Write number of current page */ - HTM_TD_Begin ("class=\"%s CM\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"%s CM\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_STRONG_Begin (); HTM_TxtF ("%s %u-%u %s %u (%s %u %s %u)", Txt_Clicks, @@ -1170,8 +1170,8 @@ static void Sta_ShowDetailedAccessesList (const struct Sta_Stats *Stats, HTM_TD_Begin ("class=\"RM\""); if (LastRow < NumHits) { - HTM_BUTTON_SUBMIT_Begin (Str_BuildStringLong (Txt_Show_next_X_clicks, - (long) Stats->RowsPerPage), + HTM_BUTTON_SUBMIT_Begin (Str_BuildString (Txt_Show_next_X_clicks, + Stats->RowsPerPage), "BT_LINK TIT_TBL",NULL); Str_FreeStrings (); HTM_STRONG_Begin (); diff --git a/swad_string.c b/swad_string.c index 44e62286..2b3b630d 100644 --- a/swad_string.c +++ b/swad_string.c @@ -2667,7 +2667,7 @@ char *Str_BuildGoToMsg (const char *Where) { extern const char *Txt_Go_to_X; - return Str_BuildStringStr (Txt_Go_to_X,Where); + return Str_BuildString (Txt_Go_to_X,Where); } /*****************************************************************************/ @@ -2686,58 +2686,33 @@ static struct // Str_FreeStrings() must be called after calling these functions -// fmt must be a string including "%s" -char *Str_BuildStringStr (const char *fmt,const char *Str) +char *Str_BuildString (const char *fmt,...) { - char *Ptr; + va_list ap; + int NumBytesPrinted; + char *Ptr = ""; - if (Str_Strings.Num >= Str_MAX_STRINGS) - Err_NotEnoughMemoryExit (); + if (fmt) + { + if (fmt[0]) + { + if (Str_Strings.Num >= Str_MAX_STRINGS) + Err_NotEnoughMemoryExit (); - if (Str_Strings.Str[Str_Strings.Num] != NULL) - Err_NotEnoughMemoryExit (); + if (Str_Strings.Str[Str_Strings.Num] != NULL) + Err_NotEnoughMemoryExit (); - if (asprintf (&Str_Strings.Str[Str_Strings.Num],fmt,Str) < 0) - Err_NotEnoughMemoryExit (); - Ptr = Str_Strings.Str[Str_Strings.Num]; - Str_Strings.Num++; + va_start (ap,fmt); + NumBytesPrinted = vasprintf (&Str_Strings.Str[Str_Strings.Num],fmt,ap); + va_end (ap); + if (NumBytesPrinted < 0) // -1 if no memory or any other error + Err_NotEnoughMemoryExit (); - return Ptr; - } + Ptr = Str_Strings.Str[Str_Strings.Num]; -// fmt must be a string including "%ld" -char *Str_BuildStringLong (const char *fmt,long Num) - { - char *Ptr; - - if (Str_Strings.Num >= Str_MAX_STRINGS) - Err_NotEnoughMemoryExit (); - - if (Str_Strings.Str[Str_Strings.Num] != NULL) - Err_NotEnoughMemoryExit (); - - if (asprintf (&Str_Strings.Str[Str_Strings.Num],fmt,Num) < 0) - Err_NotEnoughMemoryExit (); - Ptr = Str_Strings.Str[Str_Strings.Num]; - Str_Strings.Num++; - - return Ptr; - } - -char *Str_BuildStringLongStr (long Num,const char *Str) - { - char *Ptr; - - if (Str_Strings.Num >= Str_MAX_STRINGS) - Err_NotEnoughMemoryExit (); - - if (Str_Strings.Str[Str_Strings.Num] != NULL) - Err_NotEnoughMemoryExit (); - - if (asprintf (&Str_Strings.Str[Str_Strings.Num],"%ld %s",Num,Str) < 0) - Err_NotEnoughMemoryExit (); - Ptr = Str_Strings.Str[Str_Strings.Num]; - Str_Strings.Num++; + Str_Strings.Num++; + } + } return Ptr; } diff --git a/swad_string.h b/swad_string.h index b3ed09b8..77678648 100644 --- a/swad_string.h +++ b/swad_string.h @@ -147,9 +147,7 @@ void Str_Copy (char *Dst,const char *Src,size_t DstSize); void Str_Concat (char *Dst,const char *Src,size_t DstSize); char *Str_BuildGoToMsg (const char *Where); -char *Str_BuildStringStr (const char *fmt,const char *Str); -char *Str_BuildStringLong (const char *fmt,long Num); -char *Str_BuildStringLongStr (long Num,const char *Str); +char *Str_BuildString (const char *fmt,...); void Str_FreeStrings (void); #endif diff --git a/swad_survey.c b/swad_survey.c index 71757df3..89a3ec85 100644 --- a/swad_survey.c +++ b/swad_survey.c @@ -425,6 +425,7 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys, { extern const char *Hlp_ASSESSMENT_Surveys; extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassDatLight[The_NUM_THEMES]; extern const char *Txt_Survey; extern const char *Txt_View_survey; extern const char *Txt_Number_of_questions; @@ -673,7 +674,7 @@ static void Svy_ShowOneSurvey (struct Svy_Surveys *Surveys, 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\"",Svy.Status.Visible ? The_ClassDat[Gbl.Prefs.Theme] : - "DAT_LIGHT"); + The_ClassDatLight[Gbl.Prefs.Theme]); HTM_Txt (Txt); HTM_DIV_End (); HTM_TD_End (); diff --git a/swad_syllabus.c b/swad_syllabus.c index b8c39f90..9ee698db 100644 --- a/swad_syllabus.c +++ b/swad_syllabus.c @@ -648,7 +648,7 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem, NULL, Syl_PutParamNumItem,&Syllabus->ParamNumItem, "arrow-up.svg", - Str_BuildStringStr (Syl_LstItemsSyllabus.Lst[NumItem].HasChildren ? Txt_Move_up_X_and_its_subsections : + Str_BuildString (Syl_LstItemsSyllabus.Lst[NumItem].HasChildren ? Txt_Move_up_X_and_its_subsections : Txt_Move_up_X, StrItemCod)); Str_FreeStrings (); @@ -667,7 +667,7 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem, NULL, Syl_PutParamNumItem,&Syllabus->ParamNumItem, "arrow-down.svg", - Str_BuildStringStr (Syl_LstItemsSyllabus.Lst[NumItem].HasChildren ? Txt_Move_down_X_and_its_subsections : + Str_BuildString (Syl_LstItemsSyllabus.Lst[NumItem].HasChildren ? Txt_Move_down_X_and_its_subsections : Txt_Move_down_X, StrItemCod)); Str_FreeStrings (); @@ -685,7 +685,7 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem, NULL, Syl_PutParamNumItem,&Syllabus->ParamNumItem, "arrow-left.svg", - Str_BuildStringStr (Txt_Increase_level_of_X, + Str_BuildString (Txt_Increase_level_of_X, StrItemCod)); Str_FreeStrings (); } @@ -703,7 +703,7 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem, NULL, Syl_PutParamNumItem,&Syllabus->ParamNumItem, "arrow-right.svg", - Str_BuildStringStr (Txt_Decrease_level_of_X, + Str_BuildString (Txt_Decrease_level_of_X, StrItemCod)); Str_FreeStrings (); } diff --git a/swad_system_config.c b/swad_system_config.c index 0164beec..350ccf3d 100644 --- a/swad_system_config.c +++ b/swad_system_config.c @@ -258,7 +258,7 @@ static void SysCfg_Map (void) static void SysCfg_Platform (void) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Platform; /***** Institution *****/ @@ -268,7 +268,7 @@ static void SysCfg_Platform (void) Frm_LabelColumn ("RT",NULL,Txt_Platform); /* Data */ - HTM_TD_Begin ("class=\"LB %s\"",The_ClassDatN[Gbl.Prefs.Theme]); + HTM_TD_Begin ("class=\"LB %s\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Txt (Cfg_PLATFORM_SHORT_NAME); HTM_TD_End (); @@ -312,7 +312,7 @@ static void SysCfg_NumCtys (void) HTM_TD_Begin ("class=\"LB\""); Frm_BeginFormGoTo (ActSeeCty); HTM_BUTTON_SUBMIT_Begin (Txt_Countries, - 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 (Cty_GetCachedNumCtysInSys ()); diff --git a/swad_tag.c b/swad_tag.c index bf2cdd9f..7b583086 100644 --- a/swad_tag.c +++ b/swad_tag.c @@ -470,7 +470,7 @@ static void Tag_PutIconEnable (long TagCod,const char *TagTxt) Frm_BeginForm (ActEnaTag); Par_PutHiddenParamLong (NULL,"TagCod",TagCod); Ico_PutIconLink ("eye-slash-red.svg", - Str_BuildStringStr (Txt_Tag_X_not_allowed_Click_to_allow_it, + Str_BuildString (Txt_Tag_X_not_allowed_Click_to_allow_it, TagTxt)); Str_FreeStrings (); Frm_EndForm (); @@ -489,7 +489,7 @@ static void Tag_PutIconDisable (long TagCod,const char *TagTxt) Frm_BeginForm (ActDisTag); Par_PutHiddenParamLong (NULL,"TagCod",TagCod); Ico_PutIconLink ("eye-green.svg", - Str_BuildStringStr (Txt_Tag_X_allowed_Click_to_disable_it, + Str_BuildString (Txt_Tag_X_allowed_Click_to_disable_it, TagTxt)); Str_FreeStrings (); Frm_EndForm (); diff --git a/swad_test.c b/swad_test.c index fe7f44b3..68ce4dbb 100644 --- a/swad_test.c +++ b/swad_test.c @@ -303,6 +303,7 @@ void Tst_ReceiveTestDraft (void) void Tst_AssessTest (void) { extern const char *Hlp_ASSESSMENT_Tests; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Result; extern const char *Txt_Test_No_X_that_you_make_in_this_course; extern const char *Txt_Score; @@ -371,7 +372,7 @@ void Tst_AssessTest (void) /***** Write total score and grade *****/ if (TstVis_IsVisibleTotalScore (TstCfg_GetConfigVisibility ())) { - HTM_DIV_Begin ("class=\"DAT_N_BOLD CM\""); + HTM_DIV_Begin ("class=\"CM %s BOLD\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_TxtColonNBSP (Txt_Score); HTM_Double2Decimals (Print.Score); HTM_BR (); diff --git a/swad_test_print.c b/swad_test_print.c index ffc7a0b5..b65ee56f 100644 --- a/swad_test_print.c +++ b/swad_test_print.c @@ -1830,6 +1830,7 @@ static void TstPrn_ShowHeaderPrints (Usr_MeOrOther_t MeOrOther) static void TstPrn_ShowUsrPrints (struct UsrData *UsrDat) { extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassDatLight[The_NUM_THEMES]; extern const char *Txt_View_test; MYSQL_RES *mysql_res; unsigned NumPrints; @@ -1872,7 +1873,7 @@ static void TstPrn_ShowUsrPrints (struct UsrData *UsrDat) /* Get print data */ TstPrn_GetPrintDataByPrnCod (&Print); ClassDat = Print.AllowTeachers ? The_ClassDat[Gbl.Prefs.Theme] : - "DAT_LIGHT"; + The_ClassDatLight[Gbl.Prefs.Theme]; /* Get if I can see print result and score */ TstRes_CheckIfICanSeePrintResult (&Print,UsrDat->UsrCod,&ICanView); @@ -2057,7 +2058,7 @@ static void TstPrn_ShowPrintsSummaryRow (bool ItsMe, struct TstPrn_NumQuestions *NumTotalQsts, double TotalScore) { - extern const char *The_ClassDatN[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Visible_tests; bool ICanViewTotalScore; @@ -2088,35 +2089,35 @@ static void TstPrn_ShowPrintsSummaryRow (bool ItsMe, /***** Row title *****/ HTM_TD_Begin ("colspan=\"2\" 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_Visible_tests); HTM_Unsigned (NumPrints); HTM_TD_End (); /***** Write total number of questions *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); if (NumPrints) HTM_Unsigned (NumTotalQsts->All); HTM_TD_End (); /***** Write total number of non-blank answers *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); if (NumPrints) HTM_Unsigned (NumTotalQsts->NotBlank); HTM_TD_End (); /***** Write total number of blank answers *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); if (NumPrints) HTM_Unsigned (NumTotalQsts->All - NumTotalQsts->NotBlank); HTM_TD_End (); /***** Write total score *****/ HTM_TD_Begin ("class=\"RM %s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); if (ICanViewTotalScore) { HTM_Double2Decimals (TotalScore); @@ -2127,7 +2128,7 @@ static void TstPrn_ShowPrintsSummaryRow (bool ItsMe, /***** 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); if (ICanViewTotalScore) HTM_Double2Decimals (NumTotalQsts->All ? TotalScore / (double) NumTotalQsts->All : 0.0); @@ -2135,14 +2136,14 @@ static void TstPrn_ShowPrintsSummaryRow (bool ItsMe, /***** Write grade over Tst_SCORE_MAX *****/ 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 (ICanViewTotalScore) TstPrn_ComputeAndShowGrade (NumTotalQsts->All,TotalScore,Tst_SCORE_MAX); HTM_TD_End (); /***** Last cell *****/ HTM_TD_Begin ("class=\"%s LINE_TOP LINE_BOTTOM LINE_LEFT COLOR%u\"", - The_ClassDatN[Gbl.Prefs.Theme],Gbl.RowEvenOdd); + The_ClassDatStrong[Gbl.Prefs.Theme],Gbl.RowEvenOdd); HTM_TD_End (); /***** End row *****/ @@ -2157,7 +2158,7 @@ void TstPrn_ShowOnePrint (void) { extern const char *Hlp_ASSESSMENT_Tests_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_Result; 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]; @@ -2221,7 +2222,7 @@ void TstPrn_ShowOnePrint (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[Gbl.Usrs.Other.UsrDat.Roles.InCurrentCrs][Gbl.Usrs.Other.UsrDat.Sex]); HTM_TD_End (); @@ -2250,7 +2251,7 @@ void TstPrn_ShowOnePrint (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 (); @@ -2269,7 +2270,7 @@ void TstPrn_ShowOnePrint (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 (); @@ -2282,7 +2283,7 @@ void TstPrn_ShowOnePrint (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 (); @@ -2295,7 +2296,7 @@ void TstPrn_ShowOnePrint (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 (); @@ -2317,7 +2318,7 @@ void TstPrn_ShowOnePrint (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 (); @@ -2337,7 +2338,7 @@ void TstPrn_ShowOnePrint (void) /***** Tags present in this test *****/ 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_text.c b/swad_text.c index ca9f3114..015bbe2c 100644 --- a/swad_text.c +++ b/swad_text.c @@ -13949,46 +13949,46 @@ const char *Txt_FORUM_posts = "posts"; #endif -const char *Txt_FORUM_Post_X_allowed = // Warning: it is very important to include %ld in the following sentences +const char *Txt_FORUM_Post_X_allowed = // Warning: it is very important to include %u in the following sentences #if L==1 // ca - "Comentario %ld permitido."; // Necessita traduccio + "Comentario %u permitido."; // Necessita traduccio #elif L==2 // de - "Post %ld allowed."; // Need Übersetzung + "Post %u allowed."; // Need Übersetzung #elif L==3 // en - "Post %ld allowed."; + "Post %u allowed."; #elif L==4 // es - "Comentario %ld permitido."; + "Comentario %u permitido."; #elif L==5 // fr - "Post %ld allowed."; // Besoin de traduction + "Post %u allowed."; // Besoin de traduction #elif L==6 // gn - "Comentario %ld permitido."; // Okoteve traducción + "Comentario %u permitido."; // Okoteve traducción #elif L==7 // it - "Post %ld autorizzato."; + "Post %u autorizzato."; #elif L==8 // pl - "Post %ld dozwolone."; + "Post %u dozwolone."; #elif L==9 // pt - "Post %ld permitido."; + "Post %u permitido."; #endif -const char *Txt_FORUM_Post_X_allowed_Click_to_ban_it = // Warning: it is very important to include %ld in the following sentences +const char *Txt_FORUM_Post_X_allowed_Click_to_ban_it = // Warning: it is very important to include %u in the following sentences #if L==1 // ca - "Comentario %ld permitido. Pulse para censurarlo."; // Necessita traduccio + "Comentario %u permitido. Pulse para censurarlo."; // Necessita traduccio #elif L==2 // de - "Post %ld allowed. Click to ban it."; // Need Übersetzung + "Post %u allowed. Click to ban it."; // Need Übersetzung #elif L==3 // en - "Post %ld allowed. Click to ban it."; + "Post %u allowed. Click to ban it."; #elif L==4 // es - "Comentario %ld permitido. Pulse para censurarlo."; + "Comentario %u permitido. Pulse para censurarlo."; #elif L==5 // fr - "Post %ld allowed. Click to ban it."; // Besoin de traduction + "Post %u allowed. Click to ban it."; // Besoin de traduction #elif L==6 // gn - "Comentario %ld permitido. Pulse para censurarlo."; // Okoteve traducción + "Comentario %u permitido. Pulse para censurarlo."; // Okoteve traducción #elif L==7 // it - "Post %ld autorizzato. Clicca per censurarlo."; + "Post %u autorizzato. Clicca per censurarlo."; #elif L==8 // pl - "Post %ld dozwolone. Kliknij, aby to zakazac."; + "Post %u dozwolone. Kliknij, aby to zakazac."; #elif L==9 // pt - "Post %ld permitido. Clique para censurá-lo."; + "Post %u permitido. Clique para censurá-lo."; #endif const char *Txt_FORUM_Post_and_thread_removed = @@ -14033,46 +14033,46 @@ const char *Txt_FORUM_Post_banned = "Post não permitido."; #endif -const char *Txt_FORUM_Post_X_banned = // Warning: it is very important to include %ld in the following sentences +const char *Txt_FORUM_Post_X_banned = // Warning: it is very important to include %u in the following sentences #if L==1 // ca - "Comentario %ld no permitido"; // Necessita traduccio + "Comentario %u no permitido"; // Necessita traduccio #elif L==2 // de - "Post %ld banned."; // Need Übersetzung + "Post %u banned."; // Need Übersetzung #elif L==3 // en - "Post %ld banned."; + "Post %u banned."; #elif L==4 // es - "Comentario %ld no permitido"; + "Comentario %u no permitido"; #elif L==5 // fr - "Post %ld banned."; // Besoin de traduction + "Post %u banned."; // Besoin de traduction #elif L==6 // gn - "Comentario %ld no permitido"; // Okoteve traducción + "Comentario %u no permitido"; // Okoteve traducción #elif L==7 // it - "Post %ld censurato."; + "Post %u censurato."; #elif L==8 // pl - "Post %ld zakazany."; + "Post %u zakazany."; #elif L==9 // pt - "Post %ld não permitido."; + "Post %u não permitido."; #endif -const char *Txt_FORUM_Post_X_banned_Click_to_unban_it = // Warning: it is very important to include %ld in the following sentences +const char *Txt_FORUM_Post_X_banned_Click_to_unban_it = // Warning: it is very important to include %u in the following sentences #if L==1 // ca - "Comentario %ld no permitido. Pulse para permitirlo."; // Necessita traduccio + "Comentario %u no permitido. Pulse para permitirlo."; // Necessita traduccio #elif L==2 // de - "Post %ld banned. Click to unban it."; // Need Übersetzung + "Post %u banned. Click to unban it."; // Need Übersetzung #elif L==3 // en - "Post %ld banned. Click to unban it."; + "Post %u banned. Click to unban it."; #elif L==4 // es - "Comentario %ld no permitido. Pulse para permitirlo."; + "Comentario %u no permitido. Pulse para permitirlo."; #elif L==5 // fr - "Post %ld banned. Click to unban it."; // Besoin de traduction + "Post %u banned. Click to unban it."; // Besoin de traduction #elif L==6 // gn - "Comentario %ld no permitido. Pulse para permitirlo."; // Okoteve traducción + "Comentario %u no permitido. Pulse para permitirlo."; // Okoteve traducción #elif L==7 // it - "Post %ld censurato. Clicca per autorizzarlo."; + "Post %u censurato. Clicca per autorizzarlo."; #elif L==8 // pl - "Post %ld zakazany.Kliknij, aby to odbanowac."; + "Post %u zakazany.Kliknij, aby to odbanowac."; #elif L==9 // pt - "Post %ld não permitido. Clique para permiti-lo."; + "Post %u não permitido. Clique para permiti-lo."; #endif const char *Txt_FORUM_Post_sent = @@ -41073,46 +41073,46 @@ const char *Txt_See_notifications = "Ver notificações"; #endif -const char *Txt_See_only_the_latest_X_COMMENTS = // Warning: it is very important to include %ld in the following sentences +const char *Txt_See_only_the_latest_X_COMMENTS = // Warning: it is very important to include %u in the following sentences #if L==1 // ca - "Veure només els %ld últims"; + "Veure només els %u últims"; #elif L==2 // de - "Nur die neuesten %ld anzeigen"; + "Nur die neuesten %u anzeigen"; #elif L==3 // en - "See only the %ld latest"; + "See only the %u latest"; #elif L==4 // es - "Ver sólo los %ld últimos"; + "Ver sólo los %u últimos"; #elif L==5 // fr - "Voir seulement les %ld dernières"; + "Voir seulement les %u dernières"; #elif L==6 // gn - "Ver sólo los %ld últimos"; // Okoteve traducción + "Ver sólo los %u últimos"; // Okoteve traducción #elif L==7 // it - "Vedi solo le ultime %ld"; + "Vedi solo le ultime %u"; #elif L==8 // pl - "Zobacz tylko najnowsze %ld"; + "Zobacz tylko najnowsze %u"; #elif L==9 // pt - "Ver apenas os %ld últimos"; + "Ver apenas os %u últimos"; #endif -const char *Txt_See_the_previous_X_COMMENTS = // Warning: it is very important to include %ld in the following sentences +const char *Txt_See_the_previous_X_COMMENTS = // Warning: it is very important to include %u in the following sentences #if L==1 // ca - "Veure els %ld anteriors"; + "Veure els %u anteriors"; #elif L==2 // de - "Siehe die vorherigen %ld"; + "Siehe die vorherigen %u"; #elif L==3 // en - "See the previous %ld"; + "See the previous %u"; #elif L==4 // es - "Ver los %ld anteriores"; + "Ver los %u anteriores"; #elif L==5 // fr - "Voir les %ld précédents"; + "Voir les %u précédents"; #elif L==6 // gn - "Ver los %ld anteriores"; // Okoteve traducción + "Ver los %u anteriores"; // Okoteve traducción #elif L==7 // it - "Vedi i precedente %ld"; + "Vedi i precedente %u"; #elif L==8 // pl - "Zobacz poprzednie %ld"; + "Zobacz poprzednie %u"; #elif L==9 // pt - "Ver os %ld anteriores"; + "Ver os %u anteriores"; #endif const char *Txt_Select_another_country = @@ -42531,46 +42531,46 @@ const char *Txt_Show_more_recipients = "Ver mais destinatários"; #endif -const char *Txt_Show_next_X_clicks = // Warning: it is very important to include %ld in the following sentences +const char *Txt_Show_next_X_clicks = // Warning: it is very important to include %u in the following sentences #if L==1 // ca - "Mostrar %ld clics posteriores"; // Necessita traduccio + "Mostrar %u clics posteriores"; // Necessita traduccio #elif L==2 // de - "Show next %ld clicks"; // Need Übersetzung + "Show next %u clicks"; // Need Übersetzung #elif L==3 // en - "Show next %ld clicks"; + "Show next %u clicks"; #elif L==4 // es - "Mostrar %ld clics posteriores"; + "Mostrar %u clics posteriores"; #elif L==5 // fr - "Show next %ld clicks"; // Besoin de traduction + "Show next %u clicks"; // Besoin de traduction #elif L==6 // gn - "Mostrar %ld clics posteriores"; // Okoteve traducción + "Mostrar %u clics posteriores"; // Okoteve traducción #elif L==7 // it - "Mostra %ld scatti seguenti"; + "Mostra %u scatti seguenti"; #elif L==8 // pl - "Show next %ld clicks"; // Potrzebujesz tlumaczenie + "Show next %u clicks"; // Potrzebujesz tlumaczenie #elif L==9 // pt - "Mostrar %ld cliques subsequentes"; + "Mostrar %u cliques subsequentes"; #endif -const char *Txt_Show_previous_X_clicks = // Warning: it is very important to include %ld in the following sentences +const char *Txt_Show_previous_X_clicks = // Warning: it is very important to include %u in the following sentences #if L==1 // ca - "Mostrar %ld clics anteriores"; // Necessita traduccio + "Mostrar %u clics anteriores"; // Necessita traduccio #elif L==2 // de - "Show previous %ld clicks"; // Need Übersetzung + "Show previous %u clicks"; // Need Übersetzung #elif L==3 // en - "Show previous %ld clicks"; + "Show previous %u clicks"; #elif L==4 // es - "Mostrar %ld clics anteriores"; + "Mostrar %u clics anteriores"; #elif L==5 // fr - "Show previous %ld clicks"; // Besoin de traduction + "Show previous %u clicks"; // Besoin de traduction #elif L==6 // gn - "Mostrar %ld clics anteriores"; // Okoteve traducción + "Mostrar %u clics anteriores"; // Okoteve traducción #elif L==7 // it - "Mostra %ld scatti precedenti"; + "Mostra %u scatti precedenti"; #elif L==8 // pl - "Show previous %ld clicks"; // Potrzebujesz tlumaczenie + "Show previous %u clicks"; // Potrzebujesz tlumaczenie #elif L==9 // pt - "Mostrar %ld cliques anteriores"; + "Mostrar %u cliques anteriores"; #endif const char *Txt_Show_questions = @@ -52642,25 +52642,25 @@ const char *Txt_TIMELINE_Favourite = "Favorito"; #endif -const char *Txt_TIMELINE_Favourited_by_X_USERS = // Warning: it is very important to include %ld in the following sentences +const char *Txt_TIMELINE_Favourited_by_X_USERS = // Warning: it is very important to include %u in the following sentences #if L==1 // ca - "Marcat com favorit per %ld"; + "Marcat com favorit per %u"; #elif L==2 // de - "Von %ld vorgemerkt"; + "Von %u vorgemerkt"; #elif L==3 // en - "Favourited by %ld"; + "Favourited by %u"; #elif L==4 // es - "Marcado como favorito por %ld"; + "Marcado como favorito por %u"; #elif L==5 // fr - "Ajouté aux favoris par %ld"; + "Ajouté aux favoris par %u"; #elif L==6 // gn - "Marcado como favorito por %ld"; // Okoteve traducción + "Marcado como favorito por %u"; // Okoteve traducción #elif L==7 // it - "Preferiti da %ld"; + "Preferiti da %u"; #elif L==8 // pl - "Dodane do ulubionych przez %ld"; + "Dodane do ulubionych przez %u"; #elif L==9 // pt - "Marcado como favorito por %ld"; + "Marcado como favorito por %u"; #endif const char *Txt_TIMELINE_Not_favourited_by_anyone = // No favourited @@ -53242,25 +53242,25 @@ const char *Txt_TIMELINE_Shared = "Compartilhado"; #endif -const char *Txt_TIMELINE_Shared_by_X_USERS = // Warning: it is very important to include %ld in the following sentences +const char *Txt_TIMELINE_Shared_by_X_USERS = // Warning: it is very important to include %u in the following sentences #if L==1 // ca - "Compartit per %ld"; + "Compartit per %u"; #elif L==2 // de - "Von %ld geteilt"; + "Von %u geteilt"; #elif L==3 // en - "Shared by %ld"; + "Shared by %u"; #elif L==4 // es - "Compartido por %ld"; + "Compartido por %u"; #elif L==5 // fr - "Partagé par %ld"; + "Partagé par %u"; #elif L==6 // gn - "Compartido por %ld"; // Okoteve traducción + "Compartido por %u"; // Okoteve traducción #elif L==7 // it - "Condiviso da %ld"; + "Condiviso da %u"; #elif L==8 // pl - "Udostępnione przez %ld"; + "Udostępnione przez %u"; #elif L==9 // pt - "Compartilhado por %ld"; + "Compartilhado por %u"; #endif const char *Txt_TIMETABLE_CLASS_TYPES[Tmt_NUM_CLASS_TYPES] = diff --git a/swad_theme.c b/swad_theme.c index f363f5e2..a0dc1b9b 100644 --- a/swad_theme.c +++ b/swad_theme.c @@ -327,15 +327,37 @@ const char *The_ClassDat[The_NUM_THEMES] = [The_THEME_DARK ] = "DAT_DARK", }; -const char *The_ClassDatN[The_NUM_THEMES] = +const char *The_ClassDatStrong[The_NUM_THEMES] = { - [The_THEME_WHITE ] = "DAT_N_WHITE", - [The_THEME_GREY ] = "DAT_N_GREY", - [The_THEME_PURPLE] = "DAT_N_PURPLE", - [The_THEME_BLUE ] = "DAT_N_BLUE", - [The_THEME_YELLOW] = "DAT_N_YELLOW", - [The_THEME_PINK ] = "DAT_N_PINK", - [The_THEME_DARK ] = "DAT_N_DARK", + [The_THEME_WHITE ] = "DAT_STRONG_WHITE", + [The_THEME_GREY ] = "DAT_STRONG_GREY", + [The_THEME_PURPLE] = "DAT_STRONG_PURPLE", + [The_THEME_BLUE ] = "DAT_STRONG_BLUE", + [The_THEME_YELLOW] = "DAT_STRONG_YELLOW", + [The_THEME_PINK ] = "DAT_STRONG_PINK", + [The_THEME_DARK ] = "DAT_STRONG_DARK", + }; + +const char *The_ClassDatLight[The_NUM_THEMES] = + { + [The_THEME_WHITE ] = "DAT_LIGHT_WHITE", + [The_THEME_GREY ] = "DAT_LIGHT_GREY", + [The_THEME_PURPLE] = "DAT_LIGHT_PURPLE", + [The_THEME_BLUE ] = "DAT_LIGHT_BLUE", + [The_THEME_YELLOW] = "DAT_LIGHT_YELLOW", + [The_THEME_PINK ] = "DAT_LIGHT_PINK", + [The_THEME_DARK ] = "DAT_LIGHT_DARK", + }; + +const char *The_ClassBgHighlight[The_NUM_THEMES] = + { + [The_THEME_WHITE ] = "BG_HIGHLIGHT_WHITE", + [The_THEME_GREY ] = "BG_HIGHLIGHT_GREY", + [The_THEME_PURPLE] = "BG_HIGHLIGHT_PURPLE", + [The_THEME_BLUE ] = "BG_HIGHLIGHT_BLUE", + [The_THEME_YELLOW] = "BG_HIGHLIGHT_YELLOW", + [The_THEME_PINK ] = "BG_HIGHLIGHT_PINK", + [The_THEME_DARK ] = "BG_HIGHLIGHT_DARK", }; /*****************************************************************************/ diff --git a/swad_timeline.c b/swad_timeline.c index 50e538d9..2c90cd7e 100644 --- a/swad_timeline.c +++ b/swad_timeline.c @@ -278,7 +278,7 @@ void Tml_ShowTimelineUsrHighlighting (struct Tml_Timeline *Timeline,long NotCod) /***** Show timeline *****/ Tml_ShowTimeline (Timeline,NotCod, - Str_BuildStringStr (Txt_Timeline_OF_A_USER, + Str_BuildString (Txt_Timeline_OF_A_USER, Gbl.Usrs.Other.UsrDat.FrstName)); Str_FreeStrings (); @@ -517,13 +517,15 @@ static void Tml_PutHiddenList (const char *Id) void Tml_WriteDateTime (time_t TimeUTC) { + extern const char *The_ClassDatLight[The_NUM_THEMES]; char IdDateTime[Frm_MAX_BYTES_ID + 1]; /***** Create unique Id *****/ Frm_SetUniqueId (IdDateTime); /***** Container where the date-time is written *****/ - HTM_DIV_Begin ("id=\"%s\" class=\"Tml_RIGHT_TIME DAT_LIGHT\"",IdDateTime); + HTM_DIV_Begin ("id=\"%s\" class=\"Tml_RIGHT_TIME %s\"", + IdDateTime,The_ClassDatLight[Gbl.Prefs.Theme]); HTM_DIV_End (); /***** Script to write date and time in browser local time *****/ diff --git a/swad_timeline_comment.c b/swad_timeline_comment.c index 497369ca..826ccd47 100644 --- a/swad_timeline_comment.c +++ b/swad_timeline_comment.c @@ -487,7 +487,7 @@ static void Tml_Com_LinkToShowComms (Tml_Com_ContractExpand_t ConExp, /* Icon and text */ Tml_Com_PutIconToToggleComms (IdComms,Link[ConExp].Icon, - Str_BuildStringLong (*Link[ConExp].Text,(long) NumComms)); + Str_BuildString (*Link[ConExp].Text,NumComms)); Str_FreeStrings (); /* End container */ @@ -612,6 +612,7 @@ static void Tml_Com_WriteAuthorTimeAndContent (struct Tml_Com_Comment *Com, static void Tml_Com_WriteAuthorName (const struct UsrData *UsrDat) // Author { + extern const char *The_ClassDat[The_NUM_THEMES]; extern const char *Txt_My_public_profile; extern const char *Txt_Another_user_s_profile; @@ -623,7 +624,9 @@ static void Tml_Com_WriteAuthorName (const struct UsrData *UsrDat) // Author /* Author's name */ HTM_BUTTON_SUBMIT_Begin (Usr_ItsMe (UsrDat->UsrCod) ? Txt_My_public_profile : Txt_Another_user_s_profile, - "BT_LINK Tml_COM_AUTHOR Tml_COMM_AUTHOR_WIDTH DAT_BOLD",NULL); + Str_BuildString ("Tml_COM_AUTHOR Tml_COMM_AUTHOR_WIDTH BT_LINK %s BOLD", + The_ClassDat[Gbl.Prefs.Theme]), + NULL); HTM_Txt (UsrDat->FullName); HTM_BUTTON_End (); diff --git a/swad_timeline_form.c b/swad_timeline_form.c index 1fbf53de..104ffb63 100644 --- a/swad_timeline_form.c +++ b/swad_timeline_form.c @@ -340,8 +340,8 @@ void Tml_Frm_FormToShowHiddenComms (long NotCod, /* Put icon and text with link to show the first hidden comments */ HTM_BUTTON_SUBMIT_Begin (NULL,The_ClassFormLinkInBox[Gbl.Prefs.Theme],NULL); Ico_PutIconTextLink ("angle-up.svg", - Str_BuildStringLong (Txt_See_the_previous_X_COMMENTS, - (long) NumInitialComms)); + Str_BuildString (Txt_See_the_previous_X_COMMENTS, + NumInitialComms)); Str_FreeStrings (); HTM_BUTTON_End (); diff --git a/swad_timeline_note.c b/swad_timeline_note.c index 13e6f38d..af25ac2a 100644 --- a/swad_timeline_note.c +++ b/swad_timeline_note.c @@ -316,13 +316,16 @@ void Tml_Not_ShowAuthorPhoto (struct UsrData *UsrDat,bool FormUnique) static void Tml_Not_WriteAuthorTimeAndContent (const struct Tml_Not_Note *Not, const struct UsrData *UsrDat) { + extern const char *The_ClassDatStrong[The_NUM_THEMES]; + /***** Begin top container *****/ HTM_DIV_Begin ("class=\"Tml_RIGHT_CONT Tml_RIGHT_WIDTH\""); /***** Write author's full name *****/ Tml_Not_WriteAuthorName (UsrDat, - "BT_LINK Tml_RIGHT_AUTHOR" - " Tml_RIGHT_AUTHOR_WIDTH DAT_N_BOLD"); + Str_BuildString ("Tml_RIGHT_AUTHOR Tml_RIGHT_AUTHOR_WIDTH BT_LINK %s BOLD", + The_ClassDatStrong[Gbl.Prefs.Theme])); + Str_FreeStrings (); /***** Write date and time *****/ Tml_WriteDateTime (Not->DateTimeUTC); @@ -683,7 +686,7 @@ static void Tml_Not_PutFormGoToAction (const struct Tml_Not_Note *Not, /***** Icon and link to go to action *****/ /* Begin button */ HTM_BUTTON_SUBMIT_Begin (Txt_TIMELINE_NOTE[Not->Type], - Str_BuildStringStr ("BT_LINK %s ICO_HIGHLIGHT", + Str_BuildString ("BT_LINK %s ICO_HIGHLIGHT", The_ClassFormInBoxBold[Gbl.Prefs.Theme]), NULL); Str_FreeStrings (); diff --git a/swad_timeline_post.c b/swad_timeline_post.c index c454b073..9a1131cc 100644 --- a/swad_timeline_post.c +++ b/swad_timeline_post.c @@ -165,6 +165,7 @@ void Tml_Pst_PutPhotoAndFormToWriteNewPost (struct Tml_Timeline *Timeline) static void Tml_Pst_PutFormToWriteNewPost (struct Tml_Timeline *Timeline) { + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_New_TIMELINE_post; /***** Begin container *****/ @@ -172,8 +173,9 @@ static void Tml_Pst_PutFormToWriteNewPost (struct Tml_Timeline *Timeline) /***** Author name *****/ Tml_Not_WriteAuthorName (&Gbl.Usrs.Me.UsrDat, - "BT_LINK Tml_RIGHT_AUTHOR" - " Tml_RIGHT_AUTHOR_WIDTH DAT_N_BOLD"); + Str_BuildString ("Tml_RIGHT_AUTHOR Tml_RIGHT_AUTHOR_WIDTH BT_LINK %s BOLD", + The_ClassDatStrong[Gbl.Prefs.Theme])); + Str_FreeStrings (); /***** Form to write the post *****/ /* Begin container */ diff --git a/swad_timeline_user.c b/swad_timeline_user.c index 2a0f8859..3632e9cd 100644 --- a/swad_timeline_user.c +++ b/swad_timeline_user.c @@ -351,7 +351,7 @@ static void Tml_Usr_PutDisabledIconFavSha (Tml_Usr_FavSha_t FavSha, if (NumUsrs) { Ico_PutDivIcon ("Tml_ICO_DISABLED",Ico[FavSha].Icon, - Str_BuildStringLong (*Ico[FavSha].Title.WithUsrs,(long) NumUsrs)); + Str_BuildString (*Ico[FavSha].Title.WithUsrs,NumUsrs)); Str_FreeStrings (); } else diff --git a/swad_user.c b/swad_user.c index 7b8a5f5a..16f747ce 100644 --- a/swad_user.c +++ b/swad_user.c @@ -1356,7 +1356,7 @@ void Usr_WriteLoggedUsrHead (void) { Frm_BeginForm (ActFrmRolSes); HTM_BUTTON_SUBMIT_Begin (Txt_Role, - Str_BuildStringStr ("BT_LINK %s", + Str_BuildString ("BT_LINK %s", The_ClassUsr[Gbl.Prefs.Theme]), NULL); Str_FreeStrings (); @@ -2032,6 +2032,7 @@ void Usr_ShowFormsLogoutAndRole (void) extern const char *Hlp_PROFILE_Session_role; extern const char *The_ClassFormInBox[The_NUM_THEMES]; extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassDatStrong[The_NUM_THEMES]; extern const char *Txt_Session; extern const char *Txt_Role; extern const char *Txt_You_are_now_LOGGED_IN_as_X; @@ -2057,7 +2058,7 @@ void Usr_ShowFormsLogoutAndRole (void) HTM_TxtColonNBSP (Txt_Role); HTM_SPAN_End (); - HTM_SPAN_Begin ("class=\"DAT_N_BOLD\""); + HTM_SPAN_Begin ("class=\"%s BOLD\"",The_ClassDatStrong[Gbl.Prefs.Theme]); HTM_Txt (Txt_ROLES_SINGUL_Abc[Gbl.Usrs.Me.Role.Logged][Gbl.Usrs.Me.UsrDat.Sex]); HTM_SPAN_End (); } @@ -3833,6 +3834,7 @@ void Usr_ListUsersToSelect (Rol_Role_t Role,struct SelectedUsrs *SelectedUsrs) static void Usr_PutCheckboxToSelectAllUsers (Rol_Role_t Role, struct SelectedUsrs *SelectedUsrs) { + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; char *ParamName; @@ -3840,7 +3842,9 @@ static void Usr_PutCheckboxToSelectAllUsers (Rol_Role_t Role, HTM_TR_Begin (NULL); - HTM_TH_Begin (1,Usr_GetColumnsForSelectUsrs (),"LM LIGHT_BLUE"); + HTM_TH_Begin (1,Usr_GetColumnsForSelectUsrs (), + Str_BuildString ("LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme])); + Str_FreeStrings (); HTM_LABEL_Begin (NULL); if (Usr_NameSelUnsel[Role] && Usr_ParamUsrCod[Role]) @@ -3987,20 +3991,26 @@ void Usr_SetUsrDatMainFieldNames (void) void Usr_WriteHeaderFieldsUsrDat (bool PutCheckBoxToSelectUsr) { + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; unsigned NumCol; + const char *ClassHeader; HTM_TR_Begin (NULL); + ClassHeader = Str_BuildString ("LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme]); + /***** First column used for selection *****/ if (PutCheckBoxToSelectUsr) - HTM_TH (1,1,"LM LIGHT_BLUE",NULL); + HTM_TH (1,1,ClassHeader,NULL); /***** Columns for user's data fields *****/ for (NumCol = 0; NumCol < Usr_NUM_MAIN_FIELDS_DATA_USR; NumCol++) if (NumCol != 2 || Gbl.Usrs.Listing.WithPhotos) // Skip photo column if I don't want this column - HTM_TH (1,1,"LM LIGHT_BLUE",Usr_UsrDatMainFieldNames[NumCol]); + HTM_TH (1,1,ClassHeader,Usr_UsrDatMainFieldNames[NumCol]); + + Str_FreeStrings (); HTM_TR_End (); } @@ -4140,9 +4150,11 @@ static void Usr_ListMainDataStds (bool PutCheckBoxToSelectUsr) static void Usr_ListMainDataTchs (Rol_Role_t Role, bool PutCheckBoxToSelectUsr) { + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; unsigned NumCol; unsigned NumUsr; struct UsrData UsrDat; + const char *ClassHeader; if (Gbl.Usrs.LstUsrs[Role].NumUsrs) { @@ -4154,16 +4166,20 @@ static void Usr_ListMainDataTchs (Rol_Role_t Role, /* Begin row */ HTM_TR_Begin (NULL); + ClassHeader = Str_BuildString ("LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme]); + /* First column used for selection */ if (PutCheckBoxToSelectUsr) - HTM_TH (1,1,"LM LIGHT_BLUE",NULL); + HTM_TH (1,1,ClassHeader,NULL); /* Columns for the data */ for (NumCol = 0; NumCol < Usr_NUM_MAIN_FIELDS_DATA_USR; NumCol++) if (NumCol != 2 || Gbl.Usrs.Listing.WithPhotos) // Skip photo column if I don't want this column - HTM_TH (1,1,"LM LIGHT_BLUE",Usr_UsrDatMainFieldNames[NumCol]); + HTM_TH (1,1,ClassHeader,Usr_UsrDatMainFieldNames[NumCol]); + + Str_FreeStrings (); /* End row */ HTM_TR_End (); @@ -4199,6 +4215,7 @@ static void Usr_ListMainDataTchs (Rol_Role_t Role, void Usr_ListAllDataGsts (void) { + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; extern const char *Txt_Photo; extern const char *Txt_ID; extern const char *Txt_Surname_1; @@ -4216,6 +4233,7 @@ void Usr_ListAllDataGsts (void) unsigned NumUsr; struct UsrData UsrDat; const char *FieldNames[Usr_NUM_ALL_FIELDS_DATA_GST]; + const char *ClassHeader; /***** Initialize field names *****/ FieldNames[ 0] = Txt_Photo; @@ -4255,13 +4273,16 @@ void Usr_ListAllDataGsts (void) /* Begin row */ HTM_TR_Begin (NULL); + ClassHeader = Str_BuildString ("LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme]); /* Columns for the data */ for (NumCol = (Gbl.Usrs.Listing.WithPhotos ? 0 : 1); NumCol < NumColumnsCommonCard; NumCol++) - HTM_TH (1,1,"LM LIGHT_BLUE",FieldNames[NumCol]); + HTM_TH (1,1,ClassHeader,FieldNames[NumCol]); + + Str_FreeStrings (); /* End row */ HTM_TR_End (); @@ -4308,6 +4329,7 @@ void Usr_ListAllDataGsts (void) void Usr_ListAllDataStds (void) { + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; extern const char *Txt_Photo; extern const char *Txt_ID; extern const char *Txt_Surname_1; @@ -4329,6 +4351,7 @@ void Usr_ListAllDataStds (void) struct UsrData UsrDat; const char *FieldNames[Usr_NUM_ALL_FIELDS_DATA_STD]; size_t Length; + const char *ClassHeader; /***** Initialize field names *****/ FieldNames[0] = Txt_Photo; @@ -4408,12 +4431,14 @@ void Usr_ListAllDataStds (void) /* Begin row */ HTM_TR_Begin (NULL); + ClassHeader = Str_BuildString ("LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme]); + /* 1. Columns for the data */ for (NumCol = (Gbl.Usrs.Listing.WithPhotos ? 0 : 1); NumCol < NumColsCommonRecord; NumCol++) - HTM_TH (1,1,"LM LIGHT_BLUE",FieldNames[NumCol]); + HTM_TH (1,1,ClassHeader,FieldNames[NumCol]); /* 2. Columns for the groups */ if (Gbl.Scope.Current == HieLvl_CRS) @@ -4424,7 +4449,7 @@ void Usr_ListAllDataStds (void) NumGrpTyp++) if (Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].NumGrps) // If current course tiene groups of este type { - HTM_TH_Begin (1,1,"LM LIGHT_BLUE"); + HTM_TH_Begin (1,1,ClassHeader); HTM_TxtF ("%s %s", Txt_Group, Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].GrpTypName); @@ -4437,7 +4462,7 @@ void Usr_ListAllDataStds (void) for (NumField = 0; NumField < Gbl.Crs.Records.LstFields.Num; NumField++) - HTM_TH (1,1,"LM LIGHT_BLUE",Gbl.Crs.Records.LstFields.Lst[NumField].Name); + HTM_TH (1,1,ClassHeader,Gbl.Crs.Records.LstFields.Lst[NumField].Name); /* 4. Visibility type for the record fields that depend on the course, in other row */ HTM_TR_End (); @@ -4449,20 +4474,23 @@ void Usr_ListAllDataStds (void) NumCol++) if (NumCol != 1 || Gbl.Usrs.Listing.WithPhotos) // Skip photo column if I don't want it in listing { - HTM_TD_Begin ("class=\"VERY_LIGHT_BLUE\""); + HTM_TD_Begin ("class=\"%s\"",ClassHeader); HTM_TD_End (); } for (NumField = 0; NumField < Gbl.Crs.Records.LstFields.Num; NumField++) { - HTM_TH_Begin (1,1,"LM VERY_LIGHT_BLUE"); - HTM_TxtF ("(%s)",Txt_RECORD_FIELD_VISIBILITY_RECORD[Gbl.Crs.Records.LstFields.Lst[NumField].Visibility]); + HTM_TH_Begin (1,1,ClassHeader); + HTM_TxtF ("(%s)", + Txt_RECORD_FIELD_VISIBILITY_RECORD[Gbl.Crs.Records.LstFields.Lst[NumField].Visibility]); HTM_TH_End (); } } } + Str_FreeStrings (); + /* End row */ HTM_TR_End (); @@ -4654,18 +4682,24 @@ static void Usr_ListRowsAllDataTchs (Rol_Role_t Role, const char *FieldNames[Usr_NUM_ALL_FIELDS_DATA_TCH], unsigned NumColumns) { + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; unsigned NumCol; struct UsrData UsrDat; unsigned NumUsr; + const char *ClassHeader; /***** Heading row *****/ HTM_TR_Begin (NULL); + ClassHeader = Str_BuildString ("LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme]); + for (NumCol = (Gbl.Usrs.Listing.WithPhotos ? 0 : 1); NumCol < NumColumns; NumCol++) - HTM_TH (1,1,"LM LIGHT_BLUE",FieldNames[NumCol]); + HTM_TH (1,1,ClassHeader,FieldNames[NumCol]); + + Str_FreeStrings (); HTM_TR_End (); @@ -4726,11 +4760,11 @@ unsigned Usr_ListUsrsFound (Rol_Role_t Role, /***** Begin box and table *****/ /* Number of users found */ Sex = Usr_GetSexOfUsrsLst (Role); - Box_BoxTableBegin (NULL,Str_BuildStringLongStr ((long) NumUsrs, - (Role == Rol_UNK) ? ((NumUsrs == 1) ? Txt_user[Sex] : - Txt_users[Sex]) : - ((NumUsrs == 1) ? Txt_ROLES_SINGUL_abc[Role][Sex] : - Txt_ROLES_PLURAL_abc[Role][Sex])), + Box_BoxTableBegin (NULL,Str_BuildString ("%u %s",NumUsrs, + (Role == Rol_UNK) ? ((NumUsrs == 1) ? Txt_user[Sex] : + Txt_users[Sex]) : + ((NumUsrs == 1) ? Txt_ROLES_SINGUL_abc[Role][Sex] : + Txt_ROLES_PLURAL_abc[Role][Sex])), NULL,NULL, NULL,Box_NOT_CLOSABLE,2); Str_FreeStrings (); @@ -4810,6 +4844,7 @@ unsigned Usr_ListUsrsFound (Rol_Role_t Role, void Usr_ListDataAdms (void) { extern const char *Hlp_USERS_Administrators; + extern const char *The_ClassBgHighlight[The_NUM_THEMES]; extern const char *The_ClassFormInBox[The_NUM_THEMES]; extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_Scope; @@ -4825,6 +4860,7 @@ void Usr_ListDataAdms (void) unsigned NumUsr; struct UsrData UsrDat; const char *FieldNames[Usr_NUM_MAIN_FIELDS_DATA_ADM]; + const char *ClassHeader; /***** Put contextual links *****/ switch (Gbl.Usrs.Me.Role.Logged) @@ -4908,11 +4944,15 @@ void Usr_ListDataAdms (void) HTM_TABLE_Begin (NULL); HTM_TR_Begin (NULL); + ClassHeader = Str_BuildString ("LM %s",The_ClassBgHighlight[Gbl.Prefs.Theme]); + for (NumCol = 0; NumCol < Usr_NUM_MAIN_FIELDS_DATA_ADM; NumCol++) if (NumCol != 1 || Gbl.Usrs.Listing.WithPhotos) // Skip photo column if I don't want this column - HTM_TH (1,1,"LM LIGHT_BLUE",FieldNames[NumCol]); + HTM_TH (1,1,ClassHeader,FieldNames[NumCol]); + + Str_FreeStrings (); HTM_TR_End ();