Version 16.17.11

This commit is contained in:
Antonio Cañas Vargas 2016-10-09 00:20:03 +02:00
parent 1832f00f63
commit c0fc9b3228
2 changed files with 50 additions and 56 deletions

View File

@ -148,13 +148,14 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 16.17.10 (2016-10-09)"
#define Log_PLATFORM_VERSION "SWAD 16.17.11 (2016-10-09)"
#define CSS_FILE "swad15.229.css"
#define JS_FILE "swad15.238.1.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 16.17.11: Oct 09, 2016 Code refactoring in user's usage report. (206279 lines)
Version 16.17.10: Oct 09, 2016 Code refactoring in user's usage report. (206285 lines)
Version 16.17.9: Oct 08, 2016 Code refactoring in user's usage report. (206286 lines)
Version 16.17.8: Oct 08, 2016 Code refactoring in user's usage report. (206289 lines)

View File

@ -113,9 +113,7 @@ static void Rep_CreateNewReportEntryIntoDB (const struct Rep_Report *Report);
static void Rep_WriteHeader (const struct Rep_Report *Report);
static void Rep_WriteSectionPlatform (void);
static void Rep_WriteSectionUsrInfo (void);
static void Rep_WriteSectionUsrFigures (const struct UsrFigures *UsrFigures,
const struct tm *tm_FirstClickTime,
const struct Rep_CurrentTimeUTC *CurrentTimeUTC);
static void Rep_WriteSectionUsrFigures (const struct Rep_Report *Report);
static void Rep_WriteSectionHitsPerAction (const struct UsrFigures *UsrFigures);
static void Rep_WriteSectionGlobalHits (const struct UsrFigures *UsrFigures,
const struct tm *tm_FirstClickTime);
@ -239,7 +237,7 @@ static void Rep_CreateMyUsageReport (struct Rep_Report *Report)
Prf_GetUsrFigures (Gbl.Usrs.Me.UsrDat.UsrCod,&Report->UsrFigures);
if (Report->UsrFigures.FirstClickTimeUTC)
gmtime_r (&Report->UsrFigures.FirstClickTimeUTC,&Report->tm_FirstClickTime);
Rep_WriteSectionUsrFigures (&Report->UsrFigures,&Report->tm_FirstClickTime,&Report->CurrentTimeUTC);
Rep_WriteSectionUsrFigures (Report);
/***** Global count of hits *****/
Rep_WriteSectionGlobalHits (&Report->UsrFigures,&Report->tm_FirstClickTime);
@ -578,9 +576,7 @@ static void Rep_WriteSectionUsrInfo (void)
/********* Write section for user's figures in user's usage report ***********/
/*****************************************************************************/
static void Rep_WriteSectionUsrFigures (const struct UsrFigures *UsrFigures,
const struct tm *tm_FirstClickTime,
const struct Rep_CurrentTimeUTC *CurrentTimeUTC)
static void Rep_WriteSectionUsrFigures (const struct Rep_Report *Report)
{
extern const char *Txt_Figures;
extern const char *Txt_TIME_Since;
@ -612,50 +608,47 @@ static void Rep_WriteSectionUsrFigures (const struct UsrFigures *UsrFigures,
/***** Time since first click until now *****/
fprintf (Gbl.F.Rep,"<li>%s ",Txt_TIME_Since);
if (UsrFigures->FirstClickTimeUTC)
if (Report->UsrFigures.FirstClickTimeUTC)
{
if (tm_FirstClickTime != NULL)
{
fprintf (Gbl.F.Rep,"%04d-%02d-%02d %02d:%02d:%02d UTC",
1900 + tm_FirstClickTime->tm_year, // year
1 + tm_FirstClickTime->tm_mon, // month
tm_FirstClickTime->tm_mday, // day of the month
tm_FirstClickTime->tm_hour, // hours
tm_FirstClickTime->tm_min, // minutes
tm_FirstClickTime->tm_sec); // seconds
if (CurrentTimeUTC->StrDate[0])
fprintf (Gbl.F.Rep," %s %s %s UTC",
Txt_TIME_until,
CurrentTimeUTC->StrDate,
CurrentTimeUTC->StrTime);
if (UsrFigures->NumDays > 0)
fprintf (Gbl.F.Rep," (%d %s)",
UsrFigures->NumDays,
(UsrFigures->NumDays == 1) ? Txt_day :
Txt_days);
}
fprintf (Gbl.F.Rep,"%04d-%02d-%02d %02d:%02d:%02d UTC",
1900 + Report->tm_FirstClickTime.tm_year, // year
1 + Report->tm_FirstClickTime.tm_mon, // month
Report->tm_FirstClickTime.tm_mday, // day of the month
Report->tm_FirstClickTime.tm_hour, // hours
Report->tm_FirstClickTime.tm_min, // minutes
Report->tm_FirstClickTime.tm_sec); // seconds
if (Report->CurrentTimeUTC.StrDate[0])
fprintf (Gbl.F.Rep," %s %s %s UTC",
Txt_TIME_until,
Report->CurrentTimeUTC.StrDate,
Report->CurrentTimeUTC.StrTime);
if (Report->UsrFigures.NumDays > 0)
fprintf (Gbl.F.Rep," (%d %s)",
Report->UsrFigures.NumDays,
(Report->UsrFigures.NumDays == 1) ? Txt_day :
Txt_days);
}
else // Time of first click is unknown
{
fprintf (Gbl.F.Rep,"?");
if (CurrentTimeUTC->StrDate[0])
if (Report->CurrentTimeUTC.StrDate[0])
fprintf (Gbl.F.Rep," - %s %s UTC",
CurrentTimeUTC->StrDate,
CurrentTimeUTC->StrTime);
Report->CurrentTimeUTC.StrDate,
Report->CurrentTimeUTC.StrTime);
}
fprintf (Gbl.F.Rep,"</li>");
/***** Number of clicks *****/
fprintf (Gbl.F.Rep,"<li>%s: ",Txt_Clicks);
if (UsrFigures->NumClicks >= 0)
if (Report->UsrFigures.NumClicks >= 0)
{
fprintf (Gbl.F.Rep,"%ld",UsrFigures->NumClicks);
if (UsrFigures->NumDays > 0)
fprintf (Gbl.F.Rep,"%ld",Report->UsrFigures.NumClicks);
if (Report->UsrFigures.NumDays > 0)
{
fprintf (Gbl.F.Rep," (");
Str_WriteFloatNum (Gbl.F.Rep,
(float) UsrFigures->NumClicks /
(float) UsrFigures->NumDays);
(float) Report->UsrFigures.NumClicks /
(float) Report->UsrFigures.NumDays);
fprintf (Gbl.F.Rep," / %s)",Txt_day);
}
}
@ -679,18 +672,18 @@ static void Rep_WriteSectionUsrFigures (const struct UsrFigures *UsrFigures,
/***** Number of file views *****/
fprintf (Gbl.F.Rep,"<li>%s: ",Txt_Downloads);
if (UsrFigures->NumFileViews >= 0)
if (Report->UsrFigures.NumFileViews >= 0)
{
fprintf (Gbl.F.Rep,"%ld %s",
UsrFigures->NumFileViews,
(UsrFigures->NumFileViews == 1) ? Txt_download :
Report->UsrFigures.NumFileViews,
(Report->UsrFigures.NumFileViews == 1) ? Txt_download :
Txt_downloads);
if (UsrFigures->NumDays > 0)
if (Report->UsrFigures.NumDays > 0)
{
fprintf (Gbl.F.Rep," (");
Str_WriteFloatNum (Gbl.F.Rep,
(float) UsrFigures->NumFileViews /
(float) UsrFigures->NumDays);
(float) Report->UsrFigures.NumFileViews /
(float) Report->UsrFigures.NumDays);
fprintf (Gbl.F.Rep," / %s)",Txt_day);
}
}
@ -700,18 +693,18 @@ static void Rep_WriteSectionUsrFigures (const struct UsrFigures *UsrFigures,
/***** Number of posts in forums *****/
fprintf (Gbl.F.Rep,"<li>%s: ",Txt_Forum_posts);
if (UsrFigures->NumForPst >= 0)
if (Report->UsrFigures.NumForPst >= 0)
{
fprintf (Gbl.F.Rep,"%ld %s",
UsrFigures->NumForPst,
(UsrFigures->NumForPst == 1) ? Txt_post :
Report->UsrFigures.NumForPst,
(Report->UsrFigures.NumForPst == 1) ? Txt_post :
Txt_posts);
if (UsrFigures->NumDays > 0)
if (Report->UsrFigures.NumDays > 0)
{
fprintf (Gbl.F.Rep," (");
Str_WriteFloatNum (Gbl.F.Rep,
(float) UsrFigures->NumForPst /
(float) UsrFigures->NumDays);
(float) Report->UsrFigures.NumForPst /
(float) Report->UsrFigures.NumDays);
fprintf (Gbl.F.Rep," / %s)",Txt_day);
}
}
@ -721,18 +714,18 @@ static void Rep_WriteSectionUsrFigures (const struct UsrFigures *UsrFigures,
/***** Number of messages sent *****/
fprintf (Gbl.F.Rep,"<li>%s: ",Txt_Messages_sent);
if (UsrFigures->NumMsgSnt >= 0)
if (Report->UsrFigures.NumMsgSnt >= 0)
{
fprintf (Gbl.F.Rep,"%ld %s",
UsrFigures->NumMsgSnt,
(UsrFigures->NumMsgSnt == 1) ? Txt_message :
Txt_messages);
if (UsrFigures->NumDays > 0)
Report->UsrFigures.NumMsgSnt,
(Report->UsrFigures.NumMsgSnt == 1) ? Txt_message :
Txt_messages);
if (Report->UsrFigures.NumDays > 0)
{
fprintf (Gbl.F.Rep," (");
Str_WriteFloatNum (Gbl.F.Rep,
(float) UsrFigures->NumMsgSnt /
(float) UsrFigures->NumDays);
(float) Report->UsrFigures.NumMsgSnt /
(float) Report->UsrFigures.NumDays);
fprintf (Gbl.F.Rep," / %s)",Txt_day);
}
}