mirror of https://github.com/acanas/swad-core.git
Version 15.137.1
This commit is contained in:
parent
b91adab0b1
commit
e667de76c8
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue