Version 15.65.1

This commit is contained in:
Antonio Cañas Vargas 2015-12-14 01:25:20 +01:00
parent 34b1e157f6
commit 3b3cddb5d3
5 changed files with 39 additions and 1981 deletions

File diff suppressed because it is too large Load Diff

View File

@ -112,17 +112,20 @@
// TODO: Fix bug at the end of ranking (number too low) when a course is selected
// TODO: Reply to one user, suggested by Francisco Ocaña Lara
// TODO: Reply to all
// TODO: Reply icons should appear without text
// TODO: Link to remove messages is too wide. For example: "Remove these X messages".
/*****************************************************************************/
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 15.65 (2015/12/13)"
#define CSS_FILE "swad15.65.css"
#define Log_PLATFORM_VERSION "SWAD 15.65.1 (2015/12/14)"
#define CSS_FILE "swad15.65.1.css"
// 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 15.65.1: Dec 14, 2015 Changes in layout of profile. (187031 lines)
Version 15.65: Dec 13, 2015 Change in layout of contextual links. (187009 lines)
Version 15.64.18: Dec 13, 2015 Code refactoring in contextual links. (187004 lines)
Version 15.64.17: Dec 13, 2015 Code refactoring in contextual links.

View File

@ -136,9 +136,6 @@ static void Fol_ShowNumberOfFollowingOrFollowers (const struct UsrData *UsrDat,
fprintf (Gbl.F.Out,"<div class=\"FOLLOW\">");
/***** Number *****/
fprintf (Gbl.F.Out,"<div class=\"%s\">",
(Gbl.CurrentAct == Action) ? "FOLLOW_NUM_B" :
"FOLLOW_NUM");
if (NumUsrs)
{
/* Form to list users */
@ -148,13 +145,18 @@ static void Fol_ShowNumberOfFollowingOrFollowers (const struct UsrData *UsrDat,
(Gbl.CurrentAct == Action) ? "FOLLOW_NUM_B" :
"FOLLOW_NUM");
}
else
fprintf (Gbl.F.Out,"<span class=\"%s\">",
(Gbl.CurrentAct == Action) ? "FOLLOW_NUM_B" :
"FOLLOW_NUM");
fprintf (Gbl.F.Out,"%u",NumUsrs);
if (NumUsrs)
{
fprintf (Gbl.F.Out,"</a>");
Act_FormEnd ();
}
fprintf (Gbl.F.Out,"</div>");
else
fprintf (Gbl.F.Out,"</span>");
/***** Text *****/
fprintf (Gbl.F.Out,"<div class=\"%s\">",

View File

@ -280,8 +280,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
extern const char *Txt_ROLES_SINGUL_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_courses_ABBREVIATION;
extern const char *Txt_Files;
extern const char *Txt_file;
extern const char *Txt_files;
@ -320,8 +319,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
Txt_ROLES_SINGUL_Abc[Rol_TEACHER][UsrDat->Sex],
Gbl.Prefs.IconsURL,
NumCrssUsrIsTeacher,
(NumCrssUsrIsTeacher == 1) ? Txt_course :
Txt_courses);
Txt_courses_ABBREVIATION);
if (NumCrssUsrIsTeacher)
fprintf (Gbl.F.Out,"(%u&nbsp;%s/%u&nbsp;%s)",
Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_TEACHER,Rol_TEACHER),
@ -338,8 +336,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
Txt_ROLES_SINGUL_Abc[Rol_STUDENT][UsrDat->Sex],
Gbl.Prefs.IconsURL,
NumCrssUsrIsStudent,
(NumCrssUsrIsStudent == 1) ? Txt_course :
Txt_courses);
Txt_courses_ABBREVIATION);
if (NumCrssUsrIsStudent)
fprintf (Gbl.F.Out,"(%u&nbsp;%s/%u&nbsp;%s)",
Usr_GetNumUsrsInCrssOfAUsr (UsrDat->UsrCod,Rol_STUDENT,Rol_TEACHER),
@ -424,7 +421,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
fprintf (Gbl.F.Out,"&nbsp;(");
Str_WriteFloatNum ((float) UsrFigures.NumClicks /
(float) UsrFigures.NumDays);
fprintf (Gbl.F.Out,"&nbsp;/&nbsp;%s&nbsp;",Txt_day);
fprintf (Gbl.F.Out,"/%s&nbsp;",Txt_day);
Prf_ShowRanking (Prf_GetRankingNumClicksPerDay (UsrDat->UsrCod),
Prf_GetNumUsrsWithNumClicksPerDay ());
fprintf (Gbl.F.Out,")");
@ -459,7 +456,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
fprintf (Gbl.F.Out,"&nbsp;(");
Str_WriteFloatNum ((float) UsrFigures.NumFileViews /
(float) UsrFigures.NumDays);
fprintf (Gbl.F.Out,"&nbsp;/&nbsp;%s)",Txt_day);
fprintf (Gbl.F.Out,"/%s)",Txt_day);
}
}
else // Number of file views is unknown
@ -491,7 +488,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
fprintf (Gbl.F.Out,"&nbsp;(");
Str_WriteFloatNum ((float) UsrFigures.NumForPst /
(float) UsrFigures.NumDays);
fprintf (Gbl.F.Out,"&nbsp;/&nbsp;%s)",Txt_day);
fprintf (Gbl.F.Out,"/%s)",Txt_day);
}
}
else // Number of forum posts is unknown
@ -523,7 +520,7 @@ static void Prf_ShowDetailsUserProfile (const struct UsrData *UsrDat)
fprintf (Gbl.F.Out,"&nbsp;(");
Str_WriteFloatNum ((float) UsrFigures.NumMsgSnt /
(float) UsrFigures.NumDays);
fprintf (Gbl.F.Out,"&nbsp;/&nbsp;%s)",Txt_day);
fprintf (Gbl.F.Out,"/%s)",Txt_day);
}
}
else // Number of clicks is unknown

View File

@ -5548,6 +5548,27 @@ const char *Txt_courses =
"disciplinas";
#endif
const char *Txt_courses_ABBREVIATION =
#if L==1
"assig.";
#elif L==2
"Veran.";
#elif L==3
"cours.";
#elif L==4
"asig.";
#elif L==5
"mat.";
#elif L==6
"asig."; // Okoteve traducción
#elif L==7
"corsi";
#elif L==8
"kurs.";
#elif L==9
"disc.";
#endif
const char *Txt_X_courses_have_been_eliminated = // Warning: it is very important to include %u in the following sentences
#if L==1
"Se ha(n) eliminado %u asignatura(s)."; // Necessita traduccio