diff --git a/swad_attendance.c b/swad_attendance.c index fca266b2d..6e79b3db5 100644 --- a/swad_attendance.c +++ b/swad_attendance.c @@ -2268,7 +2268,7 @@ void Att_RegisterStudentsInAttEvent (void) Gbl.Usrs.LstStds.Lst[NumStd].Remove = true; /***** 3. Get list of students marked as present by me: Gbl.Usrs.Select.Std *****/ - Usr_GetListSelectedUsrs (); + Usr_GetListsSelectedUsrs (); /***** Initialize structure with user's data *****/ Usr_UsrDataConstructor (&UsrData); @@ -2298,7 +2298,7 @@ void Att_RegisterStudentsInAttEvent (void) /***** Free memory *****/ /* Free memory used for list of students */ - Usr_FreeListsEncryptedUsrCods (); + Usr_FreeListsSelectedUsrCods (); // 5. Delete from att_usr all the students marked as Remove=true // 6. Replace (insert without duplicated) into att_usr all the students marked as Remove=false @@ -2608,7 +2608,7 @@ void Usr_ReqListAttendanceStdsCrs (void) if (Usr_GetIfShowBigList (Gbl.Usrs.LstStds.NumUsrs)) { /***** Get list of selected users *****/ - Usr_GetListSelectedUsrs (); + Usr_GetListsSelectedUsrs (); /***** Draw a class photo with students of the course *****/ /* Start form */ @@ -2628,7 +2628,7 @@ void Usr_ReqListAttendanceStdsCrs (void) Act_FormEnd (); /***** Free memory used for by the list of users *****/ - Usr_FreeListsEncryptedUsrCods (); + Usr_FreeListsSelectedUsrCods (); } } else @@ -2657,10 +2657,10 @@ void Usr_ListAttendanceStdsCrs (void) Att_GetListAttEvents (Att_OLDEST_FIRST); /***** Get list of selected students *****/ - Usr_GetListSelectedUsrs (); + Usr_GetListsSelectedUsrs (); /* Check the number of students to list */ - if ((NumStdsInList = Usr_CountNumUsrsInEncryptedList ())) + if ((NumStdsInList = Usr_CountNumUsrsInListOfSelectedUsrs ())) { /***** Get boolean parameter that indicates if details must be shown *****/ Par_GetParToText ("ShowDetails",YN,1); @@ -2716,7 +2716,7 @@ void Usr_ListAttendanceStdsCrs (void) } /***** Free memory used for by the list of users *****/ - Usr_FreeListsEncryptedUsrCods (); + Usr_FreeListsSelectedUsrCods (); /***** Free list of attendance events *****/ Att_FreeListAttEvents (); diff --git a/swad_changelog.h b/swad_changelog.h index 837b459eb..177b45394 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -98,11 +98,12 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 15.3.3 (2015/09/30)" +#define Log_PLATFORM_VERSION "SWAD 15.4 (2015/09/30)" // Number of lines (includes comments but not blank lines) has been got with the following command: // nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1 /* + Version 15.4: Sep 30, 2015 Changes in global/course statistics forms. (184877 lines) Version 15.3.3: Sep 30, 2015 Changes in layout of form to selected initial and final dates. (185152 lines) Version 15.3.2: Sep 30, 2015 Changes in layout of statistical figures. (185156 lines) Version 15.3.1: Sep 29, 2015 Changes in background and fonts. (185156 lines) diff --git a/swad_file_browser.c b/swad_file_browser.c index 9a54fb81f..becf98950 100644 --- a/swad_file_browser.c +++ b/swad_file_browser.c @@ -2013,8 +2013,8 @@ void Brw_GetParAndInitFileBrowser (void) { case Brw_ADMI_ASSIG_CRS: case Brw_ADMI_WORKS_CRS: - /* Get list of the selected users's IDs */ - Usr_GetListSelectedUsrs (); + /* Get lists of the selected users */ + Usr_GetListsSelectedUsrs (); /* Get user whose folder will be used to make any operation */ Usr_GetParamOtherUsrCodEncrypted (); /* Get whether we must create the zip file or not */ @@ -2885,7 +2885,7 @@ void Brw_AskEditWorksCrs (void) Usr_FreeUsrsList (&Gbl.Usrs.LstStds); /***** Free the memory used by the list of users *****/ - Usr_FreeListsEncryptedUsrCods (); + Usr_FreeListsSelectedUsrCods (); /***** Free memory for list of selected groups *****/ Grp_FreeListCodSelectedGrps (); @@ -2915,7 +2915,7 @@ static void Brw_ShowFileBrowsersAsgWrkCrs (void) struct UsrData UsrDat; /***** Check the number of users whose works will be shown *****/ - if (Usr_CountNumUsrsInEncryptedList ()) // If some users are selected... + if (Usr_CountNumUsrsInListOfSelectedUsrs ()) // If some users are selected... { if (Gbl.FileBrowser.ZIP.CreateZIP) { @@ -3006,7 +3006,7 @@ static void Brw_ShowFileBrowsersAsgWrkCrs (void) } /***** Free the memory used for the list of users *****/ - Usr_FreeListsEncryptedUsrCods (); + Usr_FreeListsSelectedUsrCods (); } /*****************************************************************************/ diff --git a/swad_global.c b/swad_global.c index 26136ca08..710198554 100644 --- a/swad_global.c +++ b/swad_global.c @@ -477,7 +477,7 @@ void Gbl_Cleanup (void) Usr_FreeUsrsList (&Gbl.Usrs.LstTchs); Usr_FreeUsrsList (&Gbl.Usrs.LstStds); Usr_FreeListOtherRecipients (); - Usr_FreeListsEncryptedUsrCods (); + Usr_FreeListsSelectedUsrCods (); Syl_FreeListItemsSyllabus (); Tst_FreeTagsList (); Exa_FreeMemExamAnnouncement (); diff --git a/swad_message.c b/swad_message.c index 80fb644e6..64741a466 100644 --- a/swad_message.c +++ b/swad_message.c @@ -297,8 +297,8 @@ static void Msg_PutFormMsgUsrs (const char *Content) if (Gbl.Usrs.LstTchs.NumUsrs || Gbl.Usrs.LstStds.NumUsrs) - /***** Get list of selected users *****/ - Usr_GetListSelectedUsrs (); + /***** Get lists of selected users *****/ + Usr_GetListsSelectedUsrs (); } if (Usr_GetIfShowBigList (Gbl.Usrs.LstTchs.NumUsrs + @@ -364,7 +364,7 @@ static void Msg_PutFormMsgUsrs (const char *Content) Usr_FreeUsrsList (&Gbl.Usrs.LstStds); /***** Free memory used by list of users *****/ - Usr_FreeListsEncryptedUsrCods (); + Usr_FreeListsSelectedUsrCods (); /***** Free memory for list of selected groups *****/ Grp_FreeListCodSelectedGrps (); @@ -581,14 +581,14 @@ void Msg_RecMsgFromUsr (void) /* Get user's code of possible preselected recipient */ Usr_GetParamOtherUsrCodEncrypted (); - /* Get list of selected users */ - Usr_GetListSelectedUsrs (); + /* Get lists of selected users */ + Usr_GetListsSelectedUsrs (); /* Get list of users' IDs or nicknames written explicitely */ Error = Usr_GetListMsgRecipientsWrittenExplicitelyBySender (true); /***** If there are no recipients... *****/ - if ((NumRecipients = Usr_CountNumUsrsInEncryptedList ())) + if ((NumRecipients = Usr_CountNumUsrsInListOfSelectedUsrs ())) { if (Gbl.Usrs.Me.LoggedRole == Rol_STUDENT && NumRecipients > Cfg_MAX_RECIPIENTS) @@ -704,7 +704,7 @@ void Msg_RecMsgFromUsr (void) /* Free memory used for list of users */ Usr_FreeListOtherRecipients (); - Usr_FreeListsEncryptedUsrCods (); + Usr_FreeListsSelectedUsrCods (); /***** Update received message setting Replied field to true *****/ if (Replied) diff --git a/swad_record.c b/swad_record.c index 3d59093b5..232343168 100644 --- a/swad_record.c +++ b/swad_record.c @@ -878,10 +878,10 @@ void Rec_ListRecordsGsts (void) Rec_GetParamRecordsPerPage (); /***** Get list of selected users *****/ - Usr_GetListSelectedUsrs (); + Usr_GetListsSelectedUsrs (); /* Check the number of students to show */ - if (!Usr_CountNumUsrsInEncryptedList ()) // If no students selected... + if (!Usr_CountNumUsrsInListOfSelectedUsrs ()) // If no students selected... { // ...write warning notice Lay_ShowAlert (Lay_WARNING,Txt_You_must_select_one_ore_more_users); Usr_SeeGuests (); // ...show again the form @@ -938,7 +938,7 @@ void Rec_ListRecordsGsts (void) Rec_FreeListFields (); /***** Free memory used for by the list of users *****/ - Usr_FreeListsEncryptedUsrCods (); + Usr_FreeListsSelectedUsrCods (); } /*****************************************************************************/ @@ -1034,10 +1034,10 @@ void Rec_ListRecordsStds (void) Rec_GetParamRecordsPerPage (); /***** Get list of selected students *****/ - Usr_GetListSelectedUsrs (); + Usr_GetListsSelectedUsrs (); /* Check the number of students to show */ - if (!Usr_CountNumUsrsInEncryptedList ()) // If no students selected... + if (!Usr_CountNumUsrsInListOfSelectedUsrs ()) // If no students selected... { // ...write warning notice Lay_ShowAlert (Lay_WARNING,Txt_You_must_select_one_ore_more_students); Usr_SeeStudents (); // ...show again the form @@ -1116,7 +1116,7 @@ void Rec_ListRecordsStds (void) Rec_FreeListFields (); /***** Free memory used for by the list of users *****/ - Usr_FreeListsEncryptedUsrCods (); + Usr_FreeListsSelectedUsrCods (); } /*****************************************************************************/ @@ -1208,10 +1208,10 @@ void Rec_ListRecordsTchs (void) Rec_GetParamRecordsPerPage (); /***** Get list of selected teachers *****/ - Usr_GetListSelectedUsrs (); + Usr_GetListsSelectedUsrs (); /* Check the number of teachers to show */ - if (!Usr_CountNumUsrsInEncryptedList ()) // If no teachers selected... + if (!Usr_CountNumUsrsInListOfSelectedUsrs ()) // If no teachers selected... { // ...write warning notice Lay_ShowAlert (Lay_WARNING,Txt_You_must_select_one_ore_more_teachers); Usr_SeeTeachers (); // ...show again the form @@ -1285,7 +1285,7 @@ void Rec_ListRecordsTchs (void) Usr_UsrDataDestructor (&UsrDat); /***** Free memory used for by the list of users *****/ - Usr_FreeListsEncryptedUsrCods (); + Usr_FreeListsSelectedUsrCods (); } /*****************************************************************************/ diff --git a/swad_statistic.c b/swad_statistic.c index ddc60ee4a..f9e512fb4 100644 --- a/swad_statistic.c +++ b/swad_statistic.c @@ -121,7 +121,6 @@ static void Sta_ShowNumAccessesPerDegree (unsigned long NumRows,MYSQL_RES *mysql static void Sta_ShowNumAccessesPerCourse (unsigned long NumRows,MYSQL_RES *mysql_res); static void Sta_WriteDegree (long DegCod); static void Sta_DrawBarNumClicks (char Color,float NumPagesGenerated,float MaxPagesGenerated,float TotalPagesGenerated,unsigned MaxBarWidth); -static void Sta_WriteSelectedRangeOfDates (unsigned NumDays); static void Sta_GetAndShowHierarchyStats (void); static void Sta_WriteHeadDegsCrssInSWAD (void); @@ -395,7 +394,7 @@ static void Sta_PutFormToRequestAccessesCrs (void) void Sta_AskSeeCrsAccesses (void) { extern const char *The_ClassForm[The_NUM_THEMES]; - extern const char *Txt_Statistics_of_access; + extern const char *Txt_Statistics_of_visits_to_the_course_X; extern const char *Txt_Users; extern const char *Txt_Show; extern const char *Txt_distributed_by; @@ -427,8 +426,8 @@ void Sta_AskSeeCrsAccesses (void) if (Usr_GetIfShowBigList (Gbl.Usrs.LstTchs.NumUsrs + Gbl.Usrs.LstStds.NumUsrs)) { - /***** Get list of selected users *****/ - Usr_GetListSelectedUsrs (); + /***** Get lists of selected users *****/ + Usr_GetListsSelectedUsrs (); Act_FormStart (ActSeeAccCrs); Grp_PutParamsCodGrps (); @@ -436,7 +435,9 @@ void Sta_AskSeeCrsAccesses (void) Par_PutHiddenParamLong ("LastRow",0); /***** Start frame *****/ - Lay_StartRoundFrameTable (NULL,2,Txt_Statistics_of_access); + sprintf (Gbl.Title,Txt_Statistics_of_visits_to_the_course_X, + Gbl.CurrentCrs.Crs.ShortName); + Lay_StartRoundFrameTable (NULL,2,Gbl.Title); /***** Put list of users to select some of them *****/ fprintf (Gbl.F.Out,"
"); - if (Gbl.Stat.Role == Sta_ME) - fprintf (Gbl.F.Out,"%s: %s", - Txt_User, - Gbl.Usrs.Me.UsrDat.FullName); - else - fprintf (Gbl.F.Out,"%s: %s", - Txt_Users, - Txt_ROLE_STATS[Gbl.Stat.Role]); - fprintf (Gbl.F.Out,"
"); - break; - } - - fprintf (Gbl.F.Out,"%s: %s
", - Txt_Action, - Act_GetActionTextFromDB (Act_Actions[Gbl.Stat.NumAction].ActCod,ActTxt)); - - sprintf (Gbl.Message,"%s %s, %s %s", - Txt_The_graph_shows_the_NUMBER, - Txt_STAT_TYPE_COUNT_SMALL[Gbl.Stat.CountType], - Txt_distributed_by, - Txt_STAT_CLICKS_GROUPED_BY[Gbl.Stat.ClicksGroupedBy]); - Lay_WriteTitle (Gbl.Message); - } - /***** Put the table with the clicks *****/ /* Write start of table frame */ - Lay_StartRoundFrameTable ((Gbl.Stat.ClicksGroupedBy == Sta_CLICKS_CRS_DETAILED_LIST) ? "95%" : - NULL, - 0,NULL); + if (Gbl.Stat.ClicksGroupedBy == Sta_CLICKS_CRS_DETAILED_LIST) + Lay_StartRoundFrameTable ("95%",0,Txt_List_of_detailed_clicks); + else + Lay_StartRoundFrameTable (NULL,0,Txt_STAT_TYPE_COUNT_CAPS[Gbl.Stat.CountType]); + switch (Gbl.Stat.ClicksGroupedBy) { case Sta_CLICKS_CRS_DETAILED_LIST: @@ -1441,7 +1355,7 @@ static bool Sta_SeeAccesses (void) /***** Free the memory used by the list of users *****/ if (Gbl.CurrentAct == ActSeeAccCrs) - Usr_FreeListsEncryptedUsrCods (); + Usr_FreeListsSelectedUsrCods (); /***** Free memory used by the data of the user *****/ Usr_UsrDataDestructor (&UsrDat); @@ -1548,7 +1462,7 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql Act_FormEnd (); /* Write number of current page */ - fprintf (Gbl.F.Out,""); - if (NumDays == 1) - fprintf (Gbl.F.Out,"%s: %s (%s)",Txt_Date,StrDateIni,Txt_one_day); - else - { - sprintf (StrDateEnd,"%02u/%02u/%04u",Gbl.DateRange.DateEnd.Day,Gbl.DateRange.DateEnd.Month,Gbl.DateRange.DateEnd.Year); - sprintf (StrDatesRange,Txt_DATES_RANGE,StrDateIni,StrDateEnd); - fprintf (Gbl.F.Out,"%s: %s (%u %s)", - Txt_Dates,StrDatesRange,NumDays,Txt_days); - } - fprintf (Gbl.F.Out,"
"); - } - /*****************************************************************************/ /************************** Show use of the platform *************************/ /*****************************************************************************/ diff --git a/swad_test.c b/swad_test.c index 34dd05a30..650ae939e 100644 --- a/swad_test.c +++ b/swad_test.c @@ -5945,7 +5945,7 @@ void Tst_SelUsrsToSeeUsrsTstExams (void) Usr_FreeUsrsList (&Gbl.Usrs.LstStds); /***** Free the memory used by the list of users *****/ - Usr_FreeListsEncryptedUsrCods (); + Usr_FreeListsSelectedUsrCods (); /***** Free memory for list of selected groups *****/ Grp_FreeListCodSelectedGrps (); @@ -6022,13 +6022,13 @@ void Tst_ShowUsrsTestResults (void) const char *Ptr; /***** Get list of the selected users's IDs *****/ - Usr_GetListSelectedUsrs (); + Usr_GetListsSelectedUsrs (); /***** Get starting and ending dates *****/ Dat_GetIniEndDatesFromForm (); /***** Check the number of users whose tests results will be shown *****/ - if (Usr_CountNumUsrsInEncryptedList ()) // If some users are selected... + if (Usr_CountNumUsrsInListOfSelectedUsrs ()) // If some users are selected... { /***** Header of the table with the list of users *****/ Lay_StartRoundFrameTable (NULL,2,Txt_Exams); @@ -6060,7 +6060,7 @@ void Tst_ShowUsrsTestResults (void) } /***** Free the memory used for the list of users *****/ - Usr_FreeListsEncryptedUsrCods (); + Usr_FreeListsSelectedUsrCods (); } /*****************************************************************************/ diff --git a/swad_text.c b/swad_text.c index 5f1fd621a..c47f64513 100644 --- a/swad_text.c +++ b/swad_text.c @@ -6724,48 +6724,6 @@ const char *Txt_Date_of_creation = "Data da criação"; #endif -const char *Txt_Dates = -#if L==0 - "Dates"; -#elif L==1 - "Datum"; -#elif L==2 - "Dates"; -#elif L==3 - "Fechas"; -#elif L==4 - "Dates"; -#elif L==5 - "Fechas"; // Okoteve traducción -#elif L==6 - "Date"; -#elif L==7 - "Daty"; -#elif L==8 - "Datas"; -#endif - -const char *Txt_DATES_RANGE = // Warning: it is very important to include two %s in the following sentences -#if L==0 - "desde el %s hasta el %s"; // Necessita traduccio -#elif L==1 - "von %s bis %s"; -#elif L==2 - "from %s to %s"; -#elif L==3 - "desde el %s hasta el %s"; -#elif L==4 - "de %s jusqu'à %s"; -#elif L==5 - "desde el %s hasta el %s"; // Okoteve traducción -#elif L==6 - "dal %s al %s"; -#elif L==7 - "z %s do %s"; -#elif L==8 - "%s até %s"; -#endif - const char *Txt_Day = #if L==0 "Día"; // Necessita traduccio @@ -15640,25 +15598,25 @@ const char *Txt_Link_to_announcement_of_exam = "Link para chamada para exame"; #endif -const char *Txt_List_of_detailed_clicks_in_the_course_X = // Warning: it is very important to include %s in the following sentences +const char *Txt_List_of_detailed_clicks = #if L==0 - "Listado de clics detallados en la asignatura %s"; // Necessita traduccio + "Listado de clics detallados"; // Necessita traduccio #elif L==1 - "List of detailed clicks in the course %s"; // Need Übersetzung + "List of detailed clicks"; // Need Übersetzung #elif L==2 - "List of detailed clicks in the course %s"; + "List of detailed clicks"; #elif L==3 - "Listado de clics detallados en la asignatura %s"; + "Listado de clics detallados"; #elif L==4 - "List of detailed clicks in the course %s"; // Besoin de traduction + "List of detailed clicks"; // Besoin de traduction #elif L==5 - "Listado de clics detallados en la asignatura %s"; // Okoteve traducción + "Listado de clics detallados"; // Okoteve traducción #elif L==6 - "Lista di scatti dettagliati nel corso %s"; + "Lista di scatti dettagliati"; #elif L==7 - "Lista szczególowa klikniec w trakcie %s"; + "Lista szczególowa klikniec"; #elif L==8 - "List of detailed clicks in the course %s"; // Necessita de tradução + "List of detailed clicks"; // Necessita de tradução #endif const char *Txt_List_of_nicks_emails_or_IDs = @@ -25505,27 +25463,6 @@ const char *Txt_Official_students = "Estudantes oficiais"; #endif -const char *Txt_one_day = -#if L==0 - "un día"; // Necessita traduccio -#elif L==1 - "ein Tag"; -#elif L==2 - "one day"; -#elif L==3 - "un día"; -#elif L==4 - "un jour"; -#elif L==5 - "un día"; // Okoteve traducción -#elif L==6 - "un giorno"; -#elif L==7 - "jeden dzien"; -#elif L==8 - "um dia"; -#endif - const char *Txt_One_message_has_been_deleted = #if L==0 "Se ha eliminado un mensaje."; // Necessita traduccio @@ -36451,27 +36388,6 @@ const char *Txt_Statistic = "Estatísticas"; #endif -const char *Txt_Statistics_of_access = -#if L==0 - "Estadístiques d'accesso"; -#elif L==1 - "Zugriffsstatistik"; -#elif L==2 - "Statistics of access"; -#elif L==3 - "Estadísticas de acceso"; -#elif L==4 - "Statistiques de connexion"; -#elif L==5 - "Estadísticas de acceso"; // Okoteve traducción -#elif L==6 - "Statistiche di accesso"; -#elif L==7 - "Statystyki dostęp"; -#elif L==8 - "Estatísticas de acesso"; -#endif - const char *Txt_Statistics_of_all_visits = #if L==0 "Estadística de todos los accesos"; // Necessita traduccio @@ -36493,48 +36409,6 @@ const char *Txt_Statistics_of_all_visits = "Statistics of all visits"; // Necessita de tradução #endif -const char *Txt_Statistics_of_visits_to_COUNTRY_X = // Warning: it is very important to include %s in the following sentences -#if L==0 - "Estadística de accesos a %s"; // Necessita traduccio -#elif L==1 - "Statistics of visits to %s"; // Need Übersetzung -#elif L==2 - "Statistics of visits to %s"; -#elif L==3 - "Estadística de accesos a %s"; -#elif L==4 - "Statistics of visits to %s"; // Besoin de traduction -#elif L==5 - "Estadística de accesos a %s"; // Okoteve traducción -#elif L==6 - "Statistiche degli accessi al centro %s"; -#elif L==7 - "Statistics of visits to the centre %s"; // Potrzebujesz tlumaczenie -#elif L==8 - "Statistics of visits to the centre %s"; // Necessita de tradução -#endif - -const char *Txt_Statistics_of_visits_to_the_centre_X = // Warning: it is very important to include %s in the following sentences -#if L==0 - "Estadística de accesos al centro %s"; // Necessita traduccio -#elif L==1 - "Statistics of visits to the centre %s"; // Need Übersetzung -#elif L==2 - "Statistics of visits to the centre %s"; -#elif L==3 - "Estadística de accesos al centro %s"; -#elif L==4 - "Statistics of visits to the centre %s"; // Besoin de traduction -#elif L==5 - "Estadística de accesos al centro %s"; // Okoteve traducción -#elif L==6 - "Statistiche degli accessi al centro %s"; -#elif L==7 - "Statistics of visits to the centre %s"; // Potrzebujesz tlumaczenie -#elif L==8 - "Statistics of visits to the centre %s"; // Necessita de tradução -#endif - const char *Txt_Statistics_of_visits_to_the_course_X = // Warning: it is very important to include %s in the following sentences #if L==0 "Estadística d'accessos a l'assignatura %s"; @@ -36556,48 +36430,6 @@ const char *Txt_Statistics_of_visits_to_the_course_X = // Warning: it is very im "Statistics of visits to the course %s"; // Necessita de tradução #endif -const char *Txt_Statistics_of_visits_to_the_degree_X = // Warning: it is very important to include %s in the following sentences -#if L==0 - "Estadística de accesos a la titulación %s"; // Necessita traduccio -#elif L==1 - "Statistics of visits to the degree %s"; // Need Übersetzung -#elif L==2 - "Statistics of visits to the degree %s"; -#elif L==3 - "Estadística de accesos a la titulación %s"; -#elif L==4 - "Statistics of visits to the degree %s"; // Besoin de traduction -#elif L==5 - "Estadística de accesos a la titulación %s"; // Okoteve traducción -#elif L==6 - "Statistiche degli accessi alla laurea %s"; -#elif L==7 - "Statistics of visits to the degree %s"; // Potrzebujesz tlumaczenie -#elif L==8 - "Statistics of visits to the degree %s"; // Necessita de tradução -#endif - -const char *Txt_Statistics_of_visits_to_the_institution_X = // Warning: it is very important to include %s in the following sentences -#if L==0 - "Estadística de accesos a la institución %s"; // Necessita traduccio -#elif L==1 - "Statistics of visits to the institution %s"; // Need Übersetzung -#elif L==2 - "Statistics of visits to the institution %s"; -#elif L==3 - "Estadística de accesos a la institución %s"; -#elif L==4 - "Statistics of visits to the institution %s"; // Besoin de traduction -#elif L==5 - "Estadística de accesos a la institución %s"; // Okoteve traducción -#elif L==6 - "Statistiche degli accessi alla istituzione %s"; -#elif L==7 - "Statistics of visits to the institution %s"; // Potrzebujesz tlumaczenie -#elif L==8 - "Statistics of visits to the institution %s"; // Necessita de tradução -#endif - const char *Txt_Status = #if L==0 "Estado"; // Necessita traduccio @@ -39694,27 +39526,6 @@ const char *Txt_The_folder_name_X_has_not_changed_because_there_is_already_a_fol " because there is already a folder or a file with the name %s."; // Necessita de tradução #endif -const char *Txt_The_graph_shows_the_NUMBER = -#if L==0 - "La gráfica muestra el"; // Necessita traduccio -#elif L==1 - "Die Grafik zeigt die"; -#elif L==2 - "The graph shows the"; -#elif L==3 - "La gráfica muestra el"; -#elif L==4 - "Le graphique montre le"; -#elif L==5 - "La gráfica muestra el"; // Okoteve traducción -#elif L==6 - "Il grafico mostra il"; -#elif L==7 - "The graph shows the"; // Potrzebujesz tlumaczenie -#elif L==8 - "O gráfico mostra o"; -#endif - const char *Txt_The_group_X_already_exists = // Warning: it is very important to include %s in the following sentences #if L==0 "El grupo %s ya existe."; // Necessita traduccio diff --git a/swad_user.c b/swad_user.c index 441fe784b..279b1827c 100644 --- a/swad_user.c +++ b/swad_user.c @@ -145,6 +145,8 @@ static void Usr_FormToSelectUsrListType (Act_Action_t NextAction,Usr_ShowUsrsTyp static Usr_Sex_t Usr_GetSexOfUsrsLst (struct ListUsers *LstUsrs); +static void Usr_PutCheckboxToSelectUser (struct UsrData *UsrDat,bool UsrIsTheMsgSender); + static void Usr_SetUsrDatMainFieldNames (void); static void Usr_ListMainDataGsts (bool PutCheckBoxToSelectUsr); static void Usr_ListMainDataStds (bool PutCheckBoxToSelectUsr); @@ -2650,7 +2652,7 @@ static void Usr_WriteRowGstMainData (unsigned NumUsr,struct UsrData *UsrDat) // Two colors are used alternatively to better distinguish the rows fprintf (Gbl.F.Out,"