Version 14.108.4

This commit is contained in:
Antonio Cañas Vargas 2015-04-04 14:43:01 +02:00
parent 84234429b7
commit 1b8c1355cb
3 changed files with 150 additions and 17 deletions

View File

@ -103,11 +103,12 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 14.108.3 (2015/04/03)"
#define Log_PLATFORM_VERSION "SWAD 14.108.4 (2015/04/04)"
// 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.108.4: Apr 04, 2015 Changes in statistic about institutions. (184267 lines)
Version 14.108.3: Apr 03, 2015 Fixed bug in statistic about institutions. (184144 lines)
Version 14.108.2: Apr 03, 2015 Fixed bug in statistic about institutions. (184142 lines)
Version 14.108.1: Apr 03, 2015 Fixed bug in statistic about institutions. (184137 lines)

View File

@ -4516,11 +4516,12 @@ static void Sta_GetAndShowInstitutionsStats (void)
static void Sta_GetAndShowInssOrderedByNumCtrs (void)
{
extern const char *The_ClassFormul[The_NUM_THEMES];
extern const char *Txt_Institutions_by_number_of_centres;
extern const char *Txt_Centres;
char Query[1024];
/****** Institutions ordered by number of centres ******/
Lay_StartRoundFrameTable10 ("100%",2,"Instituciones según número de centros"); // Need translation
Lay_StartRoundFrameTable10 ("100%",2,Txt_Institutions_by_number_of_centres);
/***** Get institutions ordered by number of centres *****/
switch (Gbl.Scope.Current)
@ -4567,11 +4568,12 @@ static void Sta_GetAndShowInssOrderedByNumCtrs (void)
static void Sta_GetAndShowInssOrderedByNumDegs (void)
{
extern const char *The_ClassFormul[The_NUM_THEMES];
extern const char *Txt_Institutions_by_number_of_degrees;
extern const char *Txt_Degrees;
char Query[1024];
/****** Institutions ordered by number of centres ******/
Lay_StartRoundFrameTable10 ("100%",2,"Instituciones según número de titulaciones"); // Need translation
Lay_StartRoundFrameTable10 ("100%",2,Txt_Institutions_by_number_of_degrees);
/***** Get institutions ordered by number of degrees *****/
switch (Gbl.Scope.Current)
@ -4621,11 +4623,12 @@ static void Sta_GetAndShowInssOrderedByNumDegs (void)
static void Sta_GetAndShowInssOrderedByNumCrss (void)
{
extern const char *The_ClassFormul[The_NUM_THEMES];
extern const char *Txt_Institutions_by_number_of_courses;
extern const char *Txt_Courses;
char Query[1024];
/****** Institutions ordered by number of centres ******/
Lay_StartRoundFrameTable10 ("100%",2,"Instituciones según número de asignaturas"); // Need translation
Lay_StartRoundFrameTable10 ("100%",2,Txt_Institutions_by_number_of_courses);
/***** Get institutions ordered by number of courses *****/
switch (Gbl.Scope.Current)
@ -4678,11 +4681,12 @@ static void Sta_GetAndShowInssOrderedByNumCrss (void)
static void Sta_GetAndShowInssOrderedByNumUsrsInCrss (void)
{
extern const char *The_ClassFormul[The_NUM_THEMES];
extern const char *Txt_Institutions_by_number_of_users_in_courses;
extern const char *Txt_Users;
char Query[1024];
/****** Institutions ordered by number of centres ******/
Lay_StartRoundFrameTable10 ("100%",2,"Instituciones según número de usuarios en asignaturas"); // Need translation
Lay_StartRoundFrameTable10 ("100%",2,Txt_Institutions_by_number_of_users_in_courses);
/***** Get institutions ordered by number of users in courses *****/
switch (Gbl.Scope.Current)
@ -4739,11 +4743,12 @@ static void Sta_GetAndShowInssOrderedByNumUsrsInCrss (void)
static void Sta_GetAndShowInssOrderedByNumUsrsWhoClaimToBelongToThem (void)
{
extern const char *The_ClassFormul[The_NUM_THEMES];
extern const char *Txt_Institutions_by_number_of_users_who_claim_to_belong_to_them;
extern const char *Txt_Users;
char Query[1024];
/****** Institutions ordered by number of centres ******/
Lay_StartRoundFrameTable10 ("100%",2,"Instituciones según número de usuarios que dicen pertenecer a ellas"); // Need translation
Lay_StartRoundFrameTable10 ("100%",2,Txt_Institutions_by_number_of_users_who_claim_to_belong_to_them);
/***** Get institutions ordered by number of users who claim to belong to them *****/
switch (Gbl.Scope.Current)
@ -4796,12 +4801,16 @@ static void Sta_GetAndShowInss (const char *Query,const char *TxtFigure)
MYSQL_ROW row;
unsigned NumInss;
unsigned NumIns;
unsigned NumOrder;
unsigned NumberLastRow;
unsigned NumberThisRow;
struct Institution Ins;
/***** Query database *****/
if ((NumInss = (unsigned) DB_QuerySELECT (Query,&mysql_res,"can not get institutions")))
{
fprintf (Gbl.F.Out,"<tr>"
"<th></th>"
"<th class=\"TIT_TBL\" style=\"text-align:left;\">"
"%s"
"</th>"
@ -4812,22 +4821,36 @@ static void Sta_GetAndShowInss (const char *Query,const char *TxtFigure)
Txt_Institution,
TxtFigure);
for (NumIns = 0;
NumIns < NumInss;
for (NumIns = 1, NumOrder = 1, NumberLastRow = 0;
NumIns <= NumInss;
NumIns++)
{
/***** Get next institution *****/
row = mysql_fetch_row (mysql_res);
/***** Get data of this institution (row[0]) *****/
/* Get data of this institution (row[0]) */
Ins.InsCod = Str_ConvertStrCodToLongCod (row[0]);
if (!Ins_GetDataOfInstitutionByCod (&Ins,Ins_GET_MINIMAL_DATA))
Lay_ShowErrorAndExit ("Institution not found.");
/***** Write link to institution *****/
/* Get statistic (row[1]) */
if (sscanf (row[1],"%u",&NumberThisRow) != 1)
Lay_ShowErrorAndExit ("Error in statistic");
/***** Number of order *****/
if (NumberThisRow != NumberLastRow)
NumOrder = NumIns;
fprintf (Gbl.F.Out,"<tr>"
"<td class=\"%s\" style=\"text-align:left;\">",
"<td class=\"DAT\" style=\"text-align:right;\">"
"%u"
"</td>",
NumOrder);
/***** Write link to institution *****/
fprintf (Gbl.F.Out,"<td class=\"%s\" style=\"text-align:left;\">",
The_ClassFormul[Gbl.Prefs.Theme]);
/* Icon and name of this institution */
Act_FormStart (ActSeeInsInf);
Ins_PutParamInsCod (Ins.InsCod);
Act_LinkFormSubmit (Ins.ShortName,The_ClassFormul[Gbl.Prefs.Theme]);
@ -4835,13 +4858,17 @@ static void Sta_GetAndShowInss (const char *Query,const char *TxtFigure)
32,NULL,true);
fprintf (Gbl.F.Out,"&nbsp;%s</a>",Ins.FullName);
Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>");
/***** Write number of centres (row[1]) *****/
/***** Write statistic *****/
fprintf (Gbl.F.Out,"<td class=\"DAT\" style=\"text-align:right;\">"
"%s"
"</td></tr>",
row[1]);
"%u"
"</td>"
"</tr>",
NumberThisRow);
NumberLastRow = NumberThisRow;
}
}

View File

@ -14558,6 +14558,111 @@ const char *Txt_INSTITUTIONS_HELP_ORDER[2] =
#endif
};
const char *Txt_Institutions_by_number_of_centres =
#if L==0
"Institucions segons nombre de centres";
#elif L==1
"Hochschulen nach der Anzahl der Lehrinstitute";
#elif L==2
"Institutions by number of centres";
#elif L==3
"Instituciones seg&uacute;n n&uacute;mero de centros";
#elif L==4
"&Eacute;tablissements par nombre de centres";
#elif L==5
"Instituciones seg&uacute;n n&uacute;mero de centros"; // Okoteve traducción
#elif L==6
"Istituzioni per numero di centri";
#elif L==7
"Instytucje wed&lstrok;ug liczby o&sacute;rodk&oacute;w";
#elif L==8
"Institu&ccedil;&otilde;es por n&uacute;mero de centros";
#endif
const char *Txt_Institutions_by_number_of_degrees =
#if L==0
"Institucions segons nombre de titulacions";
#elif L==1
"Hochschulen nach der Anzahl der Studiengang";
#elif L==2
"Institutions by number of degrees";
#elif L==3
"Instituciones seg&uacute;n n&uacute;mero de titulaciones";
#elif L==4
"&Eacute;tablissements par nombre d'&eacute;tudes";
#elif L==5
"Instituciones seg&uacute;n n&uacute;mero de titulaciones"; // Okoteve traducción
#elif L==6
"Istituzioni per numero di lauree";
#elif L==7
"Instytucje wed&lstrok;ug liczby stopni";
#elif L==8
"Institu&ccedil;&otilde;es por n&uacute;mero de titula&ccedil;&otilde;es";
#endif
const char *Txt_Institutions_by_number_of_courses =
#if L==0
"Institucions segons nombre de assignatures";
#elif L==1
"Hochschulen nach der Anzahl der Kursen";
#elif L==2
"Institutions by number of courses";
#elif L==3
"Instituciones seg&uacute;n n&uacute;mero de asignaturas";
#elif L==4
"&Eacute;tablissements par nombre de mati&egrave;res";
#elif L==5
"Instituciones seg&uacute;n n&uacute;mero de asignaturas"; // Okoteve traducción
#elif L==6
"Istituzioni per numero di corsi";
#elif L==7
"Instytucje wed&lstrok;ug liczby kurs&otilde;w";
#elif L==8
"Institu&ccedil;&otilde;es por n&uacute;mero de disciplinas";
#endif
const char *Txt_Institutions_by_number_of_users_in_courses =
#if L==0
"Institucions segons nombre d'usuaris en assignatures";
#elif L==1
"Hochschulen nach der Anzahl der Benutzer in Kurse";
#elif L==2
"Institutions by number of users in courses";
#elif L==3
"Instituciones seg&uacute;n n&uacute;mero de usuarios en asignaturas";
#elif L==4
"&Eacute;tablissements par nombre d'utilisateurs dans mati&egrave;res";
#elif L==5
"Instituciones seg&uacute;n n&uacute;mero de usuarios en asignaturas"; // Okoteve traducción
#elif L==6
"Istituzioni per numero di utenti in corsi";
#elif L==7
"Instytucje wed&lstrok;ug liczby u&zdot;ytkownik&oacute;w w kurs&otilde;w";
#elif L==8
"Institu&ccedil;&otilde;es por n&uacute;mero de usu&aacute;rios em disciplinas";
#endif
const char *Txt_Institutions_by_number_of_users_who_claim_to_belong_to_them =
#if L==0
"Institucions segons nombre d'usuaris que diuen pert&agrave;nyer-hi";
#elif L==1
"Hochschulen nach der Anzahl der Benutzer, die behaupten, zu ihnen geh&ouml;ren";
#elif L==2
"Institutions by number of users who claim to belong to them";
#elif L==3
"Instituciones seg&uacute;n n&uacute;mero de usuarios que dicen pertenecer a ellas";
#elif L==4
"&Eacute;tablissements par nombre d'utilisateurs qui pr&eacute;tendent leur appartiennent";
#elif L==5
"Instituciones seg&uacute;n n&uacute;mero de usuarios que dicen pertenecer a ellas"; // Okoteve traducción
#elif L==6
"Istituzioni per numero di utenti che affermano di appartenere a loro";
#elif L==7
"Instytucje wed&lstrok;ug liczby u&zdot;ytkownik&oacute;w, kt&oacute;rzy twierdz&aogon;, &zdot;e nale&zdot;&aogon; do nich";
#elif L==8
"Institu&ccedil;&otilde;es por n&uacute;mero de usu&aacute;rios que afirmam pertencer a elas";
#endif
const char *Txt_Institutions_of_COUNTRY_X = // Warning: it is very important to include %s in the following sentences
#if L==0
"Institucions de %s";
@ -18011,9 +18116,9 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
#if L==0
"Institutions, centres, titulacions i assignatures pendents d'activar"
#elif L==1
"Hochschulen, Lehrinstitute, Studiengang und anh&auml;ngig Kursen"
"Anh&auml;ngig Hochschulen, Lehrinstitute, Studiengang und Kursen"
#elif L==2
"Institutions, centres, degrees and pending courses"
"Pending institutions, centres, degrees and courses"
#elif L==3
"Instituciones, centros, titulaciones y asignaturas pendientes de activar"
#elif L==4