Version 21.72.1: Dec 22, 2021 Working on design of dark theme.

This commit is contained in:
acanas 2021-12-22 18:54:43 +01:00
parent 406e53fc51
commit 7327c8be5e
67 changed files with 414 additions and 354 deletions

View File

@ -95,7 +95,7 @@ address
/*********************** Text decoration of links ****************************/ /*********************** Text decoration of links ****************************/
a a
{ {
color:#4D88A1; color:#4D88A1;text-decoration:none;
} }
a:link, a:visited, a:active a:link, a:visited, a:active
{ {
@ -1630,7 +1630,6 @@ a:hover img.CENTER_PHOTO_SHOW
.BT_LINK:hover .BT_LINK:hover
{ {
cursor:pointer; cursor:pointer;
text-decoration:underline;
} }
/****************************** Course program *******************************/ /****************************** Course program *******************************/

View File

@ -579,8 +579,8 @@ static void ID_ShowFormChangeUsrID (bool ItsMe,bool IShouldFillInID)
UsrDat->IDs.List[NumID].Confirmed ? "USR_ID_C" : UsrDat->IDs.List[NumID].Confirmed ? "USR_ID_C" :
"USR_ID_NC", "USR_ID_NC",
Str_BuildString (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, Txt_ID_X_not_confirmed,
UsrDat->IDs.List[NumID].ID)); UsrDat->IDs.List[NumID].ID));
Str_FreeStrings (); Str_FreeStrings ();
HTM_Txt (UsrDat->IDs.List[NumID].ID); HTM_Txt (UsrDat->IDs.List[NumID].ID);
HTM_Txt (UsrDat->IDs.List[NumID].Confirmed ? "✓" : HTM_Txt (UsrDat->IDs.List[NumID].Confirmed ? "✓" :

View File

@ -110,7 +110,7 @@ void Acc_PutLinkToCreateAccount (void)
Lay_PutContextualLinkIconText (ActFrmMyAcc,NULL, Lay_PutContextualLinkIconText (ActFrmMyAcc,NULL,
NULL,NULL, NULL,NULL,
"at.svg",Ico_BLACK, "at.svg",Ico_BLACK,
Txt_Create_account); Txt_Create_account,NULL);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -439,7 +439,7 @@ void Acc_ShowFormGoToRequestNewAccount (void)
/***** Begin box *****/ /***** Begin box *****/
Box_BoxBegin (NULL,Str_BuildString (Txt_New_on_PLATFORM_Sign_up, Box_BoxBegin (NULL,Str_BuildString (Txt_New_on_PLATFORM_Sign_up,
Cfg_PLATFORM_SHORT_NAME), Cfg_PLATFORM_SHORT_NAME),
NULL,NULL, NULL,NULL,
Hlp_PROFILE_SignUp,Box_NOT_CLOSABLE); Hlp_PROFILE_SignUp,Box_NOT_CLOSABLE);
Str_FreeStrings (); Str_FreeStrings ();

View File

@ -401,12 +401,12 @@ void Agd_ShowUsrAgenda (void)
/***** Begin box *****/ /***** Begin box *****/
if (Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod)) if (Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod))
Box_BoxBegin ("100%",Str_BuildString (Txt_Public_agenda_USER, Box_BoxBegin ("100%",Str_BuildString (Txt_Public_agenda_USER,
Gbl.Usrs.Me.UsrDat.FullName), Gbl.Usrs.Me.UsrDat.FullName),
Agd_PutIconsMyPublicAgenda,Gbl.Usrs.Me.UsrDat.EnUsrCod, Agd_PutIconsMyPublicAgenda,Gbl.Usrs.Me.UsrDat.EnUsrCod,
Hlp_PROFILE_Agenda_public_agenda,Box_NOT_CLOSABLE); Hlp_PROFILE_Agenda_public_agenda,Box_NOT_CLOSABLE);
else else
Box_BoxBegin ("100%",Str_BuildString (Txt_Public_agenda_USER, Box_BoxBegin ("100%",Str_BuildString (Txt_Public_agenda_USER,
Gbl.Usrs.Other.UsrDat.FullName), Gbl.Usrs.Other.UsrDat.FullName),
Agd_PutIconsOtherPublicAgenda,Gbl.Usrs.Other.UsrDat.EnUsrCod, Agd_PutIconsOtherPublicAgenda,Gbl.Usrs.Other.UsrDat.EnUsrCod,
Hlp_PROFILE_Agenda_public_agenda,Box_NOT_CLOSABLE); Hlp_PROFILE_Agenda_public_agenda,Box_NOT_CLOSABLE);
Str_FreeStrings (); Str_FreeStrings ();
@ -453,12 +453,12 @@ void Agd_ShowOtherAgendaAfterLogIn (void)
/***** Begin box *****/ /***** Begin box *****/
if (Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod)) if (Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod))
Box_BoxBegin ("100%",Str_BuildString (Txt_Public_agenda_USER, Box_BoxBegin ("100%",Str_BuildString (Txt_Public_agenda_USER,
Gbl.Usrs.Me.UsrDat.FullName), Gbl.Usrs.Me.UsrDat.FullName),
Agd_PutIconToViewEditMyFullAgenda,Gbl.Usrs.Me.UsrDat.EnUsrCod, Agd_PutIconToViewEditMyFullAgenda,Gbl.Usrs.Me.UsrDat.EnUsrCod,
Hlp_PROFILE_Agenda_public_agenda,Box_NOT_CLOSABLE); Hlp_PROFILE_Agenda_public_agenda,Box_NOT_CLOSABLE);
else else
Box_BoxBegin ("100%",Str_BuildString (Txt_Public_agenda_USER, Box_BoxBegin ("100%",Str_BuildString (Txt_Public_agenda_USER,
Gbl.Usrs.Other.UsrDat.FullName), Gbl.Usrs.Other.UsrDat.FullName),
Agd_PutIconsOtherPublicAgenda,Gbl.Usrs.Other.UsrDat.EnUsrCod, Agd_PutIconsOtherPublicAgenda,Gbl.Usrs.Other.UsrDat.EnUsrCod,
Hlp_PROFILE_Agenda_public_agenda,Box_NOT_CLOSABLE); Hlp_PROFILE_Agenda_public_agenda,Box_NOT_CLOSABLE);
Str_FreeStrings (); Str_FreeStrings ();
@ -1637,7 +1637,7 @@ void Agd_PrintAgdQRCode (void)
/***** Begin box *****/ /***** Begin box *****/
Box_BoxBegin (NULL,Str_BuildString (Txt_Where_s_USER, Box_BoxBegin (NULL,Str_BuildString (Txt_Where_s_USER,
Gbl.Usrs.Me.UsrDat.FullName), Gbl.Usrs.Me.UsrDat.FullName),
NULL,NULL, NULL,NULL,
NULL,Box_NOT_CLOSABLE); NULL,Box_NOT_CLOSABLE);
Str_FreeStrings (); Str_FreeStrings ();

View File

@ -308,7 +308,7 @@ static void Ann_DrawAnAnnouncement (long AnnCod,Ann_Status_t Status,
Lay_PutContextualLinkIconText (ActAnnSee,NULL, Lay_PutContextualLinkIconText (ActAnnSee,NULL,
Ann_PutParams,&AnnCod, Ann_PutParams,&AnnCod,
"times.svg",Ico_BLACK, "times.svg",Ico_BLACK,
Txt_Do_not_show_again); Txt_Do_not_show_again,NULL);
/* End container for foot */ /* End container for foot */
HTM_DIV_End (); HTM_DIV_End ();

View File

@ -578,7 +578,7 @@ static void Asg_WriteAssignmentFolder (struct Asg_Assignment *Asg,bool PrintView
sizeof (Gbl.FileBrowser.FilFolLnk.Name) - 1); sizeof (Gbl.FileBrowser.FilFolLnk.Name) - 1);
Gbl.FileBrowser.FilFolLnk.Type = Brw_IS_FOLDER; Gbl.FileBrowser.FilFolLnk.Type = Brw_IS_FOLDER;
Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk); Brw_PutImplicitParamsFileBrowser (&Gbl.FileBrowser.FilFolLnk);
Ico_PutIconLink ("folder-open-yellow-plus.png",Ico_BLACK, Ico_PutIconLink ("folder-open-yellow-plus.png",Ico_UNCHANGED,
Txt_Upload_file_or_create_folder); Txt_Upload_file_or_create_folder);
Frm_EndForm (); Frm_EndForm ();
switch (Gbl.Usrs.Me.Role.Logged) switch (Gbl.Usrs.Me.Role.Logged)

View File

@ -1939,7 +1939,7 @@ void Att_RegisterMeAsStdInAttEvent (void)
Present = Att_CheckIfUsrIsPresentInAttEventAndGetComments (Event.AttCod,Gbl.Usrs.Me.UsrDat.UsrCod, Present = Att_CheckIfUsrIsPresentInAttEventAndGetComments (Event.AttCod,Gbl.Usrs.Me.UsrDat.UsrCod,
CommentStd,CommentTch); CommentStd,CommentTch);
Par_GetParToHTML (Str_BuildString ("CommentStd%s", Par_GetParToHTML (Str_BuildString ("CommentStd%s",
Gbl.Usrs.Me.UsrDat.EnUsrCod), Gbl.Usrs.Me.UsrDat.EnUsrCod),
CommentStd,Cns_MAX_BYTES_TEXT); CommentStd,Cns_MAX_BYTES_TEXT);
Str_FreeStrings (); Str_FreeStrings ();
@ -2056,7 +2056,7 @@ void Att_RegisterStudentsInAttEvent (void)
/***** Get comments for this student *****/ /***** Get comments for this student *****/
Att_CheckIfUsrIsPresentInAttEventAndGetComments (Event.AttCod,Gbl.Usrs.LstUsrs[Rol_STD].Lst[NumUsr].UsrCod,CommentStd,CommentTch); Att_CheckIfUsrIsPresentInAttEventAndGetComments (Event.AttCod,Gbl.Usrs.LstUsrs[Rol_STD].Lst[NumUsr].UsrCod,CommentStd,CommentTch);
Par_GetParToHTML (Str_BuildString ("CommentTch%s", Par_GetParToHTML (Str_BuildString ("CommentTch%s",
Gbl.Usrs.LstUsrs[Rol_STD].Lst[NumUsr].EnUsrCod), Gbl.Usrs.LstUsrs[Rol_STD].Lst[NumUsr].EnUsrCod),
CommentTch,Cns_MAX_BYTES_TEXT); CommentTch,Cns_MAX_BYTES_TEXT);
Str_FreeStrings (); Str_FreeStrings ();

View File

@ -4814,7 +4814,7 @@ static void Brw_IndentAndWriteIconExpandContract (unsigned Level,
switch (IconThisRow) switch (IconThisRow)
{ {
case Brw_ICON_TREE_NOTHING: case Brw_ICON_TREE_NOTHING:
Ico_PutIcon ("tr16x16.gif",Ico_BLACK,"","ICO20x20"); Ico_PutIcon ("tr16x16.gif",Ico_UNCHANGED,"","ICO20x20");
break; break;
case Brw_ICON_TREE_EXPAND: case Brw_ICON_TREE_EXPAND:
/***** Visible icon to expand folder *****/ /***** Visible icon to expand folder *****/
@ -4855,7 +4855,7 @@ static void Brw_IndentDependingOnLevel (unsigned Level)
i++) i++)
{ {
HTM_TD_Begin ("class=\"BM%u\"",Gbl.RowEvenOdd); HTM_TD_Begin ("class=\"BM%u\"",Gbl.RowEvenOdd);
Ico_PutIcon ("tr16x16.gif",Ico_BLACK,"","ICO20x20"); Ico_PutIcon ("tr16x16.gif",Ico_UNCHANGED,"","ICO20x20");
HTM_TD_End (); HTM_TD_End ();
} }
} }
@ -5058,7 +5058,7 @@ static void Brw_PutIconFolderWithoutPlus (const char *FileBrowserId,const char *
/***** Icon *****/ /***** Icon *****/
Ico_PutIcon (Open ? "folder-open-yellow.png" : Ico_PutIcon (Open ? "folder-open-yellow.png" :
"folder-yellow.png", "folder-yellow.png",
Ico_BLACK, Ico_UNCHANGED,
Txt_Folder,"CONTEXT_OPT CONTEXT_ICO_16x16"); Txt_Folder,"CONTEXT_OPT CONTEXT_ICO_16x16");
/***** End container *****/ /***** End container *****/
@ -5098,7 +5098,7 @@ static void Brw_PutIconNewFileOrFolder (void)
/***** Icon that indicates new file *****/ /***** Icon that indicates new file *****/
HTM_TD_Begin ("class=\"BM%u\"",Gbl.RowEvenOdd); HTM_TD_Begin ("class=\"BM%u\"",Gbl.RowEvenOdd);
Ico_PutIcon ("star16x16.gif",Ico_BLACK,Txt_New_FILE_OR_FOLDER,"ICO20x20"); Ico_PutIcon ("star16x16.gif",Ico_UNCHANGED,Txt_New_FILE_OR_FOLDER,"ICO20x20");
HTM_TD_End (); HTM_TD_End ();
} }
@ -5486,7 +5486,7 @@ static void Brw_WriteFileOrFolderPublisher (unsigned Level,long UsrCod)
ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM, ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM,
false); false);
else else
Ico_PutIcon ("usr_bl.jpg",Ico_BLACK,Txt_Unknown_or_without_photo, Ico_PutIcon ("usr_bl.jpg",Ico_UNCHANGED,Txt_Unknown_or_without_photo,
ClassPhoto[Gbl.Prefs.PhotoShape]); ClassPhoto[Gbl.Prefs.PhotoShape]);
HTM_TD_End (); HTM_TD_End ();
@ -8518,7 +8518,7 @@ static void Brw_WriteBigLinkToDownloadFile (const char *URL,
/* Name of the file of marks, link end and form end */ /* Name of the file of marks, link end and form end */
HTM_TxtF (" %s ",FileNameToShow); HTM_TxtF (" %s ",FileNameToShow);
Ico_PutIcon ("grades32x32.gif",Ico_BLACK,Txt_Check_marks_in_the_file,"ICO40x40"); Ico_PutIcon ("grades32x32.gif",Ico_UNCHANGED,Txt_Check_marks_in_the_file,"ICO40x40");
/* End link */ /* End link */
HTM_BUTTON_End (); HTM_BUTTON_End ();
@ -8568,7 +8568,8 @@ static void Brw_WriteSmallLinkToDownloadFile (const char *URL,
/* Begin link */ /* Begin link */
HTM_BUTTON_SUBMIT_Begin (Txt_Check_marks_in_the_file, HTM_BUTTON_SUBMIT_Begin (Txt_Check_marks_in_the_file,
Str_BuildString ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme]), Str_BuildString ("BT_LINK %s",
The_ClassDat[Gbl.Prefs.Theme]),
NULL); NULL);
Str_FreeStrings (); Str_FreeStrings ();
@ -9964,7 +9965,8 @@ static void Brw_WriteRowDocData (unsigned *NumDocsNotHidden,MYSQL_ROW row)
Frm_BeginFormGoTo (ActSeeInsInf); Frm_BeginFormGoTo (ActSeeInsInf);
Deg_PutParamDegCod (InsCod); Deg_PutParamDegCod (InsCod);
HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (InsShortName), HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (InsShortName),
Str_BuildString ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), Str_BuildString ("BT_LINK LT %s",
The_ClassDat[Gbl.Prefs.Theme]),
NULL); NULL);
Str_FreeStrings (); Str_FreeStrings ();
Lgo_DrawLogo (HieLvl_INS,InsCod,InsShortName,20,"BT_LINK LT",true); Lgo_DrawLogo (HieLvl_INS,InsCod,InsShortName,20,"BT_LINK LT",true);
@ -9981,7 +9983,8 @@ static void Brw_WriteRowDocData (unsigned *NumDocsNotHidden,MYSQL_ROW row)
Frm_BeginFormGoTo (ActSeeCtrInf); Frm_BeginFormGoTo (ActSeeCtrInf);
Deg_PutParamDegCod (CtrCod); Deg_PutParamDegCod (CtrCod);
HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (CtrShortName), HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (CtrShortName),
Str_BuildString ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), Str_BuildString ("BT_LINK LT %s",
The_ClassDat[Gbl.Prefs.Theme]),
NULL); NULL);
Str_FreeStrings (); Str_FreeStrings ();
Lgo_DrawLogo (HieLvl_CTR,CtrCod,CtrShortName,20,"LT",true); Lgo_DrawLogo (HieLvl_CTR,CtrCod,CtrShortName,20,"LT",true);
@ -9998,7 +10001,8 @@ static void Brw_WriteRowDocData (unsigned *NumDocsNotHidden,MYSQL_ROW row)
Frm_BeginFormGoTo (ActSeeDegInf); Frm_BeginFormGoTo (ActSeeDegInf);
Deg_PutParamDegCod (DegCod); Deg_PutParamDegCod (DegCod);
HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (DegShortName), HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (DegShortName),
Str_BuildString ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), Str_BuildString ("BT_LINK LT %s",
The_ClassDat[Gbl.Prefs.Theme]),
NULL); NULL);
Str_FreeStrings (); Str_FreeStrings ();
Lgo_DrawLogo (HieLvl_DEG,DegCod,DegShortName,20,"LT",true); Lgo_DrawLogo (HieLvl_DEG,DegCod,DegShortName,20,"LT",true);
@ -10015,7 +10019,8 @@ static void Brw_WriteRowDocData (unsigned *NumDocsNotHidden,MYSQL_ROW row)
Frm_BeginFormGoTo (ActSeeCrsInf); Frm_BeginFormGoTo (ActSeeCrsInf);
Crs_PutParamCrsCod (CrsCod); Crs_PutParamCrsCod (CrsCod);
HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (CrsShortName), HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (CrsShortName),
Str_BuildString ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme]), Str_BuildString ("BT_LINK %s",
The_ClassDat[Gbl.Prefs.Theme]),
NULL); NULL);
Str_FreeStrings (); Str_FreeStrings ();
HTM_Txt (CrsShortName); HTM_Txt (CrsShortName);
@ -10122,12 +10127,14 @@ static void Brw_WriteRowDocData (unsigned *NumDocsNotHidden,MYSQL_ROW row)
/* File or folder icon */ /* File or folder icon */
HTM_BUTTON_SUBMIT_Begin (FileNameToShow, HTM_BUTTON_SUBMIT_Begin (FileNameToShow,
Str_BuildString ("BT_LINK LT %s",The_ClassDatStrong[Gbl.Prefs.Theme]), Str_BuildString ("BT_LINK LT %s",
The_ClassDatStrong[Gbl.Prefs.Theme]),
NULL); NULL);
Str_FreeStrings (); Str_FreeStrings ();
if (FileMetadata.FilFolLnk.Type == Brw_IS_FOLDER) if (FileMetadata.FilFolLnk.Type == Brw_IS_FOLDER)
/* Icon with folder */ /* Icon with folder */
Ico_PutIcon ("folder-yellow.png",Ico_BLACK,Txt_Folder,"CONTEXT_ICO_16x16"); Ico_PutIcon ("folder-yellow.png",Ico_UNCHANGED,
Txt_Folder,"CONTEXT_ICO_16x16");
else else
/* Icon with file type or link */ /* Icon with file type or link */
Brw_PutIconFile (FileMetadata.FilFolLnk.Type,FileMetadata.FilFolLnk.Name, Brw_PutIconFile (FileMetadata.FilFolLnk.Type,FileMetadata.FilFolLnk.Name,
@ -10156,7 +10163,7 @@ static void Brw_PutLinkToAskRemOldFiles (void)
Lay_PutContextualLinkIconText (ActReqRemOldBrf,NULL, Lay_PutContextualLinkIconText (ActReqRemOldBrf,NULL,
Brw_PutHiddenParamFullTreeIfSelected,&Gbl.FileBrowser.FullTree, Brw_PutHiddenParamFullTreeIfSelected,&Gbl.FileBrowser.FullTree,
"trash.svg",Ico_RED, "trash.svg",Ico_RED,
Txt_Remove_old_files); Txt_Remove_old_files,NULL);
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -133,7 +133,7 @@ void Cal_ShowFormToSelFirstDayOfWeek (Act_Action_t Action,
if (FuncParams) // Extra parameters depending on the action if (FuncParams) // Extra parameters depending on the action
FuncParams (Args); FuncParams (Args);
snprintf (Icon,sizeof (Icon),"first-day-of-week-%u.png",FirstDayOfWeek); snprintf (Icon,sizeof (Icon),"first-day-of-week-%u.png",FirstDayOfWeek);
Ico_PutSettingIconLink (Icon,Ico_BLACK, Ico_PutSettingIconLink (Icon,Ico_UNCHANGED,
Str_BuildString (Txt_First_day_of_the_week_X, Str_BuildString (Txt_First_day_of_the_week_X,
Txt_DAYS_SMALL[FirstDayOfWeek])); Txt_DAYS_SMALL[FirstDayOfWeek]));
Str_FreeStrings (); Str_FreeStrings ();

View File

@ -156,7 +156,7 @@ void Ctr_SeeCtrWithPendingDegs (void)
HTM_TD_Begin ("class=\"LM %s\"",BgColor); HTM_TD_Begin ("class=\"LM %s\"",BgColor);
Ctr_DrawCenterLogoAndNameWithLink (&Ctr,ActSeeDeg, Ctr_DrawCenterLogoAndNameWithLink (&Ctr,ActSeeDeg,
Str_BuildString ("BT_LINK %s NOWRAP", Str_BuildString ("BT_LINK %s NOWRAP",
The_ClassDat[Gbl.Prefs.Theme]), The_ClassDat[Gbl.Prefs.Theme]),
"CM"); "CM");
Str_FreeStrings (); Str_FreeStrings ();
HTM_TD_End (); HTM_TD_End ();
@ -251,7 +251,7 @@ static void Ctr_ListCenters (void)
/***** Begin box *****/ /***** Begin box *****/
Box_BoxBegin (NULL,Str_BuildString (Txt_Centers_of_INSTITUTION_X, Box_BoxBegin (NULL,Str_BuildString (Txt_Centers_of_INSTITUTION_X,
Gbl.Hierarchy.Ins.FullName), Gbl.Hierarchy.Ins.FullName),
Ctr_PutIconsListingCenters,NULL, Ctr_PutIconsListingCenters,NULL,
Hlp_INSTITUTION_Centers,Box_NOT_CLOSABLE); Hlp_INSTITUTION_Centers,Box_NOT_CLOSABLE);
Str_FreeStrings (); Str_FreeStrings ();
@ -348,12 +348,14 @@ static void Ctr_ListOneCenterForSeeing (struct Ctr_Center *Ctr,unsigned NumCtr)
if (Ctr->Status & Hie_STATUS_BIT_PENDING) if (Ctr->Status & Hie_STATUS_BIT_PENDING)
{ {
TxtClassNormal = The_ClassDatLight[Gbl.Prefs.Theme]; TxtClassNormal = The_ClassDatLight[Gbl.Prefs.Theme];
TxtClassStrong = Str_BuildString ("BT_LINK LT %s",The_ClassDatLight[Gbl.Prefs.Theme]); TxtClassStrong = Str_BuildString ("BT_LINK LT %s",
The_ClassDatLight[Gbl.Prefs.Theme]);
} }
else else
{ {
TxtClassNormal = The_ClassDat[Gbl.Prefs.Theme]; TxtClassNormal = The_ClassDat[Gbl.Prefs.Theme];
TxtClassStrong = Str_BuildString ("BT_LINK LT %s",The_ClassDatStrong[Gbl.Prefs.Theme]); TxtClassStrong = Str_BuildString ("BT_LINK LT %s",
The_ClassDatStrong[Gbl.Prefs.Theme]);
} }
BgColor = (Ctr->CtrCod == Gbl.Hierarchy.Ctr.CtrCod) ? The_ClassBgHighlight[Gbl.Prefs.Theme] : BgColor = (Ctr->CtrCod == Gbl.Hierarchy.Ctr.CtrCod) ? The_ClassBgHighlight[Gbl.Prefs.Theme] :
Gbl.ColorRows[Gbl.RowEvenOdd]; Gbl.ColorRows[Gbl.RowEvenOdd];
@ -460,7 +462,7 @@ static void Ctr_EditCentersInternal (void)
/***** Begin box *****/ /***** Begin box *****/
Box_BoxBegin (NULL,Str_BuildString (Txt_Centers_of_INSTITUTION_X, Box_BoxBegin (NULL,Str_BuildString (Txt_Centers_of_INSTITUTION_X,
Gbl.Hierarchy.Ins.FullName), Gbl.Hierarchy.Ins.FullName),
Ctr_PutIconsEditingCenters,NULL, Ctr_PutIconsEditingCenters,NULL,
Hlp_INSTITUTION_Centers,Box_NOT_CLOSABLE); Hlp_INSTITUTION_Centers,Box_NOT_CLOSABLE);
Str_FreeStrings (); Str_FreeStrings ();

View File

@ -598,7 +598,8 @@ static void CtrCfg_Institution (bool PrintView,bool PutForm)
Frm_BeginFormGoTo (ActSeeInsInf); Frm_BeginFormGoTo (ActSeeInsInf);
Ins_PutParamInsCod (Gbl.Hierarchy.Ins.InsCod); Ins_PutParamInsCod (Gbl.Hierarchy.Ins.InsCod);
HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (Gbl.Hierarchy.Ins.ShrtName), HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (Gbl.Hierarchy.Ins.ShrtName),
Str_BuildString ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), Str_BuildString ("BT_LINK LT %s",
The_ClassDat[Gbl.Prefs.Theme]),
NULL); NULL);
Str_FreeStrings (); Str_FreeStrings ();
} }
@ -775,8 +776,9 @@ static void CtrCfg_NumDegs (void)
Frm_BeginFormGoTo (ActSeeDeg); Frm_BeginFormGoTo (ActSeeDeg);
Ctr_PutParamCtrCod (Gbl.Hierarchy.Ctr.CtrCod); Ctr_PutParamCtrCod (Gbl.Hierarchy.Ctr.CtrCod);
HTM_BUTTON_SUBMIT_Begin (Str_BuildString (Txt_Degrees_of_CENTER_X, HTM_BUTTON_SUBMIT_Begin (Str_BuildString (Txt_Degrees_of_CENTER_X,
Gbl.Hierarchy.Ctr.ShrtName), Gbl.Hierarchy.Ctr.ShrtName),
Str_BuildString ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme]), Str_BuildString ("BT_LINK %s",
The_ClassDat[Gbl.Prefs.Theme]),
NULL); NULL);
Str_FreeStrings (); Str_FreeStrings ();
HTM_Unsigned (Deg_GetCachedNumDegsInCtr (Gbl.Hierarchy.Ctr.CtrCod)); HTM_Unsigned (Deg_GetCachedNumDegsInCtr (Gbl.Hierarchy.Ctr.CtrCod));

View File

@ -602,10 +602,11 @@ TODO: FIX BUG, URGENT! En las fechas como par
TODO: En las encuestas, que los estudiantes no puedan ver los resultados hasta que no finalice el plazo. TODO: En las encuestas, que los estudiantes no puedan ver los resultados hasta que no finalice el plazo.
*/ */
#define Log_PLATFORM_VERSION "SWAD 21.72 (2021-12-21)" #define Log_PLATFORM_VERSION "SWAD 21.72.1 (2021-12-22)"
#define CSS_FILE "swad21.72.css" #define CSS_FILE "swad21.72.1.css"
#define JS_FILE "swad21.67.4.js" #define JS_FILE "swad21.67.4.js"
/* /*
Version 21.72.1: Dec 22, 2021 Working on design of dark theme. (322622 lines)
Version 21.72: Dec 21, 2021 Working on design of dark theme. (322560 lines) Version 21.72: Dec 21, 2021 Working on design of dark theme. (322560 lines)
Copy the following icons to icon public directory: Copy the following icons to icon public directory:

View File

@ -158,7 +158,8 @@ void Cty_SeeCtyWithPendingInss (void)
Cty_DrawCountryMapAndNameWithLink (&Cty,ActSeeIns, Cty_DrawCountryMapAndNameWithLink (&Cty,ActSeeIns,
"COUNTRY_SMALL", "COUNTRY_SMALL",
"COUNTRY_MAP_SMALL", "COUNTRY_MAP_SMALL",
Str_BuildString ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme])); Str_BuildString ("BT_LINK %s",
The_ClassDat[Gbl.Prefs.Theme]));
Str_FreeStrings (); Str_FreeStrings ();
HTM_TD_End (); HTM_TD_End ();
@ -421,7 +422,8 @@ static void Cty_ListOneCountryForSeeing (struct Cty_Countr *Cty,unsigned NumCty)
Cty_DrawCountryMapAndNameWithLink (Cty,ActSeeIns, Cty_DrawCountryMapAndNameWithLink (Cty,ActSeeIns,
"COUNTRY_SMALL", "COUNTRY_SMALL",
"COUNTRY_MAP_SMALL", "COUNTRY_MAP_SMALL",
Str_BuildString ("BT_LINK %s",The_ClassDatStrong[Gbl.Prefs.Theme])); Str_BuildString ("BT_LINK %s",
The_ClassDatStrong[Gbl.Prefs.Theme]));
Str_FreeStrings (); Str_FreeStrings ();
HTM_TD_End (); HTM_TD_End ();
@ -562,7 +564,8 @@ void Cty_DrawCountryMap (struct Cty_Countr *Cty,const char *Class)
free (URL); free (URL);
} }
else else
Ico_PutIcon ("tr16x16.gif",Ico_BLACK,Cty->Name[Gbl.Prefs.Language],Class); Ico_PutIcon ("tr16x16.gif",Ico_UNCHANGED,
Cty->Name[Gbl.Prefs.Language],Class);
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -376,11 +376,12 @@ static void CtyCfg_Platform (bool PrintView)
{ {
Frm_BeginFormGoTo (ActSeeSysInf); Frm_BeginFormGoTo (ActSeeSysInf);
HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (Cfg_PLATFORM_SHORT_NAME), HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (Cfg_PLATFORM_SHORT_NAME),
Str_BuildString ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), Str_BuildString ("BT_LINK LT %s",
The_ClassDat[Gbl.Prefs.Theme]),
NULL); NULL);
Str_FreeStrings (); Str_FreeStrings ();
} }
Ico_PutIcon ("swad64x64.png",Ico_BLACK,Cfg_PLATFORM_FULL_NAME,"ICO20x20"); Ico_PutIcon ("swad64x64.png",Ico_UNCHANGED,Cfg_PLATFORM_FULL_NAME,"ICO20x20");
HTM_NBSP (); HTM_NBSP ();
HTM_Txt (Cfg_PLATFORM_SHORT_NAME); HTM_Txt (Cfg_PLATFORM_SHORT_NAME);
if (!PrintView) if (!PrintView)
@ -484,8 +485,9 @@ static void CtyCfg_NumInss (void)
Frm_BeginFormGoTo (ActSeeIns); Frm_BeginFormGoTo (ActSeeIns);
Cty_PutParamCtyCod (Gbl.Hierarchy.Cty.CtyCod); Cty_PutParamCtyCod (Gbl.Hierarchy.Cty.CtyCod);
HTM_BUTTON_SUBMIT_Begin (Str_BuildString (Txt_Institutions_of_COUNTRY_X, HTM_BUTTON_SUBMIT_Begin (Str_BuildString (Txt_Institutions_of_COUNTRY_X,
Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]), Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]),
Str_BuildString ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme]), Str_BuildString ("BT_LINK %s",
The_ClassDat[Gbl.Prefs.Theme]),
NULL); NULL);
Str_FreeStrings (); Str_FreeStrings ();
HTM_Unsigned (Ins_GetCachedNumInssInCty (Gbl.Hierarchy.Cty.CtyCod)); HTM_Unsigned (Ins_GetCachedNumInssInCty (Gbl.Hierarchy.Cty.CtyCod));

View File

@ -855,7 +855,7 @@ static void Crs_ListCourses (void)
/***** Begin box *****/ /***** Begin box *****/
Box_BoxBegin (NULL,Str_BuildString (Txt_Courses_of_DEGREE_X, Box_BoxBegin (NULL,Str_BuildString (Txt_Courses_of_DEGREE_X,
Gbl.Hierarchy.Deg.ShrtName), Gbl.Hierarchy.Deg.ShrtName),
Crs_PutIconsListCourses,NULL, Crs_PutIconsListCourses,NULL,
Hlp_DEGREE_Courses,Box_NOT_CLOSABLE); Hlp_DEGREE_Courses,Box_NOT_CLOSABLE);
Str_FreeStrings (); Str_FreeStrings ();
@ -963,12 +963,14 @@ static bool Crs_ListCoursesOfAYearForSeeing (unsigned Year)
if (Crs->Status & Hie_STATUS_BIT_PENDING) if (Crs->Status & Hie_STATUS_BIT_PENDING)
{ {
TxtClassNormal = The_ClassDatLight[Gbl.Prefs.Theme]; TxtClassNormal = The_ClassDatLight[Gbl.Prefs.Theme];
TxtClassStrong = Str_BuildString ("BT_LINK LT %s",The_ClassDatLight[Gbl.Prefs.Theme]); TxtClassStrong = Str_BuildString ("BT_LINK LT %s",
The_ClassDatLight[Gbl.Prefs.Theme]);
} }
else else
{ {
TxtClassNormal = The_ClassDat[Gbl.Prefs.Theme]; TxtClassNormal = The_ClassDat[Gbl.Prefs.Theme];
TxtClassStrong = Str_BuildString ("BT_LINK LT %s",The_ClassDatStrong[Gbl.Prefs.Theme]); TxtClassStrong = Str_BuildString ("BT_LINK LT %s",
The_ClassDatStrong[Gbl.Prefs.Theme]);
} }
/* Check if this course is one of my courses */ /* Check if this course is one of my courses */
@ -1071,7 +1073,7 @@ static void Crs_EditCoursesInternal (void)
/***** Begin box *****/ /***** Begin box *****/
Box_BoxBegin (NULL,Str_BuildString (Txt_Courses_of_DEGREE_X, Box_BoxBegin (NULL,Str_BuildString (Txt_Courses_of_DEGREE_X,
Gbl.Hierarchy.Deg.ShrtName), Gbl.Hierarchy.Deg.ShrtName),
Crs_PutIconsEditingCourses,NULL, Crs_PutIconsEditingCourses,NULL,
Hlp_DEGREE_Courses,Box_NOT_CLOSABLE); Hlp_DEGREE_Courses,Box_NOT_CLOSABLE);
Str_FreeStrings (); Str_FreeStrings ();
@ -2180,7 +2182,7 @@ static void Crs_PutButtonToRegisterInCrs (void)
Crs_PutParamCrsCod (Crs_EditingCrs->CrsCod); Crs_PutParamCrsCod (Crs_EditingCrs->CrsCod);
Btn_PutCreateButton (Str_BuildString (Txt_Register_me_in_X, Btn_PutCreateButton (Str_BuildString (Txt_Register_me_in_X,
Crs_EditingCrs->ShrtName)); Crs_EditingCrs->ShrtName));
Str_FreeStrings (); Str_FreeStrings ();
Frm_EndForm (); Frm_EndForm ();
@ -2300,8 +2302,8 @@ void Crs_GetAndWriteCrssOfAUsr (const struct UsrData *UsrDat,Rol_Role_t Role)
HTM_TH_Begin (1,7,"LM"); HTM_TH_Begin (1,7,"LM");
HTM_TxtColon (Str_BuildString (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 Role == Rol_UNK ? Txt_User[Usr_SEX_UNKNOWN] : // Role == Rol_UNK ==> any role
Txt_ROLES_SINGUL_Abc[Role][UsrDat->Sex])); Txt_ROLES_SINGUL_Abc[Role][UsrDat->Sex]));
Str_FreeStrings (); Str_FreeStrings ();
HTM_TH_End (); HTM_TH_End ();
@ -2453,12 +2455,14 @@ static void Crs_WriteRowCrsData (unsigned NumCrs,MYSQL_ROW row,bool WriteColumnA
if (NumUsrs) if (NumUsrs)
{ {
ClassTxt = The_ClassDatStrong[Gbl.Prefs.Theme]; ClassTxt = The_ClassDatStrong[Gbl.Prefs.Theme];
ClassLink = Str_BuildString ("BT_LINK LT %s",The_ClassDatStrong[Gbl.Prefs.Theme]); ClassLink = Str_BuildString ("BT_LINK LT %s",
The_ClassDatStrong[Gbl.Prefs.Theme]);
} }
else else
{ {
ClassTxt = The_ClassDat[Gbl.Prefs.Theme]; ClassTxt = The_ClassDat[Gbl.Prefs.Theme];
ClassLink = Str_BuildString ("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) ? The_ClassBgHighlight[Gbl.Prefs.Theme] : BgColor = (CrsCod == Gbl.Hierarchy.Crs.CrsCod) ? The_ClassBgHighlight[Gbl.Prefs.Theme] :
Gbl.ColorRows[RowEvenOdd]; Gbl.ColorRows[RowEvenOdd];
@ -2556,7 +2560,7 @@ void Crs_PutLinkToRemoveOldCrss (void)
Lay_PutContextualLinkIconText (ActReqRemOldCrs,NULL, Lay_PutContextualLinkIconText (ActReqRemOldCrs,NULL,
NULL,NULL, NULL,NULL,
"trash.svg",Ico_RED, "trash.svg",Ico_RED,
Txt_Eliminate_old_courses); Txt_Eliminate_old_courses,NULL);
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -252,7 +252,8 @@ static void CrsCfg_Degree (bool PrintView,bool PutForm)
Frm_BeginFormGoTo (ActSeeDegInf); Frm_BeginFormGoTo (ActSeeDegInf);
Deg_PutParamDegCod (Gbl.Hierarchy.Deg.DegCod); Deg_PutParamDegCod (Gbl.Hierarchy.Deg.DegCod);
HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (Gbl.Hierarchy.Deg.ShrtName), HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (Gbl.Hierarchy.Deg.ShrtName),
Str_BuildString ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), Str_BuildString ("BT_LINK LT %s",
The_ClassDat[Gbl.Prefs.Theme]),
NULL); NULL);
Str_FreeStrings (); Str_FreeStrings ();
} }
@ -450,14 +451,17 @@ static void CrsCfg_Indicators (void)
Txt_of_PART_OF_A_TOTAL,Ind_NUM_INDICATORS) < 0) Txt_of_PART_OF_A_TOTAL,Ind_NUM_INDICATORS) < 0)
Err_NotEnoughMemoryExit (); Err_NotEnoughMemoryExit ();
HTM_BUTTON_SUBMIT_Begin (Title, HTM_BUTTON_SUBMIT_Begin (Title,
Str_BuildString ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme]), Str_BuildString ("BT_LINK %s",
The_ClassDat[Gbl.Prefs.Theme]),
NULL); NULL);
Str_FreeStrings (); Str_FreeStrings ();
HTM_TxtF ("%s&nbsp;",Title); HTM_TxtF ("%s&nbsp;",Title);
Ico_PutIcon ((IndicatorsCrs.NumIndicators == Ind_NUM_INDICATORS) ? "check-circle.svg" : if (IndicatorsCrs.NumIndicators == Ind_NUM_INDICATORS)
"exclamation-triangle.svg", Ico_PutIcon ("check-circle.svg",Ico_GREEN,
Ico_BLACK, Title,"ICO16x16");
Title,"ICO16x16"); else
Ico_PutIcon ("exclamation-triangle.svg",Ico_RED, // TODO: Change to Ico_YELLOW
Title,"ICO16x16");
HTM_BUTTON_End (); HTM_BUTTON_End ();
free (Title); free (Title);
Frm_EndForm (); Frm_EndForm ();

View File

@ -161,7 +161,7 @@ void Deg_SeeDegWithPendingCrss (void)
HTM_TD_Begin ("class=\"LM %s\"",BgColor); HTM_TD_Begin ("class=\"LM %s\"",BgColor);
Deg_DrawDegreeLogoAndNameWithLink (&Deg,ActSeeCrs, Deg_DrawDegreeLogoAndNameWithLink (&Deg,ActSeeCrs,
Str_BuildString ("BT_LINK %s NOWRAP", Str_BuildString ("BT_LINK %s NOWRAP",
The_ClassDat[Gbl.Prefs.Theme]), The_ClassDat[Gbl.Prefs.Theme]),
"CM"); "CM");
Str_FreeStrings (); Str_FreeStrings ();
HTM_TD_End (); HTM_TD_End ();
@ -716,7 +716,7 @@ static void Deg_ListDegrees (void)
/***** Begin box *****/ /***** Begin box *****/
Box_BoxBegin (NULL,Str_BuildString (Txt_Degrees_of_CENTER_X, Box_BoxBegin (NULL,Str_BuildString (Txt_Degrees_of_CENTER_X,
Gbl.Hierarchy.Ctr.ShrtName), Gbl.Hierarchy.Ctr.ShrtName),
Deg_PutIconsListingDegrees,NULL, Deg_PutIconsListingDegrees,NULL,
Hlp_CENTER_Degrees,Box_NOT_CLOSABLE); Hlp_CENTER_Degrees,Box_NOT_CLOSABLE);
Str_FreeStrings (); Str_FreeStrings ();
@ -817,12 +817,14 @@ static void Deg_ListOneDegreeForSeeing (struct Deg_Degree *Deg,unsigned NumDeg)
if (Deg->Status & Hie_STATUS_BIT_PENDING) if (Deg->Status & Hie_STATUS_BIT_PENDING)
{ {
TxtClassNormal = The_ClassDatLight[Gbl.Prefs.Theme]; TxtClassNormal = The_ClassDatLight[Gbl.Prefs.Theme];
TxtClassStrong = Str_BuildString ("BT_LINK LT %s",The_ClassDatLight[Gbl.Prefs.Theme]); TxtClassStrong = Str_BuildString ("BT_LINK LT %s",
The_ClassDatLight[Gbl.Prefs.Theme]);
} }
else else
{ {
TxtClassNormal = The_ClassDat[Gbl.Prefs.Theme]; TxtClassNormal = The_ClassDat[Gbl.Prefs.Theme];
TxtClassStrong = Str_BuildString ("BT_LINK LT %s",The_ClassDatStrong[Gbl.Prefs.Theme]); TxtClassStrong = Str_BuildString ("BT_LINK LT %s",
The_ClassDatStrong[Gbl.Prefs.Theme]);
} }
BgColor = (Deg->DegCod == Gbl.Hierarchy.Deg.DegCod) ? The_ClassBgHighlight[Gbl.Prefs.Theme] : BgColor = (Deg->DegCod == Gbl.Hierarchy.Deg.DegCod) ? The_ClassBgHighlight[Gbl.Prefs.Theme] :
Gbl.ColorRows[Gbl.RowEvenOdd]; Gbl.ColorRows[Gbl.RowEvenOdd];
@ -911,7 +913,7 @@ static void Deg_EditDegreesInternal (void)
/***** Begin box *****/ /***** Begin box *****/
Box_BoxBegin (NULL,Str_BuildString (Txt_Degrees_of_CENTER_X, Box_BoxBegin (NULL,Str_BuildString (Txt_Degrees_of_CENTER_X,
Gbl.Hierarchy.Ctr.ShrtName), Gbl.Hierarchy.Ctr.ShrtName),
Deg_PutIconsEditingDegrees,NULL, Deg_PutIconsEditingDegrees,NULL,
Hlp_CENTER_Degrees,Box_NOT_CLOSABLE); Hlp_CENTER_Degrees,Box_NOT_CLOSABLE);
Str_FreeStrings (); Str_FreeStrings ();

View File

@ -243,7 +243,8 @@ static void DegCfg_Center (bool PrintView,bool PutForm)
Frm_BeginFormGoTo (ActSeeCtrInf); Frm_BeginFormGoTo (ActSeeCtrInf);
Ctr_PutParamCtrCod (Gbl.Hierarchy.Ctr.CtrCod); Ctr_PutParamCtrCod (Gbl.Hierarchy.Ctr.CtrCod);
HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (Gbl.Hierarchy.Ctr.ShrtName), HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (Gbl.Hierarchy.Ctr.ShrtName),
Str_BuildString ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), Str_BuildString ("BT_LINK LT %s",
The_ClassDat[Gbl.Prefs.Theme]),
NULL); NULL);
Str_FreeStrings (); Str_FreeStrings ();
} }
@ -332,8 +333,9 @@ static void DegCfg_NumCrss (void)
Frm_BeginFormGoTo (ActSeeCrs); Frm_BeginFormGoTo (ActSeeCrs);
Deg_PutParamDegCod (Gbl.Hierarchy.Deg.DegCod); Deg_PutParamDegCod (Gbl.Hierarchy.Deg.DegCod);
HTM_BUTTON_SUBMIT_Begin (Str_BuildString (Txt_Courses_of_DEGREE_X, HTM_BUTTON_SUBMIT_Begin (Str_BuildString (Txt_Courses_of_DEGREE_X,
Gbl.Hierarchy.Deg.ShrtName), Gbl.Hierarchy.Deg.ShrtName),
Str_BuildString ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme]), Str_BuildString ("BT_LINK %s",
The_ClassDat[Gbl.Prefs.Theme]),
NULL); NULL);
Str_FreeStrings (); Str_FreeStrings ();
HTM_Unsigned (Crs_GetCachedNumCrssInDeg (Gbl.Hierarchy.Deg.DegCod)); HTM_Unsigned (Crs_GetCachedNumCrssInDeg (Gbl.Hierarchy.Deg.DegCod));

View File

@ -125,12 +125,12 @@ void Dpt_SeeDepts (void)
/***** Begin box and table *****/ /***** Begin box and table *****/
if (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) if (Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)
Box_BoxTableBegin (NULL,Str_BuildString (Txt_Departments_of_INSTITUTION_X, Box_BoxTableBegin (NULL,Str_BuildString (Txt_Departments_of_INSTITUTION_X,
Gbl.Hierarchy.Ins.FullName), Gbl.Hierarchy.Ins.FullName),
Dpt_PutIconToEditDpts,NULL, Dpt_PutIconToEditDpts,NULL,
Hlp_INSTITUTION_Departments,Box_NOT_CLOSABLE,2); Hlp_INSTITUTION_Departments,Box_NOT_CLOSABLE,2);
else else
Box_BoxTableBegin (NULL,Str_BuildString (Txt_Departments_of_INSTITUTION_X, Box_BoxTableBegin (NULL,Str_BuildString (Txt_Departments_of_INSTITUTION_X,
Gbl.Hierarchy.Ins.FullName), Gbl.Hierarchy.Ins.FullName),
NULL,NULL, NULL,NULL,
Hlp_INSTITUTION_Departments,Box_NOT_CLOSABLE,2); Hlp_INSTITUTION_Departments,Box_NOT_CLOSABLE,2);
Str_FreeStrings (); Str_FreeStrings ();
@ -286,7 +286,7 @@ static void Dpt_EditDepartmentsInternal (void)
/***** Begin box *****/ /***** Begin box *****/
Box_BoxBegin (NULL,Str_BuildString (Txt_Departments_of_INSTITUTION_X, Box_BoxBegin (NULL,Str_BuildString (Txt_Departments_of_INSTITUTION_X,
Gbl.Hierarchy.Ins.FullName), Gbl.Hierarchy.Ins.FullName),
NULL,NULL, NULL,NULL,
Hlp_INSTITUTION_Departments_edit,Box_NOT_CLOSABLE); Hlp_INSTITUTION_Departments_edit,Box_NOT_CLOSABLE);
Str_FreeStrings (); Str_FreeStrings ();

View File

@ -97,7 +97,7 @@ void Dup_PutLinkToListDupUsrs (void)
Lay_PutContextualLinkIconText (ActLstDupUsr,NULL, Lay_PutContextualLinkIconText (ActLstDupUsr,NULL,
NULL,NULL, NULL,NULL,
"user-friends.svg",Ico_BLACK, "user-friends.svg",Ico_BLACK,
Txt_Duplicate_USERS); Txt_Duplicate_USERS,NULL);
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -196,7 +196,7 @@ void Enr_PutLinkToRequestSignUp (void)
Lay_PutContextualLinkIconText (ActReqSignUp,NULL, Lay_PutContextualLinkIconText (ActReqSignUp,NULL,
NULL,NULL, NULL,NULL,
"hand-point-up.svg",Ico_BLACK, "hand-point-up.svg",Ico_BLACK,
Txt_Sign_up); Txt_Sign_up,NULL);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -647,7 +647,7 @@ void Enr_PutLinkToRemOldUsrs (void)
Lay_PutContextualLinkIconText (ActReqRemOldUsr,NULL, Lay_PutContextualLinkIconText (ActReqRemOldUsr,NULL,
NULL,NULL, NULL,NULL,
"trash.svg",Ico_RED, "trash.svg",Ico_RED,
Txt_Eliminate_old_users); Txt_Eliminate_old_users,NULL);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -1684,7 +1684,7 @@ static void Enr_PutLinkToRemAllStdsThisCrs (void)
Lay_PutContextualLinkIconText (ActReqRemAllStdCrs,NULL, Lay_PutContextualLinkIconText (ActReqRemAllStdCrs,NULL,
NULL,NULL, NULL,NULL,
"trash.svg",Ico_RED, "trash.svg",Ico_RED,
Txt_Remove_all_students); Txt_Remove_all_students,NULL);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -2238,7 +2238,8 @@ static void Enr_ShowEnrolmentRequestsGivenRoles (unsigned RolesSelected)
Frm_BeginFormGoTo (ActSeeCrsInf); Frm_BeginFormGoTo (ActSeeCrsInf);
Crs_PutParamCrsCod (Crs.CrsCod); Crs_PutParamCrsCod (Crs.CrsCod);
HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (Crs.FullName), HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (Crs.FullName),
Str_BuildString ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), Str_BuildString ("BT_LINK LT %s",
The_ClassDat[Gbl.Prefs.Theme]),
NULL); NULL);
Str_FreeStrings (); Str_FreeStrings ();
HTM_TxtF ("%s &gt; %s",Deg.ShrtName,Crs.ShrtName); HTM_TxtF ("%s &gt; %s",Deg.ShrtName,Crs.ShrtName);
@ -2362,7 +2363,7 @@ void Enr_PutLinkToAdminOneUsr (Act_Action_t NextAction)
Lay_PutContextualLinkIconText (NextAction,NULL, Lay_PutContextualLinkIconText (NextAction,NULL,
NULL,NULL, NULL,NULL,
"user-cog.svg",Ico_BLACK, "user-cog.svg",Ico_BLACK,
TitleText); TitleText,NULL);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -2390,7 +2391,7 @@ void Enr_PutLinkToAdminSeveralUsrs (Rol_Role_t Role)
Lay_PutContextualLinkIconText (WhatToDo[Role].NextAction,NULL, Lay_PutContextualLinkIconText (WhatToDo[Role].NextAction,NULL,
NULL,NULL, NULL,NULL,
"users-cog.svg",Ico_BLACK, "users-cog.svg",Ico_BLACK,
*WhatToDo[Role].Title); *WhatToDo[Role].Title,NULL);
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -258,7 +258,8 @@ void ExaRes_ShowMyResultsInSes (void)
false); // Do not put form to start new session false); // Do not put form to start new session
/***** List my sessions results in session *****/ /***** List my sessions results in session *****/
ExaRes_ShowResultsBegin (&Exams,Str_BuildString (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 false); // Do not list exams to select
Str_FreeStrings (); Str_FreeStrings ();
ExaRes_ListMyResultsInSes (&Exams,Session.SesCod); ExaRes_ListMyResultsInSes (&Exams,Session.SesCod);

View File

@ -791,7 +791,7 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams,
ExaSet_PutParamsOneSet,Exams, ExaSet_PutParamsOneSet,Exams,
"arrow-up.svg",Ico_BLACK, "arrow-up.svg",Ico_BLACK,
Str_BuildString (Txt_Move_up_X, Str_BuildString (Txt_Move_up_X,
StrSetInd)); StrSetInd));
Str_FreeStrings (); Str_FreeStrings ();
} }
else else
@ -805,7 +805,7 @@ static void ExaSet_ListOneOrMoreSetsForEdition (struct Exa_Exams *Exams,
ExaSet_PutParamsOneSet,Exams, ExaSet_PutParamsOneSet,Exams,
"arrow-down.svg",Ico_BLACK, "arrow-down.svg",Ico_BLACK,
Str_BuildString (Txt_Move_down_X, Str_BuildString (Txt_Move_down_X,
StrSetInd)); StrSetInd));
Str_FreeStrings (); Str_FreeStrings ();
} }
else else

View File

@ -449,8 +449,10 @@ static void Fig_GetAndShowNumUsrsInCrss (Rol_Role_t Role)
extern const char *Txt_Total; extern const char *Txt_Total;
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
long Cod = Sco_GetCurrentCod (); long Cod = Sco_GetCurrentCod ();
char *Class = (Role == Rol_UNK) ? Str_BuildString ("RB %s LINE_TOP",The_ClassDatStrong[Gbl.Prefs.Theme]) : char *Class = (Role == Rol_UNK) ? Str_BuildString ("RB %s LINE_TOP",
Str_BuildString ("RB %s",The_ClassDat[Gbl.Prefs.Theme]); The_ClassDatStrong[Gbl.Prefs.Theme]) :
Str_BuildString ("RB %s",
The_ClassDat[Gbl.Prefs.Theme]);
unsigned Roles = (Role == Rol_UNK) ? ((1 << Rol_STD) | unsigned Roles = (Role == Rol_UNK) ? ((1 << Rol_STD) |
(1 << Rol_NET) | (1 << Rol_NET) |
(1 << Rol_TCH)) : (1 << Rol_TCH)) :
@ -634,31 +636,36 @@ static void Fig_WriteHeadHierarchy (void)
HTM_TH_Empty (1); HTM_TH_Empty (1);
HTM_TH_Begin (1,1,"RM"); HTM_TH_Begin (1,1,"RM");
Ico_PutIcon ("globe-americas.svg",Ico_BLACK,Txt_Countries,"CONTEXT_ICO_x16"); Ico_PutIcon ("globe-americas.svg",Ico_BLACK,
Txt_Countries,"CONTEXT_ICO_x16");
HTM_BR (); HTM_BR ();
HTM_Txt (Txt_Countries); HTM_Txt (Txt_Countries);
HTM_TH_End (); HTM_TH_End ();
HTM_TH_Begin (1,1,"RM"); HTM_TH_Begin (1,1,"RM");
Ico_PutIcon ("university.svg",Ico_BLACK,Txt_Institutions,"CONTEXT_ICO_x16"); Ico_PutIcon ("university.svg",Ico_BLACK,
Txt_Institutions,"CONTEXT_ICO_x16");
HTM_BR (); HTM_BR ();
HTM_Txt (Txt_Institutions); HTM_Txt (Txt_Institutions);
HTM_TH_End (); HTM_TH_End ();
HTM_TH_Begin (1,1,"RM"); HTM_TH_Begin (1,1,"RM");
Ico_PutIcon ("building.svg",Ico_BLACK,Txt_Centers,"CONTEXT_ICO_x16"); Ico_PutIcon ("building.svg",Ico_BLACK,
Txt_Centers,"CONTEXT_ICO_x16");
HTM_BR (); HTM_BR ();
HTM_Txt (Txt_Centers); HTM_Txt (Txt_Centers);
HTM_TH_End (); HTM_TH_End ();
HTM_TH_Begin (1,1,"RM"); HTM_TH_Begin (1,1,"RM");
Ico_PutIcon ("graduation-cap.svg",Ico_BLACK,Txt_Degrees,"CONTEXT_ICO_x16"); Ico_PutIcon ("graduation-cap.svg",Ico_BLACK,
Txt_Degrees,"CONTEXT_ICO_x16");
HTM_BR (); HTM_BR ();
HTM_Txt (Txt_Degrees); HTM_Txt (Txt_Degrees);
HTM_TH_End (); HTM_TH_End ();
HTM_TH_Begin (1,1,"RM"); HTM_TH_Begin (1,1,"RM");
Ico_PutIcon ("chalkboard-teacher.svg",Ico_BLACK,Txt_Courses,"CONTEXT_ICO_x16"); Ico_PutIcon ("chalkboard-teacher.svg",Ico_BLACK,
Txt_Courses,"CONTEXT_ICO_x16");
HTM_BR (); HTM_BR ();
HTM_Txt (Txt_Courses); HTM_Txt (Txt_Courses);
HTM_TH_End (); HTM_TH_End ();
@ -926,7 +933,8 @@ static void Fig_GetAndShowHierarchyTotal (void)
/***** Write total number of elements *****/ /***** Write total number of elements *****/
Fig_ShowHierarchyRow ("",Txt_Total, Fig_ShowHierarchyRow ("",Txt_Total,
Str_BuildString ("%s LINE_TOP",The_ClassDatStrong[Gbl.Prefs.Theme]), Str_BuildString ("%s LINE_TOP",
The_ClassDatStrong[Gbl.Prefs.Theme]),
(int) NumCtysTotal, (int) NumCtysTotal,
(int) NumInssTotal, (int) NumInssTotal,
(int) NumCtrsTotal, (int) NumCtrsTotal,
@ -1559,7 +1567,8 @@ static void Fig_WriteRowStatsFileBrowsers1 (const char *NameOfFileZones,
char StrNumGrps[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; char StrNumGrps[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
char StrNumUsrs[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; char StrNumUsrs[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
char FileSizeStr[Fil_MAX_BYTES_FILE_SIZE_STRING + 1]; char FileSizeStr[Fil_MAX_BYTES_FILE_SIZE_STRING + 1];
const char *Class = (FileZone == Brw_UNKNOWN) ? Str_BuildString ("%s LINE_TOP",The_ClassDatStrong[Gbl.Prefs.Theme]) : const char *Class = (FileZone == Brw_UNKNOWN) ? Str_BuildString ("%s LINE_TOP",
The_ClassDatStrong[Gbl.Prefs.Theme]) :
The_ClassDat[Gbl.Prefs.Theme]; The_ClassDat[Gbl.Prefs.Theme];
Fil_WriteFileSizeFull ((double) SizeOfFileZones->Size,FileSizeStr); Fil_WriteFileSizeFull ((double) SizeOfFileZones->Size,FileSizeStr);
@ -1630,7 +1639,8 @@ static void Fig_WriteRowStatsFileBrowsers2 (const char *NameOfFileZones,
char StrNumFoldersPerCrs[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; char StrNumFoldersPerCrs[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
char StrNumFilesPerCrs[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; char StrNumFilesPerCrs[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
char FileSizePerCrsStr[Fil_MAX_BYTES_FILE_SIZE_STRING + 1]; char FileSizePerCrsStr[Fil_MAX_BYTES_FILE_SIZE_STRING + 1];
const char *Class = (FileZone == Brw_UNKNOWN) ? Str_BuildString ("%s LINE_TOP",The_ClassDatStrong[Gbl.Prefs.Theme]) : const char *Class = (FileZone == Brw_UNKNOWN) ? Str_BuildString ("%s LINE_TOP",
The_ClassDatStrong[Gbl.Prefs.Theme]) :
The_ClassDat[Gbl.Prefs.Theme]; The_ClassDat[Gbl.Prefs.Theme];
if (SizeOfFileZones->NumCrss == -1) // Not applicable if (SizeOfFileZones->NumCrss == -1) // Not applicable
@ -1687,7 +1697,8 @@ static void Fig_WriteRowStatsFileBrowsers3 (const char *NameOfFileZones,
char StrNumFoldersPerUsr[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; char StrNumFoldersPerUsr[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
char StrNumFilesPerUsr[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; char StrNumFilesPerUsr[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
char FileSizePerUsrStr[Fil_MAX_BYTES_FILE_SIZE_STRING + 1]; char FileSizePerUsrStr[Fil_MAX_BYTES_FILE_SIZE_STRING + 1];
const char *Class = (FileZone == Brw_UNKNOWN) ? Str_BuildString ("%s LINE_TOP",The_ClassDatStrong[Gbl.Prefs.Theme]) : const char *Class = (FileZone == Brw_UNKNOWN) ? Str_BuildString ("%s LINE_TOP",
The_ClassDatStrong[Gbl.Prefs.Theme]) :
The_ClassDat[Gbl.Prefs.Theme]; The_ClassDat[Gbl.Prefs.Theme];
if (SizeOfFileZones->NumUsrs == -1) // Not applicable if (SizeOfFileZones->NumUsrs == -1) // Not applicable

View File

@ -99,7 +99,7 @@ void Fol_PutLinkWhoToFollow (void)
Lay_PutContextualLinkIconText (ActSeeSocPrf,NULL, Lay_PutContextualLinkIconText (ActSeeSocPrf,NULL,
NULL,NULL, NULL,NULL,
"user-plus.svg",Ico_BLACK, "user-plus.svg",Ico_BLACK,
Txt_Who_to_follow); Txt_Who_to_follow,NULL);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -641,7 +641,8 @@ static void Fol_ShowFollowedOrFollower (struct UsrData *UsrDat)
Usr_PutParamUsrCodEncrypted (UsrDat->EnUsrCod); Usr_PutParamUsrCodEncrypted (UsrDat->EnUsrCod);
HTM_DIV_Begin ("class=\"FOLLOW_USR_NAME\""); // Limited width HTM_DIV_Begin ("class=\"FOLLOW_USR_NAME\""); // Limited width
HTM_BUTTON_SUBMIT_Begin (Txt_Another_user_s_profile, HTM_BUTTON_SUBMIT_Begin (Txt_Another_user_s_profile,
Str_BuildString ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), Str_BuildString ("BT_LINK LT %s",
The_ClassDat[Gbl.Prefs.Theme]),
NULL); NULL);
Str_FreeStrings (); Str_FreeStrings ();
Usr_WriteFirstNameBRSurnames (UsrDat); Usr_WriteFirstNameBRSurnames (UsrDat);
@ -739,7 +740,7 @@ static void Fol_WriteRowUsrToFollowOnRightColumn (struct UsrData *UsrDat)
} }
/*****************************************************************************/ /*****************************************************************************/
/*********************** Put icon to unfollow another user *********************/ /************* Put inactive icon to follow/unfollow another user *************/
/*****************************************************************************/ /*****************************************************************************/
static void Fol_PutInactiveIconToFollowUnfollow (void) static void Fol_PutInactiveIconToFollowUnfollow (void)

View File

@ -929,10 +929,12 @@ static void For_ShowAForumPost (struct For_Forums *Forums,
For_PutParamsForum (Forums); For_PutParamsForum (Forums);
if (Enabled) if (Enabled)
Ico_PutIconLink ("eye.svg",Ico_GREEN, Ico_PutIconLink ("eye.svg",Ico_GREEN,
Str_BuildString (Txt_FORUM_Post_X_allowed_Click_to_ban_it,PstNum)); Str_BuildString (Txt_FORUM_Post_X_allowed_Click_to_ban_it,
PstNum));
else else
Ico_PutIconLink ("eye-slash.svg",Ico_RED, Ico_PutIconLink ("eye-slash.svg",Ico_RED,
Str_BuildString (Txt_FORUM_Post_X_banned_Click_to_unban_it,PstNum)); Str_BuildString (Txt_FORUM_Post_X_banned_Click_to_unban_it,
PstNum));
Str_FreeStrings (); Str_FreeStrings ();
Frm_EndForm (); Frm_EndForm ();
} }
@ -1698,7 +1700,8 @@ static void For_WriteLinkToForum (const struct For_Forums *Forums,
{ {
/* Check if thread to move is yet in current forum */ /* Check if thread to move is yet in current forum */
if (For_DB_CheckIfThrBelongsToForum (Forums->Thread.ToMove,Forum)) if (For_DB_CheckIfThrBelongsToForum (Forums->Thread.ToMove,Forum))
Ico_PutIcon ("paste.svg",Ico_BLACK,Txt_Copy_not_allowed,"CONTEXT_OPT ICO_HIDDEN ICO16x16"); Ico_PutIcon ("paste.svg",Ico_BLACK,
Txt_Copy_not_allowed,"CONTEXT_OPT ICO_HIDDEN ICO16x16");
else else
{ {
Frm_BeginFormAnchor (For_ActionsPasThrFor[Forum->Type], Frm_BeginFormAnchor (For_ActionsPasThrFor[Forum->Type],
@ -1738,7 +1741,7 @@ static void For_WriteLinkToForum (const struct For_Forums *Forums,
break; break;
case For_FORUM__SWAD__USRS: case For_FORUM__SWAD__USRS:
case For_FORUM__SWAD__TCHS: case For_FORUM__SWAD__TCHS:
Ico_PutIcon ("swad64x64.png",Ico_BLACK,ForumName,"ICO16x16"); Ico_PutIcon ("swad64x64.png",Ico_UNCHANGED,ForumName,"ICO16x16");
break; break;
case For_FORUM_INSTIT_USRS: case For_FORUM_INSTIT_USRS:
case For_FORUM_INSTIT_TCHS: case For_FORUM_INSTIT_TCHS:
@ -2201,12 +2204,12 @@ static void For_ListForumThrs (struct For_Forums *Forums,
HTM_TD_Begin ("class=\"CONTEXT_COL %s\"",BgColor); HTM_TD_Begin ("class=\"CONTEXT_COL %s\"",BgColor);
/***** Put an icon with thread status *****/ /***** Put an icon with thread status *****/
Ico_PutIcon (Thr.NumUnreadPosts ? "envelope.svg" : if (Thr.NumUnreadPosts)
"envelope-open-text.svg", Ico_PutIcon ("envelope.svg",Ico_BLACK,
Ico_BLACK, Txt_There_are_new_posts,"ICO16x16");
Thr.NumUnreadPosts ? Txt_There_are_new_posts : else
Txt_No_new_posts, Ico_PutIcon ("envelope-open-text.svg",Ico_BLACK,
"ICO16x16"); Txt_No_new_posts,"ICO16x16");
/***** Put button to remove the thread *****/ /***** Put button to remove the thread *****/
if (PermissionThreadDeletion[Forums->Forum.Type] & if (PermissionThreadDeletion[Forums->Forum.Type] &

View File

@ -1770,7 +1770,7 @@ static void Gam_ListOneOrMoreQuestionsForEdition (struct Gam_Games *Games,
Gam_PutParamsOneQst,Games, Gam_PutParamsOneQst,Games,
"arrow-up.svg",Ico_BLACK, "arrow-up.svg",Ico_BLACK,
Str_BuildString (Txt_Move_up_X, Str_BuildString (Txt_Move_up_X,
StrQstInd)); StrQstInd));
Str_FreeStrings (); Str_FreeStrings ();
} }
else else
@ -1784,7 +1784,7 @@ static void Gam_ListOneOrMoreQuestionsForEdition (struct Gam_Games *Games,
Gam_PutParamsOneQst,Games, Gam_PutParamsOneQst,Games,
"arrow-down.svg",Ico_BLACK, "arrow-down.svg",Ico_BLACK,
Str_BuildString (Txt_Move_down_X, Str_BuildString (Txt_Move_down_X,
StrQstInd)); StrQstInd));
Str_FreeStrings (); Str_FreeStrings ();
} }
else else

View File

@ -1313,11 +1313,14 @@ static void Grp_ListGroupTypesForEdition (void)
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"LM\" style=\"width:16px;\""); HTM_TD_Begin ("class=\"LM\" style=\"width:16px;\"");
Ico_PutIcon ("clock.svg",Ico_BLACK, if (Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].MustBeOpened)
Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].MustBeOpened ? Txt_The_groups_will_automatically_open : Ico_PutIconOn ("clock.svg",Ico_BLACK,
Txt_The_groups_will_not_automatically_open, Txt_The_groups_will_automatically_open);
Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].MustBeOpened ? "CONTEXT_ICO_16x16" :
"ICO_HIDDEN CONTEXT_ICO_16x16"); else
Ico_PutIconOff ("clock.svg",Ico_BLACK,
Txt_The_groups_will_not_automatically_open);
HTM_TD_End (); HTM_TD_End ();
HTM_TD_Begin ("class=\"LM\""); HTM_TD_Begin ("class=\"LM\"");
@ -1465,10 +1468,12 @@ static void Grp_ListGroupsForEdition (const struct Roo_Rooms *Rooms)
Grp_PutParamGrpCod (&Grp->GrpCod); Grp_PutParamGrpCod (&Grp->GrpCod);
if (Grp->Open) if (Grp->Open)
Ico_PutIconLink ("unlock.svg",Ico_GREEN, Ico_PutIconLink ("unlock.svg",Ico_GREEN,
Str_BuildString (Txt_Group_X_open_click_to_close_it,Grp->GrpName)); Str_BuildString (Txt_Group_X_open_click_to_close_it,
Grp->GrpName));
else else
Ico_PutIconLink ("lock.svg",Ico_RED, Ico_PutIconLink ("lock.svg",Ico_RED,
Str_BuildString (Txt_Group_X_closed_click_to_open_it,Grp->GrpName)); Str_BuildString (Txt_Group_X_closed_click_to_open_it,
Grp->GrpName));
Str_FreeStrings (); Str_FreeStrings ();
Frm_EndForm (); Frm_EndForm ();
HTM_TD_End (); HTM_TD_End ();
@ -1481,10 +1486,12 @@ static void Grp_ListGroupsForEdition (const struct Roo_Rooms *Rooms)
Grp_PutParamGrpCod (&Grp->GrpCod); Grp_PutParamGrpCod (&Grp->GrpCod);
if (Grp->FileZones) if (Grp->FileZones)
Ico_PutIconLink ("folder-open.svg",Ico_GREEN, Ico_PutIconLink ("folder-open.svg",Ico_GREEN,
Str_BuildString (Txt_File_zones_of_the_group_X_enabled_click_to_disable_them,Grp->GrpName)); Str_BuildString (Txt_File_zones_of_the_group_X_enabled_click_to_disable_them,
Grp->GrpName));
else else
Ico_PutIconLink ("folder.svg",Ico_RED, Ico_PutIconLink ("folder.svg",Ico_RED,
Str_BuildString (Txt_File_zones_of_the_group_X_disabled_click_to_enable_them,Grp->GrpName)); Str_BuildString (Txt_File_zones_of_the_group_X_disabled_click_to_enable_them,
Grp->GrpName));
Str_FreeStrings (); Str_FreeStrings ();
Frm_EndForm (); Frm_EndForm ();
HTM_TD_End (); HTM_TD_End ();
@ -2517,11 +2524,12 @@ static void Grp_PutFormToCreateGroupType (void)
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"LM\" style=\"width:20px;\""); HTM_TD_Begin ("class=\"LM\" style=\"width:20px;\"");
Ico_PutIcon ("clock.svg",Ico_BLACK, if (Gbl.Crs.Grps.GrpTyp.MustBeOpened)
Gbl.Crs.Grps.GrpTyp.MustBeOpened ? Txt_The_groups_will_automatically_open : Ico_PutIconOn ("clock.svg",Ico_BLACK,
Txt_The_groups_will_not_automatically_open, Txt_The_groups_will_automatically_open);
Gbl.Crs.Grps.GrpTyp.MustBeOpened ? "CONTEXT_ICO_16x16" : else
"ICO_HIDDEN CONTEXT_ICO_16x16"); Ico_PutIconOff ("clock.svg",Ico_BLACK,
Txt_The_groups_will_not_automatically_open);
HTM_TD_End (); HTM_TD_End ();
HTM_TD_Begin ("class=\"LM\""); HTM_TD_Begin ("class=\"LM\"");

View File

@ -128,7 +128,7 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void)
{ {
/* Request my removing from this course */ /* Request my removing from this course */
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildString (Txt_Remove_me_from_THE_COURSE_X, Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildString (Txt_Remove_me_from_THE_COURSE_X,
Gbl.Hierarchy.Crs.ShrtName), Gbl.Hierarchy.Crs.ShrtName),
ActionsRemoveMe[Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs], ActionsRemoveMe[Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs],
Btn_REMOVE_BUTTON,Txt_Remove_me); Btn_REMOVE_BUTTON,Txt_Remove_me);
Str_FreeStrings (); Str_FreeStrings ();
@ -138,7 +138,7 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void)
{ {
/* Request my registration in this course */ /* Request my registration in this course */
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildString (Txt_Register_me_in_X, Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildString (Txt_Register_me_in_X,
Gbl.Hierarchy.Crs.ShrtName), Gbl.Hierarchy.Crs.ShrtName),
ActReqSignUp, ActReqSignUp,
Btn_CREATE_BUTTON,Txt_Sign_up); Btn_CREATE_BUTTON,Txt_Sign_up);
Str_FreeStrings (); Str_FreeStrings ();
@ -154,7 +154,7 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void)
{ {
/* Request students enrolment */ /* Request students enrolment */
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildString (Txt_Register_students_in_COURSE_X, Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildString (Txt_Register_students_in_COURSE_X,
Gbl.Hierarchy.Crs.ShrtName), Gbl.Hierarchy.Crs.ShrtName),
ActReqEnrSevStd, ActReqEnrSevStd,
Btn_CREATE_BUTTON,Txt_Register_students); Btn_CREATE_BUTTON,Txt_Register_students);
Str_FreeStrings (); Str_FreeStrings ();
@ -172,7 +172,7 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void)
/* Select a course */ /* Select a course */
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildString (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, Txt_Select_or_create_one_course_in_X,
Gbl.Hierarchy.Deg.ShrtName), Gbl.Hierarchy.Deg.ShrtName),
ActSeeCrs, ActSeeCrs,
Btn_CONFIRM_BUTTON,Txt_Courses); Btn_CONFIRM_BUTTON,Txt_Courses);
Str_FreeStrings (); Str_FreeStrings ();
@ -182,7 +182,7 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void)
/* Select a degree */ /* Select a degree */
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildString (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, Txt_Select_or_create_one_degree_in_X,
Gbl.Hierarchy.Ctr.ShrtName), Gbl.Hierarchy.Ctr.ShrtName),
ActSeeDeg, ActSeeDeg,
Btn_CONFIRM_BUTTON,Txt_Degrees); Btn_CONFIRM_BUTTON,Txt_Degrees);
Str_FreeStrings (); Str_FreeStrings ();
@ -192,7 +192,7 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void)
/* Select a center */ /* Select a center */
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildString (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, Txt_Select_or_create_one_center_in_X,
Gbl.Hierarchy.Ins.ShrtName), Gbl.Hierarchy.Ins.ShrtName),
ActSeeCtr, ActSeeCtr,
Btn_CONFIRM_BUTTON,Txt_Centers); Btn_CONFIRM_BUTTON,Txt_Centers);
Str_FreeStrings (); Str_FreeStrings ();
@ -202,7 +202,7 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void)
/* Select an institution */ /* Select an institution */
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildString (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, Txt_Select_or_create_one_institution_in_X,
Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]), Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]),
ActSeeIns, ActSeeIns,
Btn_CONFIRM_BUTTON,Txt_Institutions); Btn_CONFIRM_BUTTON,Txt_Institutions);
Str_FreeStrings (); Str_FreeStrings ();
@ -228,7 +228,7 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void)
/* Sign up */ /* Sign up */
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildString (Txt_New_on_PLATFORM_Sign_up, Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildString (Txt_New_on_PLATFORM_Sign_up,
Cfg_PLATFORM_SHORT_NAME), Cfg_PLATFORM_SHORT_NAME),
ActFrmMyAcc, ActFrmMyAcc,
Btn_CREATE_BUTTON,Txt_Create_account); Btn_CREATE_BUTTON,Txt_Create_account);
Str_FreeStrings (); Str_FreeStrings ();

View File

@ -409,7 +409,8 @@ void Hie_WriteBigNameCtyInsCtrDegCrs (void)
switch (Gbl.Hierarchy.Level) switch (Gbl.Hierarchy.Level)
{ {
case HieLvl_SYS: // System case HieLvl_SYS: // System
Ico_PutIcon ("swad64x64.png",Ico_BLACK,Cfg_PLATFORM_FULL_NAME,"ICO40x40 TOP_LOGO"); Ico_PutIcon ("swad64x64.png",Ico_UNCHANGED,
Cfg_PLATFORM_FULL_NAME,"ICO40x40 TOP_LOGO");
break; break;
case HieLvl_CTY: // Country case HieLvl_CTY: // Country
Cty_DrawCountryMap (&Gbl.Hierarchy.Cty,"COUNTRY_MAP_TITLE"); Cty_DrawCountryMap (&Gbl.Hierarchy.Cty,"COUNTRY_MAP_TITLE");
@ -683,7 +684,8 @@ void Hie_GetAndWriteInsCtrDegAdminBy (long UsrCod,unsigned ColSpan)
switch (Sco_GetScopeFromUnsignedStr (row[0])) switch (Sco_GetScopeFromUnsignedStr (row[0]))
{ {
case HieLvl_SYS: // System case HieLvl_SYS: // System
Ico_PutIcon ("swad64x64.png",Ico_BLACK,Txt_all_degrees,"ICO16x16"); Ico_PutIcon ("swad64x64.png",Ico_UNCHANGED,
Txt_all_degrees,"ICO16x16");
HTM_TxtF ("&nbsp;%s",Txt_all_degrees); HTM_TxtF ("&nbsp;%s",Txt_all_degrees);
break; break;
case HieLvl_INS: // Institution case HieLvl_INS: // Institution

View File

@ -267,8 +267,9 @@ void HieCfg_NumCtrs (unsigned NumCtrs,bool PutForm)
Frm_BeginFormGoTo (ActSeeCtr); Frm_BeginFormGoTo (ActSeeCtr);
Ins_PutParamInsCod (Gbl.Hierarchy.Ins.InsCod); Ins_PutParamInsCod (Gbl.Hierarchy.Ins.InsCod);
HTM_BUTTON_SUBMIT_Begin (Str_BuildString (Txt_Centers_of_INSTITUTION_X, HTM_BUTTON_SUBMIT_Begin (Str_BuildString (Txt_Centers_of_INSTITUTION_X,
Gbl.Hierarchy.Ins.ShrtName), Gbl.Hierarchy.Ins.ShrtName),
Str_BuildString ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme]), Str_BuildString ("BT_LINK %s",
The_ClassDat[Gbl.Prefs.Theme]),
NULL); NULL);
Str_FreeStrings (); Str_FreeStrings ();
} }

View File

@ -135,7 +135,7 @@ void Ico_PutIconsToSelectIconSet (void)
snprintf (Icon,sizeof (Icon),"%s/%s/cog.svg", snprintf (Icon,sizeof (Icon),"%s/%s/cog.svg",
Cfg_ICON_FOLDER_SETS, Cfg_ICON_FOLDER_SETS,
Ico_IconSetId[IconSet]); Ico_IconSetId[IconSet]);
Ico_PutSettingIconLink (Icon,Ico_BLACK,Ico_IconSetNames[IconSet]); Ico_PutSettingIconLink (Icon,Ico_UNCHANGED,Ico_IconSetNames[IconSet]);
Frm_EndForm (); Frm_EndForm ();
HTM_DIV_End (); HTM_DIV_End ();
} }
@ -231,7 +231,7 @@ void Ico_PutContextualIconToRemove (Act_Action_t NextAction,const char *Anchor,
Lay_PutContextualLinkOnlyIcon (NextAction,Anchor, Lay_PutContextualLinkOnlyIcon (NextAction,Anchor,
FuncParams,Args, FuncParams,Args,
"trash.svg",Ico_BLACK, "trash.svg",Ico_RED,
Txt_Remove); Txt_Remove);
} }
@ -343,7 +343,7 @@ void Ico_PutContextualIconToCreateInFolder (Act_Action_t NextAction,
Lay_PutContextualLinkOnlyIcon (NextAction,NULL, Lay_PutContextualLinkOnlyIcon (NextAction,NULL,
FuncParams,Args, FuncParams,Args,
Open ? "folder-open-yellow-plus.png" : Open ? "folder-open-yellow-plus.png" :
"folder-yellow-plus.png",Ico_BLACK, "folder-yellow-plus.png",Ico_UNCHANGED,
Txt_Upload_file_or_create_folder); Txt_Upload_file_or_create_folder);
} }
@ -410,37 +410,45 @@ void Ico_PutIconLink (const char *Icon,Ico_Color_t Color,const char *Title)
{ {
static const char *ClassIco[Ico_NUM_COLORS][The_NUM_THEMES] = static const char *ClassIco[Ico_NUM_COLORS][The_NUM_THEMES] =
{ {
[Ico_BLACK][The_THEME_WHITE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 BLACK_ICO_WHITE", [Ico_UNCHANGED][The_THEME_WHITE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16",
[Ico_BLACK][The_THEME_GREY ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 BLACK_ICO_GREY", [Ico_UNCHANGED][The_THEME_GREY ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16",
[Ico_BLACK][The_THEME_PURPLE] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 BLACK_ICO_PURPLE", [Ico_UNCHANGED][The_THEME_PURPLE] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16",
[Ico_BLACK][The_THEME_BLUE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 BLACK_ICO_BLUE", [Ico_UNCHANGED][The_THEME_BLUE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16",
[Ico_BLACK][The_THEME_YELLOW] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 BLACK_ICO_YELLOW", [Ico_UNCHANGED][The_THEME_YELLOW] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16",
[Ico_BLACK][The_THEME_PINK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 BLACK_ICO_PINK", [Ico_UNCHANGED][The_THEME_PINK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16",
[Ico_BLACK][The_THEME_DARK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 BLACK_ICO_DARK", [Ico_UNCHANGED][The_THEME_DARK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16",
[Ico_GREEN][The_THEME_WHITE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 GREEN_ICO_WHITE", [Ico_BLACK ][The_THEME_WHITE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 BLACK_ICO_WHITE",
[Ico_GREEN][The_THEME_GREY ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 GREEN_ICO_GREY", [Ico_BLACK ][The_THEME_GREY ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 BLACK_ICO_GREY",
[Ico_GREEN][The_THEME_PURPLE] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 GREEN_ICO_PURPLE", [Ico_BLACK ][The_THEME_PURPLE] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 BLACK_ICO_PURPLE",
[Ico_GREEN][The_THEME_BLUE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 GREEN_ICO_BLUE", [Ico_BLACK ][The_THEME_BLUE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 BLACK_ICO_BLUE",
[Ico_GREEN][The_THEME_YELLOW] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 GREEN_ICO_YELLOW", [Ico_BLACK ][The_THEME_YELLOW] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 BLACK_ICO_YELLOW",
[Ico_GREEN][The_THEME_PINK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 GREEN_ICO_PINK", [Ico_BLACK ][The_THEME_PINK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 BLACK_ICO_PINK",
[Ico_GREEN][The_THEME_DARK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 GREEN_ICO_DARK", [Ico_BLACK ][The_THEME_DARK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 BLACK_ICO_DARK",
[Ico_RED ][The_THEME_WHITE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 RED_ICO_WHITE", [Ico_GREEN ][The_THEME_WHITE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 GREEN_ICO_WHITE",
[Ico_RED ][The_THEME_GREY ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 RED_ICO_GREY", [Ico_GREEN ][The_THEME_GREY ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 GREEN_ICO_GREY",
[Ico_RED ][The_THEME_PURPLE] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 RED_ICO_PURPLE", [Ico_GREEN ][The_THEME_PURPLE] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 GREEN_ICO_PURPLE",
[Ico_RED ][The_THEME_BLUE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 RED_ICO_BLUE", [Ico_GREEN ][The_THEME_BLUE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 GREEN_ICO_BLUE",
[Ico_RED ][The_THEME_YELLOW] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 RED_ICO_YELLOW", [Ico_GREEN ][The_THEME_YELLOW] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 GREEN_ICO_YELLOW",
[Ico_RED ][The_THEME_PINK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 RED_ICO_PINK", [Ico_GREEN ][The_THEME_PINK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 GREEN_ICO_PINK",
[Ico_RED ][The_THEME_DARK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 RED_ICO_DARK", [Ico_GREEN ][The_THEME_DARK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 GREEN_ICO_DARK",
[Ico_WHITE][The_THEME_WHITE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 WHITE_ICO_WHITE", [Ico_RED ][The_THEME_WHITE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 RED_ICO_WHITE",
[Ico_WHITE][The_THEME_GREY ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 WHITE_ICO_GREY", [Ico_RED ][The_THEME_GREY ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 RED_ICO_GREY",
[Ico_WHITE][The_THEME_PURPLE] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 WHITE_ICO_PURPLE", [Ico_RED ][The_THEME_PURPLE] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 RED_ICO_PURPLE",
[Ico_WHITE][The_THEME_BLUE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 WHITE_ICO_BLUE", [Ico_RED ][The_THEME_BLUE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 RED_ICO_BLUE",
[Ico_WHITE][The_THEME_YELLOW] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 WHITE_ICO_YELLOW", [Ico_RED ][The_THEME_YELLOW] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 RED_ICO_YELLOW",
[Ico_WHITE][The_THEME_PINK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 WHITE_ICO_PINK", [Ico_RED ][The_THEME_PINK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 RED_ICO_PINK",
[Ico_WHITE][The_THEME_DARK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 WHITE_ICO_DARK", [Ico_RED ][The_THEME_DARK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 RED_ICO_DARK",
[Ico_WHITE ][The_THEME_WHITE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 WHITE_ICO_WHITE",
[Ico_WHITE ][The_THEME_GREY ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 WHITE_ICO_GREY",
[Ico_WHITE ][The_THEME_PURPLE] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 WHITE_ICO_PURPLE",
[Ico_WHITE ][The_THEME_BLUE ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 WHITE_ICO_BLUE",
[Ico_WHITE ][The_THEME_YELLOW] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 WHITE_ICO_YELLOW",
[Ico_WHITE ][The_THEME_PINK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 WHITE_ICO_PINK",
[Ico_WHITE ][The_THEME_DARK ] = "CONTEXT_OPT ICO_HIGHLIGHT CONTEXT_ICO_16x16 WHITE_ICO_DARK",
}; };
HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,Icon,Title,ClassIco[Color][Gbl.Prefs.Theme]); HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,Icon,Title,ClassIco[Color][Gbl.Prefs.Theme]);
@ -478,37 +486,45 @@ void Ico_PutSettingIconLink (const char *Icon,Ico_Color_t Color,const char *Titl
{ {
static const char *ClassIco[Ico_NUM_COLORS][The_NUM_THEMES] = static const char *ClassIco[Ico_NUM_COLORS][The_NUM_THEMES] =
{ {
[Ico_BLACK][The_THEME_WHITE ] = "ICO_HIGHLIGHT ICOx20 BLACK_ICO_WHITE", [Ico_UNCHANGED][The_THEME_WHITE ] = "ICO_HIGHLIGHT ICOx20",
[Ico_BLACK][The_THEME_GREY ] = "ICO_HIGHLIGHT ICOx20 BLACK_ICO_GREY", [Ico_UNCHANGED][The_THEME_GREY ] = "ICO_HIGHLIGHT ICOx20",
[Ico_BLACK][The_THEME_PURPLE] = "ICO_HIGHLIGHT ICOx20 BLACK_ICO_PURPLE", [Ico_UNCHANGED][The_THEME_PURPLE] = "ICO_HIGHLIGHT ICOx20",
[Ico_BLACK][The_THEME_BLUE ] = "ICO_HIGHLIGHT ICOx20 BLACK_ICO_BLUE", [Ico_UNCHANGED][The_THEME_BLUE ] = "ICO_HIGHLIGHT ICOx20",
[Ico_BLACK][The_THEME_YELLOW] = "ICO_HIGHLIGHT ICOx20 BLACK_ICO_YELLOW", [Ico_UNCHANGED][The_THEME_YELLOW] = "ICO_HIGHLIGHT ICOx20",
[Ico_BLACK][The_THEME_PINK ] = "ICO_HIGHLIGHT ICOx20 BLACK_ICO_PINK", [Ico_UNCHANGED][The_THEME_PINK ] = "ICO_HIGHLIGHT ICOx20",
[Ico_BLACK][The_THEME_DARK ] = "ICO_HIGHLIGHT ICOx20 BLACK_ICO_DARK", [Ico_UNCHANGED][The_THEME_DARK ] = "ICO_HIGHLIGHT ICOx20",
[Ico_GREEN][The_THEME_WHITE ] = "ICO_HIGHLIGHT ICOx20 GREEN_ICO_WHITE", [Ico_BLACK ][The_THEME_WHITE ] = "ICO_HIGHLIGHT ICOx20 BLACK_ICO_WHITE",
[Ico_GREEN][The_THEME_GREY ] = "ICO_HIGHLIGHT ICOx20 GREEN_ICO_GREY", [Ico_BLACK ][The_THEME_GREY ] = "ICO_HIGHLIGHT ICOx20 BLACK_ICO_GREY",
[Ico_GREEN][The_THEME_PURPLE] = "ICO_HIGHLIGHT ICOx20 GREEN_ICO_PURPLE", [Ico_BLACK ][The_THEME_PURPLE] = "ICO_HIGHLIGHT ICOx20 BLACK_ICO_PURPLE",
[Ico_GREEN][The_THEME_BLUE ] = "ICO_HIGHLIGHT ICOx20 GREEN_ICO_BLUE", [Ico_BLACK ][The_THEME_BLUE ] = "ICO_HIGHLIGHT ICOx20 BLACK_ICO_BLUE",
[Ico_GREEN][The_THEME_YELLOW] = "ICO_HIGHLIGHT ICOx20 GREEN_ICO_YELLOW", [Ico_BLACK ][The_THEME_YELLOW] = "ICO_HIGHLIGHT ICOx20 BLACK_ICO_YELLOW",
[Ico_GREEN][The_THEME_PINK ] = "ICO_HIGHLIGHT ICOx20 GREEN_ICO_PINK", [Ico_BLACK ][The_THEME_PINK ] = "ICO_HIGHLIGHT ICOx20 BLACK_ICO_PINK",
[Ico_GREEN][The_THEME_DARK ] = "ICO_HIGHLIGHT ICOx20 GREEN_ICO_DARK", [Ico_BLACK ][The_THEME_DARK ] = "ICO_HIGHLIGHT ICOx20 BLACK_ICO_DARK",
[Ico_RED ][The_THEME_WHITE ] = "ICO_HIGHLIGHT ICOx20 RED_ICO_WHITE", [Ico_GREEN ][The_THEME_WHITE ] = "ICO_HIGHLIGHT ICOx20 GREEN_ICO_WHITE",
[Ico_RED ][The_THEME_GREY ] = "ICO_HIGHLIGHT ICOx20 RED_ICO_GREY", [Ico_GREEN ][The_THEME_GREY ] = "ICO_HIGHLIGHT ICOx20 GREEN_ICO_GREY",
[Ico_RED ][The_THEME_PURPLE] = "ICO_HIGHLIGHT ICOx20 RED_ICO_PURPLE", [Ico_GREEN ][The_THEME_PURPLE] = "ICO_HIGHLIGHT ICOx20 GREEN_ICO_PURPLE",
[Ico_RED ][The_THEME_BLUE ] = "ICO_HIGHLIGHT ICOx20 RED_ICO_BLUE", [Ico_GREEN ][The_THEME_BLUE ] = "ICO_HIGHLIGHT ICOx20 GREEN_ICO_BLUE",
[Ico_RED ][The_THEME_YELLOW] = "ICO_HIGHLIGHT ICOx20 RED_ICO_YELLOW", [Ico_GREEN ][The_THEME_YELLOW] = "ICO_HIGHLIGHT ICOx20 GREEN_ICO_YELLOW",
[Ico_RED ][The_THEME_PINK ] = "ICO_HIGHLIGHT ICOx20 RED_ICO_PINK", [Ico_GREEN ][The_THEME_PINK ] = "ICO_HIGHLIGHT ICOx20 GREEN_ICO_PINK",
[Ico_RED ][The_THEME_DARK ] = "ICO_HIGHLIGHT ICOx20 RED_ICO_DARK", [Ico_GREEN ][The_THEME_DARK ] = "ICO_HIGHLIGHT ICOx20 GREEN_ICO_DARK",
[Ico_WHITE][The_THEME_WHITE ] = "ICO_HIGHLIGHT ICOx20 WHITE_ICO_WHITE", [Ico_RED ][The_THEME_WHITE ] = "ICO_HIGHLIGHT ICOx20 RED_ICO_WHITE",
[Ico_WHITE][The_THEME_GREY ] = "ICO_HIGHLIGHT ICOx20 WHITE_ICO_GREY", [Ico_RED ][The_THEME_GREY ] = "ICO_HIGHLIGHT ICOx20 RED_ICO_GREY",
[Ico_WHITE][The_THEME_PURPLE] = "ICO_HIGHLIGHT ICOx20 WHITE_ICO_PURPLE", [Ico_RED ][The_THEME_PURPLE] = "ICO_HIGHLIGHT ICOx20 RED_ICO_PURPLE",
[Ico_WHITE][The_THEME_BLUE ] = "ICO_HIGHLIGHT ICOx20 WHITE_ICO_BLUE", [Ico_RED ][The_THEME_BLUE ] = "ICO_HIGHLIGHT ICOx20 RED_ICO_BLUE",
[Ico_WHITE][The_THEME_YELLOW] = "ICO_HIGHLIGHT ICOx20 WHITE_ICO_YELLOW", [Ico_RED ][The_THEME_YELLOW] = "ICO_HIGHLIGHT ICOx20 RED_ICO_YELLOW",
[Ico_WHITE][The_THEME_PINK ] = "ICO_HIGHLIGHT ICOx20 WHITE_ICO_PINK", [Ico_RED ][The_THEME_PINK ] = "ICO_HIGHLIGHT ICOx20 RED_ICO_PINK",
[Ico_WHITE][The_THEME_DARK ] = "ICO_HIGHLIGHT ICOx20 WHITE_ICO_DARK", [Ico_RED ][The_THEME_DARK ] = "ICO_HIGHLIGHT ICOx20 RED_ICO_DARK",
[Ico_WHITE ][The_THEME_WHITE ] = "ICO_HIGHLIGHT ICOx20 WHITE_ICO_WHITE",
[Ico_WHITE ][The_THEME_GREY ] = "ICO_HIGHLIGHT ICOx20 WHITE_ICO_GREY",
[Ico_WHITE ][The_THEME_PURPLE] = "ICO_HIGHLIGHT ICOx20 WHITE_ICO_PURPLE",
[Ico_WHITE ][The_THEME_BLUE ] = "ICO_HIGHLIGHT ICOx20 WHITE_ICO_BLUE",
[Ico_WHITE ][The_THEME_YELLOW] = "ICO_HIGHLIGHT ICOx20 WHITE_ICO_YELLOW",
[Ico_WHITE ][The_THEME_PINK ] = "ICO_HIGHLIGHT ICOx20 WHITE_ICO_PINK",
[Ico_WHITE ][The_THEME_DARK ] = "ICO_HIGHLIGHT ICOx20 WHITE_ICO_DARK",
}; };
HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,Icon,Title,ClassIco[Color][Gbl.Prefs.Theme]); HTM_INPUT_IMAGE (Cfg_URL_ICON_PUBLIC,Icon,Title,ClassIco[Color][Gbl.Prefs.Theme]);
@ -536,41 +552,53 @@ void Ico_PutIcon (const char *Icon,Ico_Color_t Color,const char *Title,const cha
{ {
static const char *ClassColor[Ico_NUM_COLORS][The_NUM_THEMES] = static const char *ClassColor[Ico_NUM_COLORS][The_NUM_THEMES] =
{ {
[Ico_BLACK][The_THEME_WHITE ] = "BLACK_ICO_WHITE", [Ico_UNCHANGED][The_THEME_WHITE ] = NULL,
[Ico_BLACK][The_THEME_GREY ] = "BLACK_ICO_GREY", [Ico_UNCHANGED][The_THEME_GREY ] = NULL,
[Ico_BLACK][The_THEME_PURPLE] = "BLACK_ICO_PURPLE", [Ico_UNCHANGED][The_THEME_PURPLE] = NULL,
[Ico_BLACK][The_THEME_BLUE ] = "BLACK_ICO_BLUE", [Ico_UNCHANGED][The_THEME_BLUE ] = NULL,
[Ico_BLACK][The_THEME_YELLOW] = "BLACK_ICO_YELLOW", [Ico_UNCHANGED][The_THEME_YELLOW] = NULL,
[Ico_BLACK][The_THEME_PINK ] = "BLACK_ICO_PINK", [Ico_UNCHANGED][The_THEME_PINK ] = NULL,
[Ico_BLACK][The_THEME_DARK ] = "BLACK_ICO_DARK", [Ico_UNCHANGED][The_THEME_DARK ] = NULL,
[Ico_GREEN][The_THEME_WHITE ] = "GREEN_ICO_WHITE", [Ico_BLACK ][The_THEME_WHITE ] = "BLACK_ICO_WHITE",
[Ico_GREEN][The_THEME_GREY ] = "GREEN_ICO_GREY", [Ico_BLACK ][The_THEME_GREY ] = "BLACK_ICO_GREY",
[Ico_GREEN][The_THEME_PURPLE] = "GREEN_ICO_PURPLE", [Ico_BLACK ][The_THEME_PURPLE] = "BLACK_ICO_PURPLE",
[Ico_GREEN][The_THEME_BLUE ] = "GREEN_ICO_BLUE", [Ico_BLACK ][The_THEME_BLUE ] = "BLACK_ICO_BLUE",
[Ico_GREEN][The_THEME_YELLOW] = "GREEN_ICO_YELLOW", [Ico_BLACK ][The_THEME_YELLOW] = "BLACK_ICO_YELLOW",
[Ico_GREEN][The_THEME_PINK ] = "GREEN_ICO_PINK", [Ico_BLACK ][The_THEME_PINK ] = "BLACK_ICO_PINK",
[Ico_GREEN][The_THEME_DARK ] = "GREEN_ICO_DARK", [Ico_BLACK ][The_THEME_DARK ] = "BLACK_ICO_DARK",
[Ico_RED ][The_THEME_WHITE ] = "RED_ICO_WHITE", [Ico_GREEN ][The_THEME_WHITE ] = "GREEN_ICO_WHITE",
[Ico_RED ][The_THEME_GREY ] = "RED_ICO_GREY", [Ico_GREEN ][The_THEME_GREY ] = "GREEN_ICO_GREY",
[Ico_RED ][The_THEME_PURPLE] = "RED_ICO_PURPLE", [Ico_GREEN ][The_THEME_PURPLE] = "GREEN_ICO_PURPLE",
[Ico_RED ][The_THEME_BLUE ] = "RED_ICO_BLUE", [Ico_GREEN ][The_THEME_BLUE ] = "GREEN_ICO_BLUE",
[Ico_RED ][The_THEME_YELLOW] = "RED_ICO_YELLOW", [Ico_GREEN ][The_THEME_YELLOW] = "GREEN_ICO_YELLOW",
[Ico_RED ][The_THEME_PINK ] = "RED_ICO_PINK", [Ico_GREEN ][The_THEME_PINK ] = "GREEN_ICO_PINK",
[Ico_RED ][The_THEME_DARK ] = "RED_ICO_DARK", [Ico_GREEN ][The_THEME_DARK ] = "GREEN_ICO_DARK",
[Ico_WHITE][The_THEME_WHITE ] = "WHITE_ICO_WHITE", [Ico_RED ][The_THEME_WHITE ] = "RED_ICO_WHITE",
[Ico_WHITE][The_THEME_GREY ] = "WHITE_ICO_GREY", [Ico_RED ][The_THEME_GREY ] = "RED_ICO_GREY",
[Ico_WHITE][The_THEME_PURPLE] = "WHITE_ICO_PURPLE", [Ico_RED ][The_THEME_PURPLE] = "RED_ICO_PURPLE",
[Ico_WHITE][The_THEME_BLUE ] = "WHITE_ICO_BLUE", [Ico_RED ][The_THEME_BLUE ] = "RED_ICO_BLUE",
[Ico_WHITE][The_THEME_YELLOW] = "WHITE_ICO_YELLOW", [Ico_RED ][The_THEME_YELLOW] = "RED_ICO_YELLOW",
[Ico_WHITE][The_THEME_PINK ] = "WHITE_ICO_PINK", [Ico_RED ][The_THEME_PINK ] = "RED_ICO_PINK",
[Ico_WHITE][The_THEME_DARK ] = "WHITE_ICO_DARK", [Ico_RED ][The_THEME_DARK ] = "RED_ICO_DARK",
[Ico_WHITE ][The_THEME_WHITE ] = "WHITE_ICO_WHITE",
[Ico_WHITE ][The_THEME_GREY ] = "WHITE_ICO_GREY",
[Ico_WHITE ][The_THEME_PURPLE] = "WHITE_ICO_PURPLE",
[Ico_WHITE ][The_THEME_BLUE ] = "WHITE_ICO_BLUE",
[Ico_WHITE ][The_THEME_YELLOW] = "WHITE_ICO_YELLOW",
[Ico_WHITE ][The_THEME_PINK ] = "WHITE_ICO_PINK",
[Ico_WHITE ][The_THEME_DARK ] = "WHITE_ICO_DARK",
}; };
const char *CC = ClassColor[Color][Gbl.Prefs.Theme];
HTM_IMG (Cfg_URL_ICON_PUBLIC,Icon,Title, HTM_IMG (Cfg_URL_ICON_PUBLIC,Icon,Title,
"class=\"%s %s\"",Class,ClassColor[Color][Gbl.Prefs.Theme]); "class=\"%s%s%s\"",
Class,
CC ? " " : "",
CC ? CC : "");
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -40,13 +40,14 @@ typedef enum
} Ico_IconSet_t; } Ico_IconSet_t;
#define Ico_ICON_SET_DEFAULT Ico_ICON_SET_AWESOME #define Ico_ICON_SET_DEFAULT Ico_ICON_SET_AWESOME
#define Ico_NUM_COLORS 4 #define Ico_NUM_COLORS 5
typedef enum typedef enum
{ {
Ico_BLACK = 0, Ico_UNCHANGED = 0,
Ico_GREEN = 1, Ico_BLACK = 1,
Ico_RED = 2, Ico_GREEN = 2,
Ico_WHITE = 3, Ico_RED = 3,
Ico_WHITE = 4,
} Ico_Color_t; } Ico_Color_t;
/*****************************************************************************/ /*****************************************************************************/

View File

@ -441,10 +441,10 @@ static void Ind_ShowNumCoursesWithIndicators (const struct Ind_Indicators *Indic
unsigned Ind; unsigned Ind;
const char *Class; const char *Class;
const char *ClassNormal = Str_BuildString ("RM %s", const char *ClassNormal = Str_BuildString ("RM %s",
The_ClassDatLight[Gbl.Prefs.Theme]); The_ClassDatLight[Gbl.Prefs.Theme]);
const char *ClassHighlight = Str_BuildString ("RM %s %s", const char *ClassHighlight = Str_BuildString ("RM %s %s",
The_ClassDat[Gbl.Prefs.Theme], The_ClassDat[Gbl.Prefs.Theme],
The_ClassBgHighlight[Gbl.Prefs.Theme]); The_ClassBgHighlight[Gbl.Prefs.Theme]);
/***** Write number of courses with each number of indicators valid *****/ /***** Write number of courses with each number of indicators valid *****/
HTM_TABLE_BeginPadding (2); HTM_TABLE_BeginPadding (2);

View File

@ -169,7 +169,7 @@ void Ins_SeeInsWithPendingCtrs (void)
HTM_TD_Begin ("class=\"LM %s\"",BgColor); HTM_TD_Begin ("class=\"LM %s\"",BgColor);
Ins_DrawInstitutionLogoAndNameWithLink (&Ins,ActSeeCtr, Ins_DrawInstitutionLogoAndNameWithLink (&Ins,ActSeeCtr,
Str_BuildString ("BT_LINK %s NOWRAP", Str_BuildString ("BT_LINK %s NOWRAP",
The_ClassDat[Gbl.Prefs.Theme]), The_ClassDat[Gbl.Prefs.Theme]),
"CM"); "CM");
Str_FreeStrings (); Str_FreeStrings ();
HTM_TD_End (); HTM_TD_End ();
@ -287,7 +287,7 @@ static void Ins_ListInstitutions (void)
/***** Begin box *****/ /***** Begin box *****/
Box_BoxBegin (NULL,Str_BuildString (Txt_Institutions_of_COUNTRY_X, Box_BoxBegin (NULL,Str_BuildString (Txt_Institutions_of_COUNTRY_X,
Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]), Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]),
Ins_PutIconsListingInstitutions,NULL, Ins_PutIconsListingInstitutions,NULL,
Hlp_COUNTRY_Institutions,Box_NOT_CLOSABLE); Hlp_COUNTRY_Institutions,Box_NOT_CLOSABLE);
Str_FreeStrings (); Str_FreeStrings ();
@ -374,12 +374,14 @@ static void Ins_ListOneInstitutionForSeeing (struct Ins_Instit *Ins,unsigned Num
if (Ins->Status & Hie_STATUS_BIT_PENDING) if (Ins->Status & Hie_STATUS_BIT_PENDING)
{ {
TxtClassNormal = The_ClassDatLight[Gbl.Prefs.Theme]; TxtClassNormal = The_ClassDatLight[Gbl.Prefs.Theme];
TxtClassStrong = Str_BuildString ("BT_LINK LT %s",The_ClassDatLight[Gbl.Prefs.Theme]); TxtClassStrong = Str_BuildString ("BT_LINK LT %s",
The_ClassDatLight[Gbl.Prefs.Theme]);
} }
else else
{ {
TxtClassNormal = The_ClassDat[Gbl.Prefs.Theme]; TxtClassNormal = The_ClassDat[Gbl.Prefs.Theme];
TxtClassStrong = Str_BuildString ("BT_LINK LT %s",The_ClassDatStrong[Gbl.Prefs.Theme]); TxtClassStrong = Str_BuildString ("BT_LINK LT %s",
The_ClassDatStrong[Gbl.Prefs.Theme]);
} }
BgColor = (Ins->InsCod == Gbl.Hierarchy.Ins.InsCod) ? The_ClassBgHighlight[Gbl.Prefs.Theme] : BgColor = (Ins->InsCod == Gbl.Hierarchy.Ins.InsCod) ? The_ClassBgHighlight[Gbl.Prefs.Theme] :
Gbl.ColorRows[Gbl.RowEvenOdd]; Gbl.ColorRows[Gbl.RowEvenOdd];
@ -547,7 +549,7 @@ static void Ins_EditInstitutionsInternal (void)
/***** Begin box *****/ /***** Begin box *****/
Box_BoxBegin (NULL,Str_BuildString (Txt_Institutions_of_COUNTRY_X, Box_BoxBegin (NULL,Str_BuildString (Txt_Institutions_of_COUNTRY_X,
Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]), Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]),
Ins_PutIconsEditingInstitutions,NULL, Ins_PutIconsEditingInstitutions,NULL,
Hlp_COUNTRY_Institutions,Box_NOT_CLOSABLE); Hlp_COUNTRY_Institutions,Box_NOT_CLOSABLE);
Str_FreeStrings (); Str_FreeStrings ();

View File

@ -344,7 +344,8 @@ static void InsCfg_Country (bool PrintView,bool PutForm)
Frm_BeginFormGoTo (ActSeeCtyInf); Frm_BeginFormGoTo (ActSeeCtyInf);
Cty_PutParamCtyCod (Gbl.Hierarchy.Cty.CtyCod); Cty_PutParamCtyCod (Gbl.Hierarchy.Cty.CtyCod);
HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]), HTM_BUTTON_SUBMIT_Begin (Str_BuildGoToMsg (Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]),
Str_BuildString ("BT_LINK LT %s",The_ClassDat[Gbl.Prefs.Theme]), Str_BuildString ("BT_LINK LT %s",
The_ClassDat[Gbl.Prefs.Theme]),
NULL); NULL);
Str_FreeStrings (); Str_FreeStrings ();
} }

View File

@ -78,7 +78,7 @@ void Lan_PutLinkToChangeLanguage (void)
Lay_PutContextualLinkIconText (ActReqEdiSet,NULL, Lay_PutContextualLinkIconText (ActReqEdiSet,NULL,
NULL,NULL, NULL,NULL,
"globe-americas.svg",Ico_BLACK, "globe-americas.svg",Ico_BLACK,
"Change language"); "Change language",NULL);
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -1208,7 +1208,7 @@ void Lay_PutContextualLinkOnlyIcon (Act_Action_t NextAction,const char *Anchor,
void Lay_PutContextualLinkIconText (Act_Action_t NextAction,const char *Anchor, void Lay_PutContextualLinkIconText (Act_Action_t NextAction,const char *Anchor,
void (*FuncParams) (void *Args),void *Args, void (*FuncParams) (void *Args),void *Args,
const char *Icon,Ico_Color_t Color, const char *Icon,Ico_Color_t Color,
const char *Text) const char *Text,const char *OnSubmit)
{ {
extern const char *The_ClassFormLinkOutBoxBold[The_NUM_THEMES]; extern const char *The_ClassFormLinkOutBoxBold[The_NUM_THEMES];
@ -1222,42 +1222,8 @@ void Lay_PutContextualLinkIconText (Act_Action_t NextAction,const char *Anchor,
FuncParams (Args); FuncParams (Args);
/***** Put icon and text with link *****/ /***** Put icon and text with link *****/
HTM_BUTTON_SUBMIT_Begin (Text,The_ClassFormLinkOutBoxBold[Gbl.Prefs.Theme],NULL);
Ico_PutIconTextLink (Icon,Color,Text);
HTM_BUTTON_End ();
/***** End form *****/
Frm_EndForm ();
/***** Separator *****/
HTM_Txt (" "); // This space is necessary to enable
// jumping to the next line on narrow screens
}
/*****************************************************************************/
/**************** Show an icon with a link in contextual menu ****************/
/*****************************************************************************/
void Lay_PutContextualLinkIconTextOnSubmit (Act_Action_t NextAction,const char *Anchor,
void (*FuncParams) (const void *Args),const void *Args,
const char *Icon,
const char *Text,
const char *OnSubmit)
{
extern const char *The_ClassFormLinkOutBoxBold[The_NUM_THEMES];
/***** Separator *****/
HTM_Txt (" "); // This space is necessary to enable
// jumping to the next line on narrow screens
/***** Begin form *****/
Frm_BeginFormAnchor (NextAction,Anchor);
if (FuncParams)
FuncParams (Args);
/***** Put icon with link *****/
HTM_BUTTON_SUBMIT_Begin (Text,The_ClassFormLinkOutBoxBold[Gbl.Prefs.Theme],OnSubmit); HTM_BUTTON_SUBMIT_Begin (Text,The_ClassFormLinkOutBoxBold[Gbl.Prefs.Theme],OnSubmit);
Ico_PutIconTextLink (Icon,Ico_BLACK,Text); Ico_PutIconTextLink (Icon,Color,Text);
HTM_BUTTON_End (); HTM_BUTTON_End ();
/***** End form *****/ /***** End form *****/

View File

@ -56,12 +56,7 @@ void Lay_PutContextualLinkOnlyIcon (Act_Action_t NextAction,const char *Anchor,
void Lay_PutContextualLinkIconText (Act_Action_t NextAction,const char *Anchor, void Lay_PutContextualLinkIconText (Act_Action_t NextAction,const char *Anchor,
void (*FuncParams) (void *Args),void *Args, void (*FuncParams) (void *Args),void *Args,
const char *Icon,Ico_Color_t Color, const char *Icon,Ico_Color_t Color,
const char *Text); const char *Text,const char *OnSubmit);
void Lay_PutContextualLinkIconTextOnSubmit (Act_Action_t NextAction,const char *Anchor,
void (*FuncParams) (const void *Args),const void *Args,
const char *Icon,
const char *Text,
const char *OnSubmit);
void Lay_PutContextualCheckbox (Act_Action_t NextAction, void Lay_PutContextualCheckbox (Act_Action_t NextAction,
void (*FuncParams) (void), void (*FuncParams) (void),
const char *CheckboxName, const char *CheckboxName,

View File

@ -121,7 +121,7 @@ void Log_PutLinkToLastClicks (void)
Lay_PutContextualLinkIconText (ActLstClk,NULL, Lay_PutContextualLinkIconText (ActLstClk,NULL,
NULL,NULL, NULL,NULL,
"mouse-pointer.svg",Ico_BLACK, "mouse-pointer.svg",Ico_BLACK,
Txt_Last_clicks); Txt_Last_clicks,NULL);
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -1149,7 +1149,7 @@ static void Mai_ShowFormChangeUsrEmail (bool ItsMe,
/* Email confirmed? */ /* Email confirmed? */
if (Confirmed) if (Confirmed)
{ {
Ico_PutIcon ("check-circle.svg",Ico_BLACK, Ico_PutIcon ("check-circle.svg",Ico_GREEN,
Str_BuildString (Txt_Email_X_confirmed,row[0]), Str_BuildString (Txt_Email_X_confirmed,row[0]),
"ICO16x16"); "ICO16x16");
Str_FreeStrings (); Str_FreeStrings ();

View File

@ -61,7 +61,7 @@ static void Mtn_PutLinkToSetUp (void)
Lay_PutContextualLinkIconText (ActSetUp,NULL, Lay_PutContextualLinkIconText (ActSetUp,NULL,
NULL,NULL, NULL,NULL,
"bolt.svg",Ico_BLACK, "bolt.svg",Ico_BLACK,
Txt_Set_up); Txt_Set_up,NULL);
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -2389,8 +2389,8 @@ static void Mch_PutFormCountdown (struct Mch_Match *Match,long Seconds,const cha
HTM_BUTTON_SUBMIT_Begin (PutForm ? Txt_Countdown : HTM_BUTTON_SUBMIT_Begin (PutForm ? Txt_Countdown :
NULL, NULL,
Str_BuildString (PutForm ? "BT_LINK MCH_BUTTON_ON %s" : Str_BuildString (PutForm ? "BT_LINK MCH_BUTTON_ON %s" :
"BT_LINK_OFF MCH_BUTTON_HIDDEN %s", "BT_LINK_OFF MCH_BUTTON_HIDDEN %s",
Color), Color),
NULL); NULL);
Str_FreeStrings (); Str_FreeStrings ();
@ -2702,7 +2702,8 @@ static void Mch_PutCheckboxResult (const struct Mch_Match *Match)
/***** Put icon with link *****/ /***** Put icon with link *****/
HTM_BUTTON_SUBMIT_Begin (Txt_View_results, HTM_BUTTON_SUBMIT_Begin (Txt_View_results,
Str_BuildString ("BT_LINK %s ICO_HIGHLIGHT",The_ClassDat[Gbl.Prefs.Theme]), Str_BuildString ("BT_LINK %s ICO_HIGHLIGHT",
The_ClassDat[Gbl.Prefs.Theme]),
NULL); NULL);
Str_FreeStrings (); Str_FreeStrings ();
HTM_TxtF ("<i class=\"%s\"></i>", HTM_TxtF ("<i class=\"%s\"></i>",
@ -3351,7 +3352,7 @@ static void Mch_PutBigButtonClose (void)
static void Mch_ShowWaitImage (const char *Txt) static void Mch_ShowWaitImage (const char *Txt)
{ {
HTM_DIV_Begin ("class=\"MCH_WAIT_CONT\""); HTM_DIV_Begin ("class=\"MCH_WAIT_CONT\"");
Ico_PutIcon ("Spin-1s-200px.gif",Ico_BLACK,Txt,"MCH_WAIT_IMG"); Ico_PutIcon ("Spin-1s-200px.gif",Ico_UNCHANGED,Txt,"MCH_WAIT_IMG");
HTM_DIV_End (); HTM_DIV_End ();
} }

View File

@ -221,7 +221,8 @@ void MchRes_ShowMyMchResultsInMch (void)
false); // Do not put form to start new match false); // Do not put form to start new match
/***** List my matches results in match *****/ /***** List my matches results in match *****/
MchRes_ShowResultsBegin (&Games,Str_BuildString (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 false); // Do not list games to select
Str_FreeStrings (); Str_FreeStrings ();
MchRes_ListMyMchResultsInMch (&Games,Match.MchCod); MchRes_ListMyMchResultsInMch (&Games,Match.MchCod);

View File

@ -1822,7 +1822,7 @@ static void Med_AlertThirdPartyCookies (void)
Lay_PutContextualLinkIconText (ActReqEdiSet,Coo_COOKIES_ID, Lay_PutContextualLinkIconText (ActReqEdiSet,Coo_COOKIES_ID,
NULL,NULL, NULL,NULL,
"cog.svg",Ico_BLACK, "cog.svg",Ico_BLACK,
Txt_Settings); Txt_Settings,NULL);
/* End alert */ /* End alert */
Ale_ShowAlertAndButton2 (ActUnk,NULL,NULL, Ale_ShowAlertAndButton2 (ActUnk,NULL,NULL,

View File

@ -324,7 +324,7 @@ void Mnu_PutIconsToSelectMenu (void)
HTM_DIV_Begin ("class=\"PREF_OFF\""); HTM_DIV_Begin ("class=\"PREF_OFF\"");
Frm_BeginForm (ActChgMnu); Frm_BeginForm (ActChgMnu);
Par_PutHiddenParamUnsigned (NULL,"Menu",(unsigned) Menu); Par_PutHiddenParamUnsigned (NULL,"Menu",(unsigned) Menu);
Ico_PutSettingIconLink (Mnu_MenuIcons[Menu],Ico_BLACK, Ico_PutSettingIconLink (Mnu_MenuIcons[Menu],Ico_UNCHANGED,
Txt_MENU_NAMES[Menu]); Txt_MENU_NAMES[Menu]);
Frm_EndForm (); Frm_EndForm ();
HTM_DIV_End (); HTM_DIV_End ();

View File

@ -114,8 +114,8 @@ static bool Msg_GetParamOnlyUnreadMsgs (void);
static void Msg_ShowASentOrReceivedMessage (struct Msg_Messages *Messages, static void Msg_ShowASentOrReceivedMessage (struct Msg_Messages *Messages,
long MsgNum,long MsgCod); long MsgNum,long MsgCod);
static long Msg_GetParamMsgCod (void); static long Msg_GetParamMsgCod (void);
static void Msg_PutLinkToShowMorePotentialRecipients (const struct Msg_Messages *Messages); static void Msg_PutLinkToShowMorePotentialRecipients (struct Msg_Messages *Messages);
static void Msg_PutParamsShowMorePotentialRecipients (const void *Messages); static void Msg_PutParamsShowMorePotentialRecipients (void *Messages);
static void Msg_PutParamsWriteMsg (void *Messages); static void Msg_PutParamsWriteMsg (void *Messages);
static void Msg_PutHiddenParamsSubjectAndContent (void); static void Msg_PutHiddenParamsSubjectAndContent (void);
static void Msg_ShowOneUniqueRecipient (void); static void Msg_ShowOneUniqueRecipient (void);
@ -406,17 +406,17 @@ static void Msg_PutFormMsgUsrs (struct Msg_Messages *Messages,
/********** Put contextual link to show more potential recipients ************/ /********** Put contextual link to show more potential recipients ************/
/*****************************************************************************/ /*****************************************************************************/
static void Msg_PutLinkToShowMorePotentialRecipients (const struct Msg_Messages *Messages) static void Msg_PutLinkToShowMorePotentialRecipients (struct Msg_Messages *Messages)
{ {
extern const char *Txt_Show_more_recipients; extern const char *Txt_Show_more_recipients;
/***** Contextual menu *****/ /***** Contextual menu *****/
Mnu_ContextMenuBegin (); Mnu_ContextMenuBegin ();
Lay_PutContextualLinkIconTextOnSubmit (ActReqMsgUsr,NULL, Lay_PutContextualLinkIconText (ActReqMsgUsr,NULL,
Msg_PutParamsShowMorePotentialRecipients,Messages, Msg_PutParamsShowMorePotentialRecipients,Messages,
"users.svg", "users.svg",Ico_BLACK,
Txt_Show_more_recipients, Txt_Show_more_recipients,
"CopyMessageToHiddenFields();"); // Shor more potential recipients "CopyMessageToHiddenFields();"); // Show more potential recipients
Mnu_ContextMenuEnd (); Mnu_ContextMenuEnd ();
} }
@ -424,7 +424,7 @@ static void Msg_PutLinkToShowMorePotentialRecipients (const struct Msg_Messages
/************ Put parameters to show more potential recipients ***************/ /************ Put parameters to show more potential recipients ***************/
/*****************************************************************************/ /*****************************************************************************/
static void Msg_PutParamsShowMorePotentialRecipients (const void *Messages) static void Msg_PutParamsShowMorePotentialRecipients (void *Messages)
{ {
if (((struct Msg_Messages *) Messages)->Reply.IsReply) if (((struct Msg_Messages *) Messages)->Reply.IsReply)
{ {
@ -1612,7 +1612,7 @@ static void Msg_PutLinkToViewBannedUsers(void)
Lay_PutContextualLinkIconText (ActLstBanUsr,NULL, Lay_PutContextualLinkIconText (ActLstBanUsr,NULL,
NULL,NULL, NULL,NULL,
"lock.svg",Ico_RED, "lock.svg",Ico_RED,
Txt_Banned_users); Txt_Banned_users,NULL);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -2338,7 +2338,7 @@ void Msg_WriteMsgAuthor (struct UsrData *UsrDat,bool Enabled,const char *BgColor
ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM, ClassPhoto[Gbl.Prefs.PhotoShape],Pho_ZOOM,
false); false);
else else
Ico_PutIcon ("usr_bl.jpg",Ico_BLACK,Txt_Unknown_or_without_photo, Ico_PutIcon ("usr_bl.jpg",Ico_UNCHANGED,Txt_Unknown_or_without_photo,
ClassPhoto[Gbl.Prefs.PhotoShape]); ClassPhoto[Gbl.Prefs.PhotoShape]);
HTM_TD_End (); HTM_TD_End ();

View File

@ -361,15 +361,15 @@ void Ntf_ShowMyNotifications (void)
Lay_PutContextualLinkIconText (ActMrkNtfSee,NULL, Lay_PutContextualLinkIconText (ActMrkNtfSee,NULL,
NULL,NULL, NULL,NULL,
"eye.svg",Ico_BLACK, "eye.svg",Ico_BLACK,
Txt_Mark_all_NOTIFICATIONS_as_read); // Mark notifications as read Txt_Mark_all_NOTIFICATIONS_as_read,NULL); // Mark notifications as read
Lay_PutContextualLinkIconText (ActReqEdiSet,Ntf_NOTIFICATIONS_ID, Lay_PutContextualLinkIconText (ActReqEdiSet,Ntf_NOTIFICATIONS_ID,
NULL,NULL, NULL,NULL,
"cog.svg",Ico_BLACK, "cog.svg",Ico_BLACK,
Txt_Settings); // Change notification settings Txt_Settings,NULL); // Change notification settings
Lay_PutContextualLinkIconText (ActSeeMai,NULL, Lay_PutContextualLinkIconText (ActSeeMai,NULL,
NULL,NULL, NULL,NULL,
"envelope.svg",Ico_BLACK, "envelope.svg",Ico_BLACK,
Txt_Domains); // View allowed mail domains Txt_Domains,NULL); // View allowed mail domains
Mnu_ContextMenuEnd (); Mnu_ContextMenuEnd ();
/***** Begin box *****/ /***** Begin box *****/

View File

@ -235,7 +235,7 @@ void Pwd_PutLinkToSendNewPasswd (void)
Lay_PutContextualLinkIconText (ActReqSndNewPwd,NULL, Lay_PutContextualLinkIconText (ActReqSndNewPwd,NULL,
Pwd_PutLinkToSendNewPasswdParams,Gbl.Usrs.Me.UsrIdLogin, Pwd_PutLinkToSendNewPasswdParams,Gbl.Usrs.Me.UsrIdLogin,
"key.svg",Ico_BLACK, "key.svg",Ico_BLACK,
Txt_Forgotten_password); Txt_Forgotten_password,NULL);
} }
static void Pwd_PutLinkToSendNewPasswdParams (void *UsrIdLogin) static void Pwd_PutLinkToSendNewPasswdParams (void *UsrIdLogin)

View File

@ -2255,7 +2255,8 @@ static void Pho_ShowOrPrintListDegrees (struct Pho_DegPhotos *DegPhotos,
if (SeeOrPrint == Pho_DEGREES_SEE) if (SeeOrPrint == Pho_DEGREES_SEE)
{ {
Deg_DrawDegreeLogoAndNameWithLink (&Deg,ActSeeDegInf, Deg_DrawDegreeLogoAndNameWithLink (&Deg,ActSeeDegInf,
Str_BuildString ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme]), Str_BuildString ("BT_LINK %s",
The_ClassDat[Gbl.Prefs.Theme]),
"CT"); "CT");
Str_FreeStrings (); Str_FreeStrings ();
} }

View File

@ -150,7 +150,7 @@ void Prf_PutLinkMyPublicProfile (void)
Lay_PutContextualLinkIconText (ActSeeOthPubPrf,NULL, Lay_PutContextualLinkIconText (ActSeeOthPubPrf,NULL,
Usr_PutParamMyUsrCodEncrypted,Gbl.Usrs.Me.UsrDat.EnUsrCod, Usr_PutParamMyUsrCodEncrypted,Gbl.Usrs.Me.UsrDat.EnUsrCod,
"user-circle.svg",Ico_BLACK, "user-circle.svg",Ico_BLACK,
Txt_My_public_profile); Txt_My_public_profile,NULL);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -164,7 +164,7 @@ void Prf_PutLinkRequestAnotherUserProfile (void)
Lay_PutContextualLinkIconText (ActReqOthPubPrf,NULL, Lay_PutContextualLinkIconText (ActReqOthPubPrf,NULL,
NULL,NULL, NULL,NULL,
"user-circle.svg",Ico_BLACK, "user-circle.svg",Ico_BLACK,
Txt_Another_user_s_profile); Txt_Another_user_s_profile,NULL);
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -778,7 +778,7 @@ static void Prg_PutFormsToRemEditOneItem (unsigned NumItem,
Prg_PutParams,&Item->Hierarchy.ItmCod, Prg_PutParams,&Item->Hierarchy.ItmCod,
"arrow-up.svg",Ico_BLACK, "arrow-up.svg",Ico_BLACK,
Str_BuildString (Txt_Move_up_X, Str_BuildString (Txt_Move_up_X,
StrItemIndex)); StrItemIndex));
Str_FreeStrings (); Str_FreeStrings ();
} }
else else
@ -791,7 +791,7 @@ static void Prg_PutFormsToRemEditOneItem (unsigned NumItem,
Prg_PutParams,&Item->Hierarchy.ItmCod, Prg_PutParams,&Item->Hierarchy.ItmCod,
"arrow-down.svg",Ico_BLACK, "arrow-down.svg",Ico_BLACK,
Str_BuildString (Txt_Move_down_X, Str_BuildString (Txt_Move_down_X,
StrItemIndex)); StrItemIndex));
Str_FreeStrings (); Str_FreeStrings ();
} }
else else
@ -804,7 +804,7 @@ static void Prg_PutFormsToRemEditOneItem (unsigned NumItem,
Prg_PutParams,&Item->Hierarchy.ItmCod, Prg_PutParams,&Item->Hierarchy.ItmCod,
"arrow-left.svg",Ico_BLACK, "arrow-left.svg",Ico_BLACK,
Str_BuildString (Txt_Increase_level_of_X, Str_BuildString (Txt_Increase_level_of_X,
StrItemIndex)); StrItemIndex));
Str_FreeStrings (); Str_FreeStrings ();
} }
else else
@ -817,7 +817,7 @@ static void Prg_PutFormsToRemEditOneItem (unsigned NumItem,
Prg_PutParams,&Item->Hierarchy.ItmCod, Prg_PutParams,&Item->Hierarchy.ItmCod,
"arrow-right.svg",Ico_BLACK, "arrow-right.svg",Ico_BLACK,
Str_BuildString (Txt_Decrease_level_of_X, Str_BuildString (Txt_Decrease_level_of_X,
StrItemIndex)); StrItemIndex));
Str_FreeStrings (); Str_FreeStrings ();
} }
else else

View File

@ -697,10 +697,14 @@ static void Prj_ShowFormToFilterByWarning (const struct Prj_Projects *Projects)
extern const char *Txt_PROJECT_FAULTY_FAULTLESS_PROJECTS[Prj_NUM_FAULTINESS]; extern const char *Txt_PROJECT_FAULTY_FAULTLESS_PROJECTS[Prj_NUM_FAULTINESS];
struct Prj_Filter Filter; struct Prj_Filter Filter;
Prj_Faultiness_t Faultiness; Prj_Faultiness_t Faultiness;
static const char *FaultinessIcon[Prj_NUM_FAULTINESS] = struct
{ {
[Prj_FAULTY ] = "exclamation-triangle.svg", const char *Icon;
[Prj_FAULTLESS] = "check-circle.svg", Ico_Color_t Color;
} FaultinessIcon[Prj_NUM_FAULTINESS] =
{
[Prj_FAULTY ] = {"exclamation-triangle.svg",Ico_RED },
[Prj_FAULTLESS] = {"check-circle.svg" ,Ico_GREEN},
}; };
Set_BeginOneSettingSelector (); Set_BeginOneSettingSelector ();
@ -722,7 +726,8 @@ static void Prj_ShowFormToFilterByWarning (const struct Prj_Projects *Projects)
Projects->SelectedOrder, Projects->SelectedOrder,
Projects->CurrentPage, Projects->CurrentPage,
-1L); -1L);
Ico_PutSettingIconLink (FaultinessIcon[Faultiness],Ico_BLACK, Ico_PutSettingIconLink (FaultinessIcon[Faultiness].Icon,
FaultinessIcon[Faultiness].Color,
Txt_PROJECT_FAULTY_FAULTLESS_PROJECTS[Faultiness]); Txt_PROJECT_FAULTY_FAULTLESS_PROJECTS[Faultiness]);
Frm_EndForm (); Frm_EndForm ();
HTM_DIV_End (); HTM_DIV_End ();
@ -1648,7 +1653,7 @@ static bool Prj_CheckIfPrjIsFaulty (long PrjCod,struct Prj_Faults *Faults)
static void Prj_PutWarningIcon (void) static void Prj_PutWarningIcon (void)
{ {
Ico_PutIcon ("warning64x64.gif",Ico_BLACK,"","ICO16x16"); Ico_PutIcon ("warning64x64.gif",Ico_UNCHANGED,"","ICO16x16");
} }
/*****************************************************************************/ /*****************************************************************************/
@ -2202,7 +2207,7 @@ static void Prj_ShowOneProjectMembersWithARole (struct Prj_Projects *Projects,
Ico_PutContextualIconToAdd (ActionReqAddUsr[RoleInPrj],NULL, Ico_PutContextualIconToAdd (ActionReqAddUsr[RoleInPrj],NULL,
Prj_PutCurrentParams,Projects, Prj_PutCurrentParams,Projects,
Str_BuildString (Txt_Add_USERS, Str_BuildString (Txt_Add_USERS,
Txt_PROJECT_ROLES_PLURAL_abc[RoleInPrj])); Txt_PROJECT_ROLES_PLURAL_abc[RoleInPrj]));
Str_FreeStrings (); Str_FreeStrings ();
HTM_TD_End (); HTM_TD_End ();
@ -2616,7 +2621,7 @@ static void Prj_ReqRemUsrFromPrj (struct Prj_Projects *Projects,
Projects->PrjCod = Prj.PrjCod; Projects->PrjCod = Prj.PrjCod;
Prj_PutCurrentParams (Projects); Prj_PutCurrentParams (Projects);
Btn_PutRemoveButton (Str_BuildString (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])); Txt_PROJECT_ROLES_SINGUL_abc[RoleInPrj][Gbl.Usrs.Other.UsrDat.Sex]));
Str_FreeStrings (); Str_FreeStrings ();
Frm_EndForm (); Frm_EndForm ();

View File

@ -883,12 +883,12 @@ static void QstImp_WriteRowImportedQst (struct XMLElement *StemElem,
/***** Put icon to indicate that a question does not exist in database *****/ /***** Put icon to indicate that a question does not exist in database *****/
HTM_TD_Begin ("class=\"BT%u CT\"",Gbl.RowEvenOdd); HTM_TD_Begin ("class=\"BT%u CT\"",Gbl.RowEvenOdd);
Ico_PutIcon (QuestionExists ? "tr16x16.gif" : if (QuestionExists)
"check-circle.svg", Ico_PutIcon ("tr16x16.gif" ,Ico_UNCHANGED,
Ico_BLACK, Txt_Existing_question,"CONTEXT_ICO_16x16");
QuestionExists ? Txt_Existing_question : else
Txt_New_question, Ico_PutIcon ("check-circle.svg",Ico_GREEN ,
"CONTEXT_ICO_16x16"); Txt_New_question ,"CONTEXT_ICO_16x16");
HTM_TD_End (); HTM_TD_End ();
/***** Write number of question *****/ /***** Write number of question *****/

View File

@ -843,7 +843,7 @@ void Rec_PutLinkToEditRecordFields (void)
Lay_PutContextualLinkIconText (ActEdiRecFie,NULL, Lay_PutContextualLinkIconText (ActEdiRecFie,NULL,
NULL,NULL, NULL,NULL,
"pen.svg",Ico_BLACK, "pen.svg",Ico_BLACK,
Txt_Edit_record_fields); Txt_Edit_record_fields,NULL);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -2691,7 +2691,8 @@ static void Rec_ShowCountryInHead (struct UsrData *UsrDat,bool ShowData)
{ {
/* Link to see country information */ /* Link to see country information */
Cty_WriteCountryName (UsrDat->CtyCod, Cty_WriteCountryName (UsrDat->CtyCod,
Str_BuildString ("BT_LINK %s",The_ClassDatStrong[Gbl.Prefs.Theme])); // Put link to country Str_BuildString ("BT_LINK %s",
The_ClassDatStrong[Gbl.Prefs.Theme])); // Put link to country
Str_FreeStrings (); Str_FreeStrings ();
} }
HTM_TD_End (); HTM_TD_End ();

View File

@ -125,7 +125,7 @@ void Rep_ReqMyUsageReport (void)
/***** Begin box *****/ /***** Begin box *****/
Box_BoxBegin (NULL,Str_BuildString (Txt_Report_of_use_of_PLATFORM, Box_BoxBegin (NULL,Str_BuildString (Txt_Report_of_use_of_PLATFORM,
Cfg_PLATFORM_SHORT_NAME), Cfg_PLATFORM_SHORT_NAME),
NULL,NULL, NULL,NULL,
Hlp_ANALYTICS_Report,Box_NOT_CLOSABLE); Hlp_ANALYTICS_Report,Box_NOT_CLOSABLE);
Str_FreeStrings (); Str_FreeStrings ();
@ -234,7 +234,7 @@ static void Rep_PutLinkToMyUsageReport (struct Rep_Report *Report)
/***** Begin box *****/ /***** Begin box *****/
Box_BoxBegin (NULL,Str_BuildString (Txt_Report_of_use_of_PLATFORM, Box_BoxBegin (NULL,Str_BuildString (Txt_Report_of_use_of_PLATFORM,
Cfg_PLATFORM_SHORT_NAME), Cfg_PLATFORM_SHORT_NAME),
NULL,NULL, NULL,NULL,
Hlp_ANALYTICS_Report,Box_NOT_CLOSABLE); Hlp_ANALYTICS_Report,Box_NOT_CLOSABLE);
Str_FreeStrings (); Str_FreeStrings ();

View File

@ -230,7 +230,7 @@ static void Set_PutIconsToSelectSideCols (void)
Par_PutHiddenParamUnsigned (NULL,"SideCols",SideCols); Par_PutHiddenParamUnsigned (NULL,"SideCols",SideCols);
snprintf (Icon,sizeof (Icon),"layout%u%u_32x20.gif", snprintf (Icon,sizeof (Icon),"layout%u%u_32x20.gif",
SideCols >> 1,SideCols & 1); SideCols >> 1,SideCols & 1);
Ico_PutSettingIconLink (Icon,Ico_BLACK,Txt_LAYOUT_SIDE_COLUMNS[SideCols]); Ico_PutSettingIconLink (Icon,Ico_UNCHANGED,Txt_LAYOUT_SIDE_COLUMNS[SideCols]);
Frm_EndForm (); Frm_EndForm ();
HTM_DIV_End (); HTM_DIV_End ();
} }

View File

@ -277,7 +277,7 @@ static void Sta_PutFormCrsHits (struct Sta_Stats *Stats)
/***** Begin box *****/ /***** Begin box *****/
Box_BoxBegin (NULL,Str_BuildString (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), Gbl.Hierarchy.Crs.ShrtName),
NULL,NULL, NULL,NULL,
Hlp_ANALYTICS_Visits_visits_to_course,Box_NOT_CLOSABLE); Hlp_ANALYTICS_Visits_visits_to_course,Box_NOT_CLOSABLE);
Str_FreeStrings (); Str_FreeStrings ();
@ -623,7 +623,7 @@ void Sta_PutLinkToCourseHits (void)
Lay_PutContextualLinkIconText (ActReqAccCrs,NULL, Lay_PutContextualLinkIconText (ActReqAccCrs,NULL,
NULL,NULL, NULL,NULL,
"chart-line.svg",Ico_BLACK, "chart-line.svg",Ico_BLACK,
Txt_Visits_to_course); Txt_Visits_to_course,NULL);
break; break;
default: default:
break; break;
@ -641,7 +641,7 @@ void Sta_PutLinkToGlobalHits (void)
Lay_PutContextualLinkIconText (ActReqAccGbl,NULL, Lay_PutContextualLinkIconText (ActReqAccGbl,NULL,
NULL,NULL, NULL,NULL,
"chart-line.svg",Ico_BLACK, "chart-line.svg",Ico_BLACK,
Txt_Global_visits); Txt_Global_visits,NULL);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -1887,7 +1887,7 @@ static void Sta_DrawBarColors (Sta_ColorType_t ColorType,double HitsMax)
Sta_SetColor (ColorType,(double) NumColor,(double) GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH,&R,&G,&B); Sta_SetColor (ColorType,(double) NumColor,(double) GRAPH_DISTRIBUTION_PER_HOUR_TOTAL_WIDTH,&R,&G,&B);
HTM_TD_Begin ("class=\"LM\" style=\"width:1px; background-color:#%02X%02X%02X;\"", HTM_TD_Begin ("class=\"LM\" style=\"width:1px; background-color:#%02X%02X%02X;\"",
R,G,B); R,G,B);
Ico_PutIcon ("tr1x14.gif",Ico_BLACK,"",""); Ico_PutIcon ("tr1x14.gif",Ico_UNCHANGED,"","");
HTM_TD_End (); HTM_TD_End ();
} }

View File

@ -650,8 +650,8 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem,
Syl_PutParamNumItem,&Syllabus->ParamNumItem, Syl_PutParamNumItem,&Syllabus->ParamNumItem,
"arrow-up.svg",Ico_BLACK, "arrow-up.svg",Ico_BLACK,
Str_BuildString (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, Txt_Move_up_X,
StrItemCod)); StrItemCod));
Str_FreeStrings (); Str_FreeStrings ();
} }
else else
@ -670,8 +670,8 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem,
Syl_PutParamNumItem,&Syllabus->ParamNumItem, Syl_PutParamNumItem,&Syllabus->ParamNumItem,
"arrow-down.svg",Ico_BLACK, "arrow-down.svg",Ico_BLACK,
Str_BuildString (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, Txt_Move_down_X,
StrItemCod)); StrItemCod));
Str_FreeStrings (); Str_FreeStrings ();
} }
else else
@ -689,7 +689,7 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem,
Syl_PutParamNumItem,&Syllabus->ParamNumItem, Syl_PutParamNumItem,&Syllabus->ParamNumItem,
"arrow-left.svg",Ico_BLACK, "arrow-left.svg",Ico_BLACK,
Str_BuildString (Txt_Increase_level_of_X, Str_BuildString (Txt_Increase_level_of_X,
StrItemCod)); StrItemCod));
Str_FreeStrings (); Str_FreeStrings ();
} }
else else
@ -708,7 +708,7 @@ static void Syl_ShowRowSyllabus (struct Syl_Syllabus *Syllabus,unsigned NumItem,
Syl_PutParamNumItem,&Syllabus->ParamNumItem, Syl_PutParamNumItem,&Syllabus->ParamNumItem,
"arrow-right.svg",Ico_BLACK, "arrow-right.svg",Ico_BLACK,
Str_BuildString (Txt_Decrease_level_of_X, Str_BuildString (Txt_Decrease_level_of_X,
StrItemCod)); StrItemCod));
Str_FreeStrings (); Str_FreeStrings ();
} }
else else

View File

@ -312,7 +312,8 @@ static void SysCfg_NumCtys (void)
HTM_TD_Begin ("class=\"LB\""); HTM_TD_Begin ("class=\"LB\"");
Frm_BeginFormGoTo (ActSeeCty); Frm_BeginFormGoTo (ActSeeCty);
HTM_BUTTON_SUBMIT_Begin (Txt_Countries, HTM_BUTTON_SUBMIT_Begin (Txt_Countries,
Str_BuildString ("BT_LINK %s",The_ClassDat[Gbl.Prefs.Theme]), Str_BuildString ("BT_LINK %s",
The_ClassDat[Gbl.Prefs.Theme]),
NULL); NULL);
Str_FreeStrings (); Str_FreeStrings ();
HTM_Unsigned (Cty_GetCachedNumCtysInSys ()); HTM_Unsigned (Cty_GetCachedNumCtysInSys ());

View File

@ -479,7 +479,7 @@ void The_PutIconsToSelectTheme (void)
Par_PutHiddenParamString (NULL,"Theme",The_ThemeId[Theme]); Par_PutHiddenParamString (NULL,"Theme",The_ThemeId[Theme]);
snprintf (Icon,sizeof (Icon),"%s/%s/theme_32x20.gif", snprintf (Icon,sizeof (Icon),"%s/%s/theme_32x20.gif",
Cfg_ICON_FOLDER_THEMES,The_ThemeId[Theme]); Cfg_ICON_FOLDER_THEMES,The_ThemeId[Theme]);
Ico_PutSettingIconLink (Icon,Ico_BLACK,The_ThemeNames[Theme]); Ico_PutSettingIconLink (Icon,Ico_UNCHANGED,The_ThemeNames[Theme]);
Frm_EndForm (); Frm_EndForm ();
HTM_DIV_End (); HTM_DIV_End ();
} }

View File

@ -279,7 +279,7 @@ void Tml_ShowTimelineUsrHighlighting (struct Tml_Timeline *Timeline,long NotCod)
/***** Show timeline *****/ /***** Show timeline *****/
Tml_ShowTimeline (Timeline,NotCod, Tml_ShowTimeline (Timeline,NotCod,
Str_BuildString (Txt_Timeline_OF_A_USER, Str_BuildString (Txt_Timeline_OF_A_USER,
Gbl.Usrs.Other.UsrDat.FrstName)); Gbl.Usrs.Other.UsrDat.FrstName));
Str_FreeStrings (); Str_FreeStrings ();
/***** Free chained list of publications *****/ /***** Free chained list of publications *****/

View File

@ -629,7 +629,7 @@ static void Tml_Com_WriteAuthorName (const struct UsrData *UsrDat) // Author
HTM_BUTTON_SUBMIT_Begin (Usr_ItsMe (UsrDat->UsrCod) ? Txt_My_public_profile : HTM_BUTTON_SUBMIT_Begin (Usr_ItsMe (UsrDat->UsrCod) ? Txt_My_public_profile :
Txt_Another_user_s_profile, Txt_Another_user_s_profile,
Str_BuildString ("Tml_COM_AUTHOR Tml_COMM_AUTHOR_WIDTH BT_LINK %s BOLD", Str_BuildString ("Tml_COM_AUTHOR Tml_COMM_AUTHOR_WIDTH BT_LINK %s BOLD",
The_ClassDat[Gbl.Prefs.Theme]), The_ClassDat[Gbl.Prefs.Theme]),
NULL); NULL);
HTM_Txt (UsrDat->FullName); HTM_Txt (UsrDat->FullName);
HTM_BUTTON_End (); HTM_BUTTON_End ();

View File

@ -324,7 +324,7 @@ static void Tml_Not_WriteAuthorTimeAndContent (const struct Tml_Not_Note *Not,
/***** Write author's full name *****/ /***** Write author's full name *****/
Tml_Not_WriteAuthorName (UsrDat, Tml_Not_WriteAuthorName (UsrDat,
Str_BuildString ("Tml_RIGHT_AUTHOR Tml_RIGHT_AUTHOR_WIDTH BT_LINK %s BOLD", Str_BuildString ("Tml_RIGHT_AUTHOR Tml_RIGHT_AUTHOR_WIDTH BT_LINK %s BOLD",
The_ClassDatStrong[Gbl.Prefs.Theme])); The_ClassDatStrong[Gbl.Prefs.Theme]));
Str_FreeStrings (); Str_FreeStrings ();
/***** Write date and time *****/ /***** Write date and time *****/
@ -688,7 +688,7 @@ static void Tml_Not_PutFormGoToAction (const struct Tml_Not_Note *Not,
/* Begin button */ /* Begin button */
HTM_BUTTON_SUBMIT_Begin (Txt_TIMELINE_NOTE[Not->Type], HTM_BUTTON_SUBMIT_Begin (Txt_TIMELINE_NOTE[Not->Type],
Str_BuildString ("BT_LINK %s ICO_HIGHLIGHT", Str_BuildString ("BT_LINK %s ICO_HIGHLIGHT",
The_ClassFormInBoxBold[Gbl.Prefs.Theme]), The_ClassFormInBoxBold[Gbl.Prefs.Theme]),
NULL); NULL);
Str_FreeStrings (); Str_FreeStrings ();

View File

@ -177,7 +177,7 @@ static void Tml_Pst_PutFormToWriteNewPost (struct Tml_Timeline *Timeline)
/***** Author name *****/ /***** Author name *****/
Tml_Not_WriteAuthorName (&Gbl.Usrs.Me.UsrDat, Tml_Not_WriteAuthorName (&Gbl.Usrs.Me.UsrDat,
Str_BuildString ("Tml_RIGHT_AUTHOR Tml_RIGHT_AUTHOR_WIDTH BT_LINK %s BOLD", Str_BuildString ("Tml_RIGHT_AUTHOR Tml_RIGHT_AUTHOR_WIDTH BT_LINK %s BOLD",
The_ClassDatStrong[Gbl.Prefs.Theme])); The_ClassDatStrong[Gbl.Prefs.Theme]));
Str_FreeStrings (); Str_FreeStrings ();
/***** Form to write the post *****/ /***** Form to write the post *****/

View File

@ -1119,7 +1119,7 @@ void Usr_PutLinkToLogin (void)
Lay_PutContextualLinkIconText (ActFrmLogIn,NULL, Lay_PutContextualLinkIconText (ActFrmLogIn,NULL,
NULL,NULL, NULL,NULL,
"sign-in-alt.svg",Ico_GREEN, "sign-in-alt.svg",Ico_GREEN,
Txt_Log_in); Txt_Log_in,NULL);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -1364,7 +1364,7 @@ void Usr_WriteLoggedUsrHead (void)
Frm_BeginForm (ActFrmRolSes); Frm_BeginForm (ActFrmRolSes);
HTM_BUTTON_SUBMIT_Begin (Txt_Role, HTM_BUTTON_SUBMIT_Begin (Txt_Role,
Str_BuildString ("BT_LINK %s", Str_BuildString ("BT_LINK %s",
The_ClassUsr[Gbl.Prefs.Theme]), The_ClassUsr[Gbl.Prefs.Theme]),
NULL); NULL);
Str_FreeStrings (); Str_FreeStrings ();
HTM_Txt (Txt_ROLES_SINGUL_Abc[Gbl.Usrs.Me.Role.Logged][Gbl.Usrs.Me.UsrDat.Sex]); HTM_Txt (Txt_ROLES_SINGUL_Abc[Gbl.Usrs.Me.Role.Logged][Gbl.Usrs.Me.UsrDat.Sex]);
@ -1375,7 +1375,8 @@ void Usr_WriteLoggedUsrHead (void)
} }
else else
{ {
Rol_PutFormToChangeMyRole (Str_BuildString ("SEL_ROLE %s",The_ClassInput[Gbl.Prefs.Theme])); Rol_PutFormToChangeMyRole (Str_BuildString ("SEL_ROLE %s",
The_ClassInput[Gbl.Prefs.Theme]));
Str_FreeStrings (); Str_FreeStrings ();
} }
HTM_NBSP (); HTM_NBSP ();
@ -4994,7 +4995,7 @@ static void Usr_PutLinkToSeeAdmins (void)
Lay_PutContextualLinkIconText (ActLstOth,NULL, Lay_PutContextualLinkIconText (ActLstOth,NULL,
NULL,NULL, NULL,NULL,
Rol_Icons[Rol_DEG_ADM],Ico_BLACK, Rol_Icons[Rol_DEG_ADM],Ico_BLACK,
Txt_ROLES_PLURAL_Abc[Rol_DEG_ADM][Usr_SEX_UNKNOWN]); Txt_ROLES_PLURAL_Abc[Rol_DEG_ADM][Usr_SEX_UNKNOWN],NULL);
} }
/*****************************************************************************/ /*****************************************************************************/
@ -5009,7 +5010,7 @@ static void Usr_PutLinkToSeeGuests (void)
Lay_PutContextualLinkIconText (ActLstGst,NULL, Lay_PutContextualLinkIconText (ActLstGst,NULL,
NULL,NULL, NULL,NULL,
"users.svg",Ico_BLACK, "users.svg",Ico_BLACK,
Txt_ROLES_PLURAL_Abc[Rol_GST][Usr_SEX_UNKNOWN]); Txt_ROLES_PLURAL_Abc[Rol_GST][Usr_SEX_UNKNOWN],NULL);
} }
/*****************************************************************************/ /*****************************************************************************/

View File

@ -87,7 +87,7 @@ void ZIP_PutLinkToCreateZIPAsgWrk (void)
Lay_PutContextualLinkIconText (ActAdmAsgWrkCrs,NULL, Lay_PutContextualLinkIconText (ActAdmAsgWrkCrs,NULL,
ZIP_PutLinkToCreateZIPAsgWrkParams,NULL, ZIP_PutLinkToCreateZIPAsgWrkParams,NULL,
"download.svg",Ico_BLACK, "download.svg",Ico_BLACK,
Txt_Create_ZIP_file); Txt_Create_ZIP_file,NULL);
} }
static void ZIP_PutLinkToCreateZIPAsgWrkParams (__attribute__((unused)) void *Args) static void ZIP_PutLinkToCreateZIPAsgWrkParams (__attribute__((unused)) void *Args)