diff --git a/css/swad_desktop.css b/css/swad_desktop.css index bbb797a60..9cec0e7c0 100644 --- a/css/swad_desktop.css +++ b/css/swad_desktop.css @@ -301,7 +301,6 @@ hr.YELLOW_SEPARA {height:0; border-top:0; border-bottom:#BD4815 dotted 1px;} .TIT_TBL_10 { margin:0 10px 10px 10px; - font-family:Arial, "Nimbus Sans L", "DejaVu LGC Sans", "Bitstream Vera Sans", sans-serif; color:#808080; font-size:16pt; font-weight:bold; @@ -819,6 +818,14 @@ a:hover img.CENTRE_PHOTO_SHOW .CONV {font-family:Garamond, "DejaVu LGC Serif", "Bitstream Vera Serif", serif; color:#404040; font-size:11pt;} .CONV_IMPR {font-family:Garamond, "DejaVu LGC Serif", "Bitstream Vera Serif", serif; color:#202020; font-size:11pt;} +/***************************** Public user's profile *************************/ +.RANK + { + color:#808080; + font-size:16pt; + font-weight:bold; + } + .CON {color:#B8D070; font-size:9pt; line-height:110%; white-space:nowrap;} .CON_CRS {color:#398000; font-size:9pt; line-height:110%; white-space:nowrap;} diff --git a/css/swad_mobile.css b/css/swad_mobile.css index 090ddbad8..4b2c63bd8 100644 --- a/css/swad_mobile.css +++ b/css/swad_mobile.css @@ -265,7 +265,6 @@ p {margin:0;} .TIT_TBL_10 { margin:0 10px 10px 10px; - font-family:Arial, "Nimbus Sans L", "DejaVu LGC Sans", "Bitstream Vera Sans", sans-serif; color:#808080; font-size:20pt; font-weight:bold; @@ -632,5 +631,13 @@ a:hover img.CENTRE_PHOTO_SHOW .CONV {font-Family:Garamond, "DejaVu LGC Serif", "Bitstream Vera Serif", serif; color:#404040; font-size:11pt;} .CONV_IMPR {font-Family:Garamond, "DejaVu LGC Serif", "Bitstream Vera Serif", serif; color:#202020; font-size:11pt;} +/***************************** Public user's profile *************************/ +.RANK + { + color:#808080; + font-size:20pt; + font-weight:bold; + } + .CON {color:#B8D070; font-size:9pt; line-height:110%; white-space:nowrap;} .CON_CRS {color:#398000; font-size:9pt; line-height:110%; white-space:nowrap;} diff --git a/swad_attendance.c b/swad_attendance.c index f6e3c13c0..432511824 100644 --- a/swad_attendance.c +++ b/swad_attendance.c @@ -1894,7 +1894,7 @@ static void Att_ListAttOnlyMeAsStudent (struct AttendanceEvent *Att) { extern const char *Txt_Student_comment; extern const char *Txt_Teachers_comment; - extern const char *Txt_ROLES_SINGULAR_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_Save; /***** Get my preference about photos in users' list for current course *****/ @@ -1927,7 +1927,7 @@ static void Att_ListAttOnlyMeAsStudent (struct AttendanceEvent *Att) "%s" "" "", - Txt_ROLES_SINGULAR_Abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN], + Txt_ROLES_SINGUL_Abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN], Txt_Student_comment, Txt_Teachers_comment); @@ -1954,7 +1954,7 @@ static void Att_ListAttStudents (struct AttendanceEvent *Att) { extern const char *Txt_Student_comment; extern const char *Txt_Teachers_comment; - extern const char *Txt_ROLES_SINGULAR_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_Save; unsigned NumStd; struct UsrData UsrDat; @@ -1998,7 +1998,7 @@ static void Att_ListAttStudents (struct AttendanceEvent *Att) "%s" "" "", - Txt_ROLES_SINGULAR_Abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN], + Txt_ROLES_SINGUL_Abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN], Txt_Student_comment, Txt_Teachers_comment); @@ -3143,7 +3143,7 @@ static void Att_ListStdsAttendanceTable (unsigned NumStdsInList,long *LstSelecte static void Att_WriteTableHeadSeveralAttEvents (void) { - extern const char *Txt_ROLES_SINGULAR_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_Attendance; unsigned NumAttEvent; @@ -3154,7 +3154,7 @@ static void Att_WriteTableHeadSeveralAttEvents (void) "", Gbl.Usrs.Listing.WithPhotos ? 4 : 3, - Txt_ROLES_SINGULAR_Abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN]); + Txt_ROLES_SINGUL_Abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN]); for (NumAttEvent = 0; NumAttEvent < Gbl.AttEvents.Num; diff --git a/swad_changelog.h b/swad_changelog.h index 78c34ec6d..089a7e3a5 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -103,11 +103,12 @@ /****************************** Public constants *****************************/ /*****************************************************************************/ -#define Log_PLATFORM_VERSION "SWAD 14.87.4 (2015/03/11)" +#define Log_PLATFORM_VERSION "SWAD 14.88 (2015/03/12)" // 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 14.88: Mar 12, 2015 Changes in layout of public user profile. (181718 lines) Version 14.87.4: Mar 11, 2015 Added indexes to usr_figures. (181629 lines) 2 changes necessary in database: CREATE INDEX FirstClickTime ON usr_figures (FirstClickTime); diff --git a/swad_connected.c b/swad_connected.c index caeefed16..d9ccd93d0 100644 --- a/swad_connected.c +++ b/swad_connected.c @@ -155,7 +155,7 @@ void Con_GetAndShowLastClicks (void) extern const char *Txt_Role; extern const char *Txt_Degree; extern const char *Txt_Action; - extern const char *Txt_ROLES_SINGULAR_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; char Query[1024]; MYSQL_RES *mysql_res; MYSQL_ROW row; @@ -248,7 +248,7 @@ void Con_GetAndShowLastClicks (void) "", ClassRow,row[0], ClassRow,row[2], - ClassRow,Txt_ROLES_SINGULAR_Abc[Rol_ConvertUnsignedStrToRole (row[3])][Usr_SEX_UNKNOWN], + ClassRow,Txt_ROLES_SINGUL_Abc[Rol_ConvertUnsignedStrToRole (row[3])][Usr_SEX_UNKNOWN], ClassRow,Deg.ShortName, ClassRow,row[5]); } @@ -268,7 +268,7 @@ void Con_ShowGlobalConnectedUsrs (void) extern const char *Txt_sessions; extern const char *Txt_user[Usr_NUM_SEXS]; extern const char *Txt_users; - extern const char *Txt_ROLES_SINGULAR_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_ROLES_PLURAL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; unsigned StdsTotal = Con_GetConnectedStdsTotal (); unsigned TchsTotal = Con_GetConnectedTchsTotal (); @@ -312,7 +312,7 @@ void Con_ShowGlobalConnectedUsrs (void) "" "", StdsTotal, - (StdsTotal == 1) ? Txt_ROLES_SINGULAR_abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN] : + (StdsTotal == 1) ? Txt_ROLES_SINGUL_abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN] : Txt_ROLES_PLURAL_abc [Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN]); /***** Write total number of teachers *****/ @@ -323,7 +323,7 @@ void Con_ShowGlobalConnectedUsrs (void) "" "", TchsTotal, - (TchsTotal == 1) ? Txt_ROLES_SINGULAR_abc[Rol_ROLE_TEACHER][Usr_SEX_UNKNOWN] : + (TchsTotal == 1) ? Txt_ROLES_SINGUL_abc[Rol_ROLE_TEACHER][Usr_SEX_UNKNOWN] : Txt_ROLES_PLURAL_abc [Rol_ROLE_TEACHER][Usr_SEX_UNKNOWN]); /***** Write total number of users who do not belong to any course *****/ @@ -335,7 +335,7 @@ void Con_ShowGlobalConnectedUsrs (void) "" "", WithoutCoursesTotal, - (WithoutCoursesTotal == 1) ? Txt_ROLES_SINGULAR_abc[Rol_ROLE_GUEST__][Usr_SEX_UNKNOWN] : + (WithoutCoursesTotal == 1) ? Txt_ROLES_SINGUL_abc[Rol_ROLE_GUEST__][Usr_SEX_UNKNOWN] : Txt_ROLES_PLURAL_abc [Rol_ROLE_GUEST__][Usr_SEX_UNKNOWN]); /***** End table *****/ @@ -499,7 +499,7 @@ static void Con_ComputeConnectedUsrsOfTypeBelongingToCurrentCrs (Rol_Role_t Role static void Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnMainZone (Rol_Role_t Role) { - extern const char *Txt_ROLES_SINGULAR_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_ROLES_PLURAL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; unsigned NumUsrsThisRole; Usr_Sex_t UsrSex; @@ -513,7 +513,7 @@ static void Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnMainZone ( "" "", NumUsrsThisRole, - (NumUsrsThisRole == 1) ? Txt_ROLES_SINGULAR_abc[Role][UsrSex] : + (NumUsrsThisRole == 1) ? Txt_ROLES_SINGUL_abc[Role][UsrSex] : Txt_ROLES_PLURAL_abc [Role][UsrSex]); /***** List connected users belonging to this location *****/ @@ -559,7 +559,7 @@ static void Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnMainZone ( static void Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnRightColumn (Rol_Role_t Role) { extern const char *The_ClassConnected[The_NUM_THEMES]; - extern const char *Txt_ROLES_SINGULAR_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_ROLES_PLURAL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_Connected_users; unsigned NumUsrsThisRole; @@ -590,7 +590,7 @@ static void Con_ShowConnectedUsrsWithARoleBelongingToCurrentLocationOnRightColum "" "", NumUsrsThisRole, - (NumUsrsThisRole == 1) ? Txt_ROLES_SINGULAR_abc[Role][UsrSex] : + (NumUsrsThisRole == 1) ? Txt_ROLES_SINGUL_abc[Role][UsrSex] : Txt_ROLES_PLURAL_abc [Role][UsrSex]); /***** List connected users belonging to this location *****/ diff --git a/swad_enrollment.c b/swad_enrollment.c index 8d27555ca..126f2ff5d 100644 --- a/swad_enrollment.c +++ b/swad_enrollment.c @@ -150,7 +150,7 @@ void Enr_ModifyRoleInCurrentCrs (struct UsrData *UsrDat, Cns_QuietOrVerbose_t QuietOrVerbose) { extern const char *Txt_The_role_of_THE_USER_X_in_the_course_Y_has_changed_from_A_to_B; - extern const char *Txt_ROLES_SINGULAR_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; char Query[256]; Rol_Role_t OldRole; @@ -174,8 +174,8 @@ void Enr_ModifyRoleInCurrentCrs (struct UsrData *UsrDat, { sprintf (Gbl.Message,Txt_The_role_of_THE_USER_X_in_the_course_Y_has_changed_from_A_to_B, UsrDat->FullName,Gbl.CurrentCrs.Crs.FullName, - Txt_ROLES_SINGULAR_abc[OldRole][UsrDat->Sex], - Txt_ROLES_SINGULAR_abc[NewRole][UsrDat->Sex]); + Txt_ROLES_SINGUL_abc[OldRole][UsrDat->Sex], + Txt_ROLES_SINGUL_abc[NewRole][UsrDat->Sex]); Lay_ShowAlert (Lay_SUCCESS,Gbl.Message); } @@ -318,7 +318,7 @@ void Enr_GetNotifEnrollment (char *SummaryStr, long CrsCod,long UsrCod, unsigned MaxChars) { - extern const char *Txt_ROLES_SINGULAR_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; char Query[256]; MYSQL_RES *mysql_res; MYSQL_ROW row; @@ -351,7 +351,7 @@ void Enr_GetNotifEnrollment (char *SummaryStr, /* Role (row[0]) */ Role = Rol_ConvertUnsignedStrToRole (row[0]); - strcpy (SummaryStr,Txt_ROLES_SINGULAR_Abc[Role][UsrDat.Sex]); + strcpy (SummaryStr,Txt_ROLES_SINGUL_Abc[Role][UsrDat.Sex]); if (MaxChars) Str_LimitLengthHTMLStr (SummaryStr,MaxChars); @@ -1825,13 +1825,13 @@ unsigned Enr_RemAllStdsInCrs (struct Course *Crs) void Enr_ReqSignUpInCrs (void) { extern const char *Txt_You_were_already_enrolled_as_X_in_the_course_Y; - extern const char *Txt_ROLES_SINGULAR_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; /***** Check if I already belong to course *****/ if (Gbl.Usrs.Me.UsrDat.RoleInCurrentCrsDB >= Rol_ROLE_STUDENT) { sprintf (Gbl.Message,Txt_You_were_already_enrolled_as_X_in_the_course_Y, - Txt_ROLES_SINGULAR_abc[Gbl.Usrs.Me.UsrDat.RoleInCurrentCrsDB][Gbl.Usrs.Me.UsrDat.Sex], + Txt_ROLES_SINGUL_abc[Gbl.Usrs.Me.UsrDat.RoleInCurrentCrsDB][Gbl.Usrs.Me.UsrDat.Sex], Gbl.CurrentCrs.Crs.FullName); Lay_ShowAlert (Lay_WARNING,Gbl.Message); } @@ -1850,7 +1850,7 @@ void Enr_ReqSignUpInCrs (void) void Enr_SignUpInCrs (void) { extern const char *Txt_You_were_already_enrolled_as_X_in_the_course_Y; - extern const char *Txt_ROLES_SINGULAR_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_Your_request_for_enrollment_as_X_in_the_course_Y_has_been_accepted_for_processing; char Query[512]; MYSQL_RES *mysql_res; @@ -1864,7 +1864,7 @@ void Enr_SignUpInCrs (void) if (Gbl.Usrs.Me.UsrDat.RoleInCurrentCrsDB >= Rol_ROLE_STUDENT) { sprintf (Gbl.Message,Txt_You_were_already_enrolled_as_X_in_the_course_Y, - Txt_ROLES_SINGULAR_abc[Gbl.Usrs.Me.UsrDat.RoleInCurrentCrsDB][Gbl.Usrs.Me.UsrDat.Sex], + Txt_ROLES_SINGUL_abc[Gbl.Usrs.Me.UsrDat.RoleInCurrentCrsDB][Gbl.Usrs.Me.UsrDat.Sex], Gbl.CurrentCrs.Crs.FullName); Lay_ShowAlert (Lay_WARNING,Gbl.Message); } @@ -1916,7 +1916,7 @@ void Enr_SignUpInCrs (void) /***** Show confirmation message *****/ sprintf (Gbl.Message,Txt_Your_request_for_enrollment_as_X_in_the_course_Y_has_been_accepted_for_processing, - Txt_ROLES_SINGULAR_abc[RoleFromForm][Gbl.Usrs.Me.UsrDat.Sex], + Txt_ROLES_SINGUL_abc[RoleFromForm][Gbl.Usrs.Me.UsrDat.Sex], Gbl.CurrentCrs.Crs.FullName); Lay_ShowAlert (Lay_SUCCESS,Gbl.Message); @@ -1939,7 +1939,7 @@ void Enr_SignUpInCrs (void) void Enr_GetNotifEnrollmentRequest (char *SummaryStr,char **ContentStr, long ReqCod,unsigned MaxChars,bool GetContent) { - extern const char *Txt_ROLES_SINGULAR_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; char Query[256]; MYSQL_RES *mysql_res; MYSQL_ROW row; @@ -1973,7 +1973,7 @@ void Enr_GetNotifEnrollmentRequest (char *SummaryStr,char **ContentStr, /* Role (row[1]) */ DesiredRole = Rol_ConvertUnsignedStrToRole (row[1]); - strcpy (SummaryStr,Txt_ROLES_SINGULAR_Abc[DesiredRole][UsrDat.Sex]); + strcpy (SummaryStr,Txt_ROLES_SINGUL_Abc[DesiredRole][UsrDat.Sex]); if (MaxChars) Str_LimitLengthHTMLStr (SummaryStr,MaxChars); @@ -2003,7 +2003,7 @@ void Enr_AskIfRejectSignUp (void) { extern const char *Txt_THE_USER_X_is_already_enrolled_in_the_course_Y; extern const char *Txt_Do_you_really_want_to_reject_the_enrollment_request_; - extern const char *Txt_ROLES_SINGULAR_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_Reject; extern const char *Txt_User_not_found_or_you_do_not_have_permission_; @@ -2034,7 +2034,7 @@ void Enr_AskIfRejectSignUp (void) /* Ask if reject */ sprintf (Gbl.Message,Txt_Do_you_really_want_to_reject_the_enrollment_request_, Gbl.Usrs.Other.UsrDat.FullName, - Txt_ROLES_SINGULAR_abc[Role][Gbl.Usrs.Other.UsrDat.Sex], + Txt_ROLES_SINGUL_abc[Role][Gbl.Usrs.Other.UsrDat.Sex], Gbl.CurrentCrs.Crs.FullName); Lay_ShowAlert (Lay_INFO,Gbl.Message); Rec_ShowCommonRecordUnmodifiable (&Gbl.Usrs.Other.UsrDat); @@ -2109,7 +2109,7 @@ void Enr_ShowEnrollmentRequests (void) extern const char *Txt_Role; extern const char *Txt_Date; extern const char *Txt_Go_to_X; - extern const char *Txt_ROLES_SINGULAR_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_Register; extern const char *Txt_Reject; extern const char *Txt_No_enrollment_requests; @@ -2494,7 +2494,7 @@ void Enr_ShowEnrollmentRequests (void) " vertical-align:top;\">" "%s" "", - Txt_ROLES_SINGULAR_abc[DesiredRole][UsrDat.Sex]); + Txt_ROLES_SINGUL_abc[DesiredRole][UsrDat.Sex]); /***** Request time (row[4]) *****/ Msg_WriteMsgDate (row[4],"DAT"); diff --git a/swad_file_browser.c b/swad_file_browser.c index f11fca367..3b3f0a01f 100644 --- a/swad_file_browser.c +++ b/swad_file_browser.c @@ -8699,7 +8699,7 @@ void Brw_ShowFileMetadata (void) extern const char *Txt_Filename; extern const char *Txt_File_size; extern const char *Txt_Uploaded_by; - extern const char *Txt_ROLES_SINGULAR_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_Date_of_creation; extern const char *Txt_Availability; extern const char *Txt_Private_available_to_certain_users_identified; @@ -8910,7 +8910,7 @@ void Brw_ShowFileMetadata (void) } else /* Unknown publisher */ - fprintf (Gbl.F.Out,"%s",Txt_ROLES_SINGULAR_Abc[Rol_ROLE_UNKNOWN][Usr_SEX_UNKNOWN]); + fprintf (Gbl.F.Out,"%s",Txt_ROLES_SINGUL_Abc[Rol_ROLE_UNKNOWN][Usr_SEX_UNKNOWN]); fprintf (Gbl.F.Out,"" ""); diff --git a/swad_message.c b/swad_message.c index 4af19aca1..9a7f93efe 100644 --- a/swad_message.c +++ b/swad_message.c @@ -2996,7 +2996,7 @@ static void Msg_WriteMsgFrom (struct UsrData *UsrDat,bool Deleted) { extern const char *Txt_MSG_Sent; extern const char *Txt_MSG_Sent_and_deleted; - extern const char *Txt_ROLES_SINGULAR_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; bool ShowPhoto; char PhotoURL[PATH_MAX+1]; @@ -3040,7 +3040,7 @@ static void Msg_WriteMsgFrom (struct UsrData *UsrDat,bool Deleted) } else fprintf (Gbl.F.Out,"[%s]", - Txt_ROLES_SINGULAR_abc[Rol_ROLE_UNKNOWN][Usr_SEX_UNKNOWN]); // User not found, likely an old user who has been removed + Txt_ROLES_SINGUL_abc[Rol_ROLE_UNKNOWN][Usr_SEX_UNKNOWN]); // User not found, likely an old user who has been removed fprintf (Gbl.F.Out,"" "" ""); diff --git a/swad_record.c b/swad_record.c index 04dd5ea74..2a9e6da91 100644 --- a/swad_record.c +++ b/swad_record.c @@ -2021,7 +2021,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, extern const char *Txt_Sex; extern const char *Txt_Role; extern const char *Txt_SEX_SINGULAR_Abc[Usr_NUM_SEXS]; - extern const char *Txt_ROLES_SINGULAR_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_Surname_1; extern const char *Txt_Surname_2; extern const char *Txt_First_name; @@ -2090,7 +2090,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, TypeOfView == Rec_RECORD_PRINT) && IAmTeacher && Gbl.Usrs.Listing.RecsUsrs == Rec_RECORD_USERS_STUDENTS)))); bool ShowData = ItsMe || UsrDat->Accepted || IAmDegAdmin || IAmSuperuser; - bool ShowMailIDRoleRows = (TypeOfView != Rec_RECORD_PUBLIC); + bool ShowIDRows = (TypeOfView != Rec_RECORD_PUBLIC); bool ShowAddressRows = (TypeOfView == Rec_FORM_MY_COMMON_RECORD || TypeOfView == Rec_MY_COMMON_RECORD_CHECK || TypeOfView == Rec_FORM_MY_COURSE_RECORD || @@ -2387,7 +2387,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, fprintf (Gbl.F.Out,"" ""); - if (ShowMailIDRoleRows) + if (ShowIDRows) { /***** User's e-mail *****/ fprintf (Gbl.F.Out,"" @@ -2455,7 +2455,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, if (Role == DefaultRoleInCurrentCrs) fprintf (Gbl.F.Out," selected=\"selected\""); fprintf (Gbl.F.Out,">%s", - Txt_ROLES_SINGULAR_Abc[Role][UsrDat->Sex]); + Txt_ROLES_SINGUL_Abc[Role][UsrDat->Sex]); } fprintf (Gbl.F.Out,""); break; @@ -2494,7 +2494,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, case Rol_ROLE_STUDENT: fprintf (Gbl.F.Out,"", (unsigned) Gbl.Usrs.Me.LoggedRole, - Txt_ROLES_SINGULAR_Abc[Gbl.Usrs.Me.LoggedRole][UsrDat->Sex]); + Txt_ROLES_SINGUL_Abc[Gbl.Usrs.Me.LoggedRole][UsrDat->Sex]); break; case Rol_ROLE_TEACHER: for (Role = Rol_ROLE_STUDENT; @@ -2507,7 +2507,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, if (Role == DefaultRoleInCurrentCrs) fprintf (Gbl.F.Out," selected=\"selected\""); fprintf (Gbl.F.Out,">%s", - Txt_ROLES_SINGULAR_Abc[Role][UsrDat->Sex]); + Txt_ROLES_SINGUL_Abc[Role][UsrDat->Sex]); } break; case Rol_ROLE_DEG_ADM: @@ -2520,7 +2520,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, if (Role == DefaultRoleInCurrentCrs) fprintf (Gbl.F.Out," selected=\"selected\""); fprintf (Gbl.F.Out,">%s", - Txt_ROLES_SINGULAR_Abc[Role][UsrDat->Sex]); + Txt_ROLES_SINGUL_Abc[Role][UsrDat->Sex]); } break; default: // The rest of users can not register other users @@ -2534,14 +2534,14 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, { case Rol_ROLE_TEACHER: // A teacher only can create students fprintf (Gbl.F.Out,"", - (unsigned) Rol_ROLE_STUDENT,Txt_ROLES_SINGULAR_Abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN]); + (unsigned) Rol_ROLE_STUDENT,Txt_ROLES_SINGUL_Abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN]); break; case Rol_ROLE_DEG_ADM: // An administrator or a superuser can create students and teachers case Rol_ROLE_SYS_ADM: fprintf (Gbl.F.Out,"" "", - (unsigned) Rol_ROLE_STUDENT,Txt_ROLES_SINGULAR_Abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN], - (unsigned) Rol_ROLE_TEACHER,Txt_ROLES_SINGULAR_Abc[Rol_ROLE_TEACHER][Usr_SEX_UNKNOWN]); + (unsigned) Rol_ROLE_STUDENT,Txt_ROLES_SINGUL_Abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN], + (unsigned) Rol_ROLE_TEACHER,Txt_ROLES_SINGUL_Abc[Rol_ROLE_TEACHER][Usr_SEX_UNKNOWN]); break; default: // The rest of users can not register other users break; @@ -2569,70 +2569,70 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView, Txt_Role, ClassData,Col2Width, TypeOfView == Rec_MY_COMMON_RECORD_CHECK ? Txt_SEX_SINGULAR_Abc[UsrDat->Sex] : - Txt_ROLES_SINGULAR_Abc[UsrDat->RoleInCurrentCrsDB][UsrDat->Sex]); + Txt_ROLES_SINGUL_Abc[UsrDat->RoleInCurrentCrsDB][UsrDat->Sex]); + + /***** Name *****/ + /* Surname 1 */ + fprintf (Gbl.F.Out,"" + "" + "%s", + ClassForm,Col1Width,Txt_Surname_1); + if (TypeOfView == Rec_FORM_MY_COMMON_RECORD) + fprintf (Gbl.F.Out,"*"); + fprintf (Gbl.F.Out,":" + "", + ClassData,Cols2and3Width); + if (DataForm) + fprintf (Gbl.F.Out,"", + Usr_MAX_LENGTH_USR_NAME_OR_SURNAME,UsrDat->Surname1); + else if (UsrDat->Surname1[0]) + fprintf (Gbl.F.Out,"%s",UsrDat->Surname1); + fprintf (Gbl.F.Out,"" + ""); + + /* Surname 2 */ + fprintf (Gbl.F.Out,"" + "" + "%s:" + "" + "", + ClassForm,Col1Width, + Txt_Surname_2, + ClassData,Cols2and3Width); + if (DataForm) + fprintf (Gbl.F.Out,"", + Usr_MAX_LENGTH_USR_NAME_OR_SURNAME,UsrDat->Surname2); + else if (UsrDat->Surname2[0]) + fprintf (Gbl.F.Out,"%s", + UsrDat->Surname2); + fprintf (Gbl.F.Out,"" + ""); + + /* First name */ + fprintf (Gbl.F.Out,"" + "" + "%s", + ClassForm,Col1Width,Txt_First_name); + if (TypeOfView == Rec_FORM_MY_COMMON_RECORD) + fprintf (Gbl.F.Out,"*"); + fprintf (Gbl.F.Out,":" + "", + ClassData,Cols2and3Width); + if (DataForm) + fprintf (Gbl.F.Out,"", + Usr_MAX_LENGTH_USR_NAME_OR_SURNAME,UsrDat->FirstName); + else if (UsrDat->FirstName[0]) + fprintf (Gbl.F.Out,"%s",UsrDat->FirstName); + fprintf (Gbl.F.Out,"" + ""); } - /***** Name *****/ - /* Surname 1 */ - fprintf (Gbl.F.Out,"" - "" - "%s", - ClassForm,Col1Width,Txt_Surname_1); - if (TypeOfView == Rec_FORM_MY_COMMON_RECORD) - fprintf (Gbl.F.Out,"*"); - fprintf (Gbl.F.Out,":" - "", - ClassData,Cols2and3Width); - if (DataForm) - fprintf (Gbl.F.Out,"", - Usr_MAX_LENGTH_USR_NAME_OR_SURNAME,UsrDat->Surname1); - else if (UsrDat->Surname1[0]) - fprintf (Gbl.F.Out,"%s",UsrDat->Surname1); - fprintf (Gbl.F.Out,"" - ""); - - /* Surname 2 */ - fprintf (Gbl.F.Out,"" - "" - "%s:" - "" - "", - ClassForm,Col1Width, - Txt_Surname_2, - ClassData,Cols2and3Width); - if (DataForm) - fprintf (Gbl.F.Out,"", - Usr_MAX_LENGTH_USR_NAME_OR_SURNAME,UsrDat->Surname2); - else if (UsrDat->Surname2[0]) - fprintf (Gbl.F.Out,"%s", - UsrDat->Surname2); - fprintf (Gbl.F.Out,"" - ""); - - /* First name */ - fprintf (Gbl.F.Out,"" - "" - "%s", - ClassForm,Col1Width,Txt_First_name); - if (TypeOfView == Rec_FORM_MY_COMMON_RECORD) - fprintf (Gbl.F.Out,"*"); - fprintf (Gbl.F.Out,":" - "", - ClassData,Cols2and3Width); - if (DataForm) - fprintf (Gbl.F.Out,"", - Usr_MAX_LENGTH_USR_NAME_OR_SURNAME,UsrDat->FirstName); - else if (UsrDat->FirstName[0]) - fprintf (Gbl.F.Out,"%s",UsrDat->FirstName); - fprintf (Gbl.F.Out,"" - ""); - /* Country */ fprintf (Gbl.F.Out,"" "%s", - Txt_ROLES_SINGULAR_Abc[Role][Gbl.Usrs.Me.UsrDat.Sex]); + Txt_ROLES_SINGUL_Abc[Role][Gbl.Usrs.Me.UsrDat.Sex]); } fprintf (Gbl.F.Out,"" ""); @@ -414,7 +414,7 @@ void Rol_PutAllRolesRegRemUsrsCrs (void) static void Rol_PutOneRoleRegRemUsrsCrs (Rol_Role_t Role,bool Checked) { - extern const char *Txt_ROLES_SINGULAR_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; fprintf (Gbl.F.Out,"
  • " "%s
  • ", - Txt_ROLES_SINGULAR_Abc[Role][Usr_SEX_UNKNOWN]); + Txt_ROLES_SINGUL_Abc[Role][Usr_SEX_UNKNOWN]); } /*****************************************************************************/ diff --git a/swad_statistic.c b/swad_statistic.c index 5ee63231d..551905ec3 100644 --- a/swad_statistic.c +++ b/swad_statistic.c @@ -1452,7 +1452,7 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql extern const char *Txt_Date; extern const char *Txt_Action; extern const char *Txt_LOG_More_info; - extern const char *Txt_ROLES_SINGULAR_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; unsigned long NumRow; unsigned long FirstRow; // First row to show unsigned long LastRow; // Last rows to show @@ -1656,7 +1656,7 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql "%s " "", Gbl.ColorRows[Gbl.RowEvenOdd], - RoleFromLog < Rol_NUM_ROLES ? Txt_ROLES_SINGULAR_Abc[RoleFromLog][UsrDat.Sex] : + RoleFromLog < Rol_NUM_ROLES ? Txt_ROLES_SINGUL_Abc[RoleFromLog][UsrDat.Sex] : "?"); /* Write the date (in row[3] is the date in YYYYMMDDHHMMSS format) */ @@ -1734,7 +1734,7 @@ static void Sta_ShowNumAccessesPerUsr (unsigned long NumRows,MYSQL_RES *mysql_re extern const char *Txt_Name; extern const char *Txt_Type; extern const char *Txt_STAT_TYPE_COUNT_CAPS[Sta_NUM_STAT_COUNT_TYPES]; - extern const char *Txt_ROLES_SINGULAR_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; MYSQL_ROW row; unsigned long NumRow; float NumPagesGenerated,MaxPagesGenerated = 0.0; @@ -1829,7 +1829,7 @@ static void Sta_ShowNumAccessesPerUsr (unsigned long NumRows,MYSQL_RES *mysql_re "%s " "", Gbl.ColorRows[Gbl.RowEvenOdd], - Txt_ROLES_SINGULAR_Abc[UsrDat.RoleInCurrentCrsDB][UsrDat.Sex]); + Txt_ROLES_SINGUL_Abc[UsrDat.RoleInCurrentCrsDB][UsrDat.Sex]); /* Write the number of clicks */ NumPagesGenerated = Str_GetFloatNumFromStr (row[1]); diff --git a/swad_test.c b/swad_test.c index da0c082e4..9533e5d62 100644 --- a/swad_test.c +++ b/swad_test.c @@ -6551,7 +6551,7 @@ static long Tst_GetParamTstCod (void) void Tst_ShowOneTestExam (void) { - extern const char *Txt_ROLES_SINGULAR_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_Date; extern const char *Txt_Questions; extern const char *Txt_non_blank_QUESTIONS; @@ -6615,7 +6615,7 @@ void Tst_ShowOneTestExam (void) "" "", - Txt_ROLES_SINGULAR_Abc[Gbl.Usrs.Other.UsrDat.RoleInCurrentCrsDB][Gbl.Usrs.Other.UsrDat.Sex]); + Txt_ROLES_SINGUL_Abc[Gbl.Usrs.Other.UsrDat.RoleInCurrentCrsDB][Gbl.Usrs.Other.UsrDat.Sex]); ID_WriteUsrIDs (&Gbl.Usrs.Other.UsrDat,true); fprintf (Gbl.F.Out," %s", Gbl.Usrs.Other.UsrDat.Surname1); diff --git a/swad_text.c b/swad_text.c index 3499e919a..e3cfb447f 100644 --- a/swad_text.c +++ b/swad_text.c @@ -5589,7 +5589,7 @@ const char *Txt_courses = #elif L==8 "disciplinas"; #endif - +/* const char *Txt_Courses_as_a_ROLE = // Warning: it is very important to include %s in the following sentences #if L==0 "Assignatures com %s"; @@ -5610,7 +5610,7 @@ const char *Txt_Courses_as_a_ROLE = // Warning: it is very important to include #elif L==8 "Disciplinas como %s"; #endif - +*/ const char *Txt_X_courses_have_been_eliminated = // Warning: it is very important to include %u in the following sentences #if L==0 "Se ha(n) eliminado %u asignatura(s)."; // Necessita traduccio @@ -10892,7 +10892,7 @@ const char *Txt_Field_BR_name = #elif L==8 "Nome
    do campo"; #endif - +/* const char *Txt_Figures = #if L==0 "Xifres"; @@ -10913,7 +10913,7 @@ const char *Txt_Figures = #elif L==8 "Números"; #endif - +*/ const char *Txt_File = #if L==0 "Fitxer"; @@ -11546,7 +11546,7 @@ const char *Txt_Files_works = #elif L==8 "Arquivos trabalhos"; #endif - +/* const char *Txt_First_access = #if L==0 "Primer accés"; @@ -11567,7 +11567,7 @@ const char *Txt_First_access = #elif L==8 "Primeiro acesso"; #endif - +*/ const char *Txt_first_message_not_allowed = #if L==0 "primer mensaje no permitido"; // Necessita traduccio @@ -12180,6 +12180,27 @@ const char *Txt_from_A_COURSE = "de"; #endif +const char *Txt_From_TIME = +#if L==0 + "Des de"; +#elif L==1 + "Vom"; +#elif L==2 + "From"; +#elif L==3 + "Desde"; +#elif L==4 + "Depuis"; +#elif L==5 + "Desde"; // Okoteve traducción +#elif L==6 + "Da"; +#elif L==7 + "Od"; +#elif L==8 + "Desde"; +#endif + const char *Txt_From_now_on_the_number_of_editing_lines_of_the_field_X_is_Y = // Warning: it is very important to include %s and %u (in this order) in the following sentences #if L==0 "A partir de ahora el nº de líneas de edición del campo %s es %u."; // Necessita traduccio @@ -27154,25 +27175,25 @@ const char *Txt_posts = "posts"; #endif -const char *Txt_public_files = +const char *Txt_public_FILES = #if L==0 - "arxius públics"; + "públics"; #elif L==1 - "öffentliche Dateien"; + "öffentliche"; #elif L==2 - "public files"; + "public"; #elif L==3 - "archivos públicos"; + "públicos"; #elif L==4 - "fichiers publics"; + "publics"; #elif L==5 - "archivos públicos"; // Okoteve traducción + "públicos"; // Okoteve traducción #elif L==6 - "file pubblici"; + "pubblici"; #elif L==7 - "publicznych pliki"; + "publicznych"; #elif L==8 - "arquivos públicos"; + "públicos"; #endif const char *Txt_Public_open_educational_resource_OER_for_everyone = @@ -29678,7 +29699,7 @@ const char *Txt_ROLE_STATS[Sta_NUM_ROLES_STAT] = #endif }; -const char *Txt_ROLES_SINGULAR_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = +const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = { { #if L==0 // Rol_ROLE_UNKNOWN - Usr_SEX_UNKNOWN @@ -30410,7 +30431,7 @@ const char *Txt_ROLES_SINGULAR_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = #endif } }; -const char *Txt_ROLES_SINGULAR_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = +const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS] = { { #if L==0 // Rol_ROLE_UNKNOWN - Usr_SEX_UNKNOWN diff --git a/swad_user.c b/swad_user.c index a9d13bb87..35fe29475 100644 --- a/swad_user.c +++ b/swad_user.c @@ -120,7 +120,7 @@ static void Usr_GetUsrCommentsFromString (char *Str,struct UsrData *UsrDat); static Usr_Sex_t Usr_GetSexFromStr (const char *Str); static unsigned Usr_GetNumCrssOfUsrWithARole (long UsrCod,Rol_Role_t Role); -static unsigned Usr_GetNumUsrsOtherRoleInCrssOfAUsr (long UsrCod,Rol_Role_t UsrRole,Rol_Role_t OthersRole); +static unsigned Usr_GetNumUsrsInCrssOfAUsr (long UsrCod,Rol_Role_t UsrRole,Rol_Role_t OthersRole); static bool Usr_CheckIfMyBirthdayHasNotBeenCongratulated (void); static void Usr_InsertMyBirthday (void); @@ -767,10 +767,10 @@ static unsigned Usr_GetNumCrssOfUsrWithARole (long UsrCod,Rol_Role_t Role) } /*****************************************************************************/ -/********* Get number of students in courses of a user as teacher ************/ +/******* Get number of users with different role in courses of a user ********/ /*****************************************************************************/ -static unsigned Usr_GetNumUsrsOtherRoleInCrssOfAUsr (long UsrCod,Rol_Role_t UsrRole,Rol_Role_t OthersRole) +static unsigned Usr_GetNumUsrsInCrssOfAUsr (long UsrCod,Rol_Role_t UsrRole,Rol_Role_t OthersRole) { char Query[256]; @@ -780,7 +780,7 @@ static unsigned Usr_GetNumUsrsOtherRoleInCrssOfAUsr (long UsrCod,Rol_Role_t UsrR " (SELECT CrsCod FROM crs_usr WHERE UsrCod='%ld' AND Role='%u')" " AND Role='%u'", UsrCod,(unsigned) UsrRole,(unsigned) OthersRole); - return (unsigned) DB_QueryCOUNT (Query,"can not get the number of courses of a user with a role"); + return (unsigned) DB_QueryCOUNT (Query,"can not get the number of users"); } /*****************************************************************************/ @@ -1539,7 +1539,7 @@ void Usr_WriteLoggedUsrHead (void) { extern const char *The_ClassUsr[The_NUM_THEMES]; extern const char *The_ClassHead[The_NUM_THEMES]; - extern const char *Txt_ROLES_SINGULAR_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; static const unsigned NumCharsName[Lay_NUM_LAYOUTS] = { 16, // Lay_LAYOUT_DESKTOP @@ -1553,7 +1553,7 @@ void Usr_WriteLoggedUsrHead (void) if (Rol_GetNumAvailableRoles () == 1) fprintf (Gbl.F.Out,"%s: ", The_ClassUsr[Gbl.Prefs.Theme], - Txt_ROLES_SINGULAR_Abc[Gbl.Usrs.Me.LoggedRole][Gbl.Usrs.Me.UsrDat.Sex]); + Txt_ROLES_SINGUL_Abc[Gbl.Usrs.Me.LoggedRole][Gbl.Usrs.Me.UsrDat.Sex]); else { Rol_PutFormToChangeMyRole (true); @@ -2445,7 +2445,7 @@ void Usr_ShowFormsRoleAndLogout (void) extern const char *Txt_Log_out; extern const char *Txt_You_are_LOGGED_as_X; extern const char *Txt_logged[Usr_NUM_SEXS]; - extern const char *Txt_ROLES_SINGULAR_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_Role; /***** Link to log out *****/ @@ -2459,7 +2459,7 @@ void Usr_ShowFormsRoleAndLogout (void) /***** Write message with my new logged role *****/ sprintf (Gbl.Message,Txt_You_are_LOGGED_as_X, Txt_logged[Gbl.Usrs.Me.UsrDat.Sex], - Txt_ROLES_SINGULAR_abc[Gbl.Usrs.Me.LoggedRole][Gbl.Usrs.Me.UsrDat.Sex]); + Txt_ROLES_SINGUL_abc[Gbl.Usrs.Me.LoggedRole][Gbl.Usrs.Me.UsrDat.Sex]); Lay_ShowAlert (Lay_INFO,Gbl.Message); /***** Put a form to change my role *****/ @@ -4865,7 +4865,7 @@ void Usr_ListUsersToSelect (Rol_Role_t Role) void Usr_PutCheckboxToSelectAllTheUsers (Rol_Role_t Role) { - extern const char *Txt_ROLES_SINGULAR_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; struct ListUsers *LstUsrs; Usr_Sex_t Sex; @@ -4887,7 +4887,7 @@ void Usr_PutCheckboxToSelectAllTheUsers (Rol_Role_t Role) Sex = Usr_GetSexOfUsrsLst (LstUsrs); fprintf (Gbl.F.Out,"%s:" "", - LstUsrs->NumUsrs == 1 ? Txt_ROLES_SINGULAR_Abc[Role][Sex] : + LstUsrs->NumUsrs == 1 ? Txt_ROLES_SINGUL_Abc[Role][Sex] : Txt_ROLES_PLURAL_Abc [Role][Sex]); } @@ -5726,7 +5726,7 @@ void Usr_ListAllDataTchs (void) unsigned Usr_ListUsrsFound (Rol_Role_t Role,const char *UsrQuery) { extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; - extern const char *Txt_ROLES_SINGULAR_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; extern const char *Txt_ROLES_PLURAL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; struct ListUsers *LstUsrs; Usr_Sex_t Sex; @@ -5758,7 +5758,7 @@ unsigned Usr_ListUsrsFound (Rol_Role_t Role,const char *UsrQuery) Usr_NUM_MAIN_FIELDS_DATA_USR); if (NumUsrs == 1) fprintf (Gbl.F.Out,"1 %s", - Txt_ROLES_SINGULAR_abc[Role][Sex]); + Txt_ROLES_SINGUL_abc[Role][Sex]); else fprintf (Gbl.F.Out,"%u %s", NumUsrs, @@ -7527,15 +7527,24 @@ static void Usr_ShowUserProfile (void) Gbl.Usrs.Other.UsrDat.Accepted = Usr_GetIfUserHasAcceptedEnrollmentInCurrentCrs (Gbl.Usrs.Other.UsrDat.UsrCod); } - fprintf (Gbl.F.Out,"
    "); + fprintf (Gbl.F.Out,"
    " + "" + "" + "" + "" + "" + "
    "); /***** Common record *****/ Rec_ShowSharedUsrRecord (Rec_RECORD_PUBLIC,&Gbl.Usrs.Other.UsrDat); + fprintf (Gbl.F.Out,""); + /***** Show details of user's profile *****/ Usr_ShowDetailsUserProfile (&Gbl.Usrs.Other.UsrDat); - fprintf (Gbl.F.Out,""); + fprintf (Gbl.F.Out,"
    " + "
    "); } else Error = true; @@ -7587,29 +7596,101 @@ void Usr_ChangeProfileVisibility (void) void Usr_ShowDetailsUserProfile (const struct UsrData *UsrDat) { extern const char *The_ClassFormul[The_NUM_THEMES]; - extern const char *Txt_Figures; - extern const char *Txt_First_access; + // extern const char *Txt_Figures; + extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_SINGUL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_ROLES_PLURAL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + extern const char *Txt_course; + extern const char *Txt_courses; + extern const char *Txt_From_TIME; + // extern const char *Txt_First_access; extern const char *Txt_day; extern const char *Txt_days; extern const char *Txt_Calculate; extern const char *Txt_Clicks; extern const char *Txt_of_PART_OF_A_TOTAL; extern const char *Txt_clicks; - extern const char *Txt_Courses_as_a_ROLE; - extern const char *Txt_ROLES_SINGULAR_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; - extern const char *Txt_ROLES_PLURAL_abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; + // extern const char *Txt_Courses_as_a_ROLE; + extern const char *Txt_Forums; + extern const char *Txt_post; + extern const char *Txt_posts; + extern const char *Txt_Messages; + extern const char *Txt_message; + extern const char *Txt_messages; extern const char *Txt_Files; - extern const char *Txt_public_files; - extern const char *Txt_Forum_posts; - extern const char *Txt_Messages_sent; + extern const char *Txt_files; + extern const char *Txt_public_FILES; struct UsrFigures UsrFigures; unsigned NumCrssUsrIsTeacher; unsigned NumCrssUsrIsStudent; + unsigned NumStds; + unsigned NumTchs; unsigned NumFiles; unsigned NumPublicFiles; /***** Start table *****/ - Lay_StartRoundFrameTable10 (NULL,2,Txt_Figures); + // Lay_StartRoundFrameTable10 (NULL,2,Txt_Figures); + // Lay_StartRoundFrameTable10 (NULL,2,NULL); + fprintf (Gbl.F.Out,""); + + /***** Number of courses in which the user is teacher or student *****/ + if ((NumCrssUsrIsTeacher = Usr_GetNumCrssOfUsrWithARole (UsrDat->UsrCod,Rol_ROLE_TEACHER))) + { + NumTchs = Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_ROLE_TEACHER,Rol_ROLE_TEACHER); + NumStds = Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_ROLE_TEACHER,Rol_ROLE_STUDENT); + fprintf (Gbl.F.Out,"" + "" + "", + The_ClassFormul[Gbl.Prefs.Theme], + Txt_ROLES_SINGUL_Abc[Rol_ROLE_TEACHER][UsrDat->Sex], + NumCrssUsrIsTeacher, + (NumCrssUsrIsTeacher == 1) ? Txt_course : + Txt_courses, + NumTchs, + (NumTchs == 1) ? Txt_ROLES_SINGUL_abc[Rol_ROLE_TEACHER][Usr_SEX_UNKNOWN] : + Txt_ROLES_PLURAL_abc[Rol_ROLE_TEACHER][Usr_SEX_UNKNOWN], + NumStds, + (NumStds == 1) ? Txt_ROLES_SINGUL_abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN] : + Txt_ROLES_PLURAL_abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN]); + } + if ((NumCrssUsrIsStudent = Usr_GetNumCrssOfUsrWithARole (UsrDat->UsrCod,Rol_ROLE_STUDENT))) + { + NumTchs = Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_ROLE_STUDENT,Rol_ROLE_TEACHER); + NumStds = Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_ROLE_STUDENT,Rol_ROLE_STUDENT); + fprintf (Gbl.F.Out,"" + "" + "" + "", + The_ClassFormul[Gbl.Prefs.Theme], + Txt_ROLES_SINGUL_Abc[Rol_ROLE_STUDENT][UsrDat->Sex], + NumCrssUsrIsStudent, + (NumCrssUsrIsStudent == 1) ? Txt_course : + Txt_courses, + NumTchs, + (NumTchs == 1) ? Txt_ROLES_SINGUL_abc[Rol_ROLE_TEACHER][Usr_SEX_UNKNOWN] : + Txt_ROLES_PLURAL_abc[Rol_ROLE_TEACHER][Usr_SEX_UNKNOWN], + NumStds, + (NumStds == 1) ? Txt_ROLES_SINGUL_abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN] : + Txt_ROLES_PLURAL_abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN]); + } /***** Get figures *****/ Usr_GetUsrFigures (UsrDat->UsrCod,&UsrFigures); @@ -7618,19 +7699,18 @@ void Usr_ShowDetailsUserProfile (const struct UsrData *UsrDat) fprintf (Gbl.F.Out,"" "" "" "" "" ""); - /***** Number of courses in which the user is teacher or student *****/ - if ((NumCrssUsrIsTeacher = Usr_GetNumCrssOfUsrWithARole (UsrDat->UsrCod,Rol_ROLE_TEACHER))) - { - fprintf (Gbl.F.Out,"" - "" - "", - NumCrssUsrIsTeacher, - Usr_GetNumUsrsOtherRoleInCrssOfAUsr (UsrDat->UsrCod,Rol_ROLE_TEACHER,Rol_ROLE_STUDENT), - Txt_ROLES_PLURAL_abc[Rol_ROLE_STUDENT][Usr_SEX_UNKNOWN]); - } - if ((NumCrssUsrIsStudent = Usr_GetNumCrssOfUsrWithARole (UsrDat->UsrCod,Rol_ROLE_STUDENT))) - { - fprintf (Gbl.F.Out,"" - "" - "" - "", - NumCrssUsrIsStudent, - Usr_GetNumUsrsOtherRoleInCrssOfAUsr (UsrDat->UsrCod,Rol_ROLE_STUDENT,Rol_ROLE_TEACHER), - Txt_ROLES_PLURAL_abc[Rol_ROLE_TEACHER][Usr_SEX_UNKNOWN]); - } - - /***** Number of files published *****/ - if ((NumFiles = Brw_GetNumFilesUsr (UsrDat->UsrCod))) - NumPublicFiles = Brw_GetNumPublicFilesUsr (UsrDat->UsrCod); - else - NumPublicFiles = 0; - fprintf (Gbl.F.Out,"" - "" - "" - "", - The_ClassFormul[Gbl.Prefs.Theme], - Txt_Files, - NumFiles,NumPublicFiles, - Txt_public_files); - /***** Number of posts in forums *****/ fprintf (Gbl.F.Out,"" "" "" "" "" ""); + /***** Number of files published *****/ + if ((NumFiles = Brw_GetNumFilesUsr (UsrDat->UsrCod))) + NumPublicFiles = Brw_GetNumPublicFilesUsr (UsrDat->UsrCod); + else + NumPublicFiles = 0; + fprintf (Gbl.F.Out,"" + "" + "" + "", + The_ClassFormul[Gbl.Prefs.Theme], + Txt_Files, + NumFiles,Txt_files, + NumPublicFiles,Txt_public_FILES); + /***** End of table *****/ - Lay_EndRoundFrameTable10 (); + fprintf (Gbl.F.Out,"
    " + "%s" + "" + "%u %s
    " + "%u %s
    " + "%u %s" + "" + "
    " + "%s" + "" + "%u %s
    " + "%u %s
    " + "%u %s" + "" + "
    " - "%s:" + "%s" "", The_ClassFormul[Gbl.Prefs.Theme], - Txt_First_access); + Txt_From_TIME); if (UsrFigures.FirstClickTime.Date.Year) { Dat_WriteDate (UsrFigures.FirstClickTime.Date.YYYYMMDD); - fprintf (Gbl.F.Out," "); - Dat_WriteHourMinute (&(UsrFigures.FirstClickTime.YYYYMMDDHHMMSS[8])); if (UsrFigures.NumDays >= 0) - fprintf (Gbl.F.Out," (%d %s)", + fprintf (Gbl.F.Out,"
    " + "%d %s", UsrFigures.NumDays, (UsrFigures.NumDays == 1) ? Txt_day : Txt_days); @@ -7651,7 +7731,7 @@ void Usr_ShowDetailsUserProfile (const struct UsrData *UsrDat) fprintf (Gbl.F.Out,"
    " - "%s:" + "%s" "", @@ -7659,8 +7739,10 @@ void Usr_ShowDetailsUserProfile (const struct UsrData *UsrDat) Txt_Clicks); if (UsrFigures.NumClicks >= 0) { - fprintf (Gbl.F.Out,"%ld, #%ld %s %ld", - UsrFigures.NumClicks, + fprintf (Gbl.F.Out,"%ld %s
    " + "#%ld" + " %s %ld", + UsrFigures.NumClicks,Txt_clicks, Usr_GetRankingNumClicks (UsrDat->UsrCod), Txt_of_PART_OF_A_TOTAL, Usr_GetNumUsrsWithNumClicks ()); @@ -7669,8 +7751,10 @@ void Usr_ShowDetailsUserProfile (const struct UsrData *UsrDat) fprintf (Gbl.F.Out,"
    "); Str_WriteFloatNum ((float) UsrFigures.NumClicks / (float) (UsrFigures.NumDays + 1)); - fprintf (Gbl.F.Out," %s / %s, #%ld %s %ld", - Txt_clicks,Txt_day, + fprintf (Gbl.F.Out," / %s
    " + "#%ld" + " %s %ld", + Txt_day, Usr_GetRankingNumClicksPerDay (UsrDat->UsrCod), Txt_of_PART_OF_A_TOTAL, Usr_GetNumUsrsWithNumClicksPerDay ()); @@ -7688,87 +7772,28 @@ void Usr_ShowDetailsUserProfile (const struct UsrData *UsrDat) fprintf (Gbl.F.Out,"
    ", - The_ClassFormul[Gbl.Prefs.Theme]); - fprintf (Gbl.F.Out,Txt_Courses_as_a_ROLE, - Txt_ROLES_SINGULAR_abc[Rol_ROLE_TEACHER][UsrDat->Sex]); - fprintf (Gbl.F.Out,":" - "" - "%u (%u %s)" - "" - "
    ", - The_ClassFormul[Gbl.Prefs.Theme]); - fprintf (Gbl.F.Out,Txt_Courses_as_a_ROLE, - Txt_ROLES_SINGULAR_abc[Rol_ROLE_STUDENT][UsrDat->Sex]); - fprintf (Gbl.F.Out,":" - "" - "%u (%u %s)" - "" - "
    " - "%s:" - "" - "%u (%u %s)" - "" - "
    " - "%s:" + "%s" "", The_ClassFormul[Gbl.Prefs.Theme], - Txt_Forum_posts); + Txt_Forums); if (UsrFigures.NumForPst >= 0) { - fprintf (Gbl.F.Out,"%ld",UsrFigures.NumForPst); + fprintf (Gbl.F.Out,"%ld %s", + UsrFigures.NumForPst, + (UsrFigures.NumForPst == 1) ? Txt_post : + Txt_posts); if (UsrFigures.NumDays >= 0) { - fprintf (Gbl.F.Out," ("); + fprintf (Gbl.F.Out,"
    "); Str_WriteFloatNum ((float) UsrFigures.NumForPst / (float) (UsrFigures.NumDays + 1)); - fprintf (Gbl.F.Out," / %s)",Txt_day); + fprintf (Gbl.F.Out," / %s",Txt_day); } } else // Number of forum posts is unknown @@ -7787,21 +7812,24 @@ void Usr_ShowDetailsUserProfile (const struct UsrData *UsrDat) fprintf (Gbl.F.Out,"
    " - "%s:" + "%s" "", The_ClassFormul[Gbl.Prefs.Theme], - Txt_Messages_sent); + Txt_Messages); if (UsrFigures.NumMsgSnt >= 0) { - fprintf (Gbl.F.Out,"%ld",UsrFigures.NumMsgSnt); + fprintf (Gbl.F.Out,"%ld %s", + UsrFigures.NumMsgSnt, + (UsrFigures.NumMsgSnt == 1) ? Txt_message : + Txt_messages); if (UsrFigures.NumDays >= 0) { - fprintf (Gbl.F.Out," ("); + fprintf (Gbl.F.Out,"
    "); Str_WriteFloatNum ((float) UsrFigures.NumMsgSnt / (float) (UsrFigures.NumDays + 1)); - fprintf (Gbl.F.Out," / %s)",Txt_day); + fprintf (Gbl.F.Out," / %s",Txt_day); } } else // Number of clicks is unknown @@ -7816,8 +7844,31 @@ void Usr_ShowDetailsUserProfile (const struct UsrData *UsrDat) fprintf (Gbl.F.Out,"
    " + "%s" + "" + "%u %s
    " + "%u %s" + "" + "
    "); + // Lay_EndRoundFrameTable10 (); } /*****************************************************************************/