Version 18.66

This commit is contained in:
Antonio Cañas Vargas 2019-03-06 13:14:40 +01:00
parent 72f87a31a2
commit 9d4230f0bb
8 changed files with 71 additions and 18 deletions

View File

@ -3394,7 +3394,7 @@ a.PAG:hover, .PAG_CUR
.RANK_USR
{
box-sizing:border-box;
max-width:50px;
max-width:48px;
text-align:left;
vertical-align:middle;
white-space:nowrap;

View File

@ -12640,3 +12640,30 @@ UPDATE social_posts SET MediaType='jpg' WHERE MediaType<>'gif' AND MediaName<>''
UPDATE tst_answers SET MediaType='jpg' WHERE MediaType<>'gif' AND MediaName<>'';
UPDATE tst_questions SET MediaType='jpg' WHERE MediaType<>'gif' AND MediaName<>'';
------------
UPDATE usr_figures
SET NumSocPub = T.NumSocPub
FROM (
SELECT PublisherCod,COUNT(*) AS NumSocPub FROM social_pubs GROUP BY PublisherCod) AS T
WHERE
usr_figures.UsrCod = T.PublisherCod;
------------
UPDATE usr_figures,(SELECT PublisherCod,COUNT(*) AS NumSocPub FROM social_pubs GROUP BY PublisherCod) AS publishers SET usr_figures.NumSocPub=publishers.NumSocPub WHERE usr_figures.NumSocPub<0 AND usr_figures.UsrCod=publishers.PublisherCod;
UPDATE usr_figures SET NumSocPub=0 WHERE NumSocPub<0;
UPDATE usr_figures,(SELECT UsrCod,COUNT(*) AS NumForPst FROM forum_post GROUP BY UsrCod) AS posters SET usr_figures.NumForPst=posters.NumForPst WHERE usr_figures.NumForPst<0 AND usr_figures.UsrCod=posters.UsrCod;
UPDATE usr_figures SET NumForPst=0 WHERE NumForPst<0;
UPDATE usr_figures,(SELECT UsrCod,SUM(NMS) AS NumMsgSnt FROM (SELECT UsrCod,COUNT(*) AS NMS FROM msg_snt GROUP BY UsrCod UNION SELECT Usrcod,COUNT(*) AS NMS FROM msg_snt_deleted GROUP BY UsrCod) AS MS GROUP BY UsrCod) AS senders SET usr_figures.NumMsgSnt=senders.NumMsgSnt WHERE usr_figures.NumMsgSnt<0 AND usr_figures.UsrCod=senders.UsrCod;
UPDATE usr_figures SET NumMsgSnt=0 WHERE NumMsgSnt<0;
UPDATE usr_figures,(SELECT UsrCod,SUM(NumViews) AS NumFileViews FROM file_view WHERE UsrCod>0 GROUP BY UsrCod) AS viewers SET usr_figures.NumFileViews=viewers.NumFileViews WHERE usr_figures.NumFileViews<0 AND usr_figures.UsrCod=viewers.UsrCod;
UPDATE usr_figures SET NumFileViews=0 WHERE NumFileViews<0;

View File

@ -428,10 +428,22 @@ En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
#define Log_PLATFORM_VERSION "SWAD 18.65 (2019-03-06)"
#define CSS_FILE "swad18.64.css"
#define Log_PLATFORM_VERSION "SWAD 18.66 (2019-03-06)"
#define CSS_FILE "swad18.66.css"
#define JS_FILE "swad18.64.js"
/*
Version 18.66: Mar 06, 2019 Number of social posts is added as a new column in users' ranking.
Only figures greater than 0 are shown in users' ranking. (238671 lines)
8 changes necessary in database:
UPDATE usr_figures,(SELECT PublisherCod,COUNT(*) AS NumSocPub FROM social_pubs GROUP BY PublisherCod) AS publishers SET usr_figures.NumSocPub=publishers.NumSocPub WHERE usr_figures.NumSocPub<0 AND usr_figures.UsrCod=publishers.PublisherCod;
UPDATE usr_figures SET NumSocPub=0 WHERE NumSocPub<0;
UPDATE usr_figures,(SELECT UsrCod,SUM(NumViews) AS NumFileViews FROM file_view WHERE UsrCod>0 GROUP BY UsrCod) AS viewers SET usr_figures.NumFileViews=viewers.NumFileViews WHERE usr_figures.NumFileViews<0 AND usr_figures.UsrCod=viewers.UsrCod;
UPDATE usr_figures SET NumFileViews=0 WHERE NumFileViews<0;
UPDATE usr_figures,(SELECT UsrCod,COUNT(*) AS NumForPst FROM forum_post GROUP BY UsrCod) AS posters SET usr_figures.NumForPst=posters.NumForPst WHERE usr_figures.NumForPst<0 AND usr_figures.UsrCod=posters.UsrCod;
UPDATE usr_figures SET NumForPst=0 WHERE NumForPst<0;
UPDATE usr_figures,(SELECT UsrCod,SUM(NMS) AS NumMsgSnt FROM (SELECT UsrCod,COUNT(*) AS NMS FROM msg_snt GROUP BY UsrCod UNION SELECT Usrcod,COUNT(*) AS NMS FROM msg_snt_deleted GROUP BY UsrCod) AS MS GROUP BY UsrCod) AS senders SET usr_figures.NumMsgSnt=senders.NumMsgSnt WHERE usr_figures.NumMsgSnt<0 AND usr_figures.UsrCod=senders.UsrCod;
UPDATE usr_figures SET NumMsgSnt=0 WHERE NumMsgSnt<0;
Version 18.65: Mar 06, 2019 New user's figure: number of social posts. (238648 lines)
1 change necessary in database:
ALTER TABLE usr_figures ADD COLUMN NumSocPub INT NOT NULL DEFAULT -1 AFTER NumClicks;

View File

@ -490,6 +490,7 @@ static void Fig_GetAndShowUsersRanking (void)
extern const char *Txt_FIGURE_TYPES[Fig_NUM_FIGURES];
extern const char *Txt_Clicks;
extern const char *Txt_Clicks_per_day;
extern const char *Txt_Timeline;
extern const char *Txt_Downloads;
extern const char *Txt_Forums;
extern const char *Txt_Messages;
@ -519,13 +520,17 @@ static void Fig_GetAndShowUsersRanking (void)
"<th class=\"CENTER_MIDDLE\">"
"%s"
"</th>"
"<th class=\"CENTER_MIDDLE\">"
"%s"
"</th>"
"</tr>",
Txt_Clicks,
Txt_Clicks_per_day,
Txt_Timeline,
Txt_Followers,
Txt_Downloads,
Txt_Forums,
Txt_Messages,
Txt_Followers);
Txt_Messages);
/***** Rankings *****/
fprintf (Gbl.F.Out,"<tr>"
@ -534,6 +539,12 @@ static void Fig_GetAndShowUsersRanking (void)
fprintf (Gbl.F.Out,"</td>"
"<td class=\"DAT LEFT_TOP\">");
Prf_GetAndShowRankingClicksPerDay ();
fprintf (Gbl.F.Out,"</td>"
"<td class=\"DAT LEFT_TOP\">");
Prf_GetAndShowRankingSocPub ();
fprintf (Gbl.F.Out,"</td>"
"<td class=\"DAT LEFT_TOP\">");
Fol_GetAndShowRankingFollowers ();
fprintf (Gbl.F.Out,"</td>"
"<td class=\"DAT LEFT_TOP\">");
Prf_GetAndShowRankingFileViews ();
@ -543,9 +554,6 @@ static void Fig_GetAndShowUsersRanking (void)
fprintf (Gbl.F.Out,"</td>"
"<td class=\"DAT LEFT_TOP\">");
Prf_GetAndShowRankingMsgSnt ();
fprintf (Gbl.F.Out,"</td>"
"<td class=\"DAT LEFT_TOP\">");
Fol_GetAndShowRankingFollowers ();
fprintf (Gbl.F.Out,"</td>"
"</tr>");

View File

@ -872,7 +872,7 @@ static unsigned For_GetNumMyPstInThr (long ThrCod)
unsigned long For_GetNumPostsUsr (long UsrCod)
{
/***** Get number of posts from a user from database *****/
return DB_QueryCOUNT ("can not number of forum posts from a user",
return DB_QueryCOUNT ("can not get number of forum posts from a user",
"SELECT COUNT(*) FROM forum_post"
" WHERE UsrCod=%ld",
UsrCod);

View File

@ -95,6 +95,7 @@ static void Prf_CreateUsrFigures (long UsrCod,const struct UsrFigures *UsrFigure
static bool Prf_CheckIfUsrFiguresExists (long UsrCod);
static void Prf_GetAndShowRankingFigure (const char *FieldName);
static void Prf_ShowUsrInRanking (struct UsrData *UsrDat,unsigned Rank);
/*****************************************************************************/
/************* Suggest who to follow or request user's profile ***************/
@ -1251,6 +1252,11 @@ void Prf_GetAndShowRankingClicks (void)
Prf_GetAndShowRankingFigure ("NumClicks");
}
void Prf_GetAndShowRankingSocPub (void)
{
Prf_GetAndShowRankingFigure ("NumSocPub");
}
void Prf_GetAndShowRankingFileViews (void)
{
Prf_GetAndShowRankingFigure ("NumFileViews");
@ -1279,7 +1285,7 @@ static void Prf_GetAndShowRankingFigure (const char *FieldName)
(unsigned) DB_QuerySELECT (&mysql_res,"can not get ranking",
"SELECT UsrCod,%s"
" FROM usr_figures"
" WHERE %s>=0"
" WHERE %s>0"
" AND UsrCod NOT IN (SELECT UsrCod FROM usr_banned)"
" ORDER BY %s DESC,UsrCod LIMIT 100",
FieldName,
@ -1296,7 +1302,7 @@ static void Prf_GetAndShowRankingFigure (const char *FieldName)
" AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.%s>=0"
" AND usr_figures.%s>0"
" AND usr_figures.UsrCod NOT IN (SELECT UsrCod FROM usr_banned)"
" ORDER BY usr_figures.%s DESC,usr_figures.UsrCod LIMIT 100",
FieldName,
@ -1313,7 +1319,7 @@ static void Prf_GetAndShowRankingFigure (const char *FieldName)
" AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.%s>=0"
" AND usr_figures.%s>0"
" AND usr_figures.UsrCod NOT IN (SELECT UsrCod FROM usr_banned)"
" ORDER BY usr_figures.%s DESC,usr_figures.UsrCod LIMIT 100",
FieldName,
@ -1329,7 +1335,7 @@ static void Prf_GetAndShowRankingFigure (const char *FieldName)
" AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.%s>=0"
" AND usr_figures.%s>0"
" AND usr_figures.UsrCod NOT IN (SELECT UsrCod FROM usr_banned)"
" ORDER BY usr_figures.%s DESC,usr_figures.UsrCod LIMIT 100",
FieldName,
@ -1344,7 +1350,7 @@ static void Prf_GetAndShowRankingFigure (const char *FieldName)
" WHERE courses.DegCod=%ld"
" AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.%s>=0"
" AND usr_figures.%s>0"
" AND usr_figures.UsrCod NOT IN (SELECT UsrCod FROM usr_banned)"
" ORDER BY usr_figures.%s DESC,usr_figures.UsrCod LIMIT 100",
FieldName,
@ -1358,7 +1364,7 @@ static void Prf_GetAndShowRankingFigure (const char *FieldName)
" FROM crs_usr,usr_figures"
" WHERE crs_usr.CrsCod=%ld"
" AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.%s>=0"
" AND usr_figures.%s>0"
" AND usr_figures.UsrCod NOT IN (SELECT UsrCod FROM usr_banned)"
" ORDER BY usr_figures.%s DESC,usr_figures.UsrCod LIMIT 100",
FieldName,
@ -1602,7 +1608,7 @@ void Prf_GetAndShowRankingClicksPerDay (void)
/************** Show user's photo and nickname in ranking list ***************/
/*****************************************************************************/
void Prf_ShowUsrInRanking (struct UsrData *UsrDat,unsigned Rank)
static void Prf_ShowUsrInRanking (struct UsrData *UsrDat,unsigned Rank)
{
extern const char *Txt_Another_user_s_profile;
bool ShowPhoto;

View File

@ -76,11 +76,11 @@ void Prf_IncrementNumForPstUsr (long UsrCod);
void Prf_IncrementNumMsgSntUsr (long UsrCod);
void Prf_GetAndShowRankingClicks (void);
void Prf_GetAndShowRankingSocPub (void);
void Prf_GetAndShowRankingFileViews (void);
void Prf_GetAndShowRankingForPst (void);
void Prf_GetAndShowRankingMsgSnt (void);
void Prf_ShowRankingFigure (MYSQL_RES **mysql_res,unsigned NumUsrs);
void Prf_GetAndShowRankingClicksPerDay (void);
void Prf_ShowUsrInRanking (struct UsrData *UsrDat,unsigned Rank);
#endif

View File

@ -5137,7 +5137,7 @@ static void Str_AnalyzeTxtAndStoreNotifyEventToMentionedUsrs (long PubCod,const
unsigned long Soc_GetNumPubsUsr (long UsrCod)
{
/***** Get number of posts from a user from database *****/
return DB_QueryCOUNT ("can not number of social publications from a user",
return DB_QueryCOUNT ("can not get number of social publications from a user",
"SELECT COUNT(*) FROM social_pubs"
" WHERE PublisherCod=%ld",
UsrCod);