From 9ad0384944c6be379469cd0ef1b1aa4b3b191935 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ca=C3=B1as=20Vargas?= Date: Sun, 15 Dec 2019 01:10:36 +0100 Subject: [PATCH] Version19.92.1 --- swad_API.c | 99 ++++++++++++++++++++++++---------------------- swad_API.h | 2 +- swad_agenda.c | 2 +- swad_assignment.c | 2 +- swad_attendance.c | 2 +- swad_centre.c | 2 +- swad_changelog.h | 3 +- swad_connected.c | 4 +- swad_country.c | 48 +++++++++++----------- swad_course.c | 4 +- swad_date.c | 8 ++-- swad_degree_type.c | 2 +- swad_department.c | 2 +- swad_figure.c | 60 ++++++++++++++-------------- 14 files changed, 122 insertions(+), 118 deletions(-) diff --git a/swad_API.c b/swad_API.c index b24a5352..5184bd38 100644 --- a/swad_API.c +++ b/swad_API.c @@ -130,35 +130,38 @@ extern const char Str_BIN_TO_BASE64URL[64 + 1]; // Add new functions at the end static const char *API_Functions[1 + API_NUM_FUNCTIONS] = { - "?", // 0 ==> unknown function - "loginBySession", // 1 - "loginByUserPassword", // 2 (deprecated) - "loginByUserPasswordKey", // 3 - "getCourses", // 4 - "getUsers", // 5 - "getNotifications", // 6 - "getTestConfig", // 7 - "getTests", // 8 - "sendMessage", // 9 - "sendNotice", // 10 - "getDirectoryTree", // 11 - "getGroups", // 12 - "getGroupTypes", // 13 - "sendMyGroups", // 14 - "getFile", // 15 - "markNotificationsAsRead", // 16 - "getNewPassword", // 17 - "getCourseInfo", // 18 - "getAttendanceEvents", // 19 - "sendAttendanceEvent", // 20 - "getAttendanceUsers", // 21 - "sendAttendanceUsers", // 22 - "createAccount", // 23 - "getMarks", // 24 - "getTrivialQuestion", // 25 - "findUsers", // 26 - "removeAttendanceEvent", // 27 - "getGames", // 28 + [API_unknown ] = "?", // 0 ==> unknown function + [API_loginBySessionKey ] = "loginBySession", // 1 + [API_loginByUserPassword ] = "loginByUserPassword", // 2 (deprecated) + [API_loginByUserPasswordKey ] = "loginByUserPasswordKey", // 3 + [API_getCourses ] = "getCourses", // 4 + [API_getUsers ] = "getUsers", // 5 + [API_getNotifications ] = "getNotifications", // 6 + [API_getTestConfig ] = "getTestConfig", // 7 + [API_getTests ] = "getTests", // 8 + [API_sendMessage ] = "sendMessage", // 9 + [API_sendNotice ] = "sendNotice", // 10 + [API_getDirectoryTree ] = "getDirectoryTree", // 11 + [API_getGroups ] = "getGroups", // 12 + [API_getGroupTypes ] = "getGroupTypes", // 13 + [API_sendMyGroups ] = "sendMyGroups", // 14 + [API_getFile ] = "getFile", // 15 + [API_markNotificationsAsRead] = "markNotificationsAsRead", // 16 + [API_getNewPassword ] = "getNewPassword", // 17 + [API_getCourseInfo ] = "getCourseInfo", // 18 + [API_getAttendanceEvents ] = "getAttendanceEvents", // 19 + [API_sendAttendanceEvent ] = "sendAttendanceEvent", // 20 + [API_getAttendanceUsers ] = "getAttendanceUsers", // 21 + [API_sendAttendanceUsers ] = "sendAttendanceUsers", // 22 + [API_createAccount ] = "createAccount", // 23 + [API_getMarks ] = "getMarks", // 24 + [API_getTrivialQuestion ] = "getTrivialQuestion", // 25 + [API_findUsers ] = "findUsers", // 26 + [API_removeAttendanceEvent ] = "removeAttendanceEvent", // 27 + [API_getGames ] = "getGames", // 28 + [API_getMatches ] = "getMatches", // 29 + [API_getMatchStatus ] = "getMatchStatus", // 30 + [API_answerMatchQuestion ] = "answerMatchQuestion", // 31 }; /* Web service roles (they do not match internal swad-core roles) */ @@ -1306,23 +1309,23 @@ int swad__getCourseInfo (struct soap *soap, int Result = SOAP_OK; const char *NamesInWSForInfoType[Inf_NUM_INFO_TYPES] = { - "introduction", // Inf_INTRODUCTION - "guide", // Inf_TEACHING_GUIDE - "lectures", // Inf_LECTURES - "practicals", // Inf_PRACTICALS - "bibliography", // Inf_BIBLIOGRAPHY - "FAQ", // Inf_FAQ - "links", // Inf_LINKS - "assessment", // Inf_ASSESSMENT + [Inf_INTRODUCTION ] = "introduction", + [Inf_TEACHING_GUIDE] = "guide", + [Inf_LECTURES ] = "lectures", + [Inf_PRACTICALS ] = "practicals", + [Inf_BIBLIOGRAPHY ] = "bibliography", + [Inf_FAQ ] = "FAQ", + [Inf_LINKS ] = "links", + [Inf_ASSESSMENT ] = "assessment", }; const char *NamesInWSForInfoSrc[Inf_NUM_INFO_SOURCES] = { - "none", // Inf_INFO_SRC_NONE - "editor", // Inf_INFO_SRC_EDITOR - "plainText", // Inf_INFO_SRC_PLAIN_TEXT - "richText", // Inf_INFO_SRC_RICH_TEXT - "page", // Inf_INFO_SRC_PAGE - "URL", // Inf_INFO_SRC_URL + [Inf_INFO_SRC_NONE ] = "none", + [Inf_INFO_SRC_EDITOR ] = "editor", + [Inf_INFO_SRC_PLAIN_TEXT] = "plainText", + [Inf_INFO_SRC_RICH_TEXT ] = "richText", + [Inf_INFO_SRC_PAGE ] = "page", + [Inf_INFO_SRC_URL ] = "URL", }; /***** Initializations *****/ @@ -1359,8 +1362,8 @@ int swad__getCourseInfo (struct soap *soap, "Requester must belong to course"); /***** Get info source *****/ - for (InfoType = (Inf_InfoType_t) 0; - InfoType < Inf_NUM_INFO_TYPES; + for (InfoType = (Inf_InfoType_t) 0; + InfoType <= (Inf_InfoType_t) (Inf_NUM_INFO_TYPES - 1); InfoType++) if (!strcmp (infoType,NamesInWSForInfoType[InfoType])) break; @@ -3178,9 +3181,9 @@ static int API_GetMyLanguage (void) row = mysql_fetch_row (mysql_res); /* Get language (row[0]) */ - Gbl.Prefs.Language = Lan_LANGUAGE_UNKNOWN; // Language unknown - for (Lan = (Lan_Language_t) 1; - Lan <= Lan_NUM_LANGUAGES; + Gbl.Prefs.Language = Lan_LANGUAGE_UNKNOWN; + for (Lan = (Lan_Language_t) 1; + Lan <= (Lan_Language_t) (Lan_NUM_LANGUAGES - 1); Lan++) if (!strcasecmp (row[0],Lan_STR_LANG_ID[Lan])) { diff --git a/swad_API.h b/swad_API.h index 075cd8c4..86282e20 100644 --- a/swad_API.h +++ b/swad_API.h @@ -31,7 +31,7 @@ /***************************** Public constants ******************************/ /*****************************************************************************/ -#define API_NUM_FUNCTIONS 28 +#define API_NUM_FUNCTIONS 31 /*****************************************************************************/ /******************************* Public types ********************************/ diff --git a/swad_agenda.c b/swad_agenda.c index 8f7808d6..adfe65f2 100644 --- a/swad_agenda.c +++ b/swad_agenda.c @@ -750,7 +750,7 @@ static void Agd_ShowOneEvent (Agd_AgendaType_t AgendaType,long AgdCod) /* Start/end date/time */ UniqueId++; - for (StartEndTime = (Dat_StartEndTime_t) 0; + for (StartEndTime = (Dat_StartEndTime_t) 0; StartEndTime <= (Dat_StartEndTime_t) (Dat_NUM_START_END_TIME - 1); StartEndTime++) { diff --git a/swad_assignment.c b/swad_assignment.c index 2e4d2e7c..db9e8a3d 100644 --- a/swad_assignment.c +++ b/swad_assignment.c @@ -367,7 +367,7 @@ static void Asg_ShowOneAssignment (long AsgCod,bool PrintView) /* Start/end date/time */ UniqueId++; - for (StartEndTime = (Dat_StartEndTime_t) 0; + for (StartEndTime = (Dat_StartEndTime_t) 0; StartEndTime <= (Dat_StartEndTime_t) (Dat_NUM_START_END_TIME - 1); StartEndTime++) { diff --git a/swad_attendance.c b/swad_attendance.c index 75117afb..a4e7779c 100644 --- a/swad_attendance.c +++ b/swad_attendance.c @@ -413,7 +413,7 @@ static void Att_ShowOneAttEvent (struct AttendanceEvent *Att,bool ShowOnlyThisAt /* Start/end date/time */ UniqueId++; - for (StartEndTime = (Dat_StartEndTime_t) 0; + for (StartEndTime = (Dat_StartEndTime_t) 0; StartEndTime <= (Dat_StartEndTime_t) (Dat_NUM_START_END_TIME - 1); StartEndTime++) { diff --git a/swad_centre.c b/swad_centre.c index a3e6fd86..97737114 100644 --- a/swad_centre.c +++ b/swad_centre.c @@ -2576,7 +2576,7 @@ static void Ctr_PutHeadCentresForSeeing (bool OrderSelectable) HTM_TH_Empty (1); - for (Order = Ctr_ORDER_BY_CENTRE; + for (Order = Ctr_ORDER_BY_CENTRE; Order <= Ctr_ORDER_BY_NUM_TCHS; Order++) { diff --git a/swad_changelog.h b/swad_changelog.h index a4e18c20..dd05c7f9 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -490,13 +490,14 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - * En OpenSWAD: ps2pdf source.ps destination.pdf */ -#define Log_PLATFORM_VERSION "SWAD 19.92 (2019-12-14)" +#define Log_PLATFORM_VERSION "SWAD 19.92.1 (2019-12-15)" #define CSS_FILE "swad19.90.1.css" #define JS_FILE "swad19.91.1.js" /* // TODO: Hacer un nuevo rol en los TFG: tutor externo (profesor de áreas no vinculadas con el centro, profesionales de empresas, etc.) // TODO: Impedir la creación y edición de proyectos si no son editables. + Version 19.92.1: Dec 15, 2019 Code refactoring. (248629 lines) Version 19.92: Dec 14, 2019 New module for log database tables. (248625 lines) Version 19.91.2: Dec 14, 2019 Code refactoring related to doubles. (248538 lines) Version 19.91.1: Dec 14, 2019 Changes in match layout. (248533 lines) diff --git a/swad_connected.c b/swad_connected.c index f2ba7146..6c6bdb08 100644 --- a/swad_connected.c +++ b/swad_connected.c @@ -697,8 +697,8 @@ static void Con_GetNumConnectedUsrsWithARoleBelongingCurrentLocation (Rol_Role_t /***** Get users' sex (row[2]) *****/ Usrs->Sex = Usr_SEX_UNKNOWN; if (NumSexs == 1) - for (Sex = (Usr_Sex_t) 0; - Sex < Usr_NUM_SEXS; + for (Sex = (Usr_Sex_t) 0; + Sex <= (Usr_Sex_t) (Usr_NUM_SEXS - 1); Sex++) if (!strcasecmp (row[2],Usr_StringsSexDB[Sex])) { diff --git a/swad_country.c b/swad_country.c index 122f6534..6f65d8d7 100644 --- a/swad_country.c +++ b/swad_country.c @@ -1065,8 +1065,8 @@ void Cty_GetListCountries (Cty_GetExtraData_t GetExtraData) SubQueryNam2[0] = '\0'; SubQueryWWW1[0] = '\0'; SubQueryWWW2[0] = '\0'; - for (Lan = (Lan_Language_t) 1; - Lan <= Lan_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= (Lan_Language_t) Lan_NUM_LANGUAGES; Lan++) { snprintf (StrField,sizeof (StrField), @@ -1156,8 +1156,8 @@ void Cty_GetListCountries (Cty_GetExtraData_t GetExtraData) switch (GetExtraData) { case Cty_GET_BASIC_DATA: - for (Lan = (Lan_Language_t) 1; - Lan <= Lan_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= (Lan_Language_t) Lan_NUM_LANGUAGES; Lan++) { Cty->Name[Lan][0] = '\0'; @@ -1173,8 +1173,8 @@ void Cty_GetListCountries (Cty_GetExtraData_t GetExtraData) break; case Cty_GET_EXTRA_DATA: /* Get the name of the country in several languages */ - for (Lan = (Lan_Language_t) 1; - Lan <= Lan_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= (Lan_Language_t) Lan_NUM_LANGUAGES; Lan++) { Str_Copy (Cty->Name[Lan],row[1 + Lan], @@ -1323,8 +1323,8 @@ bool Cty_GetDataOfCountryByCod (struct Country *Cty,Cty_GetExtraData_t GetExtraD return false; /***** Clear data *****/ - for (Lan = (Lan_Language_t) 1; - Lan <= Lan_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= (Lan_Language_t) Lan_NUM_LANGUAGES; Lan++) { Cty->Name[Lan][0] = '\0'; @@ -1337,8 +1337,8 @@ bool Cty_GetDataOfCountryByCod (struct Country *Cty,Cty_GetExtraData_t GetExtraD /***** Check if country code is correct *****/ if (Cty->CtyCod == 0) { - for (Lan = (Lan_Language_t) 1; - Lan <= Lan_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= (Lan_Language_t) Lan_NUM_LANGUAGES; Lan++) if (Lan == Gbl.Prefs.Language) Str_Copy (Cty->Name[Lan],Txt_Another_country, @@ -1367,8 +1367,8 @@ bool Cty_GetDataOfCountryByCod (struct Country *Cty,Cty_GetExtraData_t GetExtraD SubQueryNam2[0] = '\0'; SubQueryWWW1[0] = '\0'; SubQueryWWW2[0] = '\0'; - for (Lan = (Lan_Language_t) 1; - Lan <= Lan_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= (Lan_Language_t) Lan_NUM_LANGUAGES; Lan++) { snprintf (StrField,sizeof (StrField), @@ -1432,8 +1432,8 @@ bool Cty_GetDataOfCountryByCod (struct Country *Cty,Cty_GetExtraData_t GetExtraD break; case Cty_GET_EXTRA_DATA: /* Get name and WWW of the country in several languages */ - for (Lan = (Lan_Language_t) 1; - Lan <= Lan_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= (Lan_Language_t) Lan_NUM_LANGUAGES; Lan++) { Str_Copy (Cty->Name[Lan],row[Lan], @@ -1649,8 +1649,8 @@ static void Cty_ListCountriesForEdition (void) HTM_TR_End (); /* Country name in several languages */ - for (Lan = (Lan_Language_t) 1; - Lan <= Lan_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= (Lan_Language_t) Lan_NUM_LANGUAGES; Lan++) { HTM_TR_Begin (NULL); @@ -2075,8 +2075,8 @@ static void Cty_PutFormToCreateCountry (void) HTM_TR_End (); /***** Country name in several languages *****/ - for (Lan = (Lan_Language_t) 1; - Lan <= Lan_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= (Lan_Language_t) Lan_NUM_LANGUAGES; Lan++) { HTM_TR_Begin (NULL); @@ -2206,8 +2206,8 @@ void Cty_RecFormNewCountry (void) else // Alphabetic code correct { /* Get country name and WWW in different languages */ - for (Lan = (Lan_Language_t) 1; - Lan <= Lan_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= (Lan_Language_t) Lan_NUM_LANGUAGES; Lan++) { snprintf (ParamName,sizeof (ParamName), @@ -2274,8 +2274,8 @@ static void Cty_CreateCountry (void) SubQueryNam2[0] = '\0'; SubQueryWWW1[0] = '\0'; SubQueryWWW2[0] = '\0'; - for (Lan = (Lan_Language_t) 1; - Lan <= Lan_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= (Lan_Language_t) Lan_NUM_LANGUAGES; Lan++) { snprintf (StrField,sizeof (StrField), @@ -2483,8 +2483,8 @@ static void Cty_EditingCountryConstructor (void) /***** Reset country *****/ Cty_EditingCty->CtyCod = -1L; Cty_EditingCty->Alpha2[0] = '\0'; - for (Lan = (Lan_Language_t) 1; - Lan <= Lan_NUM_LANGUAGES; + for (Lan = (Lan_Language_t) 1; + Lan <= (Lan_Language_t) Lan_NUM_LANGUAGES; Lan++) { Cty_EditingCty->Name[Lan][0] = '\0'; diff --git a/swad_course.c b/swad_course.c index b2ed3aa1..9b5a7169 100644 --- a/swad_course.c +++ b/swad_course.c @@ -3381,8 +3381,8 @@ static void Crs_EditingCourseConstructor (void) Crs_EditingCrs->Status = 0; Crs_EditingCrs->ShrtName[0] = '\0'; Crs_EditingCrs->FullName[0] = '\0'; - for (Role = (Rol_Role_t) 0; - Role < Rol_NUM_ROLES; + for (Role = (Rol_Role_t) 0; + Role <= (Rol_Role_t) (Rol_NUM_ROLES - 1); Role++) Crs_EditingCrs->NumUsrs[Role] = 0; } diff --git a/swad_date.c b/swad_date.c index 0be01951..a6fc0baa 100644 --- a/swad_date.c +++ b/swad_date.c @@ -115,7 +115,7 @@ void Dat_PutBoxToSelectDateFormat (void) Frm_StartForm (ActChgDatFmt); HTM_UL_Begin ("class=\"LIST_LEFT\""); - for (Format = (Dat_Format_t) 0; + for (Format = (Dat_Format_t) 0; Format <= (Dat_Format_t) (Dat_NUM_OPTIONS_FORMAT - 1); Format++) { @@ -499,11 +499,11 @@ void Dat_PutFormStartEndClientLocalDateTimes (time_t TimeUTC[2], Dat_StartEndTime_t StartEndTime; const char *Id[Dat_NUM_START_END_TIME] = { - "Start", // Dat_START_TIME - "End" // Dat_END_TIME + [Dat_START_TIME] = "Start", + [Dat_END_TIME ] = "End", }; - for (StartEndTime = Dat_START_TIME; + for (StartEndTime = Dat_START_TIME; StartEndTime <= Dat_END_TIME; StartEndTime++) { diff --git a/swad_degree_type.c b/swad_degree_type.c index e13756b8..6afce691 100644 --- a/swad_degree_type.c +++ b/swad_degree_type.c @@ -502,7 +502,7 @@ static void DT_PutHeadDegreeTypesForSeeing (Act_Action_t NextAction,DT_Order_t S HTM_TR_Begin (NULL); HTM_TH_Empty (1); - for (Order = DT_ORDER_BY_DEGREE_TYPE; + for (Order = DT_ORDER_BY_DEGREE_TYPE; Order <= DT_ORDER_BY_NUM_DEGREES; Order++) { diff --git a/swad_department.c b/swad_department.c index 695b3ce8..3e7275da 100644 --- a/swad_department.c +++ b/swad_department.c @@ -121,7 +121,7 @@ void Dpt_SeeDepts (void) /***** Write heading *****/ HTM_TR_Begin (NULL); - for (Order = Dpt_ORDER_BY_DEPARTMENT; + for (Order = Dpt_ORDER_BY_DEPARTMENT; Order <= Dpt_ORDER_BY_NUM_TCHS; Order++) { diff --git a/swad_figure.c b/swad_figure.c index 8b889fd9..85d5dd47 100644 --- a/swad_figure.c +++ b/swad_figure.c @@ -225,8 +225,8 @@ void Fig_ReqShowFigures (void) HTM_TxtF ("%s: ",Txt_Statistic); HTM_SELECT_Begin (false, "name=\"FigureType\""); - for (FigureType = (Fig_FigureType_t) 0; - FigureType < Fig_NUM_FIGURES; + for (FigureType = (Fig_FigureType_t) 0; + FigureType <= (Fig_FigureType_t) (Fig_NUM_FIGURES - 1); FigureType++) { FigureTypeUnsigned = (unsigned) FigureType; @@ -308,34 +308,34 @@ void Fig_ShowFigures (void) { static void (*Fig_Function[Fig_NUM_FIGURES])(void) = // Array of pointers to functions { - Fig_GetAndShowUsersStats, // Fig_USERS - Fig_GetAndShowUsersRanking, // Fig_USERS_RANKING - Fig_GetAndShowHierarchyStats, // Fig_HIERARCHY - Fig_GetAndShowInstitutionsStats, // Fig_INSTITS - Fig_GetAndShowDegreeTypesStats, // Fig_DEGREE_TYPES - Fig_GetAndShowFileBrowsersStats, // Fig_FOLDERS_AND_FILES - Fig_GetAndShowOERsStats, // Fig_OER - Fig_GetAndShowAssignmentsStats, // Fig_ASSIGNMENTS - Fig_GetAndShowProjectsStats, // Fig_PROJECTS - Fig_GetAndShowTestsStats, // Fig_TESTS - Fig_GetAndShowGamesStats, // Fig_GAMES - Fig_GetAndShowSurveysStats, // Fig_SURVEYS - Fig_GetAndShowTimelineActivityStats, // Fig_SOCIAL_ACTIVITY - Fig_GetAndShowFollowStats, // Fig_FOLLOW - Fig_GetAndShowForumStats, // Fig_FORUMS - Fig_GetAndShowNumUsrsPerNotifyEvent, // Fig_NOTIFY_EVENTS - Fig_GetAndShowNoticesStats, // Fig_NOTICES - Fig_GetAndShowMsgsStats, // Fig_MESSAGES - Net_ShowWebAndSocialNetworksStats, // Fig_SOCIAL_NETWORKS - Fig_GetAndShowNumUsrsPerLanguage, // Fig_LANGUAGES - Fig_GetAndShowNumUsrsPerFirstDayOfWeek, // Fig_FIRST_DAY_OF_WEEK - Fig_GetAndShowNumUsrsPerDateFormat, // Fig_DATE_FORMAT - Fig_GetAndShowNumUsrsPerIconSet, // Fig_ICON_SETS - Fig_GetAndShowNumUsrsPerMenu, // Fig_MENUS - Fig_GetAndShowNumUsrsPerTheme, // Fig_THEMES - Fig_GetAndShowNumUsrsPerSideColumns, // Fig_SIDE_COLUMNS - Fig_GetAndShowNumUsrsPerPrivacy, // Fig_PRIVACY - Fig_GetAndShowNumUsrsPerCookies, // Fig_COOKIES + [Fig_USERS ] = Fig_GetAndShowUsersStats, + [Fig_USERS_RANKING ] = Fig_GetAndShowUsersRanking, + [Fig_HIERARCHY ] = Fig_GetAndShowHierarchyStats, + [Fig_INSTITS ] = Fig_GetAndShowInstitutionsStats, + [Fig_DEGREE_TYPES ] = Fig_GetAndShowDegreeTypesStats, + [Fig_FOLDERS_AND_FILES] = Fig_GetAndShowFileBrowsersStats, + [Fig_OER ] = Fig_GetAndShowOERsStats, + [Fig_ASSIGNMENTS ] = Fig_GetAndShowAssignmentsStats, + [Fig_PROJECTS ] = Fig_GetAndShowProjectsStats, + [Fig_TESTS ] = Fig_GetAndShowTestsStats, + [Fig_GAMES ] = Fig_GetAndShowGamesStats, + [Fig_SURVEYS ] = Fig_GetAndShowSurveysStats, + [Fig_TIMELINE ] = Fig_GetAndShowTimelineActivityStats, + [Fig_FOLLOW ] = Fig_GetAndShowFollowStats, + [Fig_FORUMS ] = Fig_GetAndShowForumStats, + [Fig_NOTIFY_EVENTS ] = Fig_GetAndShowNumUsrsPerNotifyEvent, + [Fig_NOTICES ] = Fig_GetAndShowNoticesStats, + [Fig_MESSAGES ] = Fig_GetAndShowMsgsStats, + [Fig_SOCIAL_NETWORKS ] = Net_ShowWebAndSocialNetworksStats, + [Fig_LANGUAGES ] = Fig_GetAndShowNumUsrsPerLanguage, + [Fig_FIRST_DAY_OF_WEEK] = Fig_GetAndShowNumUsrsPerFirstDayOfWeek, + [Fig_DATE_FORMAT ] = Fig_GetAndShowNumUsrsPerDateFormat, + [Fig_ICON_SETS ] = Fig_GetAndShowNumUsrsPerIconSet, + [Fig_MENUS ] = Fig_GetAndShowNumUsrsPerMenu, + [Fig_THEMES ] = Fig_GetAndShowNumUsrsPerTheme, + [Fig_SIDE_COLUMNS ] = Fig_GetAndShowNumUsrsPerSideColumns, + [Fig_PRIVACY ] = Fig_GetAndShowNumUsrsPerPrivacy, + [Fig_COOKIES ] = Fig_GetAndShowNumUsrsPerCookies, }; /***** Get the type of figure ******/