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,"
"); /***** 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," | " + "
" + "%s" + " | " + ""
+ "%u %s " + "%u %s " + "%u %s" + "" + " | ",
+ 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,"
" + "%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)" - "" - " | ", - 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,"
", - 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" + "" + " | "
+ "