mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-17 14:05:43 +02:00
Version 14.40.10
This commit is contained in:
parent
a711b1ba0a
commit
1e4ded7122
|
@ -35,11 +35,12 @@
|
||||||
/****************************** Public constants *****************************/
|
/****************************** Public constants *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 14.40.9 (2014/12/25)"
|
#define Log_PLATFORM_VERSION "SWAD 14.40.10 (2014/12/25)"
|
||||||
|
|
||||||
// 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 | tail -1
|
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h | tail -1
|
||||||
/*
|
/*
|
||||||
|
Version 14.40.10 :Dic 25, 2014 Changes in HTML and CSS to validate HTML5 in W3C validator. (173201 lines)
|
||||||
Version 14.40.9 :Dic 25, 2014 Changes in HTML and CSS to validate HTML5 in W3C validator. (172986 lines)
|
Version 14.40.9 :Dic 25, 2014 Changes in HTML and CSS to validate HTML5 in W3C validator. (172986 lines)
|
||||||
Version 14.40.8 :Dic 24, 2014 Changes in HTML and CSS to validate HTML5 in W3C validator. (172653 lines)
|
Version 14.40.8 :Dic 24, 2014 Changes in HTML and CSS to validate HTML5 in W3C validator. (172653 lines)
|
||||||
Version 14.40.7 :Dic 23, 2014 Changes in HTML and CSS to validate HTML5 in W3C validator. (172552 lines)
|
Version 14.40.7 :Dic 23, 2014 Changes in HTML and CSS to validate HTML5 in W3C validator. (172552 lines)
|
||||||
|
|
492
swad_statistic.c
492
swad_statistic.c
|
@ -2701,7 +2701,8 @@ static void Sta_WriteAccessHour (unsigned Hour,float NumPagesGenerated,float Max
|
||||||
if (NumPagesGenerated > 0.0)
|
if (NumPagesGenerated > 0.0)
|
||||||
{
|
{
|
||||||
fprintf (Gbl.F.Out,"%u%%<br />",
|
fprintf (Gbl.F.Out,"%u%%<br />",
|
||||||
(unsigned) (((NumPagesGenerated * 100.0) / TotalPagesGenerated) + 0.5));
|
(unsigned) (((NumPagesGenerated * 100.0) /
|
||||||
|
TotalPagesGenerated) + 0.5));
|
||||||
Sta_WriteFloatNum (NumPagesGenerated);
|
Sta_WriteFloatNum (NumPagesGenerated);
|
||||||
fprintf (Gbl.F.Out,"<br />");
|
fprintf (Gbl.F.Out,"<br />");
|
||||||
AltoBarra = (unsigned) (((NumPagesGenerated * 400.0) / MaxPagesGenerated) + 0.5);
|
AltoBarra = (unsigned) (((NumPagesGenerated * 400.0) / MaxPagesGenerated) + 0.5);
|
||||||
|
@ -3460,7 +3461,8 @@ static void Sta_DrawBarNumClicks (char Color,float NumPagesGenerated,float MaxPa
|
||||||
/* Write the number of clicks */
|
/* Write the number of clicks */
|
||||||
Sta_WriteFloatNum (NumPagesGenerated);
|
Sta_WriteFloatNum (NumPagesGenerated);
|
||||||
fprintf (Gbl.F.Out," (%u",
|
fprintf (Gbl.F.Out," (%u",
|
||||||
(unsigned) (((NumPagesGenerated * 100.0) / TotalPagesGenerated) + 0.5));
|
(unsigned) (((NumPagesGenerated * 100.0) /
|
||||||
|
TotalPagesGenerated) + 0.5));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
/* Write the number of clicks */
|
/* Write the number of clicks */
|
||||||
|
@ -4451,7 +4453,8 @@ static void Sta_WriteRowStatsExpTrees (Brw_FileBrowser_t FileZone,const char *Na
|
||||||
struct Sta_SizeOfFileZones SizeOfFileZones;
|
struct Sta_SizeOfFileZones SizeOfFileZones;
|
||||||
char *ClassData = (FileZone == Brw_FILE_BRW_UNKNOWN) ? "DAT_N" :
|
char *ClassData = (FileZone == Brw_FILE_BRW_UNKNOWN) ? "DAT_N" :
|
||||||
"DAT";
|
"DAT";
|
||||||
char *StyleTableCell = (FileZone == Brw_FILE_BRW_UNKNOWN) ? " style=\"border-style:solid none none none;border-width:1px;\"" :
|
char *StyleTableCell = (FileZone == Brw_FILE_BRW_UNKNOWN) ? " border-style:solid none none none;"
|
||||||
|
" border-width:1px;" :
|
||||||
"";
|
"";
|
||||||
|
|
||||||
Sta_GetSizeOfFileZoneFromDB (Gbl.Scope.Current,FileZone,&SizeOfFileZones);
|
Sta_GetSizeOfFileZoneFromDB (Gbl.Scope.Current,FileZone,&SizeOfFileZones);
|
||||||
|
@ -4465,10 +4468,12 @@ static void Sta_WriteRowStatsExpTrees (Brw_FileBrowser_t FileZone,const char *Na
|
||||||
{
|
{
|
||||||
sprintf (StrNumCrss,"%d",SizeOfFileZones.NumCrss);
|
sprintf (StrNumCrss,"%d",SizeOfFileZones.NumCrss);
|
||||||
sprintf (StrNumFoldersPerCrs,"%.1f",
|
sprintf (StrNumFoldersPerCrs,"%.1f",
|
||||||
SizeOfFileZones.NumCrss ? (double) SizeOfFileZones.NumFolders / (double) SizeOfFileZones.NumCrss :
|
SizeOfFileZones.NumCrss ? (double) SizeOfFileZones.NumFolders /
|
||||||
|
(double) SizeOfFileZones.NumCrss :
|
||||||
0.0);
|
0.0);
|
||||||
sprintf (StrNumFilesPerCrs,"%.1f",
|
sprintf (StrNumFilesPerCrs,"%.1f",
|
||||||
SizeOfFileZones.NumCrss ? (double) SizeOfFileZones.NumFiles / (double) SizeOfFileZones.NumCrss :
|
SizeOfFileZones.NumCrss ? (double) SizeOfFileZones.NumFiles /
|
||||||
|
(double) SizeOfFileZones.NumCrss :
|
||||||
0.0);
|
0.0);
|
||||||
}
|
}
|
||||||
if (SizeOfFileZones.NumUsrs == -1)
|
if (SizeOfFileZones.NumUsrs == -1)
|
||||||
|
@ -4481,32 +4486,34 @@ static void Sta_WriteRowStatsExpTrees (Brw_FileBrowser_t FileZone,const char *Na
|
||||||
{
|
{
|
||||||
sprintf (StrNumUsrs,"%d",SizeOfFileZones.NumUsrs);
|
sprintf (StrNumUsrs,"%d",SizeOfFileZones.NumUsrs);
|
||||||
sprintf (StrNumFoldersPerUsr,"%.1f",
|
sprintf (StrNumFoldersPerUsr,"%.1f",
|
||||||
SizeOfFileZones.NumUsrs ? (double) SizeOfFileZones.NumFolders / (double) SizeOfFileZones.NumUsrs :
|
SizeOfFileZones.NumUsrs ? (double) SizeOfFileZones.NumFolders /
|
||||||
|
(double) SizeOfFileZones.NumUsrs :
|
||||||
0.0);
|
0.0);
|
||||||
sprintf (StrNumFilesPerUsr,"%.1f",
|
sprintf (StrNumFilesPerUsr,"%.1f",
|
||||||
SizeOfFileZones.NumUsrs ? (double) SizeOfFileZones.NumFiles / (double) SizeOfFileZones.NumUsrs :
|
SizeOfFileZones.NumUsrs ? (double) SizeOfFileZones.NumFiles /
|
||||||
|
(double) SizeOfFileZones.NumUsrs :
|
||||||
0.0);
|
0.0);
|
||||||
}
|
}
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td align=\"left\" class=\"%s\"%s>"
|
"<td class=\"%s\" style=\"text-align:left; %s\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td align=\"right\" class=\"%s\"%s>"
|
"<td class=\"%s\" style=\"text-align:right; %s\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td align=\"right\" class=\"%s\"%s>"
|
"<td class=\"%s\" style=\"text-align:right; %s\">"
|
||||||
"%s"
|
"%s"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td align=\"right\" class=\"%s\"%s>"
|
"<td class=\"%s\" style=\"text-align:right; %s\">"
|
||||||
"%u"
|
"%u"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td align=\"right\" class=\"%s\"%s>"
|
"<td class=\"%s\" style=\"text-align:right; %s\">"
|
||||||
"%lu"
|
"%lu"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td align=\"right\" class=\"%s\"%s>"
|
"<td class=\"%s\" style=\"text-align:right; %s\">"
|
||||||
"%lu"
|
"%lu"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td align=\"right\" class=\"%s\"%s>",
|
"<td class=\"%s\" style=\"text-align:right; %s\">",
|
||||||
ClassData,StyleTableCell,NameOfFileZones,
|
ClassData,StyleTableCell,NameOfFileZones,
|
||||||
ClassData,StyleTableCell,StrNumCrss,
|
ClassData,StyleTableCell,StrNumCrss,
|
||||||
ClassData,StyleTableCell,StrNumUsrs,
|
ClassData,StyleTableCell,StrNumUsrs,
|
||||||
|
@ -4516,28 +4523,38 @@ static void Sta_WriteRowStatsExpTrees (Brw_FileBrowser_t FileZone,const char *Na
|
||||||
ClassData,StyleTableCell);
|
ClassData,StyleTableCell);
|
||||||
Str_WriteSizeInBytesFull ((double) SizeOfFileZones.Size);
|
Str_WriteSizeInBytesFull ((double) SizeOfFileZones.Size);
|
||||||
fprintf (Gbl.F.Out,"</td>"
|
fprintf (Gbl.F.Out,"</td>"
|
||||||
"<td align=\"right\" class=\"%s\"%s>%s</td>"
|
"<td class=\"%s\" style=\"text-align:right; %s\">"
|
||||||
"<td align=\"right\" class=\"%s\"%s>%s</td>"
|
"%s"
|
||||||
"<td align=\"right\" class=\"%s\"%s>",
|
"</td>"
|
||||||
|
"<td class=\"%s\" style=\"text-align:right; %s\">"
|
||||||
|
"%s"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"%s\" style=\"text-align:right; %s\">",
|
||||||
ClassData,StyleTableCell,StrNumFoldersPerCrs,
|
ClassData,StyleTableCell,StrNumFoldersPerCrs,
|
||||||
ClassData,StyleTableCell,StrNumFilesPerCrs,
|
ClassData,StyleTableCell,StrNumFilesPerCrs,
|
||||||
ClassData,StyleTableCell);
|
ClassData,StyleTableCell);
|
||||||
if (SizeOfFileZones.NumCrss == -1)
|
if (SizeOfFileZones.NumCrss == -1)
|
||||||
fprintf (Gbl.F.Out,"-");
|
fprintf (Gbl.F.Out,"-");
|
||||||
else
|
else
|
||||||
Str_WriteSizeInBytesFull (SizeOfFileZones.NumCrss ? (double) SizeOfFileZones.Size / (double) SizeOfFileZones.NumCrss :
|
Str_WriteSizeInBytesFull (SizeOfFileZones.NumCrss ? (double) SizeOfFileZones.Size /
|
||||||
|
(double) SizeOfFileZones.NumCrss :
|
||||||
0.0);
|
0.0);
|
||||||
fprintf (Gbl.F.Out,"</td>"
|
fprintf (Gbl.F.Out,"</td>"
|
||||||
"<td align=\"right\" class=\"%s\"%s>%s</td>"
|
"<td class=\"%s\" style=\"text-align:right; %s\">"
|
||||||
"<td align=\"right\" class=\"%s\"%s>%s</td>"
|
"%s"
|
||||||
"<td align=\"right\" class=\"%s\"%s>",
|
"</td>"
|
||||||
|
"<td class=\"%s\" style=\"text-align:right; %s\">"
|
||||||
|
"%s"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"%s\" style=\"text-align:right; %s\">",
|
||||||
ClassData,StyleTableCell,StrNumFoldersPerUsr,
|
ClassData,StyleTableCell,StrNumFoldersPerUsr,
|
||||||
ClassData,StyleTableCell,StrNumFilesPerUsr,
|
ClassData,StyleTableCell,StrNumFilesPerUsr,
|
||||||
ClassData,StyleTableCell);
|
ClassData,StyleTableCell);
|
||||||
if (SizeOfFileZones.NumUsrs == -1)
|
if (SizeOfFileZones.NumUsrs == -1)
|
||||||
fprintf (Gbl.F.Out,"-");
|
fprintf (Gbl.F.Out,"-");
|
||||||
else
|
else
|
||||||
Str_WriteSizeInBytesFull (SizeOfFileZones.NumUsrs ? (double) SizeOfFileZones.Size / (double) SizeOfFileZones.NumUsrs :
|
Str_WriteSizeInBytesFull (SizeOfFileZones.NumUsrs ? (double) SizeOfFileZones.Size /
|
||||||
|
(double) SizeOfFileZones.NumUsrs :
|
||||||
0.0);
|
0.0);
|
||||||
fprintf (Gbl.F.Out,"</td>"
|
fprintf (Gbl.F.Out,"</td>"
|
||||||
"</tr>");
|
"</tr>");
|
||||||
|
@ -4792,9 +4809,15 @@ static void Sta_ShowOERs (void)
|
||||||
Sta_GetNumberOfOERFromDB (Gbl.Scope.Current,License,NumFiles);
|
Sta_GetNumberOfOERFromDB (Gbl.Scope.Current,License,NumFiles);
|
||||||
|
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td align=\"left\" class=\"DAT\">%s</td>"
|
"<td class=\"DAT\" style=\"text-align:left;\">"
|
||||||
"<td align=\"right\" class=\"DAT\">%lu</td>"
|
"%s"
|
||||||
"<td align=\"right\" class=\"DAT\">%lu</td>"
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%lu"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%lu"
|
||||||
|
"</td>"
|
||||||
"</tr>",
|
"</tr>",
|
||||||
Txt_LICENSES[License],
|
Txt_LICENSES[License],
|
||||||
NumFiles[0],
|
NumFiles[0],
|
||||||
|
@ -4936,10 +4959,18 @@ static void Sta_ShowAssignmentsStats (void)
|
||||||
|
|
||||||
/***** Write number of assignments *****/
|
/***** Write number of assignments *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td align=\"right\" class=\"DAT\">%u</td>"
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
"<td align=\"right\" class=\"DAT\">%u</td>"
|
"%u"
|
||||||
"<td align=\"right\" class=\"DAT\">%.2f</td>"
|
"</td>"
|
||||||
"<td align=\"right\" class=\"DAT\">%u</td>"
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%.2f"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
"</tr>",
|
"</tr>",
|
||||||
NumAssignments,
|
NumAssignments,
|
||||||
NumCoursesWithAssignments,
|
NumCoursesWithAssignments,
|
||||||
|
@ -4969,6 +5000,8 @@ static void Sta_ShowTestsStats (void)
|
||||||
extern const char *Txt_Total;
|
extern const char *Txt_Total;
|
||||||
Tst_AnswerType_t AnsType;
|
Tst_AnswerType_t AnsType;
|
||||||
struct Tst_Stats Stats;
|
struct Tst_Stats Stats;
|
||||||
|
char *StyleTableCell = " border-style:solid none none none;"
|
||||||
|
" border-width:1px;";
|
||||||
|
|
||||||
/***** Table start *****/
|
/***** Table start *****/
|
||||||
Lay_StartRoundFrameTable10 (NULL,2,NULL);
|
Lay_StartRoundFrameTable10 (NULL,2,NULL);
|
||||||
|
@ -5005,20 +5038,39 @@ static void Sta_ShowTestsStats (void)
|
||||||
|
|
||||||
/***** Write number of assignments *****/
|
/***** Write number of assignments *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td align=\"left\" class=\"DAT\">%s</td>"
|
"<td class=\"DAT\" style=\"text-align:left;\">"
|
||||||
"<td align=\"right\" class=\"DAT\">%u</td>"
|
"%s"
|
||||||
"<td align=\"right\" class=\"DAT\">%u (%.1f%%)</td>"
|
"</td>"
|
||||||
"<td align=\"right\" class=\"DAT\">%u</td>"
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
"<td align=\"right\" class=\"DAT\">%.2f</td>"
|
"%u"
|
||||||
"<td align=\"right\" class=\"DAT\">%lu</td>"
|
"</td>"
|
||||||
"<td align=\"right\" class=\"DAT\">%.2f</td>"
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
"<td align=\"right\" class=\"DAT\">%.2f</td>"
|
"%u (%.1f%%)"
|
||||||
"<td align=\"right\" class=\"DAT\">%.2f</td>"
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%.2f"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%lu"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%.2f"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%.2f"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%.2f"
|
||||||
|
"</td>"
|
||||||
"</tr>",
|
"</tr>",
|
||||||
Txt_TST_STR_ANSWER_TYPES[AnsType],
|
Txt_TST_STR_ANSWER_TYPES[AnsType],
|
||||||
Stats.NumCoursesWithQuestions,
|
Stats.NumCoursesWithQuestions,
|
||||||
Stats.NumCoursesWithPluggableQuestions,
|
Stats.NumCoursesWithPluggableQuestions,
|
||||||
Stats.NumCoursesWithQuestions ? (float) Stats.NumCoursesWithPluggableQuestions * 100.0 / (float) Stats.NumCoursesWithQuestions :
|
Stats.NumCoursesWithQuestions ? (float) Stats.NumCoursesWithPluggableQuestions * 100.0 /
|
||||||
|
(float) Stats.NumCoursesWithQuestions :
|
||||||
0.0,
|
0.0,
|
||||||
Stats.NumQsts,
|
Stats.NumQsts,
|
||||||
Stats.AvgQstsPerCourse,
|
Stats.AvgQstsPerCourse,
|
||||||
|
@ -5034,27 +5086,46 @@ static void Sta_ShowTestsStats (void)
|
||||||
|
|
||||||
/***** Write number of assignments *****/
|
/***** Write number of assignments *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td align=\"left\" class=\"DAT_N\" style=\"border-style:solid none none none;border-width:1px;\">%s</td>"
|
"<td class=\"DAT_N\" style=\"text-align:left; %s\">"
|
||||||
"<td align=\"right\" class=\"DAT_N\" style=\"border-style:solid none none none;border-width:1px;\">%u</td>"
|
"%s"
|
||||||
"<td align=\"right\" class=\"DAT_N\" style=\"border-style:solid none none none;border-width:1px;\">%u (%.1f%%)</td>"
|
"</td>"
|
||||||
"<td align=\"right\" class=\"DAT_N\" style=\"border-style:solid none none none;border-width:1px;\">%u</td>"
|
"<td class=\"DAT_N\" style=\"text-align:right; %s\">"
|
||||||
"<td align=\"right\" class=\"DAT_N\" style=\"border-style:solid none none none;border-width:1px;\">%.2f</td>"
|
"%u"
|
||||||
"<td align=\"right\" class=\"DAT_N\" style=\"border-style:solid none none none;border-width:1px;\">%lu</td>"
|
"</td>"
|
||||||
"<td align=\"right\" class=\"DAT_N\" style=\"border-style:solid none none none;border-width:1px;\">%.2f</td>"
|
"<td class=\"DAT_N\" style=\"text-align:right; %s\">"
|
||||||
"<td align=\"right\" class=\"DAT_N\" style=\"border-style:solid none none none;border-width:1px;\">%.2f</td>"
|
"%u (%.1f%%)"
|
||||||
"<td align=\"right\" class=\"DAT_N\" style=\"border-style:solid none none none;border-width:1px;\">%.2f</td>"
|
"</td>"
|
||||||
|
"<td class=\"DAT_N\" style=\"text-align:right; %s\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT_N\" style=\"text-align:right; %s\">"
|
||||||
|
"%.2f"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT_N\" style=\"text-align:right; %s\">"
|
||||||
|
"%lu"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT_N\" style=\"text-align:right; %s\">"
|
||||||
|
"%.2f"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT_N\" style=\"text-align:right; %s\">"
|
||||||
|
"%.2f"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT_N\" style=\"text-align:right; %s\">"
|
||||||
|
"%.2f"
|
||||||
|
"</td>"
|
||||||
"</tr>",
|
"</tr>",
|
||||||
Txt_Total,
|
StyleTableCell,Txt_Total,
|
||||||
Stats.NumCoursesWithQuestions,
|
StyleTableCell,Stats.NumCoursesWithQuestions,
|
||||||
Stats.NumCoursesWithPluggableQuestions,
|
StyleTableCell,Stats.NumCoursesWithPluggableQuestions,
|
||||||
Stats.NumCoursesWithQuestions ? (float) Stats.NumCoursesWithPluggableQuestions * 100.0 / (float) Stats.NumCoursesWithQuestions :
|
Stats.NumCoursesWithQuestions ? (float) Stats.NumCoursesWithPluggableQuestions * 100.0 /
|
||||||
|
(float) Stats.NumCoursesWithQuestions :
|
||||||
0.0,
|
0.0,
|
||||||
Stats.NumQsts,
|
StyleTableCell,Stats.NumQsts,
|
||||||
Stats.AvgQstsPerCourse,
|
StyleTableCell,Stats.AvgQstsPerCourse,
|
||||||
Stats.NumHits,
|
StyleTableCell,Stats.NumHits,
|
||||||
Stats.AvgHitsPerCourse,
|
StyleTableCell,Stats.AvgHitsPerCourse,
|
||||||
Stats.AvgHitsPerQuestion,
|
StyleTableCell,Stats.AvgHitsPerQuestion,
|
||||||
Stats.AvgScorePerQuestion);
|
StyleTableCell,Stats.AvgScorePerQuestion);
|
||||||
|
|
||||||
/***** End table *****/
|
/***** End table *****/
|
||||||
Lay_EndRoundFrameTable10 ();
|
Lay_EndRoundFrameTable10 ();
|
||||||
|
@ -5111,11 +5182,21 @@ static void Sta_ShowNoticesStats (void)
|
||||||
|
|
||||||
/***** Write number of notices *****/
|
/***** Write number of notices *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td align=\"right\" class=\"DAT\">%u</td>"
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
"<td align=\"right\" class=\"DAT\">%u</td>"
|
"%u"
|
||||||
"<td align=\"right\" class=\"DAT\">%u</td>"
|
"</td>"
|
||||||
"<td align=\"right\" class=\"DAT_N\">%u</td>"
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
"<td align=\"right\" class=\"DAT\">%u</td>"
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT_N\" style=\"text-align:right;\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
"</tr>",
|
"</tr>",
|
||||||
NumNotices[Not_ACTIVE_NOTICE],
|
NumNotices[Not_ACTIVE_NOTICE],
|
||||||
NumNotices[Not_OBSOLETE_NOTICE],
|
NumNotices[Not_OBSOLETE_NOTICE],
|
||||||
|
@ -5171,18 +5252,38 @@ static void Sta_ShowMsgsStats (void)
|
||||||
|
|
||||||
/***** Write number of messages *****/
|
/***** Write number of messages *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td align=\"left\" class=\"DAT\">%s</td>"
|
"<td class=\"DAT\" style=\"text-align:left;\">"
|
||||||
"<td align=\"right\" class=\"DAT\">%u</td>"
|
"%s"
|
||||||
"<td align=\"right\" class=\"DAT\">%u</td>"
|
"</td>"
|
||||||
"<td align=\"right\" class=\"DAT_N\">%u</td>"
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
"<td align=\"right\" class=\"DAT\">-</td>"
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT_N\" style=\"text-align:right;\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"-"
|
||||||
|
"</td>"
|
||||||
"</tr>"
|
"</tr>"
|
||||||
"<tr>"
|
"<tr>"
|
||||||
"<td align=\"left\" class=\"DAT\">%s</td>"
|
"<td class=\"DAT\" style=\"text-align:left;\">"
|
||||||
"<td align=\"right\" class=\"DAT\">%u</td>"
|
"%s"
|
||||||
"<td align=\"right\" class=\"DAT\">%u</td>"
|
"</td>"
|
||||||
"<td align=\"right\" class=\"DAT_N\">%u</td>"
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
"<td align=\"right\" class=\"DAT\">%u</td>"
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT_N\" style=\"text-align:right;\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
"</tr>",
|
"</tr>",
|
||||||
Txt_MSGS_Sent,
|
Txt_MSGS_Sent,
|
||||||
NumMsgsSentNotDeleted,
|
NumMsgsSentNotDeleted,
|
||||||
|
@ -5422,17 +5523,42 @@ static void Sta_WriteForumTitleAndStats (For_ForumType_t ForumType,
|
||||||
|
|
||||||
/***** Write forum name and stats *****/
|
/***** Write forum name and stats *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td align=\"left\" valign=\"top\" width=\"16\">"
|
"<td style=\"width:16px;"
|
||||||
|
" text-align:left; vertical-align:top;\">"
|
||||||
"<img src=\"%s/%s\" alt=\"\" class=\"ICON16x16\" />"
|
"<img src=\"%s/%s\" alt=\"\" class=\"ICON16x16\" />"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td align=\"left\" valign=\"top\" class=\"DAT\">%s%s</td>"
|
"<td class=\"DAT\""
|
||||||
"<td align=\"right\" valign=\"top\" class=\"DAT\">%u</td>"
|
" style=\"text-align:left; vertical-align:top;\">"
|
||||||
"<td align=\"right\" valign=\"top\" class=\"DAT\">%u</td>"
|
"%s%s"
|
||||||
"<td align=\"right\" valign=\"top\" class=\"DAT\">%u</td>"
|
"</td>"
|
||||||
"<td align=\"right\" valign=\"top\" class=\"DAT\">%u</td>"
|
"<td class=\"DAT\""
|
||||||
"<td align=\"right\" valign=\"top\" class=\"DAT\">%.2f</td>"
|
" style=\"text-align:right; vertical-align:top;\">"
|
||||||
"<td align=\"right\" valign=\"top\" class=\"DAT\">%.2f</td>"
|
"%u"
|
||||||
"<td align=\"right\" valign=\"top\" class=\"DAT\">%.2f</td>"
|
"</td>"
|
||||||
|
"<td class=\"DAT\""
|
||||||
|
" style=\"text-align:right; vertical-align:top;\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\""
|
||||||
|
" style=\"text-align:right; vertical-align:top;\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\""
|
||||||
|
" style=\"text-align:right; vertical-align:top;\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\""
|
||||||
|
" style=\"text-align:right; vertical-align:top;\">"
|
||||||
|
"%.2f"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\""
|
||||||
|
" style=\"text-align:right; vertical-align:top;\">"
|
||||||
|
"%.2f"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\""
|
||||||
|
" style=\"text-align:right; vertical-align:top;\">"
|
||||||
|
"%.2f"
|
||||||
|
"</td>"
|
||||||
"</tr>",
|
"</tr>",
|
||||||
Gbl.Prefs.IconsURL,Icon,
|
Gbl.Prefs.IconsURL,Icon,
|
||||||
ForumName1,ForumName2,
|
ForumName1,ForumName2,
|
||||||
|
@ -5450,6 +5576,8 @@ static void Sta_WriteForumTotalStats (struct Sta_StatsForum *StatsForum)
|
||||||
float NumThrsPerForum;
|
float NumThrsPerForum;
|
||||||
float NumPostsPerThread;
|
float NumPostsPerThread;
|
||||||
float NumPostsPerForum;
|
float NumPostsPerForum;
|
||||||
|
char *StyleTableCell = " border-style:solid none none none;"
|
||||||
|
" border-width:1px;";
|
||||||
|
|
||||||
/***** Compute number of threads per forum, number of posts per forum and number of posts per thread *****/
|
/***** Compute number of threads per forum, number of posts per forum and number of posts per thread *****/
|
||||||
NumThrsPerForum = (StatsForum->NumForums ? (float) StatsForum->NumThreads / (float) StatsForum->NumForums :
|
NumThrsPerForum = (StatsForum->NumForums ? (float) StatsForum->NumThreads / (float) StatsForum->NumForums :
|
||||||
|
@ -5461,20 +5589,42 @@ static void Sta_WriteForumTotalStats (struct Sta_StatsForum *StatsForum)
|
||||||
|
|
||||||
/***** Write forum name and stats *****/
|
/***** Write forum name and stats *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td align=\"left\" valign=\"top\" width=\"16\" style=\"border-style:solid none none none;border-width:1px;\">"
|
"<td width=\"16\" style=\"width:16px; %s\">"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT_N\" style=\"text-align:left; vertical-align:top; %s\">"
|
||||||
|
"%s"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT_N\" style=\"text-align:right; vertical-align:top; %s\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT_N\" style=\"text-align:right; vertical-align:top; %s\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT_N\" style=\"text-align:right; vertical-align:top; %s\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT_N\" style=\"text-align:right; vertical-align:top; %s\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT_N\" style=\"text-align:right; vertical-align:top; %s\">"
|
||||||
|
"%.2f"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT_N\" style=\"text-align:right; vertical-align:top; %s\">"
|
||||||
|
"%.2f"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT_N\" style=\"text-align:right; vertical-align:top; %s\">"
|
||||||
|
"%.2f"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td align=\"left\" valign=\"top\" class=\"DAT_N\" style=\"border-style:solid none none none;border-width:1px;\">%s</td>"
|
|
||||||
"<td align=\"right\" valign=\"top\" class=\"DAT_N\" style=\"border-style:solid none none none;border-width:1px;\">%u</td>"
|
|
||||||
"<td align=\"right\" valign=\"top\" class=\"DAT_N\" style=\"border-style:solid none none none;border-width:1px;\">%u</td>"
|
|
||||||
"<td align=\"right\" valign=\"top\" class=\"DAT_N\" style=\"border-style:solid none none none;border-width:1px;\">%u</td>"
|
|
||||||
"<td align=\"right\" valign=\"top\" class=\"DAT_N\" style=\"border-style:solid none none none;border-width:1px;\">%u</td>"
|
|
||||||
"<td align=\"right\" valign=\"top\" class=\"DAT_N\" style=\"border-style:solid none none none;border-width:1px;\">%.2f</td>"
|
|
||||||
"<td align=\"right\" valign=\"top\" class=\"DAT_N\" style=\"border-style:solid none none none;border-width:1px;\">%.2f</td>"
|
|
||||||
"<td align=\"right\" valign=\"top\" class=\"DAT_N\" style=\"border-style:solid none none none;border-width:1px;\">%.2f</td>"
|
|
||||||
"</tr>",
|
"</tr>",
|
||||||
Txt_Total,
|
StyleTableCell,
|
||||||
StatsForum->NumForums,StatsForum->NumThreads,StatsForum->NumPosts,StatsForum->NumUsrsToBeNotifiedByEMail,
|
StyleTableCell,Txt_Total,
|
||||||
NumThrsPerForum,NumPostsPerThread,NumPostsPerForum);
|
StyleTableCell,StatsForum->NumForums,
|
||||||
|
StyleTableCell,StatsForum->NumThreads,
|
||||||
|
StyleTableCell,StatsForum->NumPosts,
|
||||||
|
StyleTableCell,StatsForum->NumUsrsToBeNotifiedByEMail,
|
||||||
|
StyleTableCell,NumThrsPerForum,
|
||||||
|
StyleTableCell,NumPostsPerThread,
|
||||||
|
StyleTableCell,NumPostsPerForum);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -5522,11 +5672,21 @@ static void Sta_ShowSurveysStats (void)
|
||||||
|
|
||||||
/***** Write number of surveys *****/
|
/***** Write number of surveys *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td align=\"right\" class=\"DAT\">%u</td>"
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
"<td align=\"right\" class=\"DAT\">%u</td>"
|
"%u"
|
||||||
"<td align=\"right\" class=\"DAT\">%.2f</td>"
|
"</td>"
|
||||||
"<td align=\"right\" class=\"DAT\">%.2f</td>"
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
"<td align=\"right\" class=\"DAT\">%u</td>"
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%.2f"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%.2f"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
"</tr>",
|
"</tr>",
|
||||||
NumSurveys,
|
NumSurveys,
|
||||||
NumCoursesWithSurveys,
|
NumCoursesWithSurveys,
|
||||||
|
@ -5636,12 +5796,19 @@ static void Sta_GetAndShowNumUsrsPerLanguage (void)
|
||||||
Lan < Txt_NUM_LANGUAGES;
|
Lan < Txt_NUM_LANGUAGES;
|
||||||
Lan++)
|
Lan++)
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td align=\"left\" class=\"DAT\">%s</td>"
|
"<td class=\"DAT\" style=\"text-align:left;\">"
|
||||||
"<td align=\"right\" class=\"DAT\">%u</td>"
|
"%s"
|
||||||
"<td align=\"right\" class=\"DAT\">%5.2f%%</td>"
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%5.2f%%"
|
||||||
|
"</td>"
|
||||||
"</tr>",
|
"</tr>",
|
||||||
Txt_STR_LANG_NAME[Lan],NumUsrs[Lan],
|
Txt_STR_LANG_NAME[Lan],NumUsrs[Lan],
|
||||||
NumUsrsTotal ? 100.0 * (float) NumUsrs[Lan] / (float) NumUsrsTotal :
|
NumUsrsTotal ? (float) NumUsrs[Lan] * 100.0 /
|
||||||
|
(float) NumUsrsTotal :
|
||||||
0);
|
0);
|
||||||
|
|
||||||
Lay_EndRoundFrameTable10 ();
|
Lay_EndRoundFrameTable10 ();
|
||||||
|
@ -5741,15 +5908,20 @@ static void Sta_GetAndShowNumUsrsPerLayout (void)
|
||||||
Layout < Lay_NUM_LAYOUTS;
|
Layout < Lay_NUM_LAYOUTS;
|
||||||
Layout++)
|
Layout++)
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td align=\"center\">"
|
"<td style=\"text-align:center;\">"
|
||||||
"<img src=\"%s/%s32x32.gif\" alt=\"%s\" class=\"ICON32x32\" />"
|
"<img src=\"%s/%s32x32.gif\" alt=\"%s\" class=\"ICON32x32\" />"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td align=\"right\" class=\"DAT\">%u</td>"
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
"<td align=\"right\" class=\"DAT\">%5.2f%%</td>"
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%5.2f%%"
|
||||||
|
"</td>"
|
||||||
"</tr>",
|
"</tr>",
|
||||||
Gbl.Prefs.IconsURL,Lay_LayoutIcons[Layout],Txt_LAYOUT_NAMES[Layout],
|
Gbl.Prefs.IconsURL,Lay_LayoutIcons[Layout],Txt_LAYOUT_NAMES[Layout],
|
||||||
NumUsrs[Layout],
|
NumUsrs[Layout],
|
||||||
NumUsrsTotal ? 100.0 * (float) NumUsrs[Layout] / (float) NumUsrsTotal :
|
NumUsrsTotal ? (float) NumUsrs[Layout] * 100.0 /
|
||||||
|
(float) NumUsrsTotal :
|
||||||
0);
|
0);
|
||||||
|
|
||||||
Lay_EndRoundFrameTable10 ();
|
Lay_EndRoundFrameTable10 ();
|
||||||
|
@ -5849,15 +6021,21 @@ static void Sta_GetAndShowNumUsrsPerTheme (void)
|
||||||
Theme < The_NUM_THEMES;
|
Theme < The_NUM_THEMES;
|
||||||
Theme++)
|
Theme++)
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td align=\"center\">"
|
"<td style=\"text-align:center;\">"
|
||||||
"<img src=\"%s/%s/%s/theme_32x20.gif\" alt=\"%s\" width=\"32\" height=\"20\" />"
|
"<img src=\"%s/%s/%s/theme_32x20.gif\" alt=\"%s\""
|
||||||
|
" style=\"width:32px; height:20px;\" />"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%5.2f%%"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td align=\"right\" class=\"DAT\">%u</td>"
|
|
||||||
"<td align=\"right\" class=\"DAT\">%5.2f%%</td>"
|
|
||||||
"</tr>",
|
"</tr>",
|
||||||
Gbl.Prefs.IconsURL,Cfg_ICON_FOLDER_THEMES,The_ThemeId[Theme],The_ThemeNames[Theme],
|
Gbl.Prefs.IconsURL,Cfg_ICON_FOLDER_THEMES,The_ThemeId[Theme],The_ThemeNames[Theme],
|
||||||
NumUsrs[Theme],
|
NumUsrs[Theme],
|
||||||
NumUsrsTotal ? 100.0 * (float) NumUsrs[Theme] / (float) NumUsrsTotal :
|
NumUsrsTotal ? (float) NumUsrs[Theme] * 100.0 /
|
||||||
|
(float) NumUsrsTotal :
|
||||||
0);
|
0);
|
||||||
|
|
||||||
Lay_EndRoundFrameTable10 ();
|
Lay_EndRoundFrameTable10 ();
|
||||||
|
@ -5954,15 +6132,21 @@ static void Sta_GetAndShowNumUsrsPerColumns (void)
|
||||||
SideCols <= 3;
|
SideCols <= 3;
|
||||||
SideCols++)
|
SideCols++)
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td align=\"center\">"
|
"<td style=\"text-align:center;\">"
|
||||||
"<img src=\"%s/layout%u%u_32x20.gif\" alt=\"%s\" width=\"32\" height=\"20\" />"
|
"<img src=\"%s/layout%u%u_32x20.gif\" alt=\"%s\""
|
||||||
|
" style=\"width:32px; height:20px;\" />"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%5.2f%%"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td align=\"right\" class=\"DAT\">%u</td>"
|
|
||||||
"<td align=\"right\" class=\"DAT\">%5.2f%%</td>"
|
|
||||||
"</tr>",
|
"</tr>",
|
||||||
Gbl.Prefs.IconsURL,SideCols >> 1,SideCols & 1,Txt_LAYOUT_SIDE_COLUMNS[SideCols],
|
Gbl.Prefs.IconsURL,SideCols >> 1,SideCols & 1,Txt_LAYOUT_SIDE_COLUMNS[SideCols],
|
||||||
NumUsrs[SideCols],
|
NumUsrs[SideCols],
|
||||||
NumUsrsTotal ? 100.0 * (float) NumUsrs[SideCols] / (float) NumUsrsTotal :
|
NumUsrsTotal ? (float) NumUsrs[SideCols] * 100.0 /
|
||||||
|
(float) NumUsrsTotal :
|
||||||
0);
|
0);
|
||||||
|
|
||||||
Lay_EndRoundFrameTable10 ();
|
Lay_EndRoundFrameTable10 ();
|
||||||
|
@ -6061,11 +6245,16 @@ static void Sta_GetAndShowNumUsrsPerIconSet (void)
|
||||||
IconSet < Ico_NUM_ICON_SETS;
|
IconSet < Ico_NUM_ICON_SETS;
|
||||||
IconSet++)
|
IconSet++)
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td align=\"left\">"
|
"<td style=\"text-align:left;\">"
|
||||||
"<img src=\"%s/%s/%s/%s/heart32x32.gif\" alt=\"%s\" width=\"32\" height=\"32\" />"
|
"<img src=\"%s/%s/%s/%s/heart32x32.gif\" alt=\"%s\""
|
||||||
|
" style=\"wisth:32px; height:32px;\" />"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%5.2f%%"
|
||||||
"</td>"
|
"</td>"
|
||||||
"<td align=\"right\" class=\"DAT\">%u</td>"
|
|
||||||
"<td align=\"right\" class=\"DAT\">%5.2f%%</td>"
|
|
||||||
"</tr>",
|
"</tr>",
|
||||||
Gbl.Prefs.IconsURL,
|
Gbl.Prefs.IconsURL,
|
||||||
Cfg_ICON_FOLDER_ICON_SETS,
|
Cfg_ICON_FOLDER_ICON_SETS,
|
||||||
|
@ -6073,7 +6262,8 @@ static void Sta_GetAndShowNumUsrsPerIconSet (void)
|
||||||
Cfg_ICON_ACTION_32x32,
|
Cfg_ICON_ACTION_32x32,
|
||||||
Ico_IconSetNames[IconSet],
|
Ico_IconSetNames[IconSet],
|
||||||
NumUsrs[IconSet],
|
NumUsrs[IconSet],
|
||||||
NumUsrsTotal ? 100.0 * (float) NumUsrs[IconSet] / (float) NumUsrsTotal :
|
NumUsrsTotal ? (float) NumUsrs[IconSet] * 100.0 /
|
||||||
|
(float) NumUsrsTotal :
|
||||||
0);
|
0);
|
||||||
|
|
||||||
Lay_EndRoundFrameTable10 ();
|
Lay_EndRoundFrameTable10 ();
|
||||||
|
@ -6103,6 +6293,8 @@ static void Sta_GetAndShowNumUsrsPerNotifyEvent (void)
|
||||||
unsigned NumEvents[Ntf_NUM_NOTIFY_EVENTS];
|
unsigned NumEvents[Ntf_NUM_NOTIFY_EVENTS];
|
||||||
unsigned NumMailsTotal = 0;
|
unsigned NumMailsTotal = 0;
|
||||||
unsigned NumMails[Ntf_NUM_NOTIFY_EVENTS];
|
unsigned NumMails[Ntf_NUM_NOTIFY_EVENTS];
|
||||||
|
char *StyleTableCell = " border-style:solid none none none;"
|
||||||
|
" border-width:1px;";
|
||||||
|
|
||||||
Lay_StartRoundFrameTable10 (NULL,2,NULL);
|
Lay_StartRoundFrameTable10 (NULL,2,NULL);
|
||||||
|
|
||||||
|
@ -6308,33 +6500,55 @@ static void Sta_GetAndShowNumUsrsPerNotifyEvent (void)
|
||||||
NotifyEvent < Ntf_NUM_NOTIFY_EVENTS;
|
NotifyEvent < Ntf_NUM_NOTIFY_EVENTS;
|
||||||
NotifyEvent++) // 0 is reserved for Ntf_EVENT_UNKNOWN
|
NotifyEvent++) // 0 is reserved for Ntf_EVENT_UNKNOWN
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td align=\"left\" class=\"DAT\">%s</td>"
|
"<td class=\"DAT\" style=\"text-align:left;\">"
|
||||||
"<td align=\"right\" class=\"DAT\">%u</td>"
|
"%s"
|
||||||
"<td align=\"right\" class=\"DAT\">%5.2f%%</td>"
|
"</td>"
|
||||||
"<td align=\"right\" class=\"DAT\">%u</td>"
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
"<td align=\"right\" class=\"DAT\">%u</td>"
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%5.2f%%"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT\" style=\"text-align:right;\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
"</tr>",
|
"</tr>",
|
||||||
Txt_NOTIFY_EVENTS_PLURAL[NotifyEvent],
|
Txt_NOTIFY_EVENTS_PLURAL[NotifyEvent],
|
||||||
NumUsrs[NotifyEvent],
|
NumUsrs[NotifyEvent],
|
||||||
NumUsrsTotalInPlatform ? 100.0 * (float) NumUsrs[NotifyEvent] / (float) NumUsrsTotalInPlatform :
|
NumUsrsTotalInPlatform ? (float) NumUsrs[NotifyEvent] * 100.0 /
|
||||||
|
(float) NumUsrsTotalInPlatform :
|
||||||
0.0,
|
0.0,
|
||||||
NumEvents[NotifyEvent],
|
NumEvents[NotifyEvent],
|
||||||
NumMails[NotifyEvent]);
|
NumMails[NotifyEvent]);
|
||||||
|
|
||||||
/***** Write total number of users who want to be notified by e-mail on some event *****/
|
/***** Write total number of users who want to be notified by e-mail on some event *****/
|
||||||
fprintf (Gbl.F.Out,"<tr>"
|
fprintf (Gbl.F.Out,"<tr>"
|
||||||
"<td align=\"left\" class=\"DAT_N\" style=\"border-style:solid none none none;border-width:1px;\">%s</td>"
|
"<td class=\"DAT_N\" style=\"text-align:left; %s\">"
|
||||||
"<td align=\"right\" class=\"DAT_N\" style=\"border-style:solid none none none;border-width:1px;\">%u</td>"
|
"%s"
|
||||||
"<td align=\"right\" class=\"DAT_N\" style=\"border-style:solid none none none;border-width:1px;\">%5.2f%%</td>"
|
"</td>"
|
||||||
"<td align=\"right\" class=\"DAT_N\" style=\"border-style:solid none none none;border-width:1px;\">%u</td>"
|
"<td class=\"DAT_N\" style=\"text-align:right; %s\">"
|
||||||
"<td align=\"right\" class=\"DAT_N\" style=\"border-style:solid none none none;border-width:1px;\">%u</td>"
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT_N\" style=\"text-align:right; %s\">"
|
||||||
|
"%5.2f%%"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT_N\" style=\"text-align:right; %s\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
|
"<td class=\"DAT_N\" style=\"text-align:right; %s\">"
|
||||||
|
"%u"
|
||||||
|
"</td>"
|
||||||
"</tr>",
|
"</tr>",
|
||||||
Txt_Total,
|
StyleTableCell,Txt_Total,
|
||||||
NumUsrsTotalWhoWantToBeNotifiedByEMailAboutSomeEvent,
|
StyleTableCell,NumUsrsTotalWhoWantToBeNotifiedByEMailAboutSomeEvent,
|
||||||
NumUsrsTotalInPlatform ? 100.0 * (float) NumUsrsTotalWhoWantToBeNotifiedByEMailAboutSomeEvent / (float) NumUsrsTotalInPlatform :
|
StyleTableCell,NumUsrsTotalInPlatform ? (float) NumUsrsTotalWhoWantToBeNotifiedByEMailAboutSomeEvent * 100.0 /
|
||||||
0.0,
|
(float) NumUsrsTotalInPlatform :
|
||||||
NumEventsTotal,
|
0.0,
|
||||||
NumMailsTotal);
|
StyleTableCell,NumEventsTotal,
|
||||||
|
StyleTableCell,NumMailsTotal);
|
||||||
|
|
||||||
Lay_EndRoundFrameTable10 ();
|
Lay_EndRoundFrameTable10 ();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user