From f1b5cd45378095de05e5c84f1290b1778aea8024 Mon Sep 17 00:00:00 2001 From: acanas Date: Mon, 11 Sep 2023 17:41:31 +0200 Subject: [PATCH] Version 23.0: Sep 11, 2023 Code refactoring related to hidden-visible. --- swad_API.c | 4 +- swad_agenda_database.c | 5 +- swad_assignment.c | 8 +- swad_assignment_database.c | 5 +- swad_attendance_database.c | 15 +-- swad_banner_database.c | 5 +- swad_browser_database.c | 4 +- swad_changelog.h | 3 +- swad_exam_database.c | 22 +++-- swad_game_database.c | 5 +- swad_program_database.c | 10 +- swad_project.c | 197 +++++++++++++++++++------------------ swad_project_database.c | 15 +-- swad_survey_database.c | 5 +- 14 files changed, 162 insertions(+), 141 deletions(-) diff --git a/swad_API.c b/swad_API.c index 065b4cf12..964b8a778 100644 --- a/swad_API.c +++ b/swad_API.c @@ -2310,7 +2310,7 @@ int swad__getAttendanceEvents (struct soap *soap, getAttendanceEventsOut->eventsArray.__ptr[NumAttEvent].attendanceEventCode = (int) Event.AttCod; getAttendanceEventsOut->eventsArray.__ptr[NumAttEvent].hidden = (Event.HiddenOrVisible == HidVis_HIDDEN) ? 1 : - 0; + 0; Gbl.Usrs.Other.UsrDat.UsrCod = Event.UsrCod; if (API_GetSomeUsrDataFromUsrCod (&Gbl.Usrs.Other.UsrDat,Gbl.Hierarchy.Crs.CrsCod)) // Get some user's data from database { @@ -2497,7 +2497,7 @@ int swad__sendAttendanceEvent (struct soap *soap, /* Are teacher's comments visible? */ Event.CommentTchVisible = (commentsTeachersVisible ? true : - false); + false); /* Title */ if (!title[0]) diff --git a/swad_agenda_database.c b/swad_agenda_database.c index 58f2e1c62..337604465 100644 --- a/swad_agenda_database.c +++ b/swad_agenda_database.c @@ -278,13 +278,14 @@ void Agd_DB_UpdateEvent (const struct Agd_Event *AgdEvent,const char *Txt) void Agd_DB_HideOrUnhideEvent (long AgdCod,long UsrCod, HidVis_HiddenOrVisible_t HiddenOrVisible) { + extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE]; + DB_QueryUPDATE ("can not hide/unhide event", "UPDATE agd_agendas" " SET Hidden='%c'" " WHERE AgdCod=%ld" " AND UsrCod=%ld", - HiddenOrVisible == HidVis_HIDDEN ? 'Y' : - 'N', + HidVis_YN[HiddenOrVisible], AgdCod, UsrCod); } diff --git a/swad_assignment.c b/swad_assignment.c index 36a971dd0..22e149c66 100644 --- a/swad_assignment.c +++ b/swad_assignment.c @@ -506,14 +506,14 @@ static void Asg_ShowAssignmentRow (struct Asg_Assignments *Assignments, if (PrintView) HTM_TD_Begin ("id=\"%s\" class=\"LB %s_%s\"", Id, - Assignments->Asg.Open == HidVis_HIDDEN ? HidVis_DateGreenClass[Assignments->Asg.HiddenOrVisible] : - HidVis_DateRedClass[Assignments->Asg.HiddenOrVisible], + Assignments->Asg.Open ? HidVis_DateGreenClass[Assignments->Asg.HiddenOrVisible] : + HidVis_DateRedClass[Assignments->Asg.HiddenOrVisible], The_GetSuffix ()); else HTM_TD_Begin ("id=\"%s\" class=\"LB %s_%s %s\"", Id, - Assignments->Asg.Open == HidVis_HIDDEN ? HidVis_DateGreenClass[Assignments->Asg.HiddenOrVisible] : - HidVis_DateRedClass[Assignments->Asg.HiddenOrVisible], + Assignments->Asg.Open ? HidVis_DateGreenClass[Assignments->Asg.HiddenOrVisible] : + HidVis_DateRedClass[Assignments->Asg.HiddenOrVisible], The_GetSuffix (), The_GetColorRows ()); Dat_WriteLocalDateHMSFromUTC (Id,Assignments->Asg.TimeUTC[StartEndTime], diff --git a/swad_assignment_database.c b/swad_assignment_database.c index bc8b5a428..0767f4b62 100644 --- a/swad_assignment_database.c +++ b/swad_assignment_database.c @@ -301,13 +301,14 @@ void Asg_DB_UpdateAssignment (const struct Asg_Assignment *Asg,const char *Txt) void Asg_DB_HideOrUnhideAssignment (long AsgCod, HidVis_HiddenOrVisible_t HiddenOrVisible) { + extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE]; + DB_QueryUPDATE ("can not hide/unhide assignment", "UPDATE asg_assignments" " SET Hidden='%c'" " WHERE AsgCod=%ld" " AND CrsCod=%ld", - HiddenOrVisible == HidVis_HIDDEN ? 'Y' : - 'N', + HidVis_YN[HiddenOrVisible], AsgCod, Gbl.Hierarchy.Crs.CrsCod); } diff --git a/swad_attendance_database.c b/swad_attendance_database.c index cde039b71..0c06cdaf5 100644 --- a/swad_attendance_database.c +++ b/swad_attendance_database.c @@ -243,6 +243,8 @@ bool Att_DB_CheckIfSimilarEventExists (const char *Field,const char *Value,long long Att_DB_CreateEvent (const struct Att_Event *Event,const char *Description) { + extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE]; + return DB_QueryINSERTandReturnCode ("can not create new attendance event", "INSERT INTO att_events" @@ -254,8 +256,7 @@ long Att_DB_CreateEvent (const struct Att_Event *Event,const char *Description) "FROM_UNIXTIME(%ld),FROM_UNIXTIME(%ld)," "'%c','%s','%s')", Gbl.Hierarchy.Crs.CrsCod, - Event->HiddenOrVisible == HidVis_HIDDEN ? 'Y' : - 'N', + HidVis_YN[Event->HiddenOrVisible], Gbl.Usrs.Me.UsrDat.UsrCod, Event->TimeUTC[Dat_STR_TIME], Event->TimeUTC[Dat_END_TIME], @@ -271,6 +272,8 @@ long Att_DB_CreateEvent (const struct Att_Event *Event,const char *Description) void Att_DB_UpdateEvent (const struct Att_Event *Event,const char *Description) { + extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE]; + DB_QueryUPDATE ("can not update attendance event", "UPDATE att_events" " SET Hidden='%c'," @@ -281,8 +284,7 @@ void Att_DB_UpdateEvent (const struct Att_Event *Event,const char *Description) "Txt='%s'" " WHERE AttCod=%ld" " AND CrsCod=%ld", // Extra check - Event->HiddenOrVisible == HidVis_HIDDEN ? 'Y' : - 'N', + HidVis_YN[Event->HiddenOrVisible], Event->TimeUTC[Dat_STR_TIME], Event->TimeUTC[Dat_END_TIME], Event->CommentTchVisible ? 'Y' : @@ -300,13 +302,14 @@ void Att_DB_UpdateEvent (const struct Att_Event *Event,const char *Description) void Att_DB_HideOrUnhideEvent (long AttCod, HidVis_HiddenOrVisible_t HiddenOrVisible) { + extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE]; + DB_QueryUPDATE ("can not hide/unhide assignment", "UPDATE att_events" " SET Hidden='%c'" " WHERE AttCod=%ld" " AND CrsCod=%ld", - HiddenOrVisible == HidVis_HIDDEN ? 'Y' : - 'N', + HidVis_YN[HiddenOrVisible], AttCod, Gbl.Hierarchy.Crs.CrsCod); } diff --git a/swad_banner_database.c b/swad_banner_database.c index b3f7d84c2..791b8bdf3 100644 --- a/swad_banner_database.c +++ b/swad_banner_database.c @@ -151,12 +151,13 @@ void Ban_DB_CreateBanner (const struct Ban_Banner *Ban) void Ban_DB_HideOrUnhideBanner (long BanCod,HidVis_HiddenOrVisible_t HiddenOrVisible) { + extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE]; + DB_QueryUPDATE ("can not hide/unhide banner", "UPDATE ban_banners" " SET Hidden='%c'" " WHERE BanCod=%ld", - HiddenOrVisible == HidVis_HIDDEN ? 'Y' : - 'N', + HidVis_YN[HiddenOrVisible], BanCod); } diff --git a/swad_browser_database.c b/swad_browser_database.c index 07614b183..b7a18d6cf 100644 --- a/swad_browser_database.c +++ b/swad_browser_database.c @@ -2276,6 +2276,7 @@ unsigned Brw_DB_GetNumFileViewsUsr (long UsrCod) void Brw_DB_HideOrUnhideFileOrFolder (const char Path[PATH_MAX + 1], HidVis_HiddenOrVisible_t HiddenOrVisible) { + extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE]; long Cod = Brw_GetCodForFileBrowser (); long ZoneUsrCod = Brw_GetZoneUsrCodForFileBrowser (); @@ -2287,8 +2288,7 @@ void Brw_DB_HideOrUnhideFileOrFolder (const char Path[PATH_MAX + 1], " AND Cod=%ld" " AND ZoneUsrCod=%ld" " AND Path='%s'", - HiddenOrVisible == HidVis_HIDDEN ? 'Y' : - 'N', + HidVis_YN[HiddenOrVisible], (unsigned) Brw_DB_FileBrowserForDB_files[Gbl.FileBrowser.Type], Cod, ZoneUsrCod, diff --git a/swad_changelog.h b/swad_changelog.h index b4a7ae8f1..6de072a1d 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -629,10 +629,11 @@ TODO: Emilce Barrera Mesa: Podr TODO: Emilce Barrera Mesa: Mis estudiantes presentan muchas dificultades a la hora de poner la foto porque la plataforma es muy exigente respecto al fondo de la imagen. */ -#define Log_PLATFORM_VERSION "SWAD 22.120.17 (2023-09-10)" +#define Log_PLATFORM_VERSION "SWAD 23.0 (2023-09-11)" #define CSS_FILE "swad22.120.4.css" #define JS_FILE "swad22.49.js" /* + Version 23.0: Sep 11, 2023 Code refactoring related to hidden-visible. (337588 lines) Version 22.120.17:Sep 10, 2023 Code refactoring related to hidden-visible in surveys. (337563 lines) Version 22.120.16:Sep 10, 2023 Code refactoring in project visibility. (337575 lines) Version 22.120.15:Sep 10, 2023 Code refactoring related to hidden-visible in projects. (337580 lines) diff --git a/swad_exam_database.c b/swad_exam_database.c index 12b43515c..487efb477 100644 --- a/swad_exam_database.c +++ b/swad_exam_database.c @@ -108,12 +108,13 @@ void Exa_DB_UpdateExam (const struct Exa_Exam *Exam,const char *Txt) void Exa_DB_HideOrUnhideExam (long ExaCod, HidVis_HiddenOrVisible_t HiddenOrVisible) { + extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE]; + DB_QueryUPDATE ("can not hide/unhide exam", "UPDATE exa_exams" " SET Hidden='%c'" " WHERE ExaCod=%ld", - HiddenOrVisible == HidVis_HIDDEN ? 'Y' : - 'N', + HidVis_YN[HiddenOrVisible], ExaCod); } @@ -1285,6 +1286,8 @@ void Exa_DB_RemoveAllSetAnswersFromCrs (long CrsCod) long Exa_DB_CreateSession (const struct ExaSes_Session *Session) { + extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE]; + return DB_QueryINSERTandReturnCode ("can not create exam session", "INSERT exa_sessions" @@ -1304,9 +1307,8 @@ long Exa_DB_CreateSession (const struct ExaSes_Session *Session) "'%s'," // Title "'N')", // ShowUsrResults: Don't show user results initially Session->ExaCod, - Session->HiddenOrVisible == HidVis_HIDDEN ? 'Y' : - 'N', - Gbl.Usrs.Me.UsrDat.UsrCod, // Session creator + HidVis_YN[Session->HiddenOrVisible], + Gbl.Usrs.Me.UsrDat.UsrCod, // Session creator Session->TimeUTC[Dat_STR_TIME], // Start time Session->TimeUTC[Dat_END_TIME], // End time Session->Title); @@ -1318,6 +1320,8 @@ long Exa_DB_CreateSession (const struct ExaSes_Session *Session) void Exa_DB_UpdateSession (const struct ExaSes_Session *Session) { + extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE]; + /***** Insert this new exam session into database *****/ DB_QueryUPDATE ("can not update exam session", "UPDATE exa_sessions," @@ -1331,8 +1335,7 @@ void Exa_DB_UpdateSession (const struct ExaSes_Session *Session) " AND exa_sessions.ExaCod=%ld" // Extra check " AND exa_sessions.ExaCod=exa_exams.ExaCod" " AND exa_exams.CrsCod=%ld", // Extra check - Session->HiddenOrVisible == HidVis_HIDDEN ? 'Y' : - 'N', + HidVis_YN[Session->HiddenOrVisible], Session->TimeUTC[Dat_STR_TIME], // Start time Session->TimeUTC[Dat_END_TIME], // End time Session->Title, @@ -1533,6 +1536,8 @@ void Exa_DB_ToggleVisResultsSesUsr (const struct ExaSes_Session *Session) void Exa_DB_HideUnhideSession (const struct ExaSes_Session *Session, HidVis_HiddenOrVisible_t HiddenOrVisible) { + extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE]; + DB_QueryUPDATE ("can not hide exam sessions", "UPDATE exa_sessions," "exa_exams" @@ -1541,8 +1546,7 @@ void Exa_DB_HideUnhideSession (const struct ExaSes_Session *Session, " AND exa_sessions.ExaCod=%ld" // Extra check " AND exa_sessions.ExaCod=exa_exams.ExaCod" " AND exa_exams.CrsCod=%ld", // Extra check - HiddenOrVisible == HidVis_HIDDEN ? 'Y' : - 'N', + HidVis_YN[HiddenOrVisible], Session->SesCod, Session->ExaCod, Gbl.Hierarchy.Crs.CrsCod); diff --git a/swad_game_database.c b/swad_game_database.c index df2401f25..a3b093c2b 100644 --- a/swad_game_database.c +++ b/swad_game_database.c @@ -99,12 +99,13 @@ void Gam_DB_UpdateGame (const struct Gam_Game *Game,const char *Txt) void Gam_DB_HideOrUnhideGame (long GamCod, HidVis_HiddenOrVisible_t HiddenOrVisible) { + extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE]; + DB_QueryUPDATE ("can not hide/unhide game", "UPDATE gam_games" " SET Hidden='%c'" " WHERE GamCod=%ld", - HiddenOrVisible == HidVis_HIDDEN ? 'Y' : - 'N', + HidVis_YN[HiddenOrVisible], GamCod); } diff --git a/swad_program_database.c b/swad_program_database.c index e4a57be97..5d33b4aa5 100644 --- a/swad_program_database.c +++ b/swad_program_database.c @@ -91,13 +91,14 @@ void Prg_DB_UpdateItem (const struct Prg_Item *Item,const char *Txt) void Prg_DB_HideOrUnhideItem (long ItmCod, HidVis_HiddenOrVisible_t HiddenOrVisible) { + extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE]; + DB_QueryUPDATE ("can not hide/unhide program item", "UPDATE prg_items" " SET Hidden='%c'" " WHERE ItmCod=%ld" " AND CrsCod=%ld", // Extra check - HiddenOrVisible == HidVis_HIDDEN ? 'Y' : - 'N', + HidVis_YN[HiddenOrVisible], ItmCod, Gbl.Hierarchy.Crs.CrsCod); } @@ -594,12 +595,13 @@ void Prg_DB_RemoveResource (const struct Prg_Item *Item) void Prg_DB_HideOrUnhideResource (long RscCod, HidVis_HiddenOrVisible_t HiddenOrVisible) { + extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE]; + DB_QueryUPDATE ("can not hide/unhide item resource", "UPDATE prg_resources" " SET Hidden='%c'" " WHERE RscCod=%ld", - HiddenOrVisible == HidVis_HIDDEN ? 'Y' : - 'N', + HidVis_YN[HiddenOrVisible], RscCod); } diff --git a/swad_project.c b/swad_project.c index ab272b012..401d7c18a 100644 --- a/swad_project.c +++ b/swad_project.c @@ -222,20 +222,20 @@ static void Prj_ShowFirstRow (struct Prj_Projects *Projects, static void Prj_ShowProjectDepartment (const struct Prj_Projects *Projects, const char *ClassData); static void Prj_ShowReviewStatus (struct Prj_Projects *Projects, - const char *ClassLabel, - const char *ClassData, - const struct Prj_Faults *Faults, - const char *Anchor); + const char *ClassLabel, + const char *ClassData, + const struct Prj_Faults *Faults, + const char *Anchor); static void Prj_PutSelectorReviewStatus (struct Prj_Projects *Projects); static bool Prj_CheckIfICanReviewProjects (void); static void Prj_ShowAssigned (const struct Prj_Projects *Projects, - const char *ClassLabel, - const char *ClassData, - const struct Prj_Faults *Faults); + const char *ClassLabel, + const char *ClassData, + const struct Prj_Faults *Faults); static void Prj_ShowNumStds (const struct Prj_Projects *Projects, - const char *ClassLabel, - const char *ClassData, - const struct Prj_Faults *Faults); + const char *ClassLabel, + const char *ClassData, + const struct Prj_Faults *Faults); static void Prj_ShowMembers (struct Prj_Projects *Projects); static void Prj_ShowProjectMembersWithARole (struct Prj_Projects *Projects, Prj_RoleInProject_t RoleInPrj); @@ -1439,16 +1439,14 @@ void Prj_PrintOneProject (void) static void Prj_ShowProjectRow (struct Prj_Projects *Projects) { + extern const char *HidVis_LabelClass[HidVis_NUM_HIDDEN_VISIBLE]; + extern const char *HidVis_DataClass[HidVis_NUM_HIDDEN_VISIBLE]; extern const char *Txt_Description; extern const char *Txt_Required_knowledge; extern const char *Txt_Required_materials; struct Prj_Faults Faults; static unsigned UniqueId = 0; char *Anchor = NULL; - const char *ClassLabel = (Projects->Prj.Hidden == HidVis_HIDDEN) ? "ASG_LABEL_LIGHT" : - "ASG_LABEL"; - const char *ClassData = (Projects->Prj.Hidden == HidVis_HIDDEN) ? "DAT_LIGHT" : - "DAT"; /***** Set anchor string *****/ Frm_SetAnchorStr ((long) Projects->NumIndex,&Anchor); @@ -1458,33 +1456,53 @@ static void Prj_ShowProjectRow (struct Prj_Projects *Projects) /***** First row with main data (dates, title...) *****/ UniqueId++; - Prj_ShowFirstRow (Projects,ClassData,&Faults,UniqueId,Anchor); + Prj_ShowFirstRow (Projects,HidVis_DataClass[Projects->Prj.Hidden], + &Faults,UniqueId,Anchor); /***** Data always visible *****/ - Prj_ShowReviewStatus (Projects,ClassLabel,ClassData,&Faults,Anchor); - Prj_ShowAssigned (Projects,ClassLabel,ClassData,&Faults); - Prj_ShowNumStds (Projects,ClassLabel,ClassData,&Faults); + Prj_ShowReviewStatus (Projects, + HidVis_LabelClass[Projects->Prj.Hidden], + HidVis_DataClass[Projects->Prj.Hidden], + &Faults,Anchor); + Prj_ShowAssigned (Projects, + HidVis_LabelClass[Projects->Prj.Hidden], + HidVis_DataClass[Projects->Prj.Hidden], + &Faults); + Prj_ShowNumStds (Projects, + HidVis_LabelClass[Projects->Prj.Hidden], + HidVis_DataClass[Projects->Prj.Hidden], + &Faults); Prj_ShowMembers (Projects); /***** Link to show hidden info *****/ Prj_PutLinkToShowHiddenInfo (Projects,UniqueId); /***** Hiddeable data ******/ - Prj_ShowProposal (Projects,ClassLabel,ClassData,UniqueId); - Prj_ShowTxtField (Projects,ClassLabel,ClassData,"prj_dsc_",UniqueId, + Prj_ShowProposal (Projects, + HidVis_LabelClass[Projects->Prj.Hidden], + HidVis_DataClass[Projects->Prj.Hidden],UniqueId); + Prj_ShowTxtField (Projects, + HidVis_LabelClass[Projects->Prj.Hidden], + HidVis_DataClass[Projects->Prj.Hidden],"prj_dsc_",UniqueId, Txt_Description, // Description of the project Projects->Prj.Description, Faults.WrongDescription ? Prj_PUT_WARNING : Prj_DONT_PUT_WARNING); - Prj_ShowTxtField (Projects,ClassLabel,ClassData,"prj_knw_",UniqueId, + Prj_ShowTxtField (Projects, + HidVis_LabelClass[Projects->Prj.Hidden], + HidVis_DataClass[Projects->Prj.Hidden],"prj_knw_",UniqueId, Txt_Required_knowledge, // Required knowledge Projects->Prj.Knowledge, Prj_DONT_PUT_WARNING); - Prj_ShowTxtField (Projects,ClassLabel,ClassData,"prj_mtr_",UniqueId, + Prj_ShowTxtField (Projects, + HidVis_LabelClass[Projects->Prj.Hidden], + HidVis_DataClass[Projects->Prj.Hidden],"prj_mtr_",UniqueId, Txt_Required_materials, // Required materials Projects->Prj.Materials, Prj_DONT_PUT_WARNING); - Prj_ShowURL (Projects,ClassLabel,ClassData,"prj_url_",UniqueId); + Prj_ShowURL (Projects, + HidVis_LabelClass[Projects->Prj.Hidden], + HidVis_DataClass[Projects->Prj.Hidden],"prj_url_",UniqueId); /***** Free anchor string *****/ Frm_FreeAnchorStr (&Anchor); @@ -1495,16 +1513,16 @@ static void Prj_ShowProjectRow (struct Prj_Projects *Projects) /*****************************************************************************/ static void Prj_ShowFirstRow (struct Prj_Projects *Projects, - const char *ClassData, - const struct Prj_Faults *Faults, - unsigned UniqueId, - const char *Anchor) + const char *ClassData, + const struct Prj_Faults *Faults, + unsigned UniqueId, + const char *Anchor) { + extern const char *HidVis_DateBlueClass[HidVis_NUM_HIDDEN_VISIBLE]; + extern const char *HidVis_TitleClass[HidVis_NUM_HIDDEN_VISIBLE]; extern const char *Txt_Actions[ActLst_NUM_ACTIONS]; char *Id; Act_Action_t NextAction; - const char *ClassDate = (Projects->Prj.Hidden == HidVis_HIDDEN) ? "DATE_BLUE_LIGHT" : - "DATE_BLUE"; /***** Write first row of data of this project *****/ HTM_TR_Begin (NULL); @@ -1549,13 +1567,13 @@ static void Prj_ShowFirstRow (struct Prj_Projects *Projects, case Prj_LIST_PROJECTS: HTM_TD_Begin ("id=\"%s\" class=\"LT %s_%s %s\"", Id, - ClassDate,The_GetSuffix (), + HidVis_DateBlueClass[Projects->Prj.Hidden],The_GetSuffix (), The_GetColorRows ()); break; default: HTM_TD_Begin ("id=\"%s\" class=\"LT %s_%s\"", Id, - ClassDate,The_GetSuffix ()); + HidVis_DateBlueClass[Projects->Prj.Hidden],The_GetSuffix ()); break; } Dat_WriteLocalDateHMSFromUTC (Id,Projects->Prj.CreatTime, @@ -1573,13 +1591,13 @@ static void Prj_ShowFirstRow (struct Prj_Projects *Projects, case Prj_LIST_PROJECTS: HTM_TD_Begin ("id=\"%s\" class=\"LT %s_%s %s\"", Id, - ClassDate,The_GetSuffix (), + HidVis_DateBlueClass[Projects->Prj.Hidden],The_GetSuffix (), The_GetColorRows ()); break; default: HTM_TD_Begin ("id=\"%s\" class=\"LT %s_%s\"", Id, - ClassDate,The_GetSuffix ()); + HidVis_DateBlueClass[Projects->Prj.Hidden],The_GetSuffix ()); break; } Dat_WriteLocalDateHMSFromUTC (Id,Projects->Prj.ModifTime, @@ -1607,8 +1625,7 @@ static void Prj_ShowFirstRow (struct Prj_Projects *Projects, Prj_PutCurrentPars (Projects); HTM_BUTTON_Submit_Begin (Txt_Actions[NextAction], "class=\"LT BT_LINK %s_%s\"", - Projects->Prj.Hidden == HidVis_HIDDEN ? "ASG_TITLE_LIGHT" : - "ASG_TITLE", + HidVis_TitleClass[Projects->Prj.Hidden], The_GetSuffix ()); HTM_Txt (Projects->Prj.Title); HTM_BUTTON_End (); @@ -1669,10 +1686,10 @@ static void Prj_ShowProjectDepartment (const struct Prj_Projects *Projects, /*****************************************************************************/ static void Prj_ShowReviewStatus (struct Prj_Projects *Projects, - const char *ClassLabel, - const char *ClassData, - const struct Prj_Faults *Faults, - const char *Anchor) + const char *ClassLabel, + const char *ClassData, + const struct Prj_Faults *Faults, + const char *Anchor) { extern const char *Txt_Review; extern const char *Txt_PROJECT_REVIEW_SINGUL[Prj_NUM_REVIEW_STATUS]; @@ -1863,9 +1880,9 @@ static bool Prj_CheckIfICanReviewProjects (void) /*****************************************************************************/ static void Prj_ShowAssigned (const struct Prj_Projects *Projects, - const char *ClassLabel, - const char *ClassData, - const struct Prj_Faults *Faults) + const char *ClassLabel, + const char *ClassData, + const struct Prj_Faults *Faults) { extern const char *Txt_Assigned_QUESTION; extern const char *Txt_Yes; @@ -1917,9 +1934,9 @@ static void Prj_ShowAssigned (const struct Prj_Projects *Projects, /*****************************************************************************/ static void Prj_ShowNumStds (const struct Prj_Projects *Projects, - const char *ClassLabel, - const char *ClassData, - const struct Prj_Faults *Faults) + const char *ClassLabel, + const char *ClassData, + const struct Prj_Faults *Faults) { extern const char *Txt_Number_of_students; @@ -1979,7 +1996,9 @@ static void Prj_ShowMembers (struct Prj_Projects *Projects) static void Prj_ShowProjectMembersWithARole (struct Prj_Projects *Projects, Prj_RoleInProject_t RoleInPrj) { - ; + extern const char *HidVis_LabelClass[HidVis_NUM_HIDDEN_VISIBLE]; + extern const char *HidVis_DataClass[HidVis_NUM_HIDDEN_VISIBLE]; + extern const char *HidVis_MsgClass[HidVis_NUM_HIDDEN_VISIBLE]; extern const char *Txt_PROJECT_ROLES_SINGUL_Abc[Prj_NUM_ROLES_IN_PROJECT]; extern const char *Txt_PROJECT_ROLES_PLURAL_Abc[Prj_NUM_ROLES_IN_PROJECT]; static const Act_Action_t ActionReqRemUsr[Prj_NUM_ROLES_IN_PROJECT] = @@ -2008,10 +2027,6 @@ static void Prj_ShowProjectMembersWithARole (struct Prj_Projects *Projects, bool WriteRow; unsigned NumUsr; unsigned NumUsrs; - const char *ClassLabel = (Projects->Prj.Hidden == HidVis_HIDDEN) ? "ASG_LABEL_LIGHT" : - "ASG_LABEL"; - const char *ClassData = (Projects->Prj.Hidden == HidVis_HIDDEN) ? "DAT_LIGHT" : - "DAT"; /***** Get users in project from database *****/ NumUsrs = Prj_DB_GetUsrsInPrj (&mysql_res,Projects->Prj.PrjCod,RoleInPrj); @@ -2028,20 +2043,23 @@ static void Prj_ShowProjectMembersWithARole (struct Prj_Projects *Projects, { case Prj_LIST_PROJECTS: HTM_TD_Begin ("colspan=\"4\" class=\"RT %s_%s %s\"", - ClassLabel,The_GetSuffix (),The_GetColorRows ()); + HidVis_LabelClass[Projects->Prj.Hidden], + The_GetSuffix (),The_GetColorRows ()); HTM_TxtColon (NumUsrs == 1 ? Txt_PROJECT_ROLES_SINGUL_Abc[RoleInPrj] : Txt_PROJECT_ROLES_PLURAL_Abc[RoleInPrj]); break; case Prj_VIEW_ONE_PROJECT: case Prj_PRINT_ONE_PROJECT: HTM_TD_Begin ("colspan=\"2\" class=\"RT %s_%s\"", - ClassLabel,The_GetSuffix ()); + HidVis_LabelClass[Projects->Prj.Hidden], + The_GetSuffix ()); HTM_TxtColon (NumUsrs == 1 ? Txt_PROJECT_ROLES_SINGUL_Abc[RoleInPrj] : Txt_PROJECT_ROLES_PLURAL_Abc[RoleInPrj]); break; case Prj_EDIT_ONE_PROJECT: HTM_TD_Begin ("class=\"RT %s_%s\"", - ClassLabel,The_GetSuffix ()); + HidVis_LabelClass[Projects->Prj.Hidden], + The_GetSuffix ()); HTM_TxtColon (Txt_PROJECT_ROLES_PLURAL_Abc[RoleInPrj]); break; } @@ -2052,13 +2070,15 @@ static void Prj_ShowProjectMembersWithARole (struct Prj_Projects *Projects, { case Prj_LIST_PROJECTS: HTM_TD_Begin ("colspan=\"2\" class=\"LT %s_%s %s\"", - ClassData,The_GetSuffix (), + HidVis_DataClass[Projects->Prj.Hidden], + The_GetSuffix (), The_GetColorRows ()); break; case Prj_VIEW_ONE_PROJECT: case Prj_PRINT_ONE_PROJECT: HTM_TD_Begin ("colspan=\"2\" class=\"LT %s_%s\"", - ClassData,The_GetSuffix ()); + HidVis_DataClass[Projects->Prj.Hidden], + The_GetSuffix ()); break; case Prj_EDIT_ONE_PROJECT: HTM_TD_Begin ("colspan=\"2\" class=\"LT DAT_%s\"", @@ -2104,8 +2124,7 @@ static void Prj_ShowProjectMembersWithARole (struct Prj_Projects *Projects, /* Write user's name */ HTM_TD_Begin ("class=\"LM %s_%s\"", - Projects->Prj.Hidden == HidVis_HIDDEN ? "MSG_AUT_LIGHT" : - "MSG_AUT", + HidVis_MsgClass[Projects->Prj.Hidden], The_GetSuffix ()); HTM_Txt (Gbl.Usrs.Other.UsrDat.FullName); HTM_TD_End (); @@ -2497,24 +2516,18 @@ static void Prj_PutIconToToggleProject (unsigned UniqueId, static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj) { + extern const char *HidVis_DateBlueClass[HidVis_NUM_HIDDEN_VISIBLE]; + extern const char *HidVis_DataClass[HidVis_NUM_HIDDEN_VISIBLE]; extern const char *Txt_Yes; extern const char *Txt_No; extern const char *Txt_PROJECT_STATUS[Prj_NUM_PROPOSAL_TYPES]; unsigned NumRoleToShow; - const char *ClassDate; - const char *ClassData; static unsigned UniqueId = 0; char *Id; /***** Get data of this project *****/ Prj_GetProjectDataByCod (Prj); - /***** Set CSS classes *****/ - ClassDate = (Prj->Hidden == HidVis_HIDDEN) ? "DATE_BLUE_LIGHT" : - "DATE_BLUE"; - ClassData = (Prj->Hidden == HidVis_HIDDEN) ? "DAT_LIGHT" : - "DAT"; - /***** Begin row *****/ HTM_TR_Begin (NULL); @@ -2523,7 +2536,7 @@ static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj) if (asprintf (&Id,"prj_creat_%u",UniqueId) < 0) Err_NotEnoughMemoryExit (); HTM_TD_Begin ("id=\"%s\" class=\"LT %s %s\"", - Id,ClassDate,The_GetColorRows ()); + Id,HidVis_DateBlueClass[Prj->Hidden],The_GetColorRows ()); Dat_WriteLocalDateHMSFromUTC (Id,Prj->CreatTime, Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,false,0x7); @@ -2535,7 +2548,7 @@ static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj) if (asprintf (&Id,"prj_modif_%u",UniqueId) < 0) Err_NotEnoughMemoryExit (); HTM_TD_Begin ("id=\"%s\" class=\"LT %s %s\"", - Id,ClassDate,The_GetColorRows ()); + Id,HidVis_DateBlueClass[Prj->Hidden],The_GetColorRows ()); Dat_WriteLocalDateHMSFromUTC (Id,Prj->ModifTime, Gbl.Prefs.DateFormat,Dat_SEPARATOR_BREAK, true,true,false,0x7); @@ -2544,7 +2557,7 @@ static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj) /***** Project title *****/ HTM_TD_Begin ("class=\"LT %s_%s %s\"", - ClassData,The_GetSuffix (),The_GetColorRows ()); + HidVis_DataClass[Prj->Hidden],The_GetSuffix (),The_GetColorRows ()); HTM_Txt (Prj->Title); HTM_TD_End (); @@ -2553,14 +2566,16 @@ static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj) /***** Assigned? *****/ HTM_TD_Begin ("class=\"LT %s_%s %s\"", - ClassData,The_GetSuffix (),The_GetColorRows ()); + HidVis_DataClass[Prj->Hidden],The_GetSuffix (), + The_GetColorRows ()); HTM_Txt ((Prj->Assigned == Prj_ASSIGNED) ? Txt_Yes : Txt_No); HTM_TD_End (); /***** Number of students *****/ HTM_TD_Begin ("class=\"LT %s_%s %s\"", - ClassData,The_GetSuffix (),The_GetColorRows ()); + HidVis_DataClass[Prj->Hidden],The_GetSuffix (), + The_GetColorRows ()); HTM_Unsigned (Prj->NumStds); HTM_TD_End (); @@ -2572,7 +2587,8 @@ static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj) /***** Proposal *****/ HTM_TD_Begin ("class=\"LT %s_%s %s\"", - ClassData,The_GetSuffix (),The_GetColorRows ()); + HidVis_DataClass[Prj->Hidden],The_GetSuffix (), + The_GetColorRows ()); HTM_Txt (Txt_PROJECT_STATUS[Prj->Proposal]); HTM_TD_End (); @@ -2599,12 +2615,8 @@ static void Prj_ShowTableAllProjectsOneRow (struct Prj_Project *Prj) static void Prj_ShowTableAllProjectsDepartment (const struct Prj_Project *Prj) { + extern const char *HidVis_DataClass[HidVis_NUM_HIDDEN_VISIBLE]; struct Dpt_Department Dpt; - const char *ClassData; - - /***** Set CSS classes *****/ - ClassData = (Prj->Hidden == HidVis_HIDDEN) ? "DAT_LIGHT" : - "DAT"; /***** Get data of department *****/ Dpt.DptCod = Prj->DptCod; @@ -2612,7 +2624,8 @@ static void Prj_ShowTableAllProjectsDepartment (const struct Prj_Project *Prj) /***** Show department *****/ HTM_TD_Begin ("class=\"LT %s_%s %s\"", - ClassData,The_GetSuffix (),The_GetColorRows ()); + HidVis_DataClass[Prj->Hidden],The_GetSuffix (), + The_GetColorRows ()); HTM_Txt (Dpt.FullName); HTM_TD_End (); } @@ -2624,11 +2637,7 @@ static void Prj_ShowTableAllProjectsDepartment (const struct Prj_Project *Prj) static void Prj_ShowTableAllProjectsTxtField (struct Prj_Project *Prj, char *TxtField) { - const char *ClassData; - - /***** Set CSS classes *****/ - ClassData = (Prj->Hidden == HidVis_HIDDEN) ? "DAT_LIGHT" : - "DAT"; + extern const char *HidVis_DataClass[HidVis_NUM_HIDDEN_VISIBLE]; /***** Change format *****/ Str_ChangeFormat (Str_FROM_HTML,Str_TO_RIGOROUS_HTML, @@ -2636,7 +2645,8 @@ static void Prj_ShowTableAllProjectsTxtField (struct Prj_Project *Prj, /***** Write text *****/ HTM_TD_Begin ("class=\"LT %s_%s %s\"", - ClassData,The_GetSuffix (),The_GetColorRows ()); + HidVis_DataClass[Prj->Hidden],The_GetSuffix (), + The_GetColorRows ()); HTM_Txt (TxtField); HTM_TD_End (); } @@ -2647,15 +2657,12 @@ static void Prj_ShowTableAllProjectsTxtField (struct Prj_Project *Prj, static void Prj_ShowTableAllProjectsURL (const struct Prj_Project *Prj) { - const char *ClassData; - - /***** Set CSS classes *****/ - ClassData = (Prj->Hidden == HidVis_HIDDEN) ? "DAT_LIGHT" : - "DAT"; + extern const char *HidVis_DataClass[HidVis_NUM_HIDDEN_VISIBLE]; /***** Show URL *****/ HTM_TD_Begin ("class=\"LT %s_%s %s\"", - ClassData,The_GetSuffix (),The_GetColorRows ()); + HidVis_DataClass[Prj->Hidden],The_GetSuffix (), + The_GetColorRows ()); HTM_Txt (Prj->URL); HTM_TD_End (); } @@ -2667,22 +2674,19 @@ static void Prj_ShowTableAllProjectsURL (const struct Prj_Project *Prj) static void Prj_ShowTableAllProjectsMembersWithARole (const struct Prj_Project *Prj, Prj_RoleInProject_t RoleInPrj) { + extern const char *HidVis_DataClass[HidVis_NUM_HIDDEN_VISIBLE]; MYSQL_RES *mysql_res; MYSQL_ROW row; unsigned NumUsr; unsigned NumUsrs; - const char *ClassData; - - /***** Set CSS classes *****/ - ClassData = (Prj->Hidden == HidVis_HIDDEN) ? "DAT_LIGHT" : - "DAT"; /***** Get users in project from database *****/ NumUsrs = Prj_DB_GetUsrsInPrj (&mysql_res,Prj->PrjCod,RoleInPrj); /***** Begin column with list of all members with this role *****/ HTM_TD_Begin ("class=\"LT %s_%s %s\"", - ClassData,The_GetSuffix (),The_GetColorRows ()); + HidVis_DataClass[Prj->Hidden],The_GetSuffix (), + The_GetColorRows ()); if (NumUsrs) { @@ -3173,8 +3177,7 @@ static void Prj_PutIconsToRemEditOnePrj (struct Prj_Projects *Projects, /***** Icon to hide/unhide project *****/ Ico_PutContextualIconToHideUnhide (ActionHideUnhide,Anchor, Prj_PutCurrentPars,Projects, - Projects->Prj.Hidden == HidVis_HIDDEN ? HidVis_HIDDEN : - HidVis_VISIBLE); + Projects->Prj.Hidden); /***** Icon to edit project *****/ Ico_PutContextualIconToEdit (ActEdiOnePrj,NULL, diff --git a/swad_project_database.c b/swad_project_database.c index 9999e558b..665f50fd1 100644 --- a/swad_project_database.c +++ b/swad_project_database.c @@ -104,6 +104,8 @@ void Prj_DB_UnlockProjectEdition (long PrjCod) long Prj_DB_CreateProject (const struct Prj_Project *Prj) { + extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE]; + return DB_QueryINSERTandReturnCode ("can not create new project", "INSERT INTO prj_projects" @@ -118,8 +120,7 @@ long Prj_DB_CreateProject (const struct Prj_Project *Prj) "'%s',FROM_UNIXTIME(%ld),'%s')", Gbl.Hierarchy.Crs.CrsCod, Prj->DptCod, - Prj->Hidden == HidVis_HIDDEN ? 'Y' : - 'N', + HidVis_YN[Prj->Hidden], Prj->Assigned == Prj_ASSIGNED ? 'Y' : 'N', Prj->NumStds, @@ -142,6 +143,8 @@ long Prj_DB_CreateProject (const struct Prj_Project *Prj) void Prj_DB_UpdateProject (const struct Prj_Project *Prj) { + extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE]; + DB_QueryUPDATE ("can not update project", "UPDATE prj_projects" " SET DptCod=%ld," @@ -158,8 +161,7 @@ void Prj_DB_UpdateProject (const struct Prj_Project *Prj) " WHERE PrjCod=%ld" " AND CrsCod=%ld", // Extra check Prj->DptCod, - Prj->Hidden == HidVis_HIDDEN ? 'Y' : - 'N', + HidVis_YN[Prj->Hidden], Prj->Assigned == Prj_ASSIGNED ? 'Y' : 'N', Prj->NumStds, @@ -197,13 +199,14 @@ void Prj_DB_AddUsrToPrj (long PrjCod,Prj_RoleInProject_t RoleInProject,long UsrC void Prj_DB_HideOrUnhideProject (long PrjCod, HidVis_HiddenOrVisible_t HiddenOrVisible) { + extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE]; + DB_QueryUPDATE ("can not hide/unhide project", "UPDATE prj_projects" " SET Hidden='%c'" " WHERE PrjCod=%ld" " AND CrsCod=%ld", // Extra check - HiddenOrVisible == HidVis_HIDDEN ? 'Y' : - 'N', + HidVis_YN[HiddenOrVisible], PrjCod, Gbl.Hierarchy.Crs.CrsCod); } diff --git a/swad_survey_database.c b/swad_survey_database.c index 71348a7a1..d5ce0e735 100644 --- a/swad_survey_database.c +++ b/swad_survey_database.c @@ -111,12 +111,13 @@ void Svy_DB_UpdateSurvey (const struct Svy_Survey *Svy,const char *Txt) void Svy_DB_HideOrUnhideSurvey (long SvyCod, HidVis_HiddenOrVisible_t HiddenOrVisible) { + extern const char HidVis_YN[HidVis_NUM_HIDDEN_VISIBLE]; + DB_QueryUPDATE ("can not hide/unhide survey", "UPDATE svy_surveys" " SET Hidden='%c'" " WHERE SvyCod=%ld", - HiddenOrVisible == HidVis_HIDDEN ? 'Y' : - 'N', + HidVis_YN[HiddenOrVisible], SvyCod); }