diff --git a/Makefile b/Makefile index 4b11821ee..12d3309af 100644 --- a/Makefile +++ b/Makefile @@ -39,7 +39,7 @@ OBJS = swad_account.o swad_account_database.o swad_action.o swad_action_list.o \ swad_call_for_exam_database.o swad_center.o swad_center_config.o \ swad_center_database.o swad_chat.o swad_chat_database.o \ swad_closed_open.o swad_config.o swad_connected.o \ - swad_connected_database.o swad_constant.o swad_cookie.o \ + swad_connected_database.o swad_cookie.o \ swad_cookie_database.o swad_country.o swad_country_config.o \ swad_country_database.o swad_course.o swad_course_config.o \ swad_course_database.o swad_cryptography.o \ diff --git a/swad_HTML.c b/swad_HTML.c index 76c690d3c..f9e586061 100644 --- a/swad_HTML.c +++ b/swad_HTML.c @@ -35,6 +35,22 @@ #include "swad_global.h" #include "swad_HTML.h" +/*****************************************************************************/ +/***************************** Public constants ******************************/ +/*****************************************************************************/ + +const char *HTM_DisabledTxt[Cns_NUM_DISABLED_ENABLED] = + { + [Cns_DISABLED] = " disabled=\"disabled\"", + [Cns_ENABLED ] = "", + }; + +const char *HTM_CheckedTxt[Cns_NUM_UNCHECKED_CHECKED] = + { + [Cns_UNCHECKED] = "", + [Cns_CHECKED ] = " checked=\"checked\"", + }; + /*****************************************************************************/ /**************************** Private constants ******************************/ /*****************************************************************************/ diff --git a/swad_HTML.h b/swad_HTML.h index da5d66844..07f89f6e5 100644 --- a/swad_HTML.h +++ b/swad_HTML.h @@ -29,6 +29,8 @@ #include // For boolean type +#include "swad_constant.h" + /*****************************************************************************/ /********************************* Public types ******************************/ /*****************************************************************************/ diff --git a/swad_attendance.c b/swad_attendance.c index 7416191b6..f954bf5d8 100644 --- a/swad_attendance.c +++ b/swad_attendance.c @@ -1710,7 +1710,7 @@ static void Att_WriteRowUsrToCallTheRoll (unsigned NumUsr, NumUsr,UsrDat->EnUsrCod, Present ? " checked=\"checked\"" : "", (ICanChangeStdAttendance == Usr_CAN) ? "" : - " disabled=\"disabled\""); + " disabled=\"disabled\""); HTM_TD_End (); /***** Write number of student in the list *****/ diff --git a/swad_changelog.h b/swad_changelog.h index 56fdf9d14..025b4a992 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -633,10 +633,12 @@ Me sale este error, no s "can npt create received message (duplicated entry '243218-2160773' for key 'UsrCod_MsgCod') */ -#define Log_PLATFORM_VERSION "SWAD 23.79.2 (2024-04-24)" +#define Log_PLATFORM_VERSION "SWAD 23.79.4 (2024-04-25)" #define CSS_FILE "swad23.67.2.css" #define JS_FILE "swad23.79.js" /* + Version 23.79.4: Apr 25, 2024 Code refactoring in HTML related to checked field in forms. (335739 lines) + Version 23.79.3: Apr 24, 2024 Code refactoring in HTML related to disabled field in forms. (335766 lines) Version 23.79.2: Apr 24, 2024 Code refactoring in HTML related to disabled field in forms. (335766 lines) Version 23.79.1: Apr 24, 2024 Code refactoring in HTML related to required field in forms. (335751 lines) Version 23.79: Apr 24, 2024 Code refactoring writing dates. (335741 lines) diff --git a/swad_constant.c b/swad_constant.c deleted file mode 100644 index f52817053..000000000 --- a/swad_constant.c +++ /dev/null @@ -1,62 +0,0 @@ -// swad_constant.c: common constants used in several modules - -/* - SWAD (Shared Workspace At a Distance), - is a web platform developed at the University of Granada (Spain), - and used to support university teaching. - - This file is part of SWAD core. - Copyright (C) 1999-2024 Antonio Caņas Vargas - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as - published by the Free Software Foundation, either version 3 of the - License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . -*/ -/*****************************************************************************/ -/*********************************** Headers *********************************/ -/*****************************************************************************/ - -#include "swad_constant.h" - -/*****************************************************************************/ -/***************************** Public constants ******************************/ -/*****************************************************************************/ - -const char *Cns_DisabledTxt[Cns_NUM_DISABLED_ENABLED] = - { - [Cns_DISABLED] = " disabled=\"disabled\"", - [Cns_ENABLED ] = "", - }; - -/*****************************************************************************/ -/**************************** Private constants ******************************/ -/*****************************************************************************/ - -/*****************************************************************************/ -/******************************* Private types *******************************/ -/*****************************************************************************/ - -/*****************************************************************************/ -/************** External global variables from others modules ****************/ -/*****************************************************************************/ - -/*****************************************************************************/ -/************************** Public global variables **************************/ -/*****************************************************************************/ - -/*****************************************************************************/ -/************************* Private global variables **************************/ -/*****************************************************************************/ - -/*****************************************************************************/ -/***************************** Private prototypes ****************************/ -/*****************************************************************************/ diff --git a/swad_constant.h b/swad_constant.h index b9ffd9434..4c7e15a68 100644 --- a/swad_constant.h +++ b/swad_constant.h @@ -102,6 +102,13 @@ typedef enum Cns_VERBOSE, } Cns_QuietOrVerbose_t; +#define Cns_NUM_UNCHECKED_CHECKED 2 +typedef enum + { + Cns_UNCHECKED, + Cns_CHECKED, + } Cns_UncheckedOrChecked_t; + #define Cns_NUM_DISABLED_ENABLED 2 typedef enum { diff --git a/swad_cookie.c b/swad_cookie.c index 1978a68f6..3900acf5c 100644 --- a/swad_cookie.c +++ b/swad_cookie.c @@ -94,8 +94,8 @@ void Coo_EditMyPrefsOnCookies (void) HTM_LABEL_Begin (NULL); HTM_INPUT_CHECKBOX ("cookies",HTM_SUBMIT_ON_CHANGE, "value=\"Y\"%s", - Gbl.Usrs.Me.UsrDat.Prefs.RefuseAcceptCookies == Coo_ACCEPT ? " checked=\"checked\"" : - ""); + (Gbl.Usrs.Me.UsrDat.Prefs.RefuseAcceptCookies == Coo_ACCEPT) ? " checked=\"checked\"" : + ""); HTM_Txt (Txt_Accept_third_party_cookies_to_view_multimedia_content_from_other_websites); HTM_LABEL_End (); diff --git a/swad_date.c b/swad_date.c index 7bee276da..70702c1b4 100644 --- a/swad_date.c +++ b/swad_date.c @@ -314,8 +314,8 @@ void Dat_PutBoxToSelectDateFormat (void) HTM_INPUT_RADIO ("DateFormat",HTM_SUBMIT_ON_CLICK, " value=\"%u\"%s", (unsigned) Format, - Format == Gbl.Prefs.DateFormat ? " checked=\"checked\"" : - ""); + (Format == Gbl.Prefs.DateFormat) ? " checked=\"checked\"" : + ""); Dat_PutSpanDateFormat (Format); Dat_PutScriptDateFormat (Format); HTM_LABEL_End (); @@ -989,7 +989,7 @@ void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear, HTM_SubmitOnChange_t SubmitOnChange, Cns_DisabledOrEnabled_t DisabledOrEnabled) { - extern const char *Cns_DisabledTxt[Cns_NUM_DISABLED_ENABLED]; + extern const char *HTM_DisabledTxt[Cns_NUM_DISABLED_ENABLED]; extern const char *Txt_MONTHS_SMALL[12]; char *FuncOnChange; unsigned Year; @@ -1001,75 +1001,69 @@ void Dat_WriteFormDate (unsigned FirstYear,unsigned LastYear, Err_NotEnoughMemoryExit (); /***** Year *****/ - // HTM_TD_Begin ("class=\"CM\""); - HTM_SELECT_Begin (SubmitOnChange,FuncOnChange, - "id=\"%sYear\" name=\"%sYear\"" - " class=\"INPUT_%s\"%s", - Id,Id,The_GetSuffix (), - Cns_DisabledTxt[DisabledOrEnabled]); - HTM_OPTION (HTM_Type_STRING,"0", - HTM_OPTION_UNSELECTED, + HTM_SELECT_Begin (SubmitOnChange,FuncOnChange, + "id=\"%sYear\" name=\"%sYear\"" + " class=\"INPUT_%s\"%s", + Id,Id,The_GetSuffix (), + HTM_DisabledTxt[DisabledOrEnabled]); + HTM_OPTION (HTM_Type_STRING,"0", + HTM_OPTION_UNSELECTED, + HTM_OPTION_ENABLED, + "-"); + for (Year = FirstYear; + Year <= LastYear; + Year++) + HTM_OPTION (HTM_Type_UNSIGNED,&Year, + (Year == DateSelected->Year) ? HTM_OPTION_SELECTED : + HTM_OPTION_UNSELECTED, HTM_OPTION_ENABLED, - "-"); - for (Year = FirstYear; - Year <= LastYear; - Year++) - HTM_OPTION (HTM_Type_UNSIGNED,&Year, - Year == DateSelected->Year ? HTM_OPTION_SELECTED : - HTM_OPTION_UNSELECTED, - HTM_OPTION_ENABLED, - "%u",Year); - HTM_SELECT_End (); - // HTM_TD_End (); + "%u",Year); + HTM_SELECT_End (); /***** Month *****/ - // HTM_TD_Begin ("class=\"CM\""); - HTM_SELECT_Begin (SubmitOnChange,FuncOnChange, - "id=\"%sMonth\" name=\"%sMonth\"" - " class=\"INPUT_%s\"%s", - Id,Id,The_GetSuffix (), - Cns_DisabledTxt[DisabledOrEnabled]); - HTM_OPTION (HTM_Type_STRING,"0", - HTM_OPTION_UNSELECTED, + HTM_SELECT_Begin (SubmitOnChange,FuncOnChange, + "id=\"%sMonth\" name=\"%sMonth\"" + " class=\"INPUT_%s\"%s", + Id,Id,The_GetSuffix (), + HTM_DisabledTxt[DisabledOrEnabled]); + HTM_OPTION (HTM_Type_STRING,"0", + HTM_OPTION_UNSELECTED, + HTM_OPTION_ENABLED, + "-"); + for (Month = 1; + Month <= 12; + Month++) + HTM_OPTION (HTM_Type_UNSIGNED,&Month, + (Month == DateSelected->Month) ? HTM_OPTION_SELECTED : + HTM_OPTION_UNSELECTED, HTM_OPTION_ENABLED, - "-"); - for (Month = 1; - Month <= 12; - Month++) - HTM_OPTION (HTM_Type_UNSIGNED,&Month, - Month == DateSelected->Month ? HTM_OPTION_SELECTED : - HTM_OPTION_UNSELECTED, - HTM_OPTION_ENABLED, - "%s",Txt_MONTHS_SMALL[Month - 1]); - HTM_SELECT_End (); - // HTM_TD_End (); + "%s",Txt_MONTHS_SMALL[Month - 1]); + HTM_SELECT_End (); free (FuncOnChange); /***** Day *****/ - // HTM_TD_Begin ("class=\"CM\""); - HTM_SELECT_Begin (SubmitOnChange,NULL, - "id=\"%sDay\" name=\"%sDay\"" - " class=\"INPUT_%s\"%s", - Id,Id,The_GetSuffix (), - Cns_DisabledTxt[DisabledOrEnabled]); - HTM_OPTION (HTM_Type_STRING,"0", - HTM_OPTION_UNSELECTED, + HTM_SELECT_Begin (SubmitOnChange,NULL, + "id=\"%sDay\" name=\"%sDay\"" + " class=\"INPUT_%s\"%s", + Id,Id,The_GetSuffix (), + HTM_DisabledTxt[DisabledOrEnabled]); + HTM_OPTION (HTM_Type_STRING,"0", + HTM_OPTION_UNSELECTED, + HTM_OPTION_ENABLED, + "-"); + NumDaysSelectedMonth = (DateSelected->Month == 0) ? 31 : + ((DateSelected->Month == 2) ? Dat_GetNumDaysFebruary (DateSelected->Year) : + Dat_NumDaysMonth[DateSelected->Month]); + for (Day = 1; + Day <= NumDaysSelectedMonth; + Day++) + HTM_OPTION (HTM_Type_UNSIGNED,&Day, + (Day == DateSelected->Day) ? HTM_OPTION_SELECTED : + HTM_OPTION_UNSELECTED, HTM_OPTION_ENABLED, - "-"); - NumDaysSelectedMonth = (DateSelected->Month == 0) ? 31 : - ((DateSelected->Month == 2) ? Dat_GetNumDaysFebruary (DateSelected->Year) : - Dat_NumDaysMonth[DateSelected->Month]); - for (Day = 1; - Day <= NumDaysSelectedMonth; - Day++) - HTM_OPTION (HTM_Type_UNSIGNED,&Day, - Day == DateSelected->Day ? HTM_OPTION_SELECTED : - HTM_OPTION_UNSELECTED, - HTM_OPTION_ENABLED, - "%u",Day); - HTM_SELECT_End (); - // HTM_TD_End (); + "%u",Day); + HTM_SELECT_End (); } /*****************************************************************************/ diff --git a/swad_enrolment.c b/swad_enrolment.c index ffd9f612d..2382e176f 100644 --- a/swad_enrolment.c +++ b/swad_enrolment.c @@ -113,19 +113,19 @@ static void Enr_PutActionsRegRemSeveralUsrs (void); static void Enr_ReceiveUsrsCrs (Rol_Role_t Role); -static void Enr_PutActionModifyOneUsr (bool *OptionChecked, +static void Enr_PutActionModifyOneUsr (Cns_UncheckedOrChecked_t *UncheckedOrChecked, Usr_Belong_t UsrBelongsToCrs,Usr_MeOrOther_t MeOrOther); -static void Enr_PutActionRegOneDegAdm (bool *OptionChecked); -static void Enr_PutActionRegOneCtrAdm (bool *OptionChecked); -static void Enr_PutActionRegOneInsAdm (bool *OptionChecked); -static void Enr_PutActionRepUsrAsDup (bool *OptionChecked); -static void Enr_PutActionRemUsrFromCrs (bool *OptionChecked,Usr_MeOrOther_t MeOrOther); -static void Enr_PutActionRemUsrAsDegAdm (bool *OptionChecked,Usr_MeOrOther_t MeOrOther); -static void Enr_PutActionRemUsrAsCtrAdm (bool *OptionChecked,Usr_MeOrOther_t MeOrOther); -static void Enr_PutActionRemUsrAsInsAdm (bool *OptionChecked,Usr_MeOrOther_t MeOrOther); -static void Enr_PutActionRemUsrAcc (bool *OptionChecked,Usr_MeOrOther_t MeOrOther); +static void Enr_PutActionRegOneDegAdm (Cns_UncheckedOrChecked_t *UncheckedOrChecked); +static void Enr_PutActionRegOneCtrAdm (Cns_UncheckedOrChecked_t *UncheckedOrChecked); +static void Enr_PutActionRegOneInsAdm (Cns_UncheckedOrChecked_t *UncheckedOrChecked); +static void Enr_PutActionRepUsrAsDup (Cns_UncheckedOrChecked_t *UncheckedOrChecked); +static void Enr_PutActionRemUsrFromCrs (Cns_UncheckedOrChecked_t *UncheckedOrChecked,Usr_MeOrOther_t MeOrOther); +static void Enr_PutActionRemUsrAsDegAdm (Cns_UncheckedOrChecked_t *UncheckedOrChecked,Usr_MeOrOther_t MeOrOther); +static void Enr_PutActionRemUsrAsCtrAdm (Cns_UncheckedOrChecked_t *UncheckedOrChecked,Usr_MeOrOther_t MeOrOther); +static void Enr_PutActionRemUsrAsInsAdm (Cns_UncheckedOrChecked_t *UncheckedOrChecked,Usr_MeOrOther_t MeOrOther); +static void Enr_PutActionRemUsrAcc (Cns_UncheckedOrChecked_t *UncheckedOrChecked,Usr_MeOrOther_t MeOrOther); static void Enr_RegRemOneUsrActionBegin (Enr_RegRemOneUsrAction_t RegRemOneUsrAction, - bool *OptionChecked); + Cns_UncheckedOrChecked_t *UncheckedOrChecked); static void Enr_RegRemOneUsrActionEnd (void); static void Enr_RegisterUsr (struct Usr_Data *UsrDat,Rol_Role_t RegRemRole, @@ -1319,7 +1319,7 @@ bool Enr_PutActionsRegRemOneUsr (Usr_MeOrOther_t MeOrOther) bool UsrIsDegAdmin = false; bool UsrIsCtrAdmin = false; bool UsrIsInsAdmin = false; - bool OptionChecked = false; + Cns_UncheckedOrChecked_t UncheckedOrChecked = Cns_UNCHECKED; /***** Check if the other user belongs to the current course *****/ if (Gbl.Hierarchy.Level == Hie_CRS) @@ -1350,7 +1350,7 @@ bool Enr_PutActionsRegRemOneUsr (Usr_MeOrOther_t MeOrOther) /***** Register user in course / Modify user's data *****/ if (Gbl.Hierarchy.Level == Hie_CRS && Gbl.Usrs.Me.Role.Logged >= Rol_STD) { - Enr_PutActionModifyOneUsr (&OptionChecked,UsrBelongsToCrs,MeOrOther); + Enr_PutActionModifyOneUsr (&UncheckedOrChecked,UsrBelongsToCrs,MeOrOther); OptionsShown = true; } @@ -1362,14 +1362,14 @@ bool Enr_PutActionsRegRemOneUsr (Usr_MeOrOther_t MeOrOther) /***** Register user as administrator of degree *****/ if (!UsrIsDegAdmin && Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM) { - Enr_PutActionRegOneDegAdm (&OptionChecked); + Enr_PutActionRegOneDegAdm (&UncheckedOrChecked); OptionsShown = true; } /***** Register user as administrator of center *****/ if (!UsrIsCtrAdmin && Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM) { - Enr_PutActionRegOneCtrAdm (&OptionChecked); + Enr_PutActionRegOneCtrAdm (&UncheckedOrChecked); OptionsShown = true; } } @@ -1377,7 +1377,7 @@ bool Enr_PutActionsRegRemOneUsr (Usr_MeOrOther_t MeOrOther) /***** Register user as administrator of institution *****/ if (!UsrIsInsAdmin && Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM) { - Enr_PutActionRegOneInsAdm (&OptionChecked); + Enr_PutActionRegOneInsAdm (&UncheckedOrChecked); OptionsShown = true; } } @@ -1385,14 +1385,14 @@ bool Enr_PutActionsRegRemOneUsr (Usr_MeOrOther_t MeOrOther) /***** Report user as possible duplicate *****/ if (MeOrOther == Usr_OTHER && Gbl.Usrs.Me.Role.Logged >= Rol_TCH) { - Enr_PutActionRepUsrAsDup (&OptionChecked); + Enr_PutActionRepUsrAsDup (&UncheckedOrChecked); OptionsShown = true; } /***** Remove user from the course *****/ if (UsrBelongsToCrs == Usr_BELONG) { - Enr_PutActionRemUsrFromCrs (&OptionChecked,MeOrOther); + Enr_PutActionRemUsrFromCrs (&UncheckedOrChecked,MeOrOther); OptionsShown = true; } @@ -1405,7 +1405,7 @@ bool Enr_PutActionsRegRemOneUsr (Usr_MeOrOther_t MeOrOther) if (UsrIsDegAdmin && (MeOrOther == Usr_ME || Gbl.Usrs.Me.Role.Logged >= Rol_CTR_ADM)) { - Enr_PutActionRemUsrAsDegAdm (&OptionChecked,MeOrOther); + Enr_PutActionRemUsrAsDegAdm (&UncheckedOrChecked,MeOrOther); OptionsShown = true; } @@ -1413,7 +1413,7 @@ bool Enr_PutActionsRegRemOneUsr (Usr_MeOrOther_t MeOrOther) if (UsrIsCtrAdmin && (MeOrOther == Usr_ME || Gbl.Usrs.Me.Role.Logged >= Rol_INS_ADM)) { - Enr_PutActionRemUsrAsCtrAdm (&OptionChecked,MeOrOther); + Enr_PutActionRemUsrAsCtrAdm (&UncheckedOrChecked,MeOrOther); OptionsShown = true; } } @@ -1422,7 +1422,7 @@ bool Enr_PutActionsRegRemOneUsr (Usr_MeOrOther_t MeOrOther) if (UsrIsInsAdmin && (MeOrOther == Usr_ME || Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM)) { - Enr_PutActionRemUsrAsInsAdm (&OptionChecked,MeOrOther); + Enr_PutActionRemUsrAsInsAdm (&UncheckedOrChecked,MeOrOther); OptionsShown = true; } } @@ -1430,7 +1430,7 @@ bool Enr_PutActionsRegRemOneUsr (Usr_MeOrOther_t MeOrOther) /***** Eliminate user completely from platform *****/ if (Acc_CheckIfICanEliminateAccount (Gbl.Usrs.Other.UsrDat.UsrCod) == Usr_CAN) { - Enr_PutActionRemUsrAcc (&OptionChecked,MeOrOther); + Enr_PutActionRemUsrAcc (&UncheckedOrChecked,MeOrOther); OptionsShown = true; } @@ -1444,7 +1444,7 @@ bool Enr_PutActionsRegRemOneUsr (Usr_MeOrOther_t MeOrOther) /**************** Put action to modify user in current course ****************/ /*****************************************************************************/ -static void Enr_PutActionModifyOneUsr (bool *OptionChecked, +static void Enr_PutActionModifyOneUsr (Cns_UncheckedOrChecked_t *UncheckedOrChecked, Usr_Belong_t UsrBelongsToCrs,Usr_MeOrOther_t MeOrOther) { extern const char *Txt_Register_me_in_X; @@ -1459,7 +1459,7 @@ static void Enr_PutActionModifyOneUsr (bool *OptionChecked, [Usr_BELONG ][Usr_OTHER] = Txt_Modify_user_in_the_course_X, }; - Enr_RegRemOneUsrActionBegin (Enr_REGISTER_MODIFY_ONE_USR_IN_CRS,OptionChecked); + Enr_RegRemOneUsrActionBegin (Enr_REGISTER_MODIFY_ONE_USR_IN_CRS,UncheckedOrChecked); HTM_TxtF (Txt[UsrBelongsToCrs][MeOrOther], Gbl.Hierarchy.Node[Hie_CRS].ShrtName); Enr_RegRemOneUsrActionEnd (); @@ -1469,11 +1469,11 @@ static void Enr_PutActionModifyOneUsr (bool *OptionChecked, /**************** Put action to register user as degree admin ****************/ /*****************************************************************************/ -static void Enr_PutActionRegOneDegAdm (bool *OptionChecked) +static void Enr_PutActionRegOneDegAdm (Cns_UncheckedOrChecked_t *UncheckedOrChecked) { extern const char *Txt_Register_USER_as_an_administrator_of_the_degree_X; - Enr_RegRemOneUsrActionBegin (Enr_REGISTER_ONE_DEG_ADMIN,OptionChecked); + Enr_RegRemOneUsrActionBegin (Enr_REGISTER_ONE_DEG_ADMIN,UncheckedOrChecked); HTM_TxtF (Txt_Register_USER_as_an_administrator_of_the_degree_X, Gbl.Hierarchy.Node[Hie_DEG].ShrtName); Enr_RegRemOneUsrActionEnd (); @@ -1483,11 +1483,11 @@ static void Enr_PutActionRegOneDegAdm (bool *OptionChecked) /**************** Put action to register user as center admin ****************/ /*****************************************************************************/ -static void Enr_PutActionRegOneCtrAdm (bool *OptionChecked) +static void Enr_PutActionRegOneCtrAdm (Cns_UncheckedOrChecked_t *UncheckedOrChecked) { extern const char *Txt_Register_USER_as_an_administrator_of_the_center_X; - Enr_RegRemOneUsrActionBegin (Enr_REGISTER_ONE_CTR_ADMIN,OptionChecked); + Enr_RegRemOneUsrActionBegin (Enr_REGISTER_ONE_CTR_ADMIN,UncheckedOrChecked); HTM_TxtF (Txt_Register_USER_as_an_administrator_of_the_center_X, Gbl.Hierarchy.Node[Hie_CTR].ShrtName); Enr_RegRemOneUsrActionEnd (); @@ -1497,11 +1497,11 @@ static void Enr_PutActionRegOneCtrAdm (bool *OptionChecked) /************* Put action to register user as institution admin **************/ /*****************************************************************************/ -static void Enr_PutActionRegOneInsAdm (bool *OptionChecked) +static void Enr_PutActionRegOneInsAdm (Cns_UncheckedOrChecked_t *UncheckedOrChecked) { extern const char *Txt_Register_USER_as_an_administrator_of_the_institution_X; - Enr_RegRemOneUsrActionBegin (Enr_REGISTER_ONE_INS_ADMIN,OptionChecked); + Enr_RegRemOneUsrActionBegin (Enr_REGISTER_ONE_INS_ADMIN,UncheckedOrChecked); HTM_TxtF (Txt_Register_USER_as_an_administrator_of_the_institution_X, Gbl.Hierarchy.Node[Hie_INS].ShrtName); Enr_RegRemOneUsrActionEnd (); @@ -1511,11 +1511,11 @@ static void Enr_PutActionRegOneInsAdm (bool *OptionChecked) /****************** Put action to report user as duplicate *******************/ /*****************************************************************************/ -static void Enr_PutActionRepUsrAsDup (bool *OptionChecked) +static void Enr_PutActionRepUsrAsDup (Cns_UncheckedOrChecked_t *UncheckedOrChecked) { extern const char *Txt_Report_possible_duplicate_user; - Enr_RegRemOneUsrActionBegin (Enr_REPORT_USR_AS_POSSIBLE_DUPLICATE,OptionChecked); + Enr_RegRemOneUsrActionBegin (Enr_REPORT_USR_AS_POSSIBLE_DUPLICATE,UncheckedOrChecked); HTM_Txt (Txt_Report_possible_duplicate_user); Enr_RegRemOneUsrActionEnd (); } @@ -1524,7 +1524,7 @@ static void Enr_PutActionRepUsrAsDup (bool *OptionChecked) /****************** Put action to remove user from course ********************/ /*****************************************************************************/ -static void Enr_PutActionRemUsrFromCrs (bool *OptionChecked,Usr_MeOrOther_t MeOrOther) +static void Enr_PutActionRemUsrFromCrs (Cns_UncheckedOrChecked_t *UncheckedOrChecked,Usr_MeOrOther_t MeOrOther) { extern const char *Txt_Remove_me_from_THE_COURSE_X; extern const char *Txt_Remove_USER_from_THE_COURSE_X; @@ -1534,7 +1534,7 @@ static void Enr_PutActionRemUsrFromCrs (bool *OptionChecked,Usr_MeOrOther_t MeOr [Usr_OTHER] = Txt_Remove_USER_from_THE_COURSE_X, }; - Enr_RegRemOneUsrActionBegin (Enr_REMOVE_ONE_USR_FROM_CRS,OptionChecked); + Enr_RegRemOneUsrActionBegin (Enr_REMOVE_ONE_USR_FROM_CRS,UncheckedOrChecked); HTM_TxtF (Txt[MeOrOther],Gbl.Hierarchy.Node[Hie_CRS].ShrtName); Enr_RegRemOneUsrActionEnd (); } @@ -1543,7 +1543,7 @@ static void Enr_PutActionRemUsrFromCrs (bool *OptionChecked,Usr_MeOrOther_t MeOr /***************** Put action to remove user as degree admin *****************/ /*****************************************************************************/ -static void Enr_PutActionRemUsrAsDegAdm (bool *OptionChecked,Usr_MeOrOther_t MeOrOther) +static void Enr_PutActionRemUsrAsDegAdm (Cns_UncheckedOrChecked_t *UncheckedOrChecked,Usr_MeOrOther_t MeOrOther) { extern const char *Txt_Remove_me_as_an_administrator_of_the_degree_X; extern const char *Txt_Remove_USER_as_an_administrator_of_the_degree_X; @@ -1553,7 +1553,7 @@ static void Enr_PutActionRemUsrAsDegAdm (bool *OptionChecked,Usr_MeOrOther_t MeO [Usr_OTHER] = Txt_Remove_USER_as_an_administrator_of_the_degree_X, }; - Enr_RegRemOneUsrActionBegin (Enr_REMOVE_ONE_DEG_ADMIN,OptionChecked); + Enr_RegRemOneUsrActionBegin (Enr_REMOVE_ONE_DEG_ADMIN,UncheckedOrChecked); HTM_TxtF (Txt[MeOrOther],Gbl.Hierarchy.Node[Hie_DEG].ShrtName); Enr_RegRemOneUsrActionEnd (); } @@ -1562,7 +1562,7 @@ static void Enr_PutActionRemUsrAsDegAdm (bool *OptionChecked,Usr_MeOrOther_t MeO /***************** Put action to remove user as center admin *****************/ /*****************************************************************************/ -static void Enr_PutActionRemUsrAsCtrAdm (bool *OptionChecked,Usr_MeOrOther_t MeOrOther) +static void Enr_PutActionRemUsrAsCtrAdm (Cns_UncheckedOrChecked_t *UncheckedOrChecked,Usr_MeOrOther_t MeOrOther) { extern const char *Txt_Remove_me_as_an_administrator_of_the_center_X; extern const char *Txt_Remove_USER_as_an_administrator_of_the_center_X; @@ -1572,7 +1572,7 @@ static void Enr_PutActionRemUsrAsCtrAdm (bool *OptionChecked,Usr_MeOrOther_t MeO [Usr_OTHER] = Txt_Remove_USER_as_an_administrator_of_the_center_X, }; - Enr_RegRemOneUsrActionBegin (Enr_REMOVE_ONE_CTR_ADMIN,OptionChecked); + Enr_RegRemOneUsrActionBegin (Enr_REMOVE_ONE_CTR_ADMIN,UncheckedOrChecked); HTM_TxtF (Txt[MeOrOther],Gbl.Hierarchy.Node[Hie_CTR].ShrtName); Enr_RegRemOneUsrActionEnd (); } @@ -1581,7 +1581,7 @@ static void Enr_PutActionRemUsrAsCtrAdm (bool *OptionChecked,Usr_MeOrOther_t MeO /************** Put action to remove user as institution admin ***************/ /*****************************************************************************/ -static void Enr_PutActionRemUsrAsInsAdm (bool *OptionChecked,Usr_MeOrOther_t MeOrOther) +static void Enr_PutActionRemUsrAsInsAdm (Cns_UncheckedOrChecked_t *UncheckedOrChecked,Usr_MeOrOther_t MeOrOther) { extern const char *Txt_Remove_me_as_an_administrator_of_the_institution_X; extern const char *Txt_Remove_USER_as_an_administrator_of_the_institution_X; @@ -1591,7 +1591,7 @@ static void Enr_PutActionRemUsrAsInsAdm (bool *OptionChecked,Usr_MeOrOther_t MeO [Usr_OTHER] = Txt_Remove_USER_as_an_administrator_of_the_institution_X, }; - Enr_RegRemOneUsrActionBegin (Enr_REMOVE_ONE_INS_ADMIN,OptionChecked); + Enr_RegRemOneUsrActionBegin (Enr_REMOVE_ONE_INS_ADMIN,UncheckedOrChecked); HTM_TxtF (Txt[MeOrOther],Gbl.Hierarchy.Node[Hie_INS].ShrtName); Enr_RegRemOneUsrActionEnd (); } @@ -1600,7 +1600,7 @@ static void Enr_PutActionRemUsrAsInsAdm (bool *OptionChecked,Usr_MeOrOther_t MeO /********************* Put action to remove user account *********************/ /*****************************************************************************/ -static void Enr_PutActionRemUsrAcc (bool *OptionChecked,Usr_MeOrOther_t MeOrOther) +static void Enr_PutActionRemUsrAcc (Cns_UncheckedOrChecked_t *UncheckedOrChecked,Usr_MeOrOther_t MeOrOther) { extern const char *Txt_Eliminate_my_user_account; extern const char *Txt_Eliminate_user_account; @@ -1610,7 +1610,7 @@ static void Enr_PutActionRemUsrAcc (bool *OptionChecked,Usr_MeOrOther_t MeOrOthe [Usr_OTHER] = Txt_Eliminate_user_account, }; - Enr_RegRemOneUsrActionBegin (Enr_ELIMINATE_ONE_USR_FROM_PLATFORM,OptionChecked); + Enr_RegRemOneUsrActionBegin (Enr_ELIMINATE_ONE_USR_FROM_PLATFORM,UncheckedOrChecked); HTM_Txt (Txt[MeOrOther]); Enr_RegRemOneUsrActionEnd (); } @@ -1620,17 +1620,20 @@ static void Enr_PutActionRemUsrAcc (bool *OptionChecked,Usr_MeOrOther_t MeOrOthe /*****************************************************************************/ static void Enr_RegRemOneUsrActionBegin (Enr_RegRemOneUsrAction_t RegRemOneUsrAction, - bool *OptionChecked) + Cns_UncheckedOrChecked_t *UncheckedOrChecked) { + extern const char *HTM_CheckedTxt[Cns_NUM_UNCHECKED_CHECKED]; + Cns_UncheckedOrChecked_t ThisUncheckedOrChecked = (*UncheckedOrChecked == Cns_CHECKED) ? Cns_UNCHECKED : + Cns_CHECKED; + HTM_LI_Begin (NULL); HTM_LABEL_Begin (NULL); HTM_INPUT_RADIO ("RegRemAction",HTM_DONT_SUBMIT_ON_CLICK, "value=\"%u\"%s", (unsigned) RegRemOneUsrAction, - *OptionChecked ? "" : " checked=\"checked\""); + HTM_CheckedTxt[ThisUncheckedOrChecked]); - if (!*OptionChecked) - *OptionChecked = true; + *UncheckedOrChecked = Cns_CHECKED; } static void Enr_RegRemOneUsrActionEnd (void) diff --git a/swad_enrolment.h b/swad_enrolment.h index e21242be9..232f9bb8f 100644 --- a/swad_enrolment.h +++ b/swad_enrolment.h @@ -50,17 +50,17 @@ typedef enum #define Enr_REG_REM_ONE_USR_NUM_ACTIONS 11 typedef enum { - Enr_REG_REM_ONE_USR_UNKNOWN_ACTION = 0, - Enr_REGISTER_MODIFY_ONE_USR_IN_CRS = 1, - Enr_REGISTER_ONE_DEG_ADMIN = 2, - Enr_REGISTER_ONE_CTR_ADMIN = 3, - Enr_REGISTER_ONE_INS_ADMIN = 4, - Enr_REPORT_USR_AS_POSSIBLE_DUPLICATE = 5, - Enr_REMOVE_ONE_USR_FROM_CRS = 6, - Enr_REMOVE_ONE_DEG_ADMIN = 7, - Enr_REMOVE_ONE_CTR_ADMIN = 8, - Enr_REMOVE_ONE_INS_ADMIN = 9, - Enr_ELIMINATE_ONE_USR_FROM_PLATFORM = 10, + Enr_REG_REM_ONE_USR_UNKNOWN_ACTION = 0, + Enr_REGISTER_MODIFY_ONE_USR_IN_CRS = 1, + Enr_REGISTER_ONE_DEG_ADMIN = 2, + Enr_REGISTER_ONE_CTR_ADMIN = 3, + Enr_REGISTER_ONE_INS_ADMIN = 4, + Enr_REPORT_USR_AS_POSSIBLE_DUPLICATE = 5, + Enr_REMOVE_ONE_USR_FROM_CRS = 6, + Enr_REMOVE_ONE_DEG_ADMIN = 7, + Enr_REMOVE_ONE_CTR_ADMIN = 8, + Enr_REMOVE_ONE_INS_ADMIN = 9, + Enr_ELIMINATE_ONE_USR_FROM_PLATFORM = 10, } Enr_RegRemOneUsrAction_t; typedef enum diff --git a/swad_group.c b/swad_group.c index 1fc0b358a..6c6fe0e50 100644 --- a/swad_group.c +++ b/swad_group.c @@ -2121,13 +2121,14 @@ static void Grp_ListGrpsToAddOrRemUsrs (struct GroupType *GrpTyp,long UsrCod) static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp) { + extern const char *HTM_CheckedTxt[Cns_NUM_UNCHECKED_CHECKED]; extern const char *Txt_users_with_no_group; unsigned NumGrpThisType; unsigned NumGrpSel; struct ListCodGrps LstGrpsIBelong; bool IBelongToThisGroup; Usr_Can_t ICanSelUnselGroup; - bool Checked; + Cns_UncheckedOrChecked_t UncheckedOrChecked; struct Group *Grp; Rol_Role_t Role; @@ -2174,14 +2175,14 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp) /* This group should be checked? */ if (Gbl.Crs.Grps.AllGrps) - Checked = true; + UncheckedOrChecked = Cns_CHECKED; else - for (NumGrpSel = 0, Checked = false; + for (NumGrpSel = 0, UncheckedOrChecked = Cns_UNCHECKED; NumGrpSel < Gbl.Crs.Grps.LstGrpsSel.NumGrps; NumGrpSel++) if (Gbl.Crs.Grps.LstGrpsSel.GrpCods[NumGrpSel] == Grp->GrpCod) { - Checked = true; + UncheckedOrChecked = Cns_CHECKED; break; } @@ -2193,8 +2194,7 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp) HTM_INPUT_CHECKBOX ("GrpCods",HTM_DONT_SUBMIT_ON_CHANGE, "id=\"Grp%ld\" value=\"%ld\"%s%s", Grp->GrpCod,Grp->GrpCod, - Checked ? " checked=\"checked\"" : - "", + HTM_CheckedTxt[UncheckedOrChecked], ICanSelUnselGroup == Usr_CAN ? " onclick=\"checkParent(this,'AllGroups')\"" : " disabled=\"disabled\""); HTM_TD_End (); @@ -2217,20 +2217,20 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp) { case Usr_CAN: if (Gbl.Crs.Grps.AllGrps) - Checked = true; + UncheckedOrChecked = Cns_CHECKED; else - for (NumGrpSel = 0, Checked = false; + for (NumGrpSel = 0, UncheckedOrChecked = Cns_UNCHECKED; NumGrpSel < Gbl.Crs.Grps.LstGrpsSel.NumGrps; NumGrpSel++) if (Gbl.Crs.Grps.LstGrpsSel.GrpCods[NumGrpSel] == -(GrpTyp->GrpTypCod)) { - Checked = true; + UncheckedOrChecked = Cns_CHECKED; break; } break; case Usr_CAN_NOT: default: - Checked = false; + UncheckedOrChecked = Cns_UNCHECKED; break; } @@ -2241,9 +2241,8 @@ static void Grp_ListGrpsForMultipleSelection (struct GroupType *GrpTyp) "id=\"Grp%ld\" value=\"%ld\"%s" " onclick=\"checkParent(this,'AllGroups')\"", -GrpTyp->GrpTypCod,-GrpTyp->GrpTypCod, - ICanSelUnselGroup == Usr_CAN ? (Checked ? " checked=\"checked\"" : - "") : - " disabled=\"disabled\""); + ICanSelUnselGroup == Usr_CAN ? HTM_CheckedTxt[UncheckedOrChecked] : + " disabled=\"disabled\""); HTM_TD_End (); /* Column closed/open */ diff --git a/swad_layout.c b/swad_layout.c index 597712dac..907f0e30e 100644 --- a/swad_layout.c +++ b/swad_layout.c @@ -1266,11 +1266,17 @@ void Lay_PutContextualLinkIconText (Act_Action_t NextAction,const char *Anchor, void Lay_PutContextualCheckbox (Act_Action_t NextAction, void (*FuncPars) (void *Args),void *Args, const char *CheckboxName, - bool Checked, + Cns_UncheckedOrChecked_t UncheckedOrChecked, Cns_DisabledOrEnabled_t DisabledOrEnabled, const char *Title,const char *Text) { - extern const char *Cns_DisabledTxt[Cns_NUM_DISABLED_ENABLED]; + extern const char *HTM_CheckedTxt[Cns_NUM_UNCHECKED_CHECKED]; + extern const char *HTM_DisabledTxt[Cns_NUM_DISABLED_ENABLED]; + static const char *Class[Cns_NUM_UNCHECKED_CHECKED] = + { + [Cns_UNCHECKED] = "CHECKBOX_UNCHECKED", + [Cns_CHECKED ] = "CHECKBOX_CHECKED", + }; /***** Separator *****/ if (Text) @@ -1284,10 +1290,7 @@ void Lay_PutContextualCheckbox (Act_Action_t NextAction, /***** Begin container *****/ HTM_DIV_Begin ("class=\"CONTEXT_OPT %s FORM_OUT_%s BOLD\" title=\"%s\"", - Checked ? "CHECKBOX_CHECKED" : - "CHECKBOX_UNCHECKED", - The_GetSuffix (), - Title); + Class[UncheckedOrChecked],The_GetSuffix (),Title); /***** Begin label *****/ HTM_LABEL_Begin (NULL); @@ -1295,9 +1298,8 @@ void Lay_PutContextualCheckbox (Act_Action_t NextAction, /****** Checkbox *****/ HTM_INPUT_CHECKBOX (CheckboxName,HTM_SUBMIT_ON_CHANGE, "value=\"Y\"%s%s", - Checked ? " checked=\"checked\"" : - "", - Cns_DisabledTxt[DisabledOrEnabled]); + HTM_CheckedTxt[UncheckedOrChecked], + HTM_DisabledTxt[DisabledOrEnabled]); /***** Text *****/ if (Text) diff --git a/swad_layout.h b/swad_layout.h index bf8be93cc..d819edeb6 100644 --- a/swad_layout.h +++ b/swad_layout.h @@ -81,7 +81,7 @@ void Lay_PutContextualLinkIconText (Act_Action_t NextAction,const char *Anchor, void Lay_PutContextualCheckbox (Act_Action_t NextAction, void (*FuncPars) (void *Args),void *Args, const char *CheckboxName, - bool Checked, + Cns_UncheckedOrChecked_t UncheckedOrChecked, Cns_DisabledOrEnabled_t DisabledOrEnabled, const char *Title,const char *Text); diff --git a/swad_question.c b/swad_question.c index d1a2d2c0c..793f9facc 100644 --- a/swad_question.c +++ b/swad_question.c @@ -210,11 +210,12 @@ void Qst_ShowFormRequestEditQsts (struct Qst_Questions *Questions) void Qst_ShowFormAnswerTypes (const struct Qst_AnswerTypes *AnswerTypes) { + extern const char *HTM_CheckedTxt[Cns_NUM_UNCHECKED_CHECKED]; extern const char *Txt_Types_of_answers; extern const char *Txt_All_types_of_answers; extern const char *Txt_TST_STR_ANSWER_TYPES[Qst_NUM_ANS_TYPES]; Qst_AnswerType_t AnsType; - bool Checked; + Cns_UncheckedOrChecked_t UncheckedOrChecked; char UnsignedStr[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; const char *Ptr; @@ -249,14 +250,14 @@ void Qst_ShowFormAnswerTypes (const struct Qst_AnswerTypes *AnswerTypes) { HTM_TR_Begin (NULL); - Checked = false; + UncheckedOrChecked = Cns_UNCHECKED; Ptr = AnswerTypes->List; while (*Ptr) { Par_GetNextStrUntilSeparParMult (&Ptr,UnsignedStr,Cns_MAX_DECIMAL_DIGITS_UINT); if (Qst_ConvertFromUnsignedStrToAnsTyp (UnsignedStr) == AnsType) { - Checked = true; + UncheckedOrChecked = Cns_CHECKED; break; } } @@ -266,8 +267,7 @@ void Qst_ShowFormAnswerTypes (const struct Qst_AnswerTypes *AnswerTypes) "value=\"%u\"%s" " onclick=\"checkParent(this,'AllAnsTypes');\"", (unsigned) AnsType, - Checked ? " checked=\"checked\"" : - ""); + HTM_CheckedTxt[UncheckedOrChecked]); HTM_NBSPTxt (Txt_TST_STR_ANSWER_TYPES[AnsType]); HTM_LABEL_End (); HTM_TD_End (); diff --git a/swad_resource.c b/swad_resource.c index 9e158cf9a..90e31f864 100644 --- a/swad_resource.c +++ b/swad_resource.c @@ -199,8 +199,11 @@ void Rsc_ShowClipboardToChangeLink (const struct Rsc_Link *CurrentLink) /*****************************************************************************/ void Rsc_WriteRowClipboard (const struct Rsc_Link *Link, - HTM_SubmitOnClick_t SubmitOnClick,bool Checked) + HTM_SubmitOnClick_t SubmitOnClick, + Cns_UncheckedOrChecked_t UncheckedOrChecked) { + extern const char *HTM_CheckedTxt[Cns_NUM_UNCHECKED_CHECKED]; + /***** Begin list row *****/ HTM_LI_Begin ("class=\"PRG_RSC_%s\"",The_GetSuffix ()); HTM_LABEL_Begin (NULL); @@ -209,8 +212,7 @@ void Rsc_WriteRowClipboard (const struct Rsc_Link *Link, HTM_INPUT_RADIO ("Link",SubmitOnClick, "value=\"%s_%ld\"%s", Rsc_ResourceTypesDB[Link->Type],Link->Cod, - Checked ? " checked=\"checked\"" : - ""); + HTM_CheckedTxt[UncheckedOrChecked]); /***** Name *****/ Rsc_WriteLinkName (Link,Frm_DONT_PUT_FORM); diff --git a/swad_resource.h b/swad_resource.h index 2d5aa580c..58fcf4a38 100644 --- a/swad_resource.h +++ b/swad_resource.h @@ -78,7 +78,8 @@ struct Rsc_Link void Rsc_ShowClipboard (void); void Rsc_ShowClipboardToChangeLink (const struct Rsc_Link *CurrentLink); void Rsc_WriteRowClipboard (const struct Rsc_Link *Link, - HTM_SubmitOnClick_t SubmitOnClick,bool Checked); + HTM_SubmitOnClick_t SubmitOnClick, + Cns_UncheckedOrChecked_t UncheckedOrChecked); void Rsc_WriteLinkName (const struct Rsc_Link *Link,Frm_PutForm_t PutFormToGo); void Rsc_GetResourceTitleFromLink (const struct Rsc_Link *Link, diff --git a/swad_role.c b/swad_role.c index 4cb5420cc..936609ae5 100644 --- a/swad_role.c +++ b/swad_role.c @@ -515,7 +515,7 @@ void Rol_WriteSelectorRoles (unsigned RolesAllowed,unsigned RolesSelected, Cns_DisabledOrEnabled_t DisabledOrEnabled, HTM_SubmitOnChange_t SubmitOnChange) { - extern const char *Cns_DisabledTxt[Cns_NUM_DISABLED_ENABLED]; + extern const char *HTM_DisabledTxt[Cns_NUM_DISABLED_ENABLED]; extern const char *Txt_ROLES_PLURAL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; Rol_Role_t Role; @@ -531,7 +531,7 @@ void Rol_WriteSelectorRoles (unsigned RolesAllowed,unsigned RolesSelected, The_GetSuffix (), (RolesSelected & (1 << Role)) ? " checked=\"checked\"" : "", - Cns_DisabledTxt[DisabledOrEnabled]); + HTM_DisabledTxt[DisabledOrEnabled]); HTM_Txt (Txt_ROLES_PLURAL_abc[Role][Usr_SEX_UNKNOWN]); HTM_LABEL_End (); HTM_BR (); diff --git a/swad_tag.c b/swad_tag.c index db9325e07..79f88fbfe 100644 --- a/swad_tag.c +++ b/swad_tag.c @@ -276,6 +276,7 @@ void Tag_ShowFormSelTags (const struct Tag_Tags *Tags, MYSQL_RES *mysql_res, bool ShowOnlyEnabledTags) { + extern const char *HTM_CheckedTxt[Cns_NUM_UNCHECKED_CHECKED]; extern const char *Txt_Tags; extern const char *Txt_All_tags; extern const char *Txt_Tag_not_allowed; @@ -283,7 +284,7 @@ void Tag_ShowFormSelTags (const struct Tag_Tags *Tags, unsigned NumTag; MYSQL_ROW row; bool TagHidden = false; - bool Checked; + Cns_UncheckedOrChecked_t UncheckedOrChecked; const char *Ptr; char TagText[Tag_MAX_BYTES_TAG + 1]; /* @@ -338,7 +339,7 @@ void Tag_ShowFormSelTags (const struct Tag_Tags *Tags, HTM_TD_End (); } - Checked = false; + UncheckedOrChecked = Cns_UNCHECKED; if (Tags->List) { Ptr = Tags->List; @@ -347,7 +348,7 @@ void Tag_ShowFormSelTags (const struct Tag_Tags *Tags, Par_GetNextStrUntilSeparParMult (&Ptr,TagText,Tag_MAX_BYTES_TAG); if (!strcmp (row[1],TagText)) { - Checked = true; + UncheckedOrChecked = Cns_CHECKED; break; } } @@ -359,8 +360,7 @@ void Tag_ShowFormSelTags (const struct Tag_Tags *Tags, HTM_INPUT_CHECKBOX ("ChkTag",HTM_DONT_SUBMIT_ON_CHANGE, "value=\"%s\"%s onclick=\"checkParent(this,'AllTags');\"", row[1], - Checked ? " checked=\"checked\"" : - ""); + HTM_CheckedTxt[UncheckedOrChecked]); HTM_NBSPTxt (row[1]); HTM_LABEL_End (); HTM_TD_End ();