mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-10 10:45:23 +02:00
Version19.180.5
This commit is contained in:
parent
394dd3627a
commit
304628776b
|
@ -497,7 +497,7 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
|
||||||
En OpenSWAD:
|
En OpenSWAD:
|
||||||
ps2pdf source.ps destination.pdf
|
ps2pdf source.ps destination.pdf
|
||||||
*/
|
*/
|
||||||
#define Log_PLATFORM_VERSION "SWAD 19.180.4 (2020-04-13)"
|
#define Log_PLATFORM_VERSION "SWAD 19.180.5 (2020-04-13)"
|
||||||
#define CSS_FILE "swad19.146.css"
|
#define CSS_FILE "swad19.146.css"
|
||||||
#define JS_FILE "swad19.172.1.js"
|
#define JS_FILE "swad19.172.1.js"
|
||||||
/*
|
/*
|
||||||
|
@ -548,6 +548,7 @@ Funci
|
||||||
// TODO: Oresti Baños: cambiar ojos por candados en descriptores para prohibir/permitir y dejar los ojos para poder elegir descriptores
|
// TODO: Oresti Baños: cambiar ojos por candados en descriptores para prohibir/permitir y dejar los ojos para poder elegir descriptores
|
||||||
// TODO: Integrar pull requests con traducciones del alemán del usuario eruedin en GitHub
|
// TODO: Integrar pull requests con traducciones del alemán del usuario eruedin en GitHub
|
||||||
|
|
||||||
|
Version 19.180.5: Apr 13, 2020 Fixed bug in statistics. (285637 lines)
|
||||||
Version 19.180.4: Apr 13, 2020 Fixed bug in attendance.
|
Version 19.180.4: Apr 13, 2020 Fixed bug in attendance.
|
||||||
Fixed bug in lists of users.
|
Fixed bug in lists of users.
|
||||||
Fixed bug in dates (assignments, agenda). (285622 lines)
|
Fixed bug in dates (assignments, agenda). (285622 lines)
|
||||||
|
@ -598,8 +599,10 @@ INSERT INTO log SELECT * FROM log_full WHERE YEAR(ClickTime) = 2016;
|
||||||
INSERT INTO log SELECT * FROM log_full WHERE YEAR(ClickTime) = 2017;
|
INSERT INTO log SELECT * FROM log_full WHERE YEAR(ClickTime) = 2017;
|
||||||
INSERT INTO log SELECT * FROM log_full WHERE YEAR(ClickTime) = 2018;
|
INSERT INTO log SELECT * FROM log_full WHERE YEAR(ClickTime) = 2018;
|
||||||
INSERT INTO log SELECT * FROM log_full WHERE YEAR(ClickTime) = 2019;
|
INSERT INTO log SELECT * FROM log_full WHERE YEAR(ClickTime) = 2019;
|
||||||
|
|
||||||
INSERT INTO log SELECT * FROM log_full WHERE YEAR(ClickTime) = 2020;
|
INSERT INTO log SELECT * FROM log_full WHERE YEAR(ClickTime) = 2020;
|
||||||
INSERT INTO log SELECT * FROM log_full WHERE YEAR(ClickTime) > 2020;
|
INSERT INTO log SELECT * FROM log_full WHERE YEAR(ClickTime) > 2020;
|
||||||
|
|
||||||
RENAME TABLE log_full TO log_old;
|
RENAME TABLE log_full TO log_old;
|
||||||
|
|
||||||
Version 19.162: Apr 04, 2020 Code refactoring in tests. (284492 lines)
|
Version 19.162: Apr 04, 2020 Code refactoring in tests. (284492 lines)
|
||||||
|
@ -613,8 +616,8 @@ sudo cp icon/filext32x32/m4a32x32.gif /var/www/html/swad/icon/filext32x32/
|
||||||
Version 19.159: Apr 03, 2020 Code refactoring and bug fixing in tests. (285052 lines)
|
Version 19.159: Apr 03, 2020 Code refactoring and bug fixing in tests. (285052 lines)
|
||||||
Version 19.158: Apr 02, 2020 Lot of code refactoring in tests. (285031 lines)
|
Version 19.158: Apr 02, 2020 Lot of code refactoring in tests. (285031 lines)
|
||||||
5 changes necessary in database:
|
5 changes necessary in database:
|
||||||
ALTER TABLE tst_exams RENAME INDEX TstCod TO ExaCod;
|
|
||||||
ALTER TABLE tst_exams CHANGE COLUMN TstCod ExaCod INT NOT NULL AUTO_INCREMENT;
|
ALTER TABLE tst_exams CHANGE COLUMN TstCod ExaCod INT NOT NULL AUTO_INCREMENT;
|
||||||
|
ALTER TABLE tst_exams DROP INDEX TstCod,ADD UNIQUE INDEX(ExaCod);
|
||||||
|
|
||||||
DROP INDEX TstCod ON tst_exam_questions;
|
DROP INDEX TstCod ON tst_exam_questions;
|
||||||
ALTER TABLE tst_exam_questions CHANGE COLUMN TstCod ExaCod INT NOT NULL;
|
ALTER TABLE tst_exam_questions CHANGE COLUMN TstCod ExaCod INT NOT NULL;
|
||||||
|
|
|
@ -100,6 +100,9 @@ typedef enum
|
||||||
/***************************** Private prototypes ****************************/
|
/***************************** Private prototypes ****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
static void Sta_PutFormCrsHits (struct Sta_Stats *Stats);
|
||||||
|
static void Sta_PutFormGblHits (struct Sta_Stats *Stats);
|
||||||
|
|
||||||
static void Sta_WriteSelectorCountType (const struct Sta_Stats *Stats);
|
static void Sta_WriteSelectorCountType (const struct Sta_Stats *Stats);
|
||||||
static void Sta_WriteSelectorAction (const struct Sta_Stats *Stats);
|
static void Sta_WriteSelectorAction (const struct Sta_Stats *Stats);
|
||||||
static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse);
|
static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse);
|
||||||
|
@ -207,6 +210,17 @@ void Sta_GetRemoteAddr (void)
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Sta_AskShowCrsHits (void)
|
void Sta_AskShowCrsHits (void)
|
||||||
|
{
|
||||||
|
struct Sta_Stats Stats;
|
||||||
|
|
||||||
|
/***** Reset stats context *****/
|
||||||
|
Sta_ResetStats (&Stats);
|
||||||
|
|
||||||
|
/***** Show form to select global hits *****/
|
||||||
|
Sta_PutFormCrsHits (&Stats);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void Sta_PutFormCrsHits (struct Sta_Stats *Stats)
|
||||||
{
|
{
|
||||||
extern const char *Hlp_ANALYTICS_Visits_visits_to_course;
|
extern const char *Hlp_ANALYTICS_Visits_visits_to_course;
|
||||||
extern const char *The_ClassFormInBox[The_NUM_THEMES];
|
extern const char *The_ClassFormInBox[The_NUM_THEMES];
|
||||||
|
@ -234,16 +248,12 @@ void Sta_AskShowCrsHits (void)
|
||||||
Sta_MAX_ROWS_PER_PAGE,
|
Sta_MAX_ROWS_PER_PAGE,
|
||||||
};
|
};
|
||||||
#define NUM_OPTIONS_ROWS_PER_PAGE (sizeof (RowsPerPage) / sizeof (RowsPerPage[0]))
|
#define NUM_OPTIONS_ROWS_PER_PAGE (sizeof (RowsPerPage) / sizeof (RowsPerPage[0]))
|
||||||
struct Sta_Stats Stats;
|
|
||||||
Dat_SetHMS SetHMS[Dat_NUM_START_END_TIME];
|
Dat_SetHMS SetHMS[Dat_NUM_START_END_TIME];
|
||||||
unsigned NumTotalUsrs;
|
unsigned NumTotalUsrs;
|
||||||
Sta_ClicksGroupedBy_t ClicksGroupedBy;
|
Sta_ClicksGroupedBy_t ClicksGroupedBy;
|
||||||
unsigned ClicksGroupedByUnsigned;
|
unsigned ClicksGroupedByUnsigned;
|
||||||
size_t i;
|
size_t i;
|
||||||
|
|
||||||
/***** Reset stats context *****/
|
|
||||||
Sta_ResetStats (&Stats);
|
|
||||||
|
|
||||||
/***** Contextual menu *****/
|
/***** Contextual menu *****/
|
||||||
Mnu_ContextMenuBegin ();
|
Mnu_ContextMenuBegin ();
|
||||||
Sta_PutLinkToGlobalHits (); // Global hits
|
Sta_PutLinkToGlobalHits (); // Global hits
|
||||||
|
@ -332,7 +342,7 @@ void Sta_AskShowCrsHits (void)
|
||||||
Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (SetHMS);
|
Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (SetHMS);
|
||||||
|
|
||||||
/***** Selection of action *****/
|
/***** Selection of action *****/
|
||||||
Sta_WriteSelectorAction (&Stats);
|
Sta_WriteSelectorAction (Stats);
|
||||||
|
|
||||||
/***** Option a) Listing of clicks distributed by some metric *****/
|
/***** Option a) Listing of clicks distributed by some metric *****/
|
||||||
HTM_TR_Begin (NULL);
|
HTM_TR_Begin (NULL);
|
||||||
|
@ -343,19 +353,19 @@ void Sta_AskShowCrsHits (void)
|
||||||
|
|
||||||
HTM_TD_Begin ("class=\"LM\"");
|
HTM_TD_Begin ("class=\"LM\"");
|
||||||
|
|
||||||
if ((Stats.ClicksGroupedBy < Sta_CLICKS_CRS_PER_USR ||
|
if ((Stats->ClicksGroupedBy < Sta_CLICKS_CRS_PER_USR ||
|
||||||
Stats.ClicksGroupedBy > Sta_CLICKS_CRS_PER_ACTION) &&
|
Stats->ClicksGroupedBy > Sta_CLICKS_CRS_PER_ACTION) &&
|
||||||
Stats.ClicksGroupedBy != Sta_CLICKS_CRS_DETAILED_LIST)
|
Stats->ClicksGroupedBy != Sta_CLICKS_CRS_DETAILED_LIST)
|
||||||
Stats.ClicksGroupedBy = Sta_CLICKS_GROUPED_BY_DEFAULT;
|
Stats->ClicksGroupedBy = Sta_CLICKS_GROUPED_BY_DEFAULT;
|
||||||
|
|
||||||
HTM_INPUT_RADIO ("GroupedOrDetailed",false,
|
HTM_INPUT_RADIO ("GroupedOrDetailed",false,
|
||||||
"value=\"%u\"%s onclick=\"disableDetailedClicks();\"",
|
"value=\"%u\"%s onclick=\"disableDetailedClicks();\"",
|
||||||
(unsigned) Sta_CLICKS_GROUPED,
|
(unsigned) Sta_CLICKS_GROUPED,
|
||||||
Stats.ClicksGroupedBy == Sta_CLICKS_CRS_DETAILED_LIST ? "" :
|
Stats->ClicksGroupedBy == Sta_CLICKS_CRS_DETAILED_LIST ? "" :
|
||||||
" checked=\"checked\"");
|
" checked=\"checked\"");
|
||||||
|
|
||||||
/* Selection of count type (number of pages generated, accesses per user, etc.) */
|
/* Selection of count type (number of pages generated, accesses per user, etc.) */
|
||||||
Sta_WriteSelectorCountType (&Stats);
|
Sta_WriteSelectorCountType (Stats);
|
||||||
|
|
||||||
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
|
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
|
||||||
HTM_TxtF (" %s ",Txt_distributed_by);
|
HTM_TxtF (" %s ",Txt_distributed_by);
|
||||||
|
@ -367,7 +377,7 @@ void Sta_AskShowCrsHits (void)
|
||||||
{
|
{
|
||||||
ClicksGroupedByUnsigned = (unsigned) ClicksGroupedBy;
|
ClicksGroupedByUnsigned = (unsigned) ClicksGroupedBy;
|
||||||
HTM_OPTION (HTM_Type_UNSIGNED,&ClicksGroupedByUnsigned,
|
HTM_OPTION (HTM_Type_UNSIGNED,&ClicksGroupedByUnsigned,
|
||||||
ClicksGroupedBy == Stats.ClicksGroupedBy,false,
|
ClicksGroupedBy == Stats->ClicksGroupedBy,false,
|
||||||
"%s",Txt_STAT_CLICKS_GROUPED_BY[ClicksGroupedBy]);
|
"%s",Txt_STAT_CLICKS_GROUPED_BY[ClicksGroupedBy]);
|
||||||
}
|
}
|
||||||
HTM_SELECT_End ();
|
HTM_SELECT_End ();
|
||||||
|
@ -381,8 +391,8 @@ void Sta_AskShowCrsHits (void)
|
||||||
HTM_INPUT_RADIO ("GroupedOrDetailed",false,
|
HTM_INPUT_RADIO ("GroupedOrDetailed",false,
|
||||||
"value=\"%u\"%s onclick=\"enableDetailedClicks();\"",
|
"value=\"%u\"%s onclick=\"enableDetailedClicks();\"",
|
||||||
(unsigned) Sta_CLICKS_DETAILED,
|
(unsigned) Sta_CLICKS_DETAILED,
|
||||||
Stats.ClicksGroupedBy == Sta_CLICKS_CRS_DETAILED_LIST ? " checked=\"checked\"" :
|
Stats->ClicksGroupedBy == Sta_CLICKS_CRS_DETAILED_LIST ? " checked=\"checked\"" :
|
||||||
"");
|
"");
|
||||||
HTM_Txt (Txt_STAT_CLICKS_GROUPED_BY[Sta_CLICKS_CRS_DETAILED_LIST]);
|
HTM_Txt (Txt_STAT_CLICKS_GROUPED_BY[Sta_CLICKS_CRS_DETAILED_LIST]);
|
||||||
HTM_LABEL_End ();
|
HTM_LABEL_End ();
|
||||||
|
|
||||||
|
@ -395,13 +405,13 @@ void Sta_AskShowCrsHits (void)
|
||||||
HTM_TxtF ("(%s: ",Txt_results_per_page);
|
HTM_TxtF ("(%s: ",Txt_results_per_page);
|
||||||
HTM_SELECT_Begin (false,
|
HTM_SELECT_Begin (false,
|
||||||
"id=\"RowsPage\" name=\"RowsPage\"%s",
|
"id=\"RowsPage\" name=\"RowsPage\"%s",
|
||||||
Stats.ClicksGroupedBy == Sta_CLICKS_CRS_DETAILED_LIST ? "" :
|
Stats->ClicksGroupedBy == Sta_CLICKS_CRS_DETAILED_LIST ? "" :
|
||||||
" disabled=\"disabled\"");
|
" disabled=\"disabled\"");
|
||||||
for (i = 0;
|
for (i = 0;
|
||||||
i < NUM_OPTIONS_ROWS_PER_PAGE;
|
i < NUM_OPTIONS_ROWS_PER_PAGE;
|
||||||
i++)
|
i++)
|
||||||
HTM_OPTION (HTM_Type_UNSIGNED,&RowsPerPage[i],
|
HTM_OPTION (HTM_Type_UNSIGNED,&RowsPerPage[i],
|
||||||
RowsPerPage[i] == Stats.RowsPerPage,false,
|
RowsPerPage[i] == Stats->RowsPerPage,false,
|
||||||
"%u",RowsPerPage[i]);
|
"%u",RowsPerPage[i]);
|
||||||
HTM_SELECT_End ();
|
HTM_SELECT_End ();
|
||||||
HTM_Txt (")");
|
HTM_Txt (")");
|
||||||
|
@ -444,6 +454,17 @@ void Sta_AskShowCrsHits (void)
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
void Sta_AskShowGblHits (void)
|
void Sta_AskShowGblHits (void)
|
||||||
|
{
|
||||||
|
struct Sta_Stats Stats;
|
||||||
|
|
||||||
|
/***** Reset stats context *****/
|
||||||
|
Sta_ResetStats (&Stats);
|
||||||
|
|
||||||
|
/***** Show form to select global hits *****/
|
||||||
|
Sta_PutFormGblHits (&Stats);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void Sta_PutFormGblHits (struct Sta_Stats *Stats)
|
||||||
{
|
{
|
||||||
extern const char *Hlp_ANALYTICS_Visits_global_visits;
|
extern const char *Hlp_ANALYTICS_Visits_global_visits;
|
||||||
extern const char *The_ClassFormInBox[The_NUM_THEMES];
|
extern const char *The_ClassFormInBox[The_NUM_THEMES];
|
||||||
|
@ -455,7 +476,6 @@ void Sta_AskShowGblHits (void)
|
||||||
extern const char *Txt_distributed_by;
|
extern const char *Txt_distributed_by;
|
||||||
extern const char *Txt_STAT_CLICKS_GROUPED_BY[Sta_NUM_CLICKS_GROUPED_BY];
|
extern const char *Txt_STAT_CLICKS_GROUPED_BY[Sta_NUM_CLICKS_GROUPED_BY];
|
||||||
extern const char *Txt_Show_hits;
|
extern const char *Txt_Show_hits;
|
||||||
struct Sta_Stats Stats;
|
|
||||||
static const Dat_SetHMS SetHMS[Dat_NUM_START_END_TIME] =
|
static const Dat_SetHMS SetHMS[Dat_NUM_START_END_TIME] =
|
||||||
{
|
{
|
||||||
[Dat_START_TIME] = Dat_HMS_TO_000000,
|
[Dat_START_TIME] = Dat_HMS_TO_000000,
|
||||||
|
@ -466,9 +486,6 @@ void Sta_AskShowGblHits (void)
|
||||||
Sta_ClicksGroupedBy_t ClicksGroupedBy;
|
Sta_ClicksGroupedBy_t ClicksGroupedBy;
|
||||||
unsigned ClicksGroupedByUnsigned;
|
unsigned ClicksGroupedByUnsigned;
|
||||||
|
|
||||||
/***** Reset stats context *****/
|
|
||||||
Sta_ResetStats (&Stats);
|
|
||||||
|
|
||||||
/***** Contextual menu *****/
|
/***** Contextual menu *****/
|
||||||
Mnu_ContextMenuBegin ();
|
Mnu_ContextMenuBegin ();
|
||||||
Sta_PutLinkToCourseHits (); // Course hits
|
Sta_PutLinkToCourseHits (); // Course hits
|
||||||
|
@ -502,7 +519,7 @@ void Sta_AskShowGblHits (void)
|
||||||
{
|
{
|
||||||
RoleStatUnsigned = (unsigned) RoleStat;
|
RoleStatUnsigned = (unsigned) RoleStat;
|
||||||
HTM_OPTION (HTM_Type_UNSIGNED,&RoleStatUnsigned,
|
HTM_OPTION (HTM_Type_UNSIGNED,&RoleStatUnsigned,
|
||||||
RoleStat == Stats.Role,false,
|
RoleStat == Stats->Role,false,
|
||||||
"%s",Txt_ROLE_STATS[RoleStat]);
|
"%s",Txt_ROLE_STATS[RoleStat]);
|
||||||
}
|
}
|
||||||
HTM_SELECT_End ();
|
HTM_SELECT_End ();
|
||||||
|
@ -511,7 +528,7 @@ void Sta_AskShowGblHits (void)
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
|
|
||||||
/***** Selection of action *****/
|
/***** Selection of action *****/
|
||||||
Sta_WriteSelectorAction (&Stats);
|
Sta_WriteSelectorAction (Stats);
|
||||||
|
|
||||||
/***** Clicks made from anywhere, current centre, current degree or current course *****/
|
/***** Clicks made from anywhere, current centre, current degree or current course *****/
|
||||||
HTM_TR_Begin (NULL);
|
HTM_TR_Begin (NULL);
|
||||||
|
@ -542,15 +559,15 @@ void Sta_AskShowGblHits (void)
|
||||||
|
|
||||||
/* Data */
|
/* Data */
|
||||||
HTM_TD_Begin ("class=\"LT\"");
|
HTM_TD_Begin ("class=\"LT\"");
|
||||||
Sta_WriteSelectorCountType (&Stats);
|
Sta_WriteSelectorCountType (Stats);
|
||||||
|
|
||||||
/***** Type of statistic *****/
|
/***** Type of statistic *****/
|
||||||
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
|
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
|
||||||
HTM_TxtF (" %s ",Txt_distributed_by);
|
HTM_TxtF (" %s ",Txt_distributed_by);
|
||||||
|
|
||||||
if (Stats.ClicksGroupedBy < Sta_CLICKS_GBL_PER_DAY ||
|
if (Stats->ClicksGroupedBy < Sta_CLICKS_GBL_PER_DAY ||
|
||||||
Stats.ClicksGroupedBy > Sta_CLICKS_GBL_PER_COURSE)
|
Stats->ClicksGroupedBy > Sta_CLICKS_GBL_PER_COURSE)
|
||||||
Stats.ClicksGroupedBy = Sta_CLICKS_GBL_PER_DAY;
|
Stats->ClicksGroupedBy = Sta_CLICKS_GBL_PER_DAY;
|
||||||
|
|
||||||
HTM_SELECT_Begin (false,
|
HTM_SELECT_Begin (false,
|
||||||
"name=\"GroupedBy\"");
|
"name=\"GroupedBy\"");
|
||||||
|
@ -560,7 +577,7 @@ void Sta_AskShowGblHits (void)
|
||||||
{
|
{
|
||||||
ClicksGroupedByUnsigned = (unsigned) ClicksGroupedBy;
|
ClicksGroupedByUnsigned = (unsigned) ClicksGroupedBy;
|
||||||
HTM_OPTION (HTM_Type_UNSIGNED,&ClicksGroupedByUnsigned,
|
HTM_OPTION (HTM_Type_UNSIGNED,&ClicksGroupedByUnsigned,
|
||||||
ClicksGroupedBy == Stats.ClicksGroupedBy,false,
|
ClicksGroupedBy == Stats->ClicksGroupedBy,false,
|
||||||
"%s",Txt_STAT_CLICKS_GROUPED_BY[ClicksGroupedBy]);
|
"%s",Txt_STAT_CLICKS_GROUPED_BY[ClicksGroupedBy]);
|
||||||
}
|
}
|
||||||
HTM_SELECT_End ();
|
HTM_SELECT_End ();
|
||||||
|
@ -704,11 +721,13 @@ void Sta_SetIniEndDates (void)
|
||||||
|
|
||||||
void Sta_SeeGblAccesses (void)
|
void Sta_SeeGblAccesses (void)
|
||||||
{
|
{
|
||||||
|
/***** Show hits *****/
|
||||||
Sta_ShowHits (Sta_SHOW_GLOBAL_ACCESSES);
|
Sta_ShowHits (Sta_SHOW_GLOBAL_ACCESSES);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Sta_SeeCrsAccesses (void)
|
void Sta_SeeCrsAccesses (void)
|
||||||
{
|
{
|
||||||
|
/***** Show hits *****/
|
||||||
Sta_ShowHits (Sta_SHOW_COURSE_ACCESSES);
|
Sta_ShowHits (Sta_SHOW_COURSE_ACCESSES);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -814,7 +833,7 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
|
||||||
Sco_GetScope ("ScopeSta");
|
Sco_GetScope ("ScopeSta");
|
||||||
|
|
||||||
/***** Show form again *****/
|
/***** Show form again *****/
|
||||||
Sta_AskShowGblHits ();
|
Sta_PutFormGblHits (&Stats);
|
||||||
|
|
||||||
/***** Start results section *****/
|
/***** Start results section *****/
|
||||||
HTM_SECTION_Begin (Sta_STAT_RESULTS_SECTION_ID);
|
HTM_SECTION_Begin (Sta_STAT_RESULTS_SECTION_ID);
|
||||||
|
@ -857,7 +876,7 @@ static void Sta_ShowHits (Sta_GlobalOrCourseAccesses_t GlobalOrCourse)
|
||||||
Usr_GetListsSelectedEncryptedUsrsCods (&Gbl.Usrs.Selected);
|
Usr_GetListsSelectedEncryptedUsrsCods (&Gbl.Usrs.Selected);
|
||||||
|
|
||||||
/***** Show the form again *****/
|
/***** Show the form again *****/
|
||||||
Sta_AskShowCrsHits ();
|
Sta_PutFormCrsHits (&Stats);
|
||||||
|
|
||||||
/***** Start results section *****/
|
/***** Start results section *****/
|
||||||
HTM_SECTION_Begin (Sta_STAT_RESULTS_SECTION_ID);
|
HTM_SECTION_Begin (Sta_STAT_RESULTS_SECTION_ID);
|
||||||
|
|
Loading…
Reference in New Issue
Block a user