mirror of https://github.com/acanas/swad-core.git
Version 18.64.6
This commit is contained in:
parent
8009c291b4
commit
a6e78a8a14
|
@ -1636,9 +1636,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
|||
/* ActRemSocComGbl */{1508,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Soc_RemoveSocialComUsr ,NULL},
|
||||
|
||||
/* ActSeeOthPubPrf */{1402,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C7,0x3C7,0x3C7,0x3C7,0x3C7,0x3C7,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prf_GetUsrDatAndShowUserProfile,NULL},
|
||||
|
||||
/* ActCalFig */{1405,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C7,0x3C7,0x3C7,0x3C7,0x3C7,0x3C7,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prf_CalculateFigures ,NULL},
|
||||
// /* ActCalNumMsgSnt */{1407,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C7,0x3C7,0x3C7,0x3C7,0x3C7,0x3C7,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Prf_CalculateFigures ,NULL},
|
||||
|
||||
/* ActFolUsr */{1410,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,Fol_FollowUsr1 ,Fol_FollowUsr2 ,NULL},
|
||||
/* ActUnfUsr */{1411,-1,TabUnk,ActSeeSocPrf ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,Fol_UnfollowUsr1 ,Fol_UnfollowUsr2 ,NULL},
|
||||
|
|
|
@ -428,10 +428,11 @@ En OpenSWAD:
|
|||
ps2pdf source.ps destination.pdf
|
||||
*/
|
||||
|
||||
#define Log_PLATFORM_VERSION "SWAD 18.64.5 (2019-03-05)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 18.64.6 (2019-03-05)"
|
||||
#define CSS_FILE "swad18.64.css"
|
||||
#define JS_FILE "swad18.64.js"
|
||||
/*
|
||||
Version 18.64.6: Mar 05, 2019 Added non-editing teachers in user's figures. (238525 lines)
|
||||
Version 18.64.5: Mar 05, 2019 Changes writing floating point numbers.
|
||||
For load speed issues, the number of publications by default in the timeline becomes 20 again.
|
||||
The actions in buttons to calculate user's figures are merged in one. (238471 lines)
|
||||
|
|
|
@ -353,6 +353,7 @@ void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
|
|||
extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
|
||||
extern const char *Txt_courses_ABBREVIATION;
|
||||
extern const char *Txt_teachers_ABBREVIATION;
|
||||
extern const char *Txt_non_editing_teachers_ABBREVIATION;
|
||||
extern const char *Txt_students_ABBREVIATION;
|
||||
extern const char *Txt_Files_uploaded;
|
||||
extern const char *Txt_file;
|
||||
|
@ -375,8 +376,9 @@ void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
|
|||
extern const char *Txt_messages;
|
||||
bool UsrIsBannedFromRanking;
|
||||
struct UsrFigures UsrFigures;
|
||||
unsigned NumCrssUsrIsTeacher;
|
||||
unsigned NumCrssUsrIsStudent;
|
||||
unsigned NumCrssUsrIsTch;
|
||||
unsigned NumCrssUsrIsNET;
|
||||
unsigned NumCrssUsrIsStd;
|
||||
unsigned NumFiles;
|
||||
unsigned NumPublicFiles;
|
||||
char IdFirstClickTime[Frm_MAX_BYTES_ID + 1];
|
||||
|
@ -386,35 +388,58 @@ void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
|
|||
"<ul class=\"PRF_FIG_UL DAT_NOBR_N\">");
|
||||
|
||||
/***** Number of courses in which the user is teacher *****/
|
||||
NumCrssUsrIsTeacher = Usr_GetNumCrssOfUsrWithARole (UsrDat->UsrCod,Rol_TCH);
|
||||
NumCrssUsrIsTch = Usr_GetNumCrssOfUsrWithARole (UsrDat->UsrCod,Rol_TCH);
|
||||
fprintf (Gbl.F.Out,"<li title=\"%s\" class=\"PRF_FIG_LI\""
|
||||
" style=\"background-image:url('%s/user-tie.svg');\">"
|
||||
"%u %s",
|
||||
Txt_ROLES_SINGUL_Abc[Rol_TCH][UsrDat->Sex],
|
||||
Gbl.Prefs.URLIcons,
|
||||
NumCrssUsrIsTeacher,
|
||||
NumCrssUsrIsTch,
|
||||
Txt_courses_ABBREVIATION);
|
||||
if (NumCrssUsrIsTeacher)
|
||||
fprintf (Gbl.F.Out," (%u %s/%u %s)",
|
||||
if (NumCrssUsrIsTch)
|
||||
fprintf (Gbl.F.Out," (%u %s/%u %s/%u %s)",
|
||||
Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_TCH,Rol_TCH),
|
||||
Txt_teachers_ABBREVIATION,
|
||||
Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_TCH,Rol_NET),
|
||||
Txt_non_editing_teachers_ABBREVIATION,
|
||||
Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_TCH,Rol_STD),
|
||||
Txt_students_ABBREVIATION);
|
||||
fprintf (Gbl.F.Out,"</li>");
|
||||
|
||||
/***** Number of courses in which the user is non-editing teacher *****/
|
||||
NumCrssUsrIsNET = Usr_GetNumCrssOfUsrWithARole (UsrDat->UsrCod,Rol_NET);
|
||||
fprintf (Gbl.F.Out,"<li title=\"%s\" class=\"PRF_FIG_LI\""
|
||||
" style=\"background-image:url('%s/user-tie.svg');\">"
|
||||
"%u %s",
|
||||
Txt_ROLES_SINGUL_Abc[Rol_NET][UsrDat->Sex],
|
||||
Gbl.Prefs.URLIcons,
|
||||
NumCrssUsrIsNET,
|
||||
Txt_courses_ABBREVIATION);
|
||||
if (NumCrssUsrIsNET)
|
||||
fprintf (Gbl.F.Out," (%u %s/%u %s/%u %s)",
|
||||
Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_NET,Rol_TCH),
|
||||
Txt_teachers_ABBREVIATION,
|
||||
Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_NET,Rol_NET),
|
||||
Txt_non_editing_teachers_ABBREVIATION,
|
||||
Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_NET,Rol_STD),
|
||||
Txt_students_ABBREVIATION);
|
||||
fprintf (Gbl.F.Out,"</li>");
|
||||
|
||||
/***** Number of courses in which the user is student *****/
|
||||
NumCrssUsrIsStudent = Usr_GetNumCrssOfUsrWithARole (UsrDat->UsrCod,Rol_STD);
|
||||
NumCrssUsrIsStd = Usr_GetNumCrssOfUsrWithARole (UsrDat->UsrCod,Rol_STD);
|
||||
fprintf (Gbl.F.Out,"<li title=\"%s\" class=\"PRF_FIG_LI\""
|
||||
" style=\"background-image:url('%s/user.svg');\">"
|
||||
"%u %s",
|
||||
Txt_ROLES_SINGUL_Abc[Rol_STD][UsrDat->Sex],
|
||||
Gbl.Prefs.URLIcons,
|
||||
NumCrssUsrIsStudent,
|
||||
NumCrssUsrIsStd,
|
||||
Txt_courses_ABBREVIATION);
|
||||
if (NumCrssUsrIsStudent)
|
||||
fprintf (Gbl.F.Out," (%u %s/%u %s)",
|
||||
if (NumCrssUsrIsStd)
|
||||
fprintf (Gbl.F.Out," (%u %s/%u %s/%u %s)",
|
||||
Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_STD,Rol_TCH),
|
||||
Txt_teachers_ABBREVIATION,
|
||||
Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_STD,Rol_NET),
|
||||
Txt_non_editing_teachers_ABBREVIATION,
|
||||
Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_STD,Rol_STD),
|
||||
Txt_students_ABBREVIATION);
|
||||
fprintf (Gbl.F.Out,"</li>");
|
||||
|
@ -445,7 +470,7 @@ void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
|
|||
Gbl.Prefs.URLIcons);
|
||||
if (UsrFigures.FirstClickTimeUTC)
|
||||
{
|
||||
/* Create unique id for new comment */
|
||||
/* Create unique id */
|
||||
Frm_SetUniqueId (IdFirstClickTime);
|
||||
|
||||
fprintf (Gbl.F.Out,"<span id=\"%s\"></span>",IdFirstClickTime);
|
||||
|
|
|
@ -993,6 +993,7 @@ static void Rep_GetAndWriteMyCurrentCrss (Rol_Role_t Role,
|
|||
extern const char *Txt_course;
|
||||
extern const char *Txt_courses;
|
||||
extern const char *Txt_teachers_ABBREVIATION;
|
||||
extern const char *Txt_non_editing_teachers_ABBREVIATION;
|
||||
extern const char *Txt_students_ABBREVIATION;
|
||||
MYSQL_RES *mysql_res;
|
||||
MYSQL_ROW row;
|
||||
|
@ -1011,9 +1012,11 @@ static void Rep_GetAndWriteMyCurrentCrss (Rol_Role_t Role,
|
|||
Txt_courses);
|
||||
if (NumCrss)
|
||||
{
|
||||
fprintf (Gbl.F.Rep," (%u %s / %u %s):",
|
||||
fprintf (Gbl.F.Rep," (%u %s / %u %s / %u %s):",
|
||||
Usr_GetNumUsrsInCrssOfAUsr (Gbl.Usrs.Me.UsrDat.UsrCod,Role,Rol_TCH),
|
||||
Txt_teachers_ABBREVIATION,
|
||||
Usr_GetNumUsrsInCrssOfAUsr (Gbl.Usrs.Me.UsrDat.UsrCod,Role,Rol_NET),
|
||||
Txt_non_editing_teachers_ABBREVIATION,
|
||||
Usr_GetNumUsrsInCrssOfAUsr (Gbl.Usrs.Me.UsrDat.UsrCod,Role,Rol_STD),
|
||||
Txt_students_ABBREVIATION);
|
||||
|
||||
|
|
57
swad_text.c
57
swad_text.c
|
@ -25385,6 +25385,27 @@ const char *Txt_Non_blank_BR_questions =
|
|||
"Questões<br />respondidas";
|
||||
#endif
|
||||
|
||||
const char *Txt_non_editing_teachers_ABBREVIATION = // Abbreviation of "non-editing teachers"
|
||||
#if L==1 // ca
|
||||
"prf.n.e.";
|
||||
#elif L==2 // de
|
||||
"n.b.Leh.";
|
||||
#elif L==3 // en
|
||||
"n-e.tch.";
|
||||
#elif L==4 // es
|
||||
"prf.n.e.";
|
||||
#elif L==5 // fr
|
||||
"ens.n-é";
|
||||
#elif L==6 // gn
|
||||
"prf.n.e."; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"prf.n-e.";
|
||||
#elif L==8 // pl
|
||||
"nau.n.e.";
|
||||
#elif L==9 // pt
|
||||
"prf.n.e.";
|
||||
#endif
|
||||
|
||||
const char *Txt_Not_applicable =
|
||||
#if L==1 // ca
|
||||
"No aplicable";
|
||||
|
@ -41345,23 +41366,23 @@ const char *Txt_Student_comment =
|
|||
|
||||
const char *Txt_students_ABBREVIATION = // Abbreviation of "students"
|
||||
#if L==1 // ca
|
||||
"estu.";
|
||||
"est.";
|
||||
#elif L==2 // de
|
||||
"Stud.";
|
||||
"Stu.";
|
||||
#elif L==3 // en
|
||||
"stud.";
|
||||
"stu.";
|
||||
#elif L==4 // es
|
||||
"estu.";
|
||||
"est.";
|
||||
#elif L==5 // fr
|
||||
"étu.";
|
||||
"ét.";
|
||||
#elif L==6 // gn
|
||||
"Temi.";
|
||||
"Tem.";
|
||||
#elif L==7 // it
|
||||
"stud.";
|
||||
"stu.";
|
||||
#elif L==8 // pl
|
||||
"stud."; // Potrzebujesz tlumaczenie
|
||||
"stu."; // Potrzebujesz tlumaczenie
|
||||
#elif L==9 // pt
|
||||
"estu.";
|
||||
"est.";
|
||||
#endif
|
||||
|
||||
const char *Txt_Student_record_card_in_this_course_has_been_updated =
|
||||
|
@ -42601,23 +42622,23 @@ const char *Txt_Take_a_test =
|
|||
|
||||
const char *Txt_teachers_ABBREVIATION = // Abbreviation of "Teachers"
|
||||
#if L==1 // ca
|
||||
"prof.";
|
||||
"prf.";
|
||||
#elif L==2 // de
|
||||
"Lehr.";
|
||||
"Leh.";
|
||||
#elif L==3 // en
|
||||
"teac.";
|
||||
"tch.";
|
||||
#elif L==4 // es
|
||||
"prof.";
|
||||
"prf.";
|
||||
#elif L==5 // fr
|
||||
"ense.";
|
||||
"ens.";
|
||||
#elif L==6 // gn
|
||||
"prof."; // Okoteve traducción
|
||||
"prf."; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"prof.";
|
||||
"prf.";
|
||||
#elif L==8 // pl
|
||||
"nauc.";
|
||||
"nau.";
|
||||
#elif L==9 // pt
|
||||
"prof.";
|
||||
"prf.";
|
||||
#endif
|
||||
|
||||
const char *Txt_Teachers_files_area =
|
||||
|
|
17
swad_user.c
17
swad_user.c
|
@ -1037,7 +1037,8 @@ unsigned Usr_GetNumUsrsInCrssOfAUsr (long UsrCod,Rol_Role_t UsrRole,
|
|||
DB_Query ("can not remove temporary tables",
|
||||
"DROP TEMPORARY TABLE IF EXISTS usr_courses_tmp");
|
||||
|
||||
/***** Create temporary table with all user's courses as student/teacher *****/
|
||||
/***** Create temporary table with all user's courses
|
||||
as student/non-editing teacher/teacher *****/
|
||||
switch (UsrRole)
|
||||
{
|
||||
case Rol_STD: // Student
|
||||
|
@ -1045,9 +1046,12 @@ unsigned Usr_GetNumUsrsInCrssOfAUsr (long UsrCod,Rol_Role_t UsrRole,
|
|||
(unsigned) Rol_STD);
|
||||
break;
|
||||
case Rol_NET: // Non-editing teacher
|
||||
sprintf (SubQueryRole," AND Role=%u",
|
||||
(unsigned) Rol_NET);
|
||||
break;
|
||||
case Rol_TCH: // or teacher
|
||||
sprintf (SubQueryRole," AND (Role=%u OR Role=%u)",
|
||||
(unsigned) Rol_NET,(unsigned) Rol_TCH);
|
||||
sprintf (SubQueryRole," AND Role=%u",
|
||||
(unsigned) Rol_TCH);
|
||||
break;
|
||||
default:
|
||||
SubQueryRole[0] = '\0';
|
||||
|
@ -1071,9 +1075,12 @@ unsigned Usr_GetNumUsrsInCrssOfAUsr (long UsrCod,Rol_Role_t UsrRole,
|
|||
(unsigned) Rol_STD);
|
||||
break;
|
||||
case Rol_NET: // Non-editing teacher
|
||||
sprintf (SubQueryRole," AND crs_usr.Role=%u",
|
||||
(unsigned) Rol_NET);
|
||||
break;
|
||||
case Rol_TCH: // or teacher
|
||||
sprintf (SubQueryRole," AND (crs_usr.Role=%u OR crs_usr.Role=%u)",
|
||||
(unsigned) Rol_NET,(unsigned) Rol_TCH);
|
||||
sprintf (SubQueryRole," AND crs_usr.Role=%u",
|
||||
(unsigned) Rol_TCH);
|
||||
break;
|
||||
default:
|
||||
SubQueryRole[0] = '\0';
|
||||
|
|
Loading…
Reference in New Issue