mirror of https://github.com/acanas/swad-core.git
Version 14.96.3
This commit is contained in:
parent
b7f59f62ff
commit
e9941c8c16
|
@ -103,11 +103,12 @@
|
|||
/****************************** Public constants *****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
#define Log_PLATFORM_VERSION "SWAD 14.96.2 (2015/03/18)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 14.96.3 (2015/03/18)"
|
||||
|
||||
// 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.96.3: Mar 18, 2015 Changes in record cards. (183017 lines)
|
||||
Version 14.96.2: Mar 18, 2015 Changes in record cards. (183011 lines)
|
||||
Version 14.96.1: Mar 18, 2015 Changes in user's profile. (183015 lines)
|
||||
Version 14.96: Mar 18, 2015 New layout in record cards. (183011 lines)
|
||||
|
|
198
swad_profile.c
198
swad_profile.c
|
@ -79,7 +79,6 @@ static void Prf_RequestUserProfileWithDefaultNickname (const char *DefaultNickna
|
|||
|
||||
static void Prf_GetUsrDatAndShowUserProfile (void);
|
||||
static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat);
|
||||
static void Prf_ShowHistoricUserProfile (const struct UsrData *UsrDat);
|
||||
|
||||
static void Prf_GetUsrFigures (long UsrCod,struct UsrFigures *UsrFigures);
|
||||
|
||||
|
@ -238,15 +237,12 @@ bool Prf_ShowUserProfile (void)
|
|||
/***** Common record *****/
|
||||
Rec_ShowSharedUsrRecord (Rec_RECORD_PUBLIC,&Gbl.Usrs.Other.UsrDat);
|
||||
|
||||
/***** Show details of user's profile *****/
|
||||
Prf_ShowDetailsUserProfile (&Gbl.Usrs.Other.UsrDat);
|
||||
|
||||
fprintf (Gbl.F.Out,"</td>"
|
||||
"<td style=\"text-align:left;"
|
||||
" vertical-align:top; padding-left:4px;\">");
|
||||
|
||||
/***** Show historic user's profile *****/
|
||||
Prf_ShowHistoricUserProfile (&Gbl.Usrs.Other.UsrDat);
|
||||
/***** Show details of user's profile *****/
|
||||
Prf_ShowDetailsUserProfile (&Gbl.Usrs.Other.UsrDat);
|
||||
|
||||
fprintf (Gbl.F.Out,"</td>"
|
||||
"</tr>"
|
||||
|
@ -292,117 +288,15 @@ void Prf_ChangeProfileVisibility (void)
|
|||
static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
|
||||
{
|
||||
extern const char *The_ClassFormul[The_NUM_THEMES];
|
||||
// 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_teachers_ABBREVIATION;
|
||||
extern const char *Txt_students_ABBREVIATION;
|
||||
extern const char *Txt_course;
|
||||
extern const char *Txt_courses;
|
||||
extern const char *Txt_Files;
|
||||
extern const char *Txt_file;
|
||||
extern const char *Txt_files;
|
||||
extern const char *Txt_public_FILES;
|
||||
unsigned NumCrssUsrIsTeacher;
|
||||
unsigned NumCrssUsrIsStudent;
|
||||
unsigned NumStds;
|
||||
unsigned NumTchs;
|
||||
unsigned NumFiles;
|
||||
unsigned NumPublicFiles;
|
||||
|
||||
/***** Start table *****/
|
||||
fprintf (Gbl.F.Out,"<table class=\"TABLE10 CELLS_PAD_2\">"
|
||||
"<tr>");
|
||||
|
||||
/***** 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,"<td class=\"%s\""
|
||||
" style=\"text-align:right; vertical-align:top;\">"
|
||||
"%s"
|
||||
"</td>"
|
||||
"<td class=\"DAT\""
|
||||
" style=\"text-align:left; vertical-align:top;\">"
|
||||
"%u %s<br />"
|
||||
"%u %s<br />"
|
||||
"%u %s"
|
||||
"</a>"
|
||||
"</td>",
|
||||
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,"<td class=\"%s\""
|
||||
" style=\"text-align:right; vertical-align:top;\">"
|
||||
"%s"
|
||||
"</td>"
|
||||
"<td class=\"DAT\""
|
||||
" style=\"text-align:left; vertical-align:top;\">"
|
||||
"%u %s<br />"
|
||||
"%u %s<br />"
|
||||
"%u %s"
|
||||
"</a>"
|
||||
"</td>",
|
||||
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]);
|
||||
}
|
||||
|
||||
/***** Number of files currently published *****/
|
||||
if ((NumFiles = Brw_GetNumFilesUsr (UsrDat->UsrCod)))
|
||||
NumPublicFiles = Brw_GetNumPublicFilesUsr (UsrDat->UsrCod);
|
||||
else
|
||||
NumPublicFiles = 0;
|
||||
fprintf (Gbl.F.Out,"<td class=\"%s\""
|
||||
" style=\"text-align:right; vertical-align:top;\">"
|
||||
"%s"
|
||||
"</td>"
|
||||
"<td class=\"DAT\""
|
||||
" style=\"text-align:left; vertical-align:top;\">"
|
||||
"%u %s<br />"
|
||||
"%u %s"
|
||||
"</a>"
|
||||
"</td>",
|
||||
The_ClassFormul[Gbl.Prefs.Theme],
|
||||
Txt_Files,
|
||||
NumFiles,
|
||||
(NumFiles == 1) ? Txt_file :
|
||||
Txt_files,
|
||||
NumPublicFiles,Txt_public_FILES);
|
||||
|
||||
/***** End of table *****/
|
||||
fprintf (Gbl.F.Out,"</tr>"
|
||||
"</table>");
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/********************** Show details of user's profile ***********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Prf_ShowHistoricUserProfile (const struct UsrData *UsrDat)
|
||||
{
|
||||
extern const char *The_ClassFormul[The_NUM_THEMES];
|
||||
extern const char *Txt_From_TIME;
|
||||
extern const char *Txt_day;
|
||||
extern const char *Txt_days;
|
||||
|
@ -419,10 +313,94 @@ static void Prf_ShowHistoricUserProfile (const struct UsrData *UsrDat)
|
|||
extern const char *Txt_message;
|
||||
extern const char *Txt_messages;
|
||||
struct UsrFigures UsrFigures;
|
||||
unsigned NumCrssUsrIsTeacher;
|
||||
unsigned NumCrssUsrIsStudent;
|
||||
unsigned NumStds;
|
||||
unsigned NumTchs;
|
||||
unsigned NumFiles;
|
||||
unsigned NumPublicFiles;
|
||||
|
||||
/***** Start table *****/
|
||||
fprintf (Gbl.F.Out,"<table class=\"TABLE10 CELLS_PAD_2\">");
|
||||
|
||||
/***** 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,"<tr>"
|
||||
"<td class=\"%s\""
|
||||
" style=\"text-align:right; vertical-align:top;\">"
|
||||
"%s"
|
||||
"</td>"
|
||||
"<td class=\"DAT\""
|
||||
" style=\"text-align:left; vertical-align:top;\">"
|
||||
"%u %s<br />"
|
||||
"%u %s + %u %s"
|
||||
"</a>"
|
||||
"</td>"
|
||||
"</tr>",
|
||||
The_ClassFormul[Gbl.Prefs.Theme],
|
||||
Txt_ROLES_SINGUL_Abc[Rol_ROLE_TEACHER][UsrDat->Sex],
|
||||
NumCrssUsrIsTeacher,
|
||||
(NumCrssUsrIsTeacher == 1) ? Txt_course :
|
||||
Txt_courses,
|
||||
NumTchs,
|
||||
Txt_teachers_ABBREVIATION,
|
||||
NumStds,
|
||||
Txt_students_ABBREVIATION);
|
||||
}
|
||||
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,"<tr>"
|
||||
"<td class=\"%s\""
|
||||
" style=\"text-align:right; vertical-align:top;\">"
|
||||
"%s"
|
||||
"</td>"
|
||||
"<td class=\"DAT\""
|
||||
" style=\"text-align:left; vertical-align:top;\">"
|
||||
"%u %s<br />"
|
||||
"%u %s + %u %s"
|
||||
"</a>"
|
||||
"</td>"
|
||||
"</tr>",
|
||||
The_ClassFormul[Gbl.Prefs.Theme],
|
||||
Txt_ROLES_SINGUL_Abc[Rol_ROLE_STUDENT][UsrDat->Sex],
|
||||
NumCrssUsrIsStudent,
|
||||
(NumCrssUsrIsStudent == 1) ? Txt_course :
|
||||
Txt_courses,
|
||||
NumTchs,
|
||||
Txt_teachers_ABBREVIATION,
|
||||
NumStds,
|
||||
Txt_students_ABBREVIATION);
|
||||
}
|
||||
|
||||
/***** Number of files currently published *****/
|
||||
if ((NumFiles = Brw_GetNumFilesUsr (UsrDat->UsrCod)))
|
||||
NumPublicFiles = Brw_GetNumPublicFilesUsr (UsrDat->UsrCod);
|
||||
else
|
||||
NumPublicFiles = 0;
|
||||
fprintf (Gbl.F.Out,"<tr>"
|
||||
"<td class=\"%s\""
|
||||
" style=\"text-align:right; vertical-align:top;\">"
|
||||
"%s"
|
||||
"</td>"
|
||||
"<td class=\"DAT\""
|
||||
" style=\"text-align:left; vertical-align:top;\">"
|
||||
"%u %s<br />"
|
||||
"%u %s"
|
||||
"</a>"
|
||||
"</td>"
|
||||
"</tr>",
|
||||
The_ClassFormul[Gbl.Prefs.Theme],
|
||||
Txt_Files,
|
||||
NumFiles,
|
||||
(NumFiles == 1) ? Txt_file :
|
||||
Txt_files,
|
||||
NumPublicFiles,Txt_public_FILES);
|
||||
|
||||
/***** Get figures *****/
|
||||
Prf_GetUsrFigures (UsrDat->UsrCod,&UsrFigures);
|
||||
|
||||
|
|
|
@ -2014,7 +2014,7 @@ void Rec_ShowCommonRecordUnmodifiable (struct UsrData *UsrDat)
|
|||
|
||||
#define C1_WIDTH 52
|
||||
#define C2_WIDTH 144
|
||||
#define C3_WIDTH 230
|
||||
#define C3_WIDTH 210
|
||||
#define C4_WIDTH 154
|
||||
|
||||
void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
||||
|
@ -2039,7 +2039,6 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
|||
extern const char *Txt_Surname_1;
|
||||
extern const char *Txt_Surname_2;
|
||||
extern const char *Txt_First_name;
|
||||
// extern const char *Txt_Country;
|
||||
extern const char *Txt_Another_country;
|
||||
extern const char *Txt_Place_of_origin;
|
||||
extern const char *Txt_Date_of_birth;
|
||||
|
@ -2064,6 +2063,8 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
|||
bool HeIsTeacherInAnyCourse = (UsrDat->Roles & (1 << Rol_ROLE_TEACHER)); // He/she already is a teacher in any course
|
||||
bool HeBelongsToCurrentCrs = (UsrDat->RoleInCurrentCrsDB == Rol_ROLE_STUDENT ||
|
||||
UsrDat->RoleInCurrentCrsDB == Rol_ROLE_TEACHER);
|
||||
bool CountryForm = (TypeOfView == Rec_FORM_MY_COMMON_RECORD ||
|
||||
TypeOfView == Rec_FORM_NEW_RECORD_OTHER_NEW_USR);
|
||||
bool RoleForm = (TypeOfView == Rec_FORM_SIGN_UP ||
|
||||
TypeOfView == Rec_FORM_MY_COMMON_RECORD ||
|
||||
TypeOfView == Rec_FORM_NEW_RECORD_OTHER_NEW_USR ||
|
||||
|
@ -2198,7 +2199,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
|||
|
||||
/***** Photo *****/
|
||||
ShowPhoto = Pho_ShowUsrPhotoIsAllowed (UsrDat,PhotoURL);
|
||||
fprintf (Gbl.F.Out,"<td rowspan=\"2\" style=\"width:%upx;"
|
||||
fprintf (Gbl.F.Out,"<td rowspan=\"3\" style=\"width:%upx;"
|
||||
" text-align:center; vertical-align:top;\">",
|
||||
C4_WIDTH);
|
||||
Pho_ShowUsrPhoto (UsrDat,ShowPhoto ? PhotoURL :
|
||||
|
@ -2208,7 +2209,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
|||
"</tr>");
|
||||
|
||||
/***** Commands *****/
|
||||
CommandsRowspan = 4; // Name + Webs/social networks + Layout row + Country
|
||||
CommandsRowspan = 5; // Name + Nickname + Webs/social networks + Layout row + Country
|
||||
if (ShowIDRows)
|
||||
CommandsRowspan += 6; // Email, ID, Role, Surname1, Surname2, Firstname
|
||||
if (ShowAddressRows)
|
||||
|
@ -2390,14 +2391,19 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
|||
/***** Full name *****/
|
||||
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"REC_NAME\" style=\"width:%upx;"
|
||||
" text-align:left; vertical-align:top;\">"
|
||||
"%s<br />%s<br />%s",
|
||||
"%s<br />%s<br />%s"
|
||||
"</td>"
|
||||
"</tr>",
|
||||
C2_WIDTH + C3_WIDTH,
|
||||
UsrDat->FirstName ,
|
||||
UsrDat->Surname1,
|
||||
UsrDat->Surname2);
|
||||
|
||||
/***** User's nickname *****/
|
||||
fprintf (Gbl.F.Out,"<div class=\"REC_NICK\" style=\"margin-top:20px;\">");
|
||||
fprintf (Gbl.F.Out,"<td colspan=\"2\" class=\"REC_NAME\" style=\"width:%upx;"
|
||||
" text-align:left; vertical-align:bottom;\">"
|
||||
"<div class=\"REC_NICK\">",
|
||||
C2_WIDTH + C3_WIDTH);
|
||||
if (UsrDat->Nickname[0])
|
||||
{
|
||||
if (GoToPublicProfileForm)
|
||||
|
@ -2437,7 +2443,7 @@ void Rec_ShowSharedUsrRecord (Rec_RecordViewType_t TypeOfView,
|
|||
ClassData,C2_WIDTH + C3_WIDTH);
|
||||
if (ShowData)
|
||||
{
|
||||
if (DataForm)
|
||||
if (CountryForm)
|
||||
{
|
||||
/* If list of countries is empty, try to get it */
|
||||
if (!Gbl.Ctys.Num)
|
||||
|
@ -3243,7 +3249,7 @@ void Rec_ShowFormMyInsCtrDpt (void)
|
|||
Lay_ShowAlert (Lay_WARNING,Txt_Before_going_to_any_other_option_you_must_fill_your_centre_and_department);
|
||||
|
||||
/***** Start table *****/
|
||||
Lay_StartRoundFrameTable10 ("580px",2,
|
||||
Lay_StartRoundFrameTable10 ("560px",2,
|
||||
IAmTeacher ? Txt_Institution_centre_and_department :
|
||||
Txt_Institution);
|
||||
|
||||
|
|
|
@ -35,11 +35,7 @@
|
|||
/***************************** Public constants ******************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
#define Rec_WIDTH_SHARE_RECORD_BIG 580
|
||||
// #define Rec_WIDTH_SHARE_RECORD_SMALL 540
|
||||
// #define Rec_WIDTH_SHARE_RECORD_PRINT 540
|
||||
// #define Rec_WIDTH_COURSE_RECORD Rec_WIDTH_SHARE_RECORD_BIG
|
||||
// #define Rec_WIDTH_COURSE_RECORD_PRINT Rec_WIDTH_SHARE_RECORD_BIG
|
||||
#define Rec_WIDTH_SHARE_RECORD_BIG 560
|
||||
|
||||
#define Rec_MAX_LENGTH_NAME_FIELD 255
|
||||
#define Rec_MIN_LINES_IN_EDITION_FIELD 1
|
||||
|
|
25
swad_text.c
25
swad_text.c
|
@ -38084,7 +38084,7 @@ const char *Txt_Tags = // Tags used in test
|
|||
|
||||
const char *Txt_Teachers_ABBREVIATION = // Abbreviation of "Teachers"
|
||||
#if L==0
|
||||
"Prof."; // Necessita traduccio
|
||||
"Prof.";
|
||||
#elif L==1
|
||||
"Lehr.";
|
||||
#elif L==2
|
||||
|
@ -38098,11 +38098,32 @@ const char *Txt_Teachers_ABBREVIATION = // Abbreviation of "Teachers"
|
|||
#elif L==6
|
||||
"Prof.";
|
||||
#elif L==7
|
||||
"Teach."; // Potrzebujesz tlumaczenie
|
||||
"Naucz.";
|
||||
#elif L==8
|
||||
"Prof.";
|
||||
#endif
|
||||
|
||||
const char *Txt_teachers_ABBREVIATION = // Abbreviation of "Teachers"
|
||||
#if L==0
|
||||
"prof.";
|
||||
#elif L==1
|
||||
"Lehr.";
|
||||
#elif L==2
|
||||
"teach.";
|
||||
#elif L==3
|
||||
"prof.";
|
||||
#elif L==4
|
||||
"enseig.";
|
||||
#elif L==5
|
||||
"prof."; // Okoteve traducción
|
||||
#elif L==6
|
||||
"prof.";
|
||||
#elif L==7
|
||||
"naucz.";
|
||||
#elif L==8
|
||||
"prof.";
|
||||
#endif
|
||||
|
||||
const char *Txt_Test =
|
||||
#if L==0
|
||||
"Test";
|
||||
|
|
|
@ -781,7 +781,7 @@ static void TT_DrawTimeTable (void)
|
|||
}
|
||||
|
||||
/***** Table start *****/
|
||||
fprintf (Gbl.F.Out,"<table style=\"min-width:560px; margin:0 auto;\">");
|
||||
fprintf (Gbl.F.Out,"<table style=\"min-width:540px; margin:0 auto;\">");
|
||||
|
||||
/***** Top row used for column adjustement *****/
|
||||
TT_TimeTableDrawAdjustRow ();
|
||||
|
|
Loading…
Reference in New Issue