Version 15.137.1

This commit is contained in:
Antonio Cañas Vargas 2016-02-13 00:37:14 +01:00
parent b91adab0b1
commit e667de76c8
2 changed files with 24 additions and 17 deletions

View File

@ -107,7 +107,6 @@
// only (the groups he/she should have attend) union (the groups he/she really attended)
// should be shown.
// TODO: When page is refreshed in course works, prevent users to be duplicated
// TODO: Fix bug at the end of ranking (number too low) when a course is selected
// TODO: Reply to all
// TODO: Hour in exam announcement should start at six a.m.
@ -121,13 +120,14 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 15.137 (2016-02-07)"
#define Log_PLATFORM_VERSION "SWAD 15.137.1 (2016-02-13)"
#define CSS_FILE "swad15.136.5.css"
#define JS_FILE "swad15.131.3.js"
// 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.137.1: Feb 13, 2016 Fixed bug at the end of ranking (number too low). (195960 lines)
Version 15.137: Feb 07, 2016 New figure about number of social notes. (195953 lines)
Version 15.136.7: Feb 06, 2016 Fixed bug in social tab when not logged. (195715 lines)
Version 15.136.6: Feb 06, 2016 Change in graphic with number of users per country. (195703 lines)

View File

@ -705,13 +705,13 @@ static unsigned long Prf_GetRankingNumClicksPerDay (long UsrCod)
" AS NumClicksPerDay"
" FROM usr_figures"
" WHERE UsrCod<>'%ld'" // Necessary because the following comparison is not exact in floating point
" AND NumClicks>='0' AND FirstClickTime>FROM_UNIXTIME('0'))"
" AND NumClicks>='0' AND UNIX_TIMESTAMP(FirstClickTime)>'0'"
" AS TableNumClicksPerDay"
" WHERE NumClicksPerDay>"
"(SELECT NumClicks/(DATEDIFF(NOW(),FirstClickTime)+1)"
" FROM usr_figures"
" WHERE UsrCod='%ld'"
" AND NumClicks>='0' AND FirstClickTime>FROM_UNIXTIME('0'))",
" AND NumClicks>='0' AND UNIX_TIMESTAMP(FirstClickTime)>'0')",
UsrCod,UsrCod);
return DB_QueryCOUNT (Query,"can not get ranking using number of clicks per day");
}
@ -726,7 +726,8 @@ static unsigned long Prf_GetNumUsrsWithNumClicksPerDay (void)
/***** Select number of rows with values already calculated *****/
sprintf (Query,"SELECT COUNT(*) FROM usr_figures"
" WHERE NumClicks>='0' AND FirstClickTime>FROM_UNIXTIME('0')");
" WHERE NumClicks>='0'"
" AND UNIX_TIMESTAMP(FirstClickTime)>'0'");
return DB_QueryCOUNT (Query,"can not get number of users with number of clicks per day");
}
@ -804,7 +805,8 @@ static void Prf_GetFirstClickFromLogAndStoreAsUsrFigure (long UsrCod)
/***** Update first click time in user's figures *****/
if (Prf_CheckIfUsrFiguresExists (UsrCod))
{
sprintf (Query,"UPDATE usr_figures SET FirstClickTime=FROM_UNIXTIME('%ld')"
sprintf (Query,"UPDATE usr_figures"
" SET FirstClickTime=FROM_UNIXTIME('%ld')"
" WHERE UsrCod='%ld'",
(long) UsrFigures.FirstClickTimeUTC,UsrCod);
DB_QueryUPDATE (Query,"can not update user's figures");
@ -1343,13 +1345,14 @@ void Prf_GetAndShowRankingClicksPerDay (void)
sprintf (Query,"SELECT UsrCod,"
"NumClicks/(DATEDIFF(NOW(),FirstClickTime)+1) AS NumClicksPerDay"
" FROM usr_figures"
" WHERE FirstClickTime>0"
" WHERE UNIX_TIMESTAMP(FirstClickTime)>'0'"
" AND UsrCod NOT IN (SELECT UsrCod FROM usr_banned)"
" ORDER BY NumClicksPerDay DESC,UsrCod LIMIT 100");
break;
case Sco_SCOPE_CTY:
sprintf (Query,"SELECT DISTINCTROW usr_figures.UsrCod,"
"usr_figures.NumClicks/(DATEDIFF(NOW(),usr_figures.FirstClickTime)+1) AS NumClicksPerDay"
"usr_figures.NumClicks/(DATEDIFF(NOW(),"
"usr_figures.FirstClickTime)+1) AS NumClicksPerDay"
" FROM institutions,centres,degrees,courses,crs_usr,usr_figures"
" WHERE institutions.CtyCod='%ld'"
" AND institutions.InsCod=centres.InsCod"
@ -1357,57 +1360,61 @@ void Prf_GetAndShowRankingClicksPerDay (void)
" AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.FirstClickTime>0"
" AND UNIX_TIMESTAMP(usr_figures.FirstClickTime)>'0'"
" AND usr_figures.UsrCod NOT IN (SELECT UsrCod FROM usr_banned)"
" ORDER BY NumClicksPerDay DESC,usr_figures.UsrCod LIMIT 100",
Gbl.CurrentCty.Cty.CtyCod);
break;
case Sco_SCOPE_INS:
sprintf (Query,"SELECT DISTINCTROW usr_figures.UsrCod,"
"usr_figures.NumClicks/(DATEDIFF(NOW(),usr_figures.FirstClickTime)+1) AS NumClicksPerDay"
"usr_figures.NumClicks/(DATEDIFF(NOW(),"
"usr_figures.FirstClickTime)+1) AS NumClicksPerDay"
" FROM centres,degrees,courses,crs_usr,usr_figures"
" WHERE centres.InsCod='%ld'"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.FirstClickTime>0"
" AND UNIX_TIMESTAMP(usr_figures.FirstClickTime)>'0'"
" AND usr_figures.UsrCod NOT IN (SELECT UsrCod FROM usr_banned)"
" ORDER BY NumClicksPerDay DESC,usr_figures.UsrCod LIMIT 100",
Gbl.CurrentIns.Ins.InsCod);
break;
case Sco_SCOPE_CTR:
sprintf (Query,"SELECT DISTINCTROW usr_figures.UsrCod,"
"usr_figures.NumClicks/(DATEDIFF(NOW(),usr_figures.FirstClickTime)+1) AS NumClicksPerDay"
"usr_figures.NumClicks/(DATEDIFF(NOW(),"
"usr_figures.FirstClickTime)+1) AS NumClicksPerDay"
" FROM degrees,courses,crs_usr,usr_figures"
" WHERE degrees.CtrCod='%ld'"
" AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.FirstClickTime>0"
" AND UNIX_TIMESTAMP(usr_figures.FirstClickTime)>'0'"
" AND usr_figures.UsrCod NOT IN (SELECT UsrCod FROM usr_banned)"
" ORDER BY NumClicksPerDay DESC,usr_figures.UsrCod LIMIT 100",
Gbl.CurrentCtr.Ctr.CtrCod);
break;
case Sco_SCOPE_DEG:
sprintf (Query,"SELECT DISTINCTROW usr_figures.UsrCod,"
"usr_figures.NumClicks/(DATEDIFF(NOW(),usr_figures.FirstClickTime)+1) AS NumClicksPerDay"
"usr_figures.NumClicks/(DATEDIFF(NOW(),"
"usr_figures.FirstClickTime)+1) AS NumClicksPerDay"
" FROM courses,crs_usr,usr_figures"
" WHERE courses.DegCod='%ld'"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.FirstClickTime>0"
" AND UNIX_TIMESTAMP(usr_figures.FirstClickTime)>'0'"
" AND usr_figures.UsrCod NOT IN (SELECT UsrCod FROM usr_banned)"
" ORDER BY NumClicksPerDay DESC,usr_figures.UsrCod LIMIT 100",
Gbl.CurrentDeg.Deg.DegCod);
break;
case Sco_SCOPE_CRS:
sprintf (Query,"SELECT DISTINCTROW usr_figures.UsrCod,"
"usr_figures.NumClicks/(DATEDIFF(NOW(),usr_figures.FirstClickTime)+1) AS NumClicksPerDay"
"usr_figures.NumClicks/(DATEDIFF(NOW(),"
"usr_figures.FirstClickTime)+1) AS NumClicksPerDay"
" FROM crs_usr,usr_figures"
" WHERE crs_usr.CrsCod='%ld'"
" AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.FirstClickTime>0"
" AND UNIX_TIMESTAMP(usr_figures.FirstClickTime)>'0'"
" AND usr_figures.UsrCod NOT IN (SELECT UsrCod FROM usr_banned)"
" ORDER BY NumClicksPerDay DESC,usr_figures.UsrCod LIMIT 100",
Gbl.CurrentCrs.Crs.CrsCod);