Version 18.64.6

This commit is contained in:
Antonio Cañas Vargas 2019-03-05 15:06:41 +01:00
parent 8009c291b4
commit a6e78a8a14
6 changed files with 93 additions and 38 deletions

View File

@ -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},

View File

@ -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)

View File

@ -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&nbsp;%s",
Txt_ROLES_SINGUL_Abc[Rol_TCH][UsrDat->Sex],
Gbl.Prefs.URLIcons,
NumCrssUsrIsTeacher,
NumCrssUsrIsTch,
Txt_courses_ABBREVIATION);
if (NumCrssUsrIsTeacher)
fprintf (Gbl.F.Out,"&nbsp;(%u&nbsp;%s/%u&nbsp;%s)",
if (NumCrssUsrIsTch)
fprintf (Gbl.F.Out,"&nbsp;(%u&nbsp;%s/%u&nbsp;%s/%u&nbsp;%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&nbsp;%s",
Txt_ROLES_SINGUL_Abc[Rol_NET][UsrDat->Sex],
Gbl.Prefs.URLIcons,
NumCrssUsrIsNET,
Txt_courses_ABBREVIATION);
if (NumCrssUsrIsNET)
fprintf (Gbl.F.Out,"&nbsp;(%u&nbsp;%s/%u&nbsp;%s/%u&nbsp;%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&nbsp;%s",
Txt_ROLES_SINGUL_Abc[Rol_STD][UsrDat->Sex],
Gbl.Prefs.URLIcons,
NumCrssUsrIsStudent,
NumCrssUsrIsStd,
Txt_courses_ABBREVIATION);
if (NumCrssUsrIsStudent)
fprintf (Gbl.F.Out,"&nbsp;(%u&nbsp;%s/%u&nbsp;%s)",
if (NumCrssUsrIsStd)
fprintf (Gbl.F.Out,"&nbsp;(%u&nbsp;%s/%u&nbsp;%s/%u&nbsp;%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);

View File

@ -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);

View File

@ -25385,6 +25385,27 @@ const char *Txt_Non_blank_BR_questions =
"Quest&otilde;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-&eacute;";
#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
"&eacute;tu.";
"&eacute;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 =

View File

@ -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';