Version 14.93.1

This commit is contained in:
Antonio Cañas Vargas 2015-03-16 16:57:53 +01:00
parent 9ae8f37e7a
commit 289caba5d9
3 changed files with 62 additions and 23 deletions

View File

@ -103,11 +103,12 @@
/****************************** Public constants *****************************/ /****************************** Public constants *****************************/
/*****************************************************************************/ /*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 14.93 (2015/03/16)" #define Log_PLATFORM_VERSION "SWAD 14.93.1 (2015/03/16)"
// Number of lines (includes comments but not blank lines) has been got with the following command: // 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 // nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h sql/swad*.sql | tail -1
/* /*
Version 14.93.1: Mar 16, 2015 Photos and links to users' profiles in users' ranking. (182560 lines)
Version 14.93: Mar 16, 2015 Users' ranking. (182527 lines) Version 14.93: Mar 16, 2015 Users' ranking. (182527 lines)
Version 14.92.2: Mar 15, 2015 Fixed minor bug in photo edition. (182208 lines) Version 14.92.2: Mar 15, 2015 Fixed minor bug in photo edition. (182208 lines)
Version 14.92.1: Mar 14, 2015 Changes on request of a nickname to view user's profile. (182205 lines) Version 14.92.1: Mar 14, 2015 Changes on request of a nickname to view user's profile. (182205 lines)

View File

@ -1124,6 +1124,7 @@ void Prf_IncrementNumMsgSntUsr (long UsrCod)
void Prf_GetAndShowRankingClicks (void) void Prf_GetAndShowRankingClicks (void)
{ {
extern const char *Txt_View_public_profile;
char Query[512]; char Query[512];
MYSQL_RES *mysql_res; MYSQL_RES *mysql_res;
MYSQL_ROW row; MYSQL_ROW row;
@ -1131,6 +1132,8 @@ void Prf_GetAndShowRankingClicks (void)
unsigned NumUsr; unsigned NumUsr;
struct UsrData UsrDat; struct UsrData UsrDat;
unsigned long NumClicks; unsigned long NumClicks;
bool ShowPhoto;
char PhotoURL[PATH_MAX+1];
/***** Get ranking from database *****/ /***** Get ranking from database *****/
switch (Gbl.Scope.Current) switch (Gbl.Scope.Current)
@ -1139,7 +1142,7 @@ void Prf_GetAndShowRankingClicks (void)
sprintf (Query,"SELECT UsrCod,NumClicks" sprintf (Query,"SELECT UsrCod,NumClicks"
" FROM usr_figures" " FROM usr_figures"
" WHERE NumClicks>='0'" " WHERE NumClicks>='0'"
" ORDER BY NumClicks DESC LIMIT 10"); " ORDER BY NumClicks DESC LIMIT 100");
break; break;
case Sco_SCOPE_CTY: case Sco_SCOPE_CTY:
sprintf (Query,"SELECT DISTINCTROW usr_figures.UsrCod,usr_figures.NumClicks" sprintf (Query,"SELECT DISTINCTROW usr_figures.UsrCod,usr_figures.NumClicks"
@ -1151,7 +1154,7 @@ void Prf_GetAndShowRankingClicks (void)
" AND courses.CrsCod=crs_usr.CrsCod" " AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_figures.UsrCod" " AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.NumClicks>='0'" " AND usr_figures.NumClicks>='0'"
" ORDER BY usr_figures.NumClicks DESC LIMIT 10", " ORDER BY usr_figures.NumClicks DESC LIMIT 100",
Gbl.CurrentCty.Cty.CtyCod); Gbl.CurrentCty.Cty.CtyCod);
break; break;
case Sco_SCOPE_INS: case Sco_SCOPE_INS:
@ -1163,7 +1166,7 @@ void Prf_GetAndShowRankingClicks (void)
" AND courses.CrsCod=crs_usr.CrsCod" " AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_figures.UsrCod" " AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.NumClicks>='0'" " AND usr_figures.NumClicks>='0'"
" ORDER BY usr_figures.NumClicks DESC LIMIT 10", " ORDER BY usr_figures.NumClicks DESC LIMIT 100",
Gbl.CurrentIns.Ins.InsCod); Gbl.CurrentIns.Ins.InsCod);
break; break;
case Sco_SCOPE_CTR: case Sco_SCOPE_CTR:
@ -1174,7 +1177,7 @@ void Prf_GetAndShowRankingClicks (void)
" AND courses.CrsCod=crs_usr.CrsCod" " AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_figures.UsrCod" " AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.NumClicks>='0'" " AND usr_figures.NumClicks>='0'"
" ORDER BY usr_figures.NumClicks DESC LIMIT 10", " ORDER BY usr_figures.NumClicks DESC LIMIT 100",
Gbl.CurrentCtr.Ctr.CtrCod); Gbl.CurrentCtr.Ctr.CtrCod);
break; break;
case Sco_SCOPE_DEG: case Sco_SCOPE_DEG:
@ -1184,7 +1187,7 @@ void Prf_GetAndShowRankingClicks (void)
" AND courses.CrsCod=crs_usr.CrsCod" " AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_figures.UsrCod" " AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.NumClicks>='0'" " AND usr_figures.NumClicks>='0'"
" ORDER BY usr_figures.NumClicks DESC LIMIT 10", " ORDER BY usr_figures.NumClicks DESC LIMIT 100",
Gbl.CurrentDeg.Deg.DegCod); Gbl.CurrentDeg.Deg.DegCod);
break; break;
case Sco_SCOPE_CRS: case Sco_SCOPE_CRS:
@ -1193,7 +1196,7 @@ void Prf_GetAndShowRankingClicks (void)
" WHERE crs_usr.CrsCod='%ld'" " WHERE crs_usr.CrsCod='%ld'"
" AND crs_usr.UsrCod=usr_figures.UsrCod" " AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.NumClicks>='0'" " AND usr_figures.NumClicks>='0'"
" ORDER BY usr_figures.NumClicks DESC LIMIT 10", " ORDER BY usr_figures.NumClicks DESC LIMIT 100",
Gbl.CurrentCrs.Crs.CrsCod); Gbl.CurrentCrs.Crs.CrsCod);
break; break;
default: default:
@ -1225,14 +1228,31 @@ void Prf_GetAndShowRankingClicks (void)
/***** Show row *****/ /***** Show row *****/
if (UsrDat.Nickname[0]) if (UsrDat.Nickname[0])
{
fprintf (Gbl.F.Out,"<tr>" fprintf (Gbl.F.Out,"<tr>"
"<td style=\"text-align:right;\">#%u</td>" "<td style=\"text-align:right;\">#%u</td>"
"<td style=\"text-align:left;\">@%s</td>" "<td style=\"text-align:left;\">",
"<td style=\"text-align:right;\">%ld</td>" NumUsr);
/* User's photo */
ShowPhoto = Pho_ShowUsrPhotoIsAllowed (&UsrDat,PhotoURL);
Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL :
NULL,
"PHOTO18x24",Pho_ZOOM);
/* Put form to go to public profile */
Act_FormStart (ActSeePubPrf);
Usr_PutParamOtherUsrCodEncrypted (UsrDat.EncryptedUsrCod);
Act_LinkFormSubmit (Txt_View_public_profile,"DAT");
fprintf (Gbl.F.Out,"@%s",UsrDat.Nickname);
fprintf (Gbl.F.Out,"</a>");
Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>"
"<td style=\"text-align:right;\">%ld</td>"
"</tr>", "</tr>",
NumUsr,
UsrDat.Nickname,
NumClicks); NumClicks);
}
} }
fprintf (Gbl.F.Out,"</table>"); fprintf (Gbl.F.Out,"</table>");
@ -1251,6 +1271,7 @@ void Prf_GetAndShowRankingClicks (void)
void Prf_GetAndShowRankingClicksPerDay (void) void Prf_GetAndShowRankingClicksPerDay (void)
{ {
extern const char *Txt_View_public_profile;
char Query[512]; char Query[512];
MYSQL_RES *mysql_res; MYSQL_RES *mysql_res;
MYSQL_ROW row; MYSQL_ROW row;
@ -1258,6 +1279,8 @@ void Prf_GetAndShowRankingClicksPerDay (void)
unsigned NumUsr; unsigned NumUsr;
struct UsrData UsrDat; struct UsrData UsrDat;
float NumClicksPerDay; float NumClicksPerDay;
bool ShowPhoto;
char PhotoURL[PATH_MAX+1];
/***** Get ranking from database *****/ /***** Get ranking from database *****/
switch (Gbl.Scope.Current) switch (Gbl.Scope.Current)
@ -1267,7 +1290,7 @@ void Prf_GetAndShowRankingClicksPerDay (void)
"NumClicks/(DATEDIFF(NOW(),FirstClickTime)+1) AS NumClicksPerDay" "NumClicks/(DATEDIFF(NOW(),FirstClickTime)+1) AS NumClicksPerDay"
" FROM usr_figures" " FROM usr_figures"
" WHERE FirstClickTime>0" " WHERE FirstClickTime>0"
" ORDER BY NumClicksPerDay DESC LIMIT 10"); " ORDER BY NumClicksPerDay DESC LIMIT 100");
break; break;
case Sco_SCOPE_CTY: case Sco_SCOPE_CTY:
sprintf (Query,"SELECT DISTINCTROW usr_figures.UsrCod," sprintf (Query,"SELECT DISTINCTROW usr_figures.UsrCod,"
@ -1280,7 +1303,7 @@ void Prf_GetAndShowRankingClicksPerDay (void)
" AND courses.CrsCod=crs_usr.CrsCod" " AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_figures.UsrCod" " AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.FirstClickTime>0" " AND usr_figures.FirstClickTime>0"
" ORDER BY NumClicksPerDay DESC LIMIT 10", " ORDER BY NumClicksPerDay DESC LIMIT 100",
Gbl.CurrentCty.Cty.CtyCod); Gbl.CurrentCty.Cty.CtyCod);
break; break;
case Sco_SCOPE_INS: case Sco_SCOPE_INS:
@ -1293,7 +1316,7 @@ void Prf_GetAndShowRankingClicksPerDay (void)
" AND courses.CrsCod=crs_usr.CrsCod" " AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_figures.UsrCod" " AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.FirstClickTime>0" " AND usr_figures.FirstClickTime>0"
" ORDER BY NumClicksPerDay DESC LIMIT 10", " ORDER BY NumClicksPerDay DESC LIMIT 100",
Gbl.CurrentIns.Ins.InsCod); Gbl.CurrentIns.Ins.InsCod);
break; break;
case Sco_SCOPE_CTR: case Sco_SCOPE_CTR:
@ -1305,7 +1328,7 @@ void Prf_GetAndShowRankingClicksPerDay (void)
" AND courses.CrsCod=crs_usr.CrsCod" " AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_figures.UsrCod" " AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.FirstClickTime>0'" " AND usr_figures.FirstClickTime>0'"
" ORDER BY NumClicksPerDay DESC LIMIT 10", " ORDER BY NumClicksPerDay DESC LIMIT 100",
Gbl.CurrentCtr.Ctr.CtrCod); Gbl.CurrentCtr.Ctr.CtrCod);
break; break;
case Sco_SCOPE_DEG: case Sco_SCOPE_DEG:
@ -1316,7 +1339,7 @@ void Prf_GetAndShowRankingClicksPerDay (void)
" AND courses.CrsCod=crs_usr.CrsCod" " AND courses.CrsCod=crs_usr.CrsCod"
" AND crs_usr.UsrCod=usr_figures.UsrCod" " AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.FirstClickTime>0" " AND usr_figures.FirstClickTime>0"
" ORDER BY NumClicksPerDay DESC LIMIT 10", " ORDER BY NumClicksPerDay DESC LIMIT 100",
Gbl.CurrentDeg.Deg.DegCod); Gbl.CurrentDeg.Deg.DegCod);
break; break;
case Sco_SCOPE_CRS: case Sco_SCOPE_CRS:
@ -1326,7 +1349,7 @@ void Prf_GetAndShowRankingClicksPerDay (void)
" WHERE crs_usr.CrsCod='%ld'" " WHERE crs_usr.CrsCod='%ld'"
" AND crs_usr.UsrCod=usr_figures.UsrCod" " AND crs_usr.UsrCod=usr_figures.UsrCod"
" AND usr_figures.FirstClickTime>0" " AND usr_figures.FirstClickTime>0"
" ORDER BY NumClicksPerDay DESC LIMIT 10", " ORDER BY NumClicksPerDay DESC LIMIT 100",
Gbl.CurrentCrs.Crs.CrsCod); Gbl.CurrentCrs.Crs.CrsCod);
break; break;
default: default:
@ -1360,10 +1383,25 @@ void Prf_GetAndShowRankingClicksPerDay (void)
{ {
fprintf (Gbl.F.Out,"<tr>" fprintf (Gbl.F.Out,"<tr>"
"<td style=\"text-align:right;\">#%u</td>" "<td style=\"text-align:right;\">#%u</td>"
"<td style=\"text-align:left;\">@%s</td>" "<td style=\"text-align:left;\">",
"<td style=\"text-align:right;\">", NumUsr);
NumUsr,
UsrDat.Nickname); /* User's photo */
ShowPhoto = Pho_ShowUsrPhotoIsAllowed (&UsrDat,PhotoURL);
Pho_ShowUsrPhoto (&UsrDat,ShowPhoto ? PhotoURL :
NULL,
"PHOTO18x24",Pho_ZOOM);
/* Put form to go to public profile */
Act_FormStart (ActSeePubPrf);
Usr_PutParamOtherUsrCodEncrypted (UsrDat.EncryptedUsrCod);
Act_LinkFormSubmit (Txt_View_public_profile,"DAT");
fprintf (Gbl.F.Out,"@%s",UsrDat.Nickname);
fprintf (Gbl.F.Out,"</a>");
Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>"
"<td style=\"text-align:right;\">");
Str_WriteFloatNum (NumClicksPerDay); Str_WriteFloatNum (NumClicksPerDay);
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>"
"</tr>"); "</tr>");

View File

@ -471,9 +471,9 @@ void Usr_GetUsrDataFromUsrCod (struct UsrData *UsrDat)
strncpy (UsrDat->Photo,row[10],sizeof (UsrDat->Photo)-1); strncpy (UsrDat->Photo,row[10],sizeof (UsrDat->Photo)-1);
UsrDat->PhotoVisibility = Pri_GetVisibilityFromStr (row[11]); UsrDat->PhotoVisibility = Pri_GetVisibilityFromStr (row[11]);
UsrDat->ProfileVisibility = Pri_GetVisibilityFromStr (row[12]); UsrDat->ProfileVisibility = Pri_GetVisibilityFromStr (row[12]);
UsrDat->CtyCod = Str_ConvertStrCodToLongCod (row[13]); UsrDat->CtyCod = Str_ConvertStrCodToLongCod (row[13]);
UsrDat->InsCtyCod = Str_ConvertStrCodToLongCod (row[14]); UsrDat->InsCtyCod = Str_ConvertStrCodToLongCod (row[14]);
UsrDat->InsCod = Str_ConvertStrCodToLongCod (row[15]); UsrDat->InsCod = Str_ConvertStrCodToLongCod (row[15]);
UsrDat->Tch.DptCod = Str_ConvertStrCodToLongCod (row[16]); UsrDat->Tch.DptCod = Str_ConvertStrCodToLongCod (row[16]);
UsrDat->Tch.CtrCod = Str_ConvertStrCodToLongCod (row[17]); UsrDat->Tch.CtrCod = Str_ConvertStrCodToLongCod (row[17]);