From 1176fe30e24f4e870671ec9cd3379f445f1ef827 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ca=C3=B1as=20Vargas?= Date: Fri, 22 Nov 2019 01:04:03 +0100 Subject: [PATCH] Version19.76.4 --- swad_changelog.h | 3 +- swad_network.c | 180 ++++++++++++++-------------- swad_notice.c | 12 +- swad_photo.c | 4 +- swad_privacy.c | 10 +- swad_record.c | 49 ++++---- swad_role.c | 20 ++-- swad_search.c | 58 ++++----- swad_statistic.c | 2 +- swad_tab.c | 50 ++++---- swad_test.c | 22 ++-- swad_theme.c | 304 ++++++++++++++++++++++++----------------------- swad_timeline.c | 19 +-- swad_timetable.c | 6 +- swad_user.c | 38 +++--- 15 files changed, 391 insertions(+), 386 deletions(-) diff --git a/swad_changelog.h b/swad_changelog.h index df4d25d3..160df852 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -490,7 +490,7 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - * En OpenSWAD: ps2pdf source.ps destination.pdf */ -#define Log_PLATFORM_VERSION "SWAD 19.76.3 (2019-11-21)" +#define Log_PLATFORM_VERSION "SWAD 19.76.4 (2019-11-22)" #define CSS_FILE "swad19.74.3.css" #define JS_FILE "swad19.70.js" /* @@ -498,6 +498,7 @@ ps2pdf source.ps destination.pdf // TODO: Impedir la creación y edición de proyectos si no son editables. // TODO: En cada juego, poder listar los resultados en una tabla como la de resultados globales + Version 19.76.4: Nov 22, 2019 Code refactoring related to vectors. (246851 lines) Version 19.76.3: Nov 21, 2019 Code refactoring related to vectors. (246850 lines) Version 19.76.2: Nov 21, 2019 Code refactoring related to vectors. (246966 lines) Version 19.76.1: Nov 21, 2019 Code refactoring related to vectors. (247023 lines) diff --git a/swad_network.c b/swad_network.c index 31d0d996..5481ed32 100644 --- a/swad_network.c +++ b/swad_network.c @@ -83,103 +83,103 @@ typedef enum #define Net_MAX_BYTES_NETWORK_NAME 32 -const char *Net_WebsAndSocialNetworksDB[Net_NUM_WEBS_AND_SOCIAL_NETWORKS] = +static const char *Net_WebsAndSocialNetworksDB[Net_NUM_WEBS_AND_SOCIAL_NETWORKS] = { - "www", // Net_WWW - "500px", // Net_500PX - "delicious", // Net_DELICIOUS - "deviantart", // Net_DEVIANTART - "diaspora", // Net_DIASPORA - "edmodo", // Net_EDMODO - "facebook", // Net_FACEBOOK - "flickr", // Net_FLICKR - "foursquare", // Net_FOURSQUAREhub - "github", // Net_GITHUB - "gnusocial", // Net_GNU_SOCIAL - "googleplus", // Net_GOOGLE_PLUS - "googlescholar", // Net_GOOGLE_SCHOLAR - "identica", // Net_IDENTICA - "instagram", // Net_INSTAGRAM - "linkedin", // Net_LINKEDIN - "orcid", // Net_ORCID - "paperli", // Net_PAPERLI - "pinterest", // Net_PINTEREST - "researchgate", // Net_RESEARCH_GATE - "researcherid", // Net_RESEARCHERID - "scoopit", // Net_SCOOPIT - "slideshare", // Net_SLIDESHARE - "stackoverflow", // Net_STACK_OVERFLOW - "storify", // Net_STORIFY - "tumblr", // Net_TUMBLR - "twitter", // Net_TWITTER - "wikipedia", // Net_WIKIPEDIA - "youtube", // Net_YOUTUBE + [Net_WWW ] = "www", + [Net_500PX ] = "500px", + [Net_DELICIOUS ] = "delicious", + [Net_DEVIANTART ] = "deviantart", + [Net_DIASPORA ] = "diaspora", + [Net_EDMODO ] = "edmodo", + [Net_FACEBOOK ] = "facebook", + [Net_FLICKR ] = "flickr", + [Net_FOURSQUARE ] = "foursquare", + [Net_GITHUB ] = "github", + [Net_GNU_SOCIAL ] = "gnusocial", + [Net_GOOGLE_PLUS ] = "googleplus", + [Net_GOOGLE_SCHOLAR] = "googlescholar", + [Net_IDENTICA ] = "identica", + [Net_INSTAGRAM ] = "instagram", + [Net_LINKEDIN ] = "linkedin", + [Net_ORCID ] = "orcid", + [Net_PAPERLI ] = "paperli", + [Net_PINTEREST ] = "pinterest", + [Net_RESEARCH_GATE ] = "researchgate", + [Net_RESEARCHERID ] = "researcherid", + [Net_SCOOPIT ] = "scoopit", + [Net_SLIDESHARE ] = "slideshare", + [Net_STACK_OVERFLOW] = "stackoverflow", + [Net_STORIFY ] = "storify", + [Net_TUMBLR ] = "tumblr", + [Net_TWITTER ] = "twitter", + [Net_WIKIPEDIA ] = "wikipedia", + [Net_YOUTUBE ] = "youtube", }; -const char *Net_WebsAndSocialNetworksIcons[Net_NUM_WEBS_AND_SOCIAL_NETWORKS] = +static const char *Net_WebsAndSocialNetworksIcons[Net_NUM_WEBS_AND_SOCIAL_NETWORKS] = { - "globe.svg", // Net_WWW - "500px-brands.svg", // Net_500PX - "delicious-brands.svg", // Net_DELICIOUS - "deviantart-brands.svg", // Net_DEVIANTART - "diaspora-brands.svg", // Net_DIASPORA - "edmodo64x64.png", // Net_EDMODO - "facebook-brands.svg", // Net_FACEBOOK - "flickr-brands.svg", // Net_FLICKR - "foursquare-brands.svg", // Net_FOURSQUAREhub - "github-brands.svg", // Net_GITHUB - "gnusocial64x64.png", // Net_GNU_SOCIAL - "google-plus-brands.svg", // Net_GOOGLE_PLUS - "googlescholar.svg", // Net_GOOGLE_SCHOLAR - "identica64x64.png", // Net_IDENTICA - "instagram-brands.svg", // Net_INSTAGRAM - "linkedin-brands.svg", // Net_LINKEDIN - "orcid64x64.png", // Net_ORCID - "paperli64x64.png", // Net_PAPERLI - "pinterest-brands.svg", // Net_PINTEREST - "researchgate-brands.svg", // Net_RESEARCH_GATE - "researcherid64x64.png", // Net_RESEARCHERID - "scoopit64x64.png", // Net_SCOOPIT - "slideshare-brands.svg", // Net_SLIDESHARE - "stack-overflow-brands.svg", // Net_STACK_OVERFLOW - "storify64x64.png", // Net_STORIFY - "tumblr-brands.svg", // Net_TUMBLR - "twitter-brands.svg", // Net_TWITTER - "wikipedia-w-brands.svg", // Net_WIKIPEDIA - "youtube-brands.svg", // Net_YOUTUBE + [Net_WWW ] = "globe.svg", + [Net_500PX ] = "500px-brands.svg", + [Net_DELICIOUS ] = "delicious-brands.svg", + [Net_DEVIANTART ] = "deviantart-brands.svg", + [Net_DIASPORA ] = "diaspora-brands.svg", + [Net_EDMODO ] = "edmodo64x64.png", + [Net_FACEBOOK ] = "facebook-brands.svg", + [Net_FLICKR ] = "flickr-brands.svg", + [Net_FOURSQUARE ] = "foursquare-brands.svg", + [Net_GITHUB ] = "github-brands.svg", + [Net_GNU_SOCIAL ] = "gnusocial64x64.png", + [Net_GOOGLE_PLUS ] = "google-plus-brands.svg", + [Net_GOOGLE_SCHOLAR] = "googlescholar.svg", + [Net_IDENTICA ] = "identica64x64.png", + [Net_INSTAGRAM ] = "instagram-brands.svg", + [Net_LINKEDIN ] = "linkedin-brands.svg", + [Net_ORCID ] = "orcid64x64.png", + [Net_PAPERLI ] = "paperli64x64.png", + [Net_PINTEREST ] = "pinterest-brands.svg", + [Net_RESEARCH_GATE ] = "researchgate-brands.svg", + [Net_RESEARCHERID ] = "researcherid64x64.png", + [Net_SCOOPIT ] = "scoopit64x64.png", + [Net_SLIDESHARE ] = "slideshare-brands.svg", + [Net_STACK_OVERFLOW] = "stack-overflow-brands.svg", + [Net_STORIFY ] = "storify64x64.png", + [Net_TUMBLR ] = "tumblr-brands.svg", + [Net_TWITTER ] = "twitter-brands.svg", + [Net_WIKIPEDIA ] = "wikipedia-w-brands.svg", + [Net_YOUTUBE ] = "youtube-brands.svg", }; -const char *Net_WebsAndSocialNetworksTitle[Net_NUM_WEBS_AND_SOCIAL_NETWORKS] = +static const char *Net_WebsAndSocialNetworksTitle[Net_NUM_WEBS_AND_SOCIAL_NETWORKS] = { - "WWW", // Net_WWW - "500px", // Net_500PX - "Delicious", // Net_DELICIOUS - "DeviantArt", // Net_DEVIANTART - "Diaspora", // Net_DIASPORA - "Edmodo", // Net_EDMODO - "Facebook", // Net_FACEBOOK - "Flickr", // Net_FLICKR - "Foursquare", // Net_FOURSQUARE - "GitHub", // Net_GITHUB - "GNU Social", // Net_GNU_SOCIAL - "Google+", // Net_GOOGLE_PLUS - "Google Scholar", // Net_GOOGLE_SCHOLAR - "identi.ca", // Net_IDENTICA - "Instagram", // Net_INSTAGRAM - "LinkedIn", // Net_LINKEDIN - "ORCID", // Net_ORCID - "Paper.li", // Net_PAPERLI - "Pinterest", // Net_PINTEREST - "Research Gate", // Net_RESEARCH_GATE - "ResearcherID", // Net_RESEARCHERID - "Scoop.it", // Net_SCOOPIT - "Slideshare", // Net_SLIDESHARE - "Stack Overflow", // Net_STACK_OVERFLOW - "Storify", // Net_STORIFY - "Tumblr", // Net_TUMBLR - "Twitter", // Net_TWITTER - "Wikipedia", // Net_WIKIPEDIA - "YouTube", // Net_YOUTUBE + [Net_WWW ] = "WWW", + [Net_500PX ] = "500px", + [Net_DELICIOUS ] = "Delicious", + [Net_DEVIANTART ] = "DeviantArt", + [Net_DIASPORA ] = "Diaspora", + [Net_EDMODO ] = "Edmodo", + [Net_FACEBOOK ] = "Facebook", + [Net_FLICKR ] = "Flickr", + [Net_FOURSQUARE ] = "Foursquare", + [Net_GITHUB ] = "GitHub", + [Net_GNU_SOCIAL ] = "GNU Social", + [Net_GOOGLE_PLUS ] = "Google+", + [Net_GOOGLE_SCHOLAR] = "Google Scholar", + [Net_IDENTICA ] = "identi.ca", + [Net_INSTAGRAM ] = "Instagram", + [Net_LINKEDIN ] = "LinkedIn", + [Net_ORCID ] = "ORCID", + [Net_PAPERLI ] = "Paper.li", + [Net_PINTEREST ] = "Pinterest", + [Net_RESEARCH_GATE ] = "Research Gate", + [Net_RESEARCHERID ] = "ResearcherID", + [Net_SCOOPIT ] = "Scoop.it", + [Net_SLIDESHARE ] = "Slideshare", + [Net_STACK_OVERFLOW] = "Stack Overflow", + [Net_STORIFY ] = "Storify", + [Net_TUMBLR ] = "Tumblr", + [Net_TWITTER ] = "Twitter", + [Net_WIKIPEDIA ] = "Wikipedia", + [Net_YOUTUBE ] = "YouTube", }; #define Net_MY_WEBS_ID "my_webs_section" diff --git a/swad_notice.c b/swad_notice.c index 226960d0..2367230a 100644 --- a/swad_notice.c +++ b/swad_notice.c @@ -55,16 +55,16 @@ extern struct Globals Gbl; #define Not_MAX_CHARS_ON_NOTICE 40 // Maximum number of characters in notices (when not expanded) -const unsigned Not_ContainerWidth[Not_NUM_TYPES_LISTING] = +static const unsigned Not_ContainerWidth[Not_NUM_TYPES_LISTING] = { - 148 + 50, // Not_LIST_BRIEF_NOTICES - 500 + 50, // Not_LIST_FULL_NOTICES + [Not_LIST_BRIEF_NOTICES] = 148 + 50, + [Not_LIST_FULL_NOTICES ] = 500 + 50, }; -const unsigned Not_MaxCharsURLOnScreen[Not_NUM_TYPES_LISTING] = +static const unsigned Not_MaxCharsURLOnScreen[Not_NUM_TYPES_LISTING] = { - 15, // Not_LIST_BRIEF_NOTICES - 50, // Not_LIST_FULL_NOTICES + [Not_LIST_BRIEF_NOTICES] = 15, + [Not_LIST_FULL_NOTICES ] = 50, }; /*****************************************************************************/ diff --git a/swad_photo.c b/swad_photo.c index 0dba4475..0c985f9c 100644 --- a/swad_photo.c +++ b/swad_photo.c @@ -68,12 +68,12 @@ extern struct Globals Gbl; /***************************** Private constants *****************************/ /*****************************************************************************/ -const char *Pho_StrAvgPhotoDirs[Pho_NUM_AVERAGE_PHOTO_TYPES] = +static const char *Pho_StrAvgPhotoDirs[Pho_NUM_AVERAGE_PHOTO_TYPES] = { Cfg_FOLDER_DEGREE_PHOTO_MEDIAN, Cfg_FOLDER_DEGREE_PHOTO_AVERAGE, }; -const char *Pho_StrAvgPhotoPrograms[Pho_NUM_AVERAGE_PHOTO_TYPES] = +static const char *Pho_StrAvgPhotoPrograms[Pho_NUM_AVERAGE_PHOTO_TYPES] = { Cfg_COMMAND_DEGREE_PHOTO_MEDIAN, Cfg_COMMAND_DEGREE_PHOTO_AVERAGE, diff --git a/swad_privacy.c b/swad_privacy.c index 747e68eb..671e46a2 100644 --- a/swad_privacy.c +++ b/swad_privacy.c @@ -49,11 +49,11 @@ extern struct Globals Gbl; /***** Visibility (who can see user's photo or public profile) *****/ const char *Pri_VisibilityDB[Pri_NUM_OPTIONS_PRIVACY] = { - "unknown", // Pri_VISIBILITY_UNKNOWN - "user", // Pri_VISIBILITY_USER - "course", // Pri_VISIBILITY_COURSE - "system", // Pri_VISIBILITY_SYSTEM - "world", // Pri_VISIBILITY_WORLD + [Pri_VISIBILITY_UNKNOWN] = "unknown", + [Pri_VISIBILITY_USER ] = "user", + [Pri_VISIBILITY_COURSE ] = "course", + [Pri_VISIBILITY_SYSTEM ] = "system", + [Pri_VISIBILITY_WORLD ] = "world", }; /*****************************************************************************/ diff --git a/swad_record.c b/swad_record.c index 4d743b0b..fc0c0fbc 100644 --- a/swad_record.c +++ b/swad_record.c @@ -1659,13 +1659,12 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView, extern const char *Txt_Save_changes; const char *Rec_RecordHelp[Rec_COURSE_NUM_VIEW_TYPES] = { - Hlp_USERS_Students_course_record_card, // Rec_CRS_MY_RECORD_AS_STUDENT_FORM - Hlp_USERS_Students_course_record_card, // Rec_CRS_MY_RECORD_AS_STUDENT_CHECK - Hlp_USERS_Students_course_record_card, // Rec_CRS_LIST_ONE_RECORD - Hlp_USERS_Students_course_record_card, // Rec_CRS_LIST_SEVERAL_RECORDS - NULL, // Rec_CRS_PRINT_ONE_RECORD - NULL, // Rec_CRS_PRINT_SEVERAL_RECORDS - // Rec_CRS_RECORD_PRINT + [Rec_CRS_MY_RECORD_AS_STUDENT_FORM ] = Hlp_USERS_Students_course_record_card, + [Rec_CRS_MY_RECORD_AS_STUDENT_CHECK] = Hlp_USERS_Students_course_record_card, + [Rec_CRS_LIST_ONE_RECORD ] = Hlp_USERS_Students_course_record_card, + [Rec_CRS_LIST_SEVERAL_RECORDS ] = Hlp_USERS_Students_course_record_card, + [Rec_CRS_PRINT_ONE_RECORD ] = NULL, + [Rec_CRS_PRINT_SEVERAL_RECORDS ] = NULL, }; char StrRecordWidth[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; bool ItsMe; @@ -2148,30 +2147,30 @@ void Rec_ShowSharedUsrRecord (Rec_SharedRecordViewType_t TypeOfView, extern const char *Txt_Confirm; const char *Rec_RecordHelp[Rec_SHARED_NUM_VIEW_TYPES] = { - Hlp_USERS_SignUp, // Rec_SHA_SIGN_UP_IN_CRS_FORM + [Rec_SHA_SIGN_UP_IN_CRS_FORM ] = Hlp_USERS_SignUp, - Hlp_PROFILE_Record, // Rec_SHA_MY_RECORD_FORM + [Rec_SHA_MY_RECORD_FORM ] = Hlp_PROFILE_Record, - NULL, // Rec_SHA_OTHER_EXISTING_USR_FORM - NULL, // Rec_SHA_OTHER_NEW_USR_FORM - NULL, // Rec_SHA_OTHER_USR_CHECK + [Rec_SHA_OTHER_EXISTING_USR_FORM] = NULL, + [Rec_SHA_OTHER_NEW_USR_FORM ] = NULL, + [Rec_SHA_OTHER_USR_CHECK ] = NULL, - NULL, // Rec_SHA_RECORD_LIST - NULL, // Rec_SHA_RECORD_PRINT - Hlp_START_Profiles_view_public_profile, // Rec_SHA_RECORD_PUBLIC + [Rec_SHA_RECORD_LIST ] = NULL, + [Rec_SHA_RECORD_PRINT ] = NULL, + [Rec_SHA_RECORD_PUBLIC ] = Hlp_START_Profiles_view_public_profile, }; const char *Rec_RecordListHelp[Rol_NUM_ROLES] = { - NULL, // Rol_UNK - Hlp_USERS_Guests, // Rol_GST - NULL, // Rol_USR - Hlp_USERS_Students_shared_record_card, // Rol_STD - Hlp_USERS_Teachers_shared_record_card, // Rol_NET - Hlp_USERS_Teachers_shared_record_card, // Rol_TCH - NULL, // Rol_DEG_ADM - NULL, // Rol_CTR_ADM - NULL, // Rol_INS_ADM - NULL, // Rol_SYS_ADM + [Rol_UNK ] = NULL, + [Rol_GST ] = Hlp_USERS_Guests, + [Rol_USR ] = NULL, + [Rol_STD ] = Hlp_USERS_Students_shared_record_card, + [Rol_NET ] = Hlp_USERS_Teachers_shared_record_card, + [Rol_TCH ] = Hlp_USERS_Teachers_shared_record_card, + [Rol_DEG_ADM] = NULL, + [Rol_CTR_ADM] = NULL, + [Rol_INS_ADM] = NULL, + [Rol_SYS_ADM] = NULL, }; char StrRecordWidth[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; const char *ClassForm = "REC_DAT"; diff --git a/swad_role.c b/swad_role.c index 3ae0e4c2..c70fbdae 100644 --- a/swad_role.c +++ b/swad_role.c @@ -40,16 +40,16 @@ #define Rol_NUM_ROLES 10 const char *Rol_Icons[Rol_NUM_ROLES] = { - "user.svg", // Rol_UNK - "user.svg", // Rol_GST - "user.svg", // Rol_USR - "user.svg", // Rol_STD - "user-tie.svg", // Rol_NET - "user-tie.svg", // Rol_TCH - "user-tie.svg", // Rol_DEG_ADM - "user-tie.svg", // Rol_CTR_ADM - "user-tie.svg", // Rol_INS_ADM - "user-tie.svg", // Rol_SYS_ADM + [Rol_UNK ] = "user.svg", + [Rol_GST ] = "user.svg", + [Rol_USR ] = "user.svg", + [Rol_STD ] = "user.svg", + [Rol_NET ] = "user-tie.svg", + [Rol_TCH ] = "user-tie.svg", + [Rol_DEG_ADM] = "user-tie.svg", + [Rol_CTR_ADM] = "user-tie.svg", + [Rol_INS_ADM] = "user-tie.svg", + [Rol_SYS_ADM] = "user-tie.svg", }; /*****************************************************************************/ diff --git a/swad_search.c b/swad_search.c index 00f35e22..4c02034f 100644 --- a/swad_search.c +++ b/swad_search.c @@ -116,20 +116,20 @@ static void Sch_PutFormToSearchWithWhatToSearchAndScope (Act_Action_t Action,Hie extern const char *Txt_Search; const char *Titles[Sch_NUM_WHAT_TO_SEARCH] = { - "", // Sch_SEARCH_UNKNOWN - Txt_all, // Sch_SEARCH_ALL - Txt_countries, // Sch_SEARCH_COUNTRIES - Txt_institutions, // Sch_SEARCH_INSTITS - Txt_centres, // Sch_SEARCH_CENTRES - Txt_degrees, // Sch_SEARCH_DEGREES - Txt_courses, // Sch_SEARCH_COURSES - Txt_users[Usr_SEX_UNKNOWN], // Sch_SEARCH_USERS - Txt_ROLES_PLURAL_abc[Rol_TCH][Usr_SEX_UNKNOWN], // Sch_SEARCH_TEACHERS - Txt_ROLES_PLURAL_abc[Rol_STD][Usr_SEX_UNKNOWN], // Sch_SEARCH_STUDENTS - Txt_ROLES_PLURAL_abc[Rol_GST][Usr_SEX_UNKNOWN], // Sch_SEARCH_GUESTS - Txt_open_documents, // Sch_SEARCH_OPEN_DOCUMENTS - Txt_documents_in_my_courses, // Sch_SEARCH_DOCUM_IN_MY_COURSES - Txt_my_documents, // Sch_SEARCH_MY_DOCUMENTS + [Sch_SEARCH_UNKNOWN ] = "", + [Sch_SEARCH_ALL ] = Txt_all, + [Sch_SEARCH_COUNTRIES ] = Txt_countries, + [Sch_SEARCH_INSTITS ] = Txt_institutions, + [Sch_SEARCH_CENTRES ] = Txt_centres, + [Sch_SEARCH_DEGREES ] = Txt_degrees, + [Sch_SEARCH_COURSES ] = Txt_courses, + [Sch_SEARCH_USERS ] = Txt_users[Usr_SEX_UNKNOWN], + [Sch_SEARCH_TEACHERS ] = Txt_ROLES_PLURAL_abc[Rol_TCH][Usr_SEX_UNKNOWN], + [Sch_SEARCH_STUDENTS ] = Txt_ROLES_PLURAL_abc[Rol_STD][Usr_SEX_UNKNOWN], + [Sch_SEARCH_GUESTS ] = Txt_ROLES_PLURAL_abc[Rol_GST][Usr_SEX_UNKNOWN], + [Sch_SEARCH_OPEN_DOCUMENTS ] = Txt_open_documents, + [Sch_SEARCH_DOCUM_IN_MY_COURSES] = Txt_documents_in_my_courses, + [Sch_SEARCH_MY_DOCUMENTS ] = Txt_my_documents, }; Sch_WhatToSearch_t WhatToSearch; unsigned WTS; @@ -200,22 +200,22 @@ static void Sch_PutFormToSearchWithWhatToSearchAndScope (Act_Action_t Action,Hie static bool Sch_CheckIfIHavePermissionToSearch (Sch_WhatToSearch_t WhatToSearch) { - unsigned Permissions[Sch_NUM_WHAT_TO_SEARCH] = + static unsigned Permissions[Sch_NUM_WHAT_TO_SEARCH] = { - 0x000, // Sch_SEARCH_UNKNOWN - 0x3FF, // Sch_SEARCH_ALL - 0x3FF, // Sch_SEARCH_COUNTRIES - 0x3FF, // Sch_SEARCH_INSTITS - 0x3FF, // Sch_SEARCH_CENTRES - 0x3FF, // Sch_SEARCH_DEGREES - 0x3FF, // Sch_SEARCH_COURSES - 0x3FF, // Sch_SEARCH_USERS - 0x3FF, // Sch_SEARCH_TEACHERS - 0x3FF, // Sch_SEARCH_STUDENTS - 0x3FF, // Sch_SEARCH_GUESTS - 0x3FF, // Sch_SEARCH_OPEN_DOCUMENTS - 0x3FE, // Sch_SEARCH_DOCUM_IN_MY_COURSES Only if I am logged - 0x3FE, // Sch_SEARCH_MY_DOCUMENTS Only if I am logged + [Sch_SEARCH_UNKNOWN ] = 0x000, + [Sch_SEARCH_ALL ] = 0x3FF, + [Sch_SEARCH_COUNTRIES ] = 0x3FF, + [Sch_SEARCH_INSTITS ] = 0x3FF, + [Sch_SEARCH_CENTRES ] = 0x3FF, + [Sch_SEARCH_DEGREES ] = 0x3FF, + [Sch_SEARCH_COURSES ] = 0x3FF, + [Sch_SEARCH_USERS ] = 0x3FF, + [Sch_SEARCH_TEACHERS ] = 0x3FF, + [Sch_SEARCH_STUDENTS ] = 0x3FF, + [Sch_SEARCH_GUESTS ] = 0x3FF, + [Sch_SEARCH_OPEN_DOCUMENTS ] = 0x3FF, + [Sch_SEARCH_DOCUM_IN_MY_COURSES] = 0x3FE, // Only if I am logged + [Sch_SEARCH_MY_DOCUMENTS ] = 0x3FE, // Only if I am logged }; return (Permissions[WhatToSearch] & (1 << Gbl.Usrs.Me.Role.Logged)); diff --git a/swad_statistic.c b/swad_statistic.c index a169512f..02ec0dcc 100644 --- a/swad_statistic.c +++ b/swad_statistic.c @@ -53,7 +53,7 @@ extern struct Globals Gbl; #define Sta_SECONDS_IN_RECENT_LOG ((time_t) (Cfg_DAYS_IN_RECENT_LOG * 24UL * 60UL * 60UL)) // Remove entries in recent log oldest than this time -const unsigned Sta_CellPadding[Sta_NUM_CLICKS_GROUPED_BY] = +static const unsigned Sta_CellPadding[Sta_NUM_CLICKS_GROUPED_BY] = { [Sta_CLICKS_CRS_DETAILED_LIST ] = 2, diff --git a/swad_tab.c b/swad_tab.c index 8e662d3c..4ccb537e 100644 --- a/swad_tab.c +++ b/swad_tab.c @@ -41,24 +41,6 @@ extern struct Globals Gbl; /****************************** Private constants ****************************/ /*****************************************************************************/ -const char *Tab_TabIcons[Tab_NUM_TABS] = - { - /* TabUnk */ NULL, - /* TabStr */ "home", - /* TabSys */ "sitemap", - /* TabCty */ "globe", - /* TabIns */ "university", - /* TabCtr */ "building", - /* TabDeg */ "graduation-cap", - /* TabCrs */ "list-ol", - /* TabAss */ "check", - /* TabFil */ "folder-open", - /* TabUsr */ "users", - /* TabMsg */ "envelope", - /* TabAna */ "chart-bar", - /* TabPrf */ "user", - }; - /*****************************************************************************/ /******************************* Private types *******************************/ /*****************************************************************************/ @@ -88,14 +70,14 @@ void Tab_DrawTabs (void) extern const char *Txt_TABS_TXT[Tab_NUM_TABS]; Tab_Tab_t NumTab; bool ICanViewTab; - const char *ClassHeadRow3[The_NUM_THEMES] = + static const char *ClassHeadRow3[The_NUM_THEMES] = { - "HEAD_ROW_3_WHITE", // The_THEME_WHITE - "HEAD_ROW_3_GREY", // The_THEME_GREY - "HEAD_ROW_3_PURPLE", // The_THEME_PURPLE - "HEAD_ROW_3_BLUE", // The_THEME_BLUE - "HEAD_ROW_3_YELLOW", // The_THEME_YELLOW - "HEAD_ROW_3_PINK", // The_THEME_PINK + [The_THEME_WHITE ] = "HEAD_ROW_3_WHITE", + [The_THEME_GREY ] = "HEAD_ROW_3_GREY", + [The_THEME_PURPLE] = "HEAD_ROW_3_PURPLE", + [The_THEME_BLUE ] = "HEAD_ROW_3_BLUE", + [The_THEME_YELLOW] = "HEAD_ROW_3_YELLOW", + [The_THEME_PINK ] = "HEAD_ROW_3_PINK", }; /***** Start tabs container *****/ @@ -201,6 +183,24 @@ static bool Tab_CheckIfICanViewTab (Tab_Tab_t Tab) static const char *Tab_GetIcon (Tab_Tab_t NumTab) { + static const char *Tab_TabIcons[Tab_NUM_TABS] = + { + [TabUnk] = NULL, + [TabStr] = "home", + [TabSys] = "sitemap", + [TabCty] = "globe", + [TabIns] = "university", + [TabCtr] = "building", + [TabDeg] = "graduation-cap", + [TabCrs] = "list-ol", + [TabAss] = "check", + [TabFil] = "folder-open", + [TabUsr] = "users", + [TabMsg] = "envelope", + [TabAna] = "chart-bar", + [TabPrf] = "user", + }; + if (NumTab < (Tab_Tab_t) 1 || NumTab >= Tab_NUM_TABS) return NULL; diff --git a/swad_test.c b/swad_test.c index a695e835..7f740043 100644 --- a/swad_test.c +++ b/swad_test.c @@ -61,22 +61,22 @@ // strings are limited to Tst_MAX_BYTES_FEEDBACK_TYPE bytes const char *Tst_FeedbackXML[Tst_NUM_TYPES_FEEDBACK] = { - "nothing", - "totalResult", - "eachResult", - "eachGoodBad", - "fullFeedback", + [Tst_FEEDBACK_NOTHING ] = "nothing", + [Tst_FEEDBACK_TOTAL_RESULT ] = "totalResult", + [Tst_FEEDBACK_EACH_RESULT ] = "eachResult", + [Tst_FEEDBACK_EACH_GOOD_BAD] = "eachGoodBad", + [Tst_FEEDBACK_FULL_FEEDBACK] = "fullFeedback", }; // strings are limited to Tst_MAX_BYTES_ANSWER_TYPE characters const char *Tst_StrAnswerTypesXML[Tst_NUM_ANS_TYPES] = { - "int", - "float", - "TF", - "uniqueChoice", - "multipleChoice", - "text", + [Tst_ANS_INT ] = "int", + [Tst_ANS_FLOAT ] = "float", + [Tst_ANS_TRUE_FALSE ] = "TF", + [Tst_ANS_UNIQUE_CHOICE ] = "uniqueChoice", + [Tst_ANS_MULTIPLE_CHOICE] = "multipleChoice", + [Tst_ANS_TEXT ] = "text", }; /*****************************************************************************/ diff --git a/swad_theme.c b/swad_theme.c index 23ea972c..6cd24e76 100644 --- a/swad_theme.c +++ b/swad_theme.c @@ -53,248 +53,252 @@ extern struct Globals Gbl; const char *The_ThemeId[The_NUM_THEMES] = { - "white", - "grey", - "purple", - "blue", - "yellow", - "pink", + [The_THEME_WHITE ] = "white", + [The_THEME_GREY ] = "grey", + [The_THEME_PURPLE] = "purple", + [The_THEME_BLUE ] = "blue", + [The_THEME_YELLOW] = "yellow", + [The_THEME_PINK ] = "pink", }; const char *The_ThemeNames[The_NUM_THEMES] = { - "White", - "Grey", - "Purple", - "Blue", - "Yellow", - "Pink", + [The_THEME_WHITE ] = "White", + [The_THEME_GREY ] = "Grey", + [The_THEME_PURPLE] = "Purple", + [The_THEME_BLUE ] = "Blue", + [The_THEME_YELLOW] = "Yellow", + [The_THEME_PINK ] = "Pink", }; const char *The_TabOnBgColors[The_NUM_THEMES] = { - "TAB_ON_WHITE", - "TAB_ON_GREY", - "TAB_ON_PURPLE", - "TAB_ON_BLUE", - "TAB_ON_YELLOW", - "TAB_ON_PINK", + [The_THEME_WHITE ] = "TAB_ON_WHITE", + [The_THEME_GREY ] = "TAB_ON_GREY", + [The_THEME_PURPLE] = "TAB_ON_PURPLE", + [The_THEME_BLUE ] = "TAB_ON_BLUE", + [The_THEME_YELLOW] = "TAB_ON_YELLOW", + [The_THEME_PINK ] = "TAB_ON_PINK", }; + const char *The_TabOffBgColors[The_NUM_THEMES] = { - "TAB_OFF_WHITE", - "TAB_OFF_GREY", - "TAB_OFF_PURPLE", - "TAB_OFF_BLUE", - "TAB_OFF_YELLOW", - "TAB_OFF_PINK", + [The_THEME_WHITE ] = "TAB_OFF_WHITE", + [The_THEME_GREY ] = "TAB_OFF_GREY", + [The_THEME_PURPLE] = "TAB_OFF_PURPLE", + [The_THEME_BLUE ] = "TAB_OFF_BLUE", + [The_THEME_YELLOW] = "TAB_OFF_YELLOW", + [The_THEME_PINK ] = "TAB_OFF_PINK", }; const char *The_ClassTagline[The_NUM_THEMES] = { - "BT_LINK TAGLINE_WHITE", - "BT_LINK TAGLINE_GREY", - "BT_LINK TAGLINE_PURPLE", - "BT_LINK TAGLINE_BLUE", - "BT_LINK TAGLINE_YELLOW", - "BT_LINK TAGLINE_PINK", + [The_THEME_WHITE ] = "BT_LINK TAGLINE_WHITE", + [The_THEME_GREY ] = "BT_LINK TAGLINE_GREY", + [The_THEME_PURPLE] = "BT_LINK TAGLINE_PURPLE", + [The_THEME_BLUE ] = "BT_LINK TAGLINE_BLUE", + [The_THEME_YELLOW] = "BT_LINK TAGLINE_YELLOW", + [The_THEME_PINK ] = "BT_LINK TAGLINE_PINK", }; const char *The_ClassNotif[The_NUM_THEMES] = { - "BT_LINK NOTIF_WHITE", - "BT_LINK NOTIF_GREY", - "BT_LINK NOTIF_PURPLE", - "BT_LINK NOTIF_BLUE", - "BT_LINK NOTIF_YELLOW", - "BT_LINK NOTIF_PINK", + [The_THEME_WHITE ] = "BT_LINK NOTIF_WHITE", + [The_THEME_GREY ] = "BT_LINK NOTIF_GREY", + [The_THEME_PURPLE] = "BT_LINK NOTIF_PURPLE", + [The_THEME_BLUE ] = "BT_LINK NOTIF_BLUE", + [The_THEME_YELLOW] = "BT_LINK NOTIF_YELLOW", + [The_THEME_PINK ] = "BT_LINK NOTIF_PINK", }; const char *The_ClassUsr[The_NUM_THEMES] = { - "USR_WHITE", - "USR_GREY", - "USR_PURPLE", - "USR_BLUE", - "USR_YELLOW", - "USR_PINK", + [The_THEME_WHITE ] = "USR_WHITE", + [The_THEME_GREY ] = "USR_GREY", + [The_THEME_PURPLE] = "USR_PURPLE", + [The_THEME_BLUE ] = "USR_BLUE", + [The_THEME_YELLOW] = "USR_YELLOW", + [The_THEME_PINK ] = "USR_PINK", }; const char *The_ClassBreadcrumb[The_NUM_THEMES] = { - "BC_WHITE", - "BC_GREY", - "BC_PURPLE", - "BC_BLUE", - "BC_YELLOW", - "BC_PINK", + [The_THEME_WHITE ] = "BC_WHITE", + [The_THEME_GREY ] = "BC_GREY", + [The_THEME_PURPLE] = "BC_PURPLE", + [The_THEME_BLUE ] = "BC_BLUE", + [The_THEME_YELLOW] = "BC_YELLOW", + [The_THEME_PINK ] = "BC_PINK", }; const char *The_ClassCourse[The_NUM_THEMES] = { - "MAIN_TITLE_WHITE", - "MAIN_TITLE_GREY", - "MAIN_TITLE_PURPLE", - "MAIN_TITLE_BLUE", - "MAIN_TITLE_YELLOW", - "MAIN_TITLE_PINK", + [The_THEME_WHITE ] = "MAIN_TITLE_WHITE", + [The_THEME_GREY ] = "MAIN_TITLE_GREY", + [The_THEME_PURPLE] = "MAIN_TITLE_PURPLE", + [The_THEME_BLUE ] = "MAIN_TITLE_BLUE", + [The_THEME_YELLOW] = "MAIN_TITLE_YELLOW", + [The_THEME_PINK ] = "MAIN_TITLE_PINK", }; const char *The_ClassTxtMenu[The_NUM_THEMES] = { - "MENU_TXT_WHITE", - "MENU_TXT_GREY", - "MENU_TXT_PURPLE", - "MENU_TXT_BLUE", - "MENU_TXT_YELLOW", - "MENU_TXT_PINK", + [The_THEME_WHITE ] = "MENU_TXT_WHITE", + [The_THEME_GREY ] = "MENU_TXT_GREY", + [The_THEME_PURPLE] = "MENU_TXT_PURPLE", + [The_THEME_BLUE ] = "MENU_TXT_BLUE", + [The_THEME_YELLOW] = "MENU_TXT_YELLOW", + [The_THEME_PINK ] = "MENU_TXT_PINK", }; const char *The_ClassTxtTabOff[The_NUM_THEMES] = { - "TAB_OFF_TXT_WHITE", - "TAB_OFF_TXT_GREY", - "TAB_OFF_TXT_PURPLE", - "TAB_OFF_TXT_BLUE", - "TAB_OFF_TXT_YELLOW", - "TAB_OFF_TXT_PINK", + [The_THEME_WHITE ] = "TAB_OFF_TXT_WHITE", + [The_THEME_GREY ] = "TAB_OFF_TXT_GREY", + [The_THEME_PURPLE] = "TAB_OFF_TXT_PURPLE", + [The_THEME_BLUE ] = "TAB_OFF_TXT_BLUE", + [The_THEME_YELLOW] = "TAB_OFF_TXT_YELLOW", + [The_THEME_PINK ] = "TAB_OFF_TXT_PINK", }; const char *The_ClassTxtTabOn[The_NUM_THEMES] = { - "TAB_ON_TXT_WHITE", - "TAB_ON_TXT_GREY", - "TAB_ON_TXT_PURPLE", - "TAB_ON_TXT_BLUE", - "TAB_ON_TXT_YELLOW", - "TAB_ON_TXT_PINK", + [The_THEME_WHITE ] = "TAB_ON_TXT_WHITE", + [The_THEME_GREY ] = "TAB_ON_TXT_GREY", + [The_THEME_PURPLE] = "TAB_ON_TXT_PURPLE", + [The_THEME_BLUE ] = "TAB_ON_TXT_BLUE", + [The_THEME_YELLOW] = "TAB_ON_TXT_YELLOW", + [The_THEME_PINK ] = "TAB_ON_TXT_PINK", }; const char *The_ClassTitleAction[The_NUM_THEMES] = { - "TITLE_ACTION_WHITE", - "TITLE_ACTION_GREY", - "TITLE_ACTION_PURPLE", - "TITLE_ACTION_BLUE", - "TITLE_ACTION_YELLOW", - "TITLE_ACTION_PINK", + [The_THEME_WHITE ] = "TITLE_ACTION_WHITE", + [The_THEME_GREY ] = "TITLE_ACTION_GREY", + [The_THEME_PURPLE] = "TITLE_ACTION_PURPLE", + [The_THEME_BLUE ] = "TITLE_ACTION_BLUE", + [The_THEME_YELLOW] = "TITLE_ACTION_YELLOW", + [The_THEME_PINK ] = "TITLE_ACTION_PINK", }; const char *The_ClassSubtitleAction[The_NUM_THEMES] = { - "SUBTITLE_ACTION_WHITE", - "SUBTITLE_ACTION_GREY", - "SUBTITLE_ACTION_PURPLE", - "SUBTITLE_ACTION_BLUE", - "SUBTITLE_ACTION_YELLOW", - "SUBTITLE_ACTION_PINK", + [The_THEME_WHITE ] = "SUBTITLE_ACTION_WHITE", + [The_THEME_GREY ] = "SUBTITLE_ACTION_GREY", + [The_THEME_PURPLE] = "SUBTITLE_ACTION_PURPLE", + [The_THEME_BLUE ] = "SUBTITLE_ACTION_BLUE", + [The_THEME_YELLOW] = "SUBTITLE_ACTION_YELLOW", + [The_THEME_PINK ] = "SUBTITLE_ACTION_PINK", }; const char *The_ClassTitle[The_NUM_THEMES] = { - "TITLE_WHITE", - "TITLE_GREY", - "TITLE_PURPLE", - "TITLE_BLUE", - "TITLE_YELLOW", - "TITLE_PINK", + [The_THEME_WHITE ] = "TITLE_WHITE", + [The_THEME_GREY ] = "TITLE_GREY", + [The_THEME_PURPLE] = "TITLE_PURPLE", + [The_THEME_BLUE ] = "TITLE_BLUE", + [The_THEME_YELLOW] = "TITLE_YELLOW", + [The_THEME_PINK ] = "TITLE_PINK", }; const char *The_ClassFormLinkInBox[The_NUM_THEMES] = { - "BT_LINK FORM_IN_WHITE", - "BT_LINK FORM_IN_GREY", - "BT_LINK FORM_IN_PURPLE", - "BT_LINK FORM_IN_BLUE", - "BT_LINK FORM_IN_YELLOW", - "BT_LINK FORM_IN_PINK", + [The_THEME_WHITE ] = "BT_LINK FORM_IN_WHITE", + [The_THEME_GREY ] = "BT_LINK FORM_IN_GREY", + [The_THEME_PURPLE] = "BT_LINK FORM_IN_PURPLE", + [The_THEME_BLUE ] = "BT_LINK FORM_IN_BLUE", + [The_THEME_YELLOW] = "BT_LINK FORM_IN_YELLOW", + [The_THEME_PINK ] = "BT_LINK FORM_IN_PINK", }; + const char *The_ClassFormInBox[The_NUM_THEMES] = { - "FORM_IN_WHITE", - "FORM_IN_GREY", - "FORM_IN_PURPLE", - "FORM_IN_BLUE", - "FORM_IN_YELLOW", - "FORM_IN_PINK", + [The_THEME_WHITE ] = "FORM_IN_WHITE", + [The_THEME_GREY ] = "FORM_IN_GREY", + [The_THEME_PURPLE] = "FORM_IN_PURPLE", + [The_THEME_BLUE ] = "FORM_IN_BLUE", + [The_THEME_YELLOW] = "FORM_IN_YELLOW", + [The_THEME_PINK ] = "FORM_IN_PINK", }; const char *The_ClassFormLinkInBoxBold[The_NUM_THEMES] = { - "BT_LINK FORM_IN_WHITE BOLD", - "BT_LINK FORM_IN_GREY BOLD", - "BT_LINK FORM_IN_PURPLE BOLD", - "BT_LINK FORM_IN_BLUE BOLD", - "BT_LINK FORM_IN_YELLOW BOLD", - "BT_LINK FORM_IN_PINK BOLD", + [The_THEME_WHITE ] = "BT_LINK FORM_IN_WHITE BOLD", + [The_THEME_GREY ] = "BT_LINK FORM_IN_GREY BOLD", + [The_THEME_PURPLE] = "BT_LINK FORM_IN_PURPLE BOLD", + [The_THEME_BLUE ] = "BT_LINK FORM_IN_BLUE BOLD", + [The_THEME_YELLOW] = "BT_LINK FORM_IN_YELLOW BOLD", + [The_THEME_PINK ] = "BT_LINK FORM_IN_PINK BOLD", }; + const char *The_ClassFormInBoxBold[The_NUM_THEMES] = { - "FORM_IN_WHITE BOLD", - "FORM_IN_GREY BOLD", - "FORM_IN_PURPLE BOLD", - "FORM_IN_BLUE BOLD", - "FORM_IN_YELLOW BOLD", - "FORM_IN_PINK BOLD", + [The_THEME_WHITE ] = "FORM_IN_WHITE BOLD", + [The_THEME_GREY ] = "FORM_IN_GREY BOLD", + [The_THEME_PURPLE] = "FORM_IN_PURPLE BOLD", + [The_THEME_BLUE ] = "FORM_IN_BLUE BOLD", + [The_THEME_YELLOW] = "FORM_IN_YELLOW BOLD", + [The_THEME_PINK ] = "FORM_IN_PINK BOLD", }; const char *The_ClassFormLinkInBoxNoWrap[The_NUM_THEMES] = { - "BT_LINK FORM_IN_WHITE NOWRAP", - "BT_LINK FORM_IN_GREY NOWRAP", - "BT_LINK FORM_IN_PURPLE NOWRAP", - "BT_LINK FORM_IN_BLUE NOWRAP", - "BT_LINK FORM_IN_YELLOW NOWRAP", - "BT_LINK FORM_IN_PINK NOWRAP", + [The_THEME_WHITE ] = "BT_LINK FORM_IN_WHITE NOWRAP", + [The_THEME_GREY ] = "BT_LINK FORM_IN_GREY NOWRAP", + [The_THEME_PURPLE] = "BT_LINK FORM_IN_PURPLE NOWRAP", + [The_THEME_BLUE ] = "BT_LINK FORM_IN_BLUE NOWRAP", + [The_THEME_YELLOW] = "BT_LINK FORM_IN_YELLOW NOWRAP", + [The_THEME_PINK ] = "BT_LINK FORM_IN_PINK NOWRAP", }; + const char *The_ClassFormInBoxNoWrap[The_NUM_THEMES] = { - "FORM_IN_WHITE NOWRAP", - "FORM_IN_GREY NOWRAP", - "FORM_IN_PURPLE NOWRAP", - "FORM_IN_BLUE NOWRAP", - "FORM_IN_YELLOW NOWRAP", - "FORM_IN_PINK NOWRAP", + [The_THEME_WHITE ] = "FORM_IN_WHITE NOWRAP", + [The_THEME_GREY ] = "FORM_IN_GREY NOWRAP", + [The_THEME_PURPLE] = "FORM_IN_PURPLE NOWRAP", + [The_THEME_BLUE ] = "FORM_IN_BLUE NOWRAP", + [The_THEME_YELLOW] = "FORM_IN_YELLOW NOWRAP", + [The_THEME_PINK ] = "FORM_IN_PINK NOWRAP", }; const char *The_ClassFormLinkOutBox[The_NUM_THEMES] = { - "BT_LINK FORM_OUT_WHITE", - "BT_LINK FORM_OUT_GREY", - "BT_LINK FORM_OUT_PURPLE", - "BT_LINK FORM_OUT_BLUE", - "BT_LINK FORM_OUT_YELLOW", - "BT_LINK FORM_OUT_PINK", + [The_THEME_WHITE ] = "BT_LINK FORM_OUT_WHITE", + [The_THEME_GREY ] = "BT_LINK FORM_OUT_GREY", + [The_THEME_PURPLE] = "BT_LINK FORM_OUT_PURPLE", + [The_THEME_BLUE ] = "BT_LINK FORM_OUT_BLUE", + [The_THEME_YELLOW] = "BT_LINK FORM_OUT_YELLOW", + [The_THEME_PINK ] = "BT_LINK FORM_OUT_PINK", }; const char *The_ClassFormOutBox[The_NUM_THEMES] = { - "FORM_OUT_WHITE", - "FORM_OUT_GREY", - "FORM_OUT_PURPLE", - "FORM_OUT_BLUE", - "FORM_OUT_YELLOW", - "FORM_OUT_PINK", + [The_THEME_WHITE ] = "FORM_OUT_WHITE", + [The_THEME_GREY ] = "FORM_OUT_GREY", + [The_THEME_PURPLE] = "FORM_OUT_PURPLE", + [The_THEME_BLUE ] = "FORM_OUT_BLUE", + [The_THEME_YELLOW] = "FORM_OUT_YELLOW", + [The_THEME_PINK ] = "FORM_OUT_PINK", }; const char *The_ClassFormLinkOutBoxBold[The_NUM_THEMES] = { - "BT_LINK FORM_OUT_WHITE BOLD", - "BT_LINK FORM_OUT_GREY BOLD", - "BT_LINK FORM_OUT_PURPLE BOLD", - "BT_LINK FORM_OUT_BLUE BOLD", - "BT_LINK FORM_OUT_YELLOW BOLD", - "BT_LINK FORM_OUT_PINK BOLD", + [The_THEME_WHITE ] = "BT_LINK FORM_OUT_WHITE BOLD", + [The_THEME_GREY ] = "BT_LINK FORM_OUT_GREY BOLD", + [The_THEME_PURPLE] = "BT_LINK FORM_OUT_PURPLE BOLD", + [The_THEME_BLUE ] = "BT_LINK FORM_OUT_BLUE BOLD", + [The_THEME_YELLOW] = "BT_LINK FORM_OUT_YELLOW BOLD", + [The_THEME_PINK ] = "BT_LINK FORM_OUT_PINK BOLD", }; const char *The_ClassFormOutBoxBold[The_NUM_THEMES] = { - "FORM_OUT_WHITE BOLD", - "FORM_OUT_GREY BOLD", - "FORM_OUT_PURPLE BOLD", - "FORM_OUT_BLUE BOLD", - "FORM_OUT_YELLOW BOLD", - "FORM_OUT_PINK BOLD", + [The_THEME_WHITE ] = "FORM_OUT_WHITE BOLD", + [The_THEME_GREY ] = "FORM_OUT_GREY BOLD", + [The_THEME_PURPLE] = "FORM_OUT_PURPLE BOLD", + [The_THEME_BLUE ] = "FORM_OUT_BLUE BOLD", + [The_THEME_YELLOW] = "FORM_OUT_YELLOW BOLD", + [The_THEME_PINK ] = "FORM_OUT_PINK BOLD", }; /*****************************************************************************/ diff --git a/swad_timeline.c b/swad_timeline.c index a211b29c..57edf6af 100644 --- a/swad_timeline.c +++ b/swad_timeline.c @@ -77,6 +77,7 @@ typedef enum TL_TIMELINE_GBL, // Show the timeline of the users follwed by me } TL_TimelineUsrOrGbl_t; +#define TL_NUM_WHAT_TO_GET_FROM_TIMELINE 3 typedef enum { TL_GET_ONLY_NEW_PUBS, // New publications are retrieved via AJAX @@ -560,11 +561,11 @@ static void TL_BuildQueryToGetTimeline (char **Query, unsigned NumPub; long PubCod; long NotCod; - const unsigned MaxPubsToGet[3] = + static const unsigned MaxPubsToGet[TL_NUM_WHAT_TO_GET_FROM_TIMELINE] = { - TL_MAX_NEW_PUBS_TO_GET_AND_SHOW, // TL_GET_ONLY_NEW_PUBS - TL_MAX_REC_PUBS_TO_GET_AND_SHOW, // TL_GET_RECENT_TIMELINE - TL_MAX_OLD_PUBS_TO_GET_AND_SHOW, // TL_GET_ONLY_OLD_PUBS + [TL_GET_ONLY_NEW_PUBS ] = TL_MAX_NEW_PUBS_TO_GET_AND_SHOW, + [TL_GET_RECENT_TIMELINE] = TL_MAX_REC_PUBS_TO_GET_AND_SHOW, + [TL_GET_ONLY_OLD_PUBS ] = TL_MAX_OLD_PUBS_TO_GET_AND_SHOW, }; /***** Clear timeline for this session in database *****/ @@ -4929,12 +4930,12 @@ static void TL_GetDataOfCommByCod (struct TL_Comment *SocCom) static void TL_GetDataOfPublicationFromRow (MYSQL_ROW row,struct TL_Publication *SocPub) { - const TL_TopMessage_t TopMessages[TL_NUM_PUB_TYPES] = + static const TL_TopMessage_t TopMessages[TL_NUM_PUB_TYPES] = { - TL_TOP_MESSAGE_NONE, // TL_PUB_UNKNOWN - TL_TOP_MESSAGE_NONE, // TL_PUB_ORIGINAL_NOTE - TL_TOP_MESSAGE_SHARED, // TL_PUB_SHARED_NOTE - TL_TOP_MESSAGE_COMMENTED, // TL_PUB_COMMENT_TO_NOTE + [TL_PUB_UNKNOWN ] = TL_TOP_MESSAGE_NONE, + [TL_PUB_ORIGINAL_NOTE ] = TL_TOP_MESSAGE_NONE, + [TL_PUB_SHARED_NOTE ] = TL_TOP_MESSAGE_SHARED, + [TL_PUB_COMMENT_TO_NOTE] = TL_TOP_MESSAGE_COMMENTED, }; /***** Get code of publication (row[0]) *****/ diff --git a/swad_timetable.c b/swad_timetable.c index 65f89a0d..1e09ac8f 100644 --- a/swad_timetable.c +++ b/swad_timetable.c @@ -113,7 +113,7 @@ struct TT_Cell *TT_TimeTable[TT_DAYS_PER_WEEK]; /* Possible resolutions of the timetable in minutes */ #define TT_NUM_RESOLUTIONS 3 -unsigned TT_MinutesPerInterval[TT_NUM_RESOLUTIONS] = +static const unsigned TT_MinutesPerInterval[TT_NUM_RESOLUTIONS] = { 5, // 5 minutes 15, // 15 minutes // Use 10 or 15 minutes (15 looks better), never both together @@ -316,7 +316,7 @@ void TT_ShowClassTimeTable (void) [TT_MY_TIMETABLE ] = Hlp_PROFILE_Timetable, [TT_TUTORING_TIMETABLE] = NULL, }; - static Act_Action_t ActChgTT1stDay[TT_NUM_TIMETABLE_TYPES] = + static const Act_Action_t ActChgTT1stDay[TT_NUM_TIMETABLE_TYPES] = { [TT_COURSE_TIMETABLE ] = ActChgCrsTT1stDay, [TT_MY_TIMETABLE ] = ActChgMyTT1stDay, @@ -418,7 +418,7 @@ static void TT_PutContextualIcons (void) static void TT_PutFormToSelectWhichGroupsToShow (void) { - Act_Action_t ActSeeTT[TT_NUM_TIMETABLE_TYPES] = + static const Act_Action_t ActSeeTT[TT_NUM_TIMETABLE_TYPES] = { ActSeeCrsTT, // TT_COURSE_TIMETABLE ActSeeMyTT, // TT_MY_TIMETABLE diff --git a/swad_user.c b/swad_user.c index c58cbc88..b2f5de21 100644 --- a/swad_user.c +++ b/swad_user.c @@ -74,25 +74,25 @@ const char *Usr_StringsSexIcons[Usr_NUM_SEXS] = { - "?", // Usr_SEX_UNKNOWN - "♀", // Usr_SEX_FEMALE - "♂", // Usr_SEX_MALE - "*", // Usr_SEX_ALL + [Usr_SEX_UNKNOWN] = "?", + [Usr_SEX_FEMALE ] = "♀", + [Usr_SEX_MALE ] = "♂", + [Usr_SEX_ALL ] = "*", }; const char *Usr_StringsSexDB[Usr_NUM_SEXS] = { - "unknown", // Usr_SEX_UNKNOWN - "female", // Usr_SEX_FEMALE - "male", // Usr_SEX_MALE - "all", // Usr_SEX_ALL + [Usr_SEX_UNKNOWN] = "unknown", + [Usr_SEX_FEMALE ] = "female", + [Usr_SEX_MALE ] = "male", + [Usr_SEX_ALL ] = "all", }; const char *Usr_StringsUsrListTypeInDB[Usr_NUM_USR_LIST_TYPES] = { - "", // Usr_LIST_UNKNOWN - "classphoto", // Usr_LIST_AS_CLASS_PHOTO - "list", // Usr_LIST_AS_LISTING + [Usr_LIST_UNKNOWN ] = "", + [Usr_LIST_AS_CLASS_PHOTO] = "classphoto", + [Usr_LIST_AS_LISTING ] = "list", }; /*****************************************************************************/ @@ -8496,14 +8496,14 @@ static void Usr_PutOptionsListUsrs (const bool ICanChooseOption[Usr_LIST_USRS_NU extern const char *Txt_Continue; const char *Label[Usr_LIST_USRS_NUM_OPTIONS] = { - NULL, // Usr_OPTION_UNKNOWN - Txt_View_records, // Usr_OPTION_RECORDS - Txt_View_homework, // Usr_OPTION_HOMEWORK - Txt_View_attendance, // Usr_OPTION_ATTENDANCE - Txt_Send_message, // Usr_OPTION_MESSAGE - Txt_Create_email_message, // Usr_OPTION_EMAIL - Txt_Follow, // Usr_OPTION_FOLLOW - Txt_Unfollow, // Usr_OPTION_UNFOLLOW + [Usr_OPTION_UNKNOWN ] = NULL, + [Usr_OPTION_RECORDS ] = Txt_View_records, + [Usr_OPTION_HOMEWORK ] = Txt_View_homework, + [Usr_OPTION_ATTENDANCE] = Txt_View_attendance, + [Usr_OPTION_MESSAGE ] = Txt_Send_message, + [Usr_OPTION_EMAIL ] = Txt_Create_email_message, + [Usr_OPTION_FOLLOW ] = Txt_Follow, + [Usr_OPTION_UNFOLLOW ] = Txt_Unfollow, }; Usr_ListUsrsOption_t Opt;