Compare commits

...

4 Commits

8 changed files with 116 additions and 75 deletions

View File

@ -5044,12 +5044,6 @@ button.PAG_DARK:hover, .PAG_CUR_DARK {background-color:#707070;}
height:10px; height:10px;
} }
/********************************** Statistics *******************************/
.STAT_SEL
{
width:300px;
}
/******************************** User's report ******************************/ /******************************** User's report ******************************/
.TITLE_REPORT .TITLE_REPORT
{ {

View File

@ -1801,7 +1801,7 @@ const struct Act_Actions ActLst_Actions[ActLst_NUM_ACTIONS] =
[ActRemSvyQst ] = { 981,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_RemoveQst ,NULL}, [ActRemSvyQst ] = { 981,-1,TabUnk,ActSeeAllSvy ,0x3E0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,0x3C0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Svy_RemoveQst ,NULL},
[ActSeeAccGbl ] = { 79,-1,TabUnk,ActReqAccGbl ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Sta_SeeGblAccesses ,NULL}, [ActSeeAccGbl ] = { 79,-1,TabUnk,ActReqAccGbl ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Sta_SeeGblAccesses ,NULL},
[ActReqAccCrs ] = { 594,-1,TabUnk,ActReqAccGbl ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Dat_SetIniEndDatesToRecentWeeks,Sta_AskShowCrsHits ,NULL}, [ActReqAccCrs ] = { 594,-1,TabUnk,ActReqAccGbl ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,Dat_SetIniEndDatesToRecentWeeks,Sta_ReqCrsHits ,NULL},
[ActSeeAccCrs ] = { 119,-1,TabUnk,ActReqAccGbl ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Sta_SeeCrsAccesses ,NULL}, [ActSeeAccCrs ] = { 119,-1,TabUnk,ActReqAccGbl ,0x230,0x200, 0, 0, 0, 0, 0,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Sta_SeeCrsAccesses ,NULL},
[ActLstClk ] = { 989,-1,TabUnk,ActReqAccGbl ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Log_ShowLastClicks ,NULL}, [ActLstClk ] = { 989,-1,TabUnk,ActReqAccGbl ,0x3F8,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,0x3C6,Act_CONT_NORM,Act_BRW_1ST_TAB,NULL ,Log_ShowLastClicks ,NULL},

View File

@ -633,10 +633,13 @@ Me sale este error, no s
"can npt create received message (duplicated entry '243218-2160773' for key 'UsrCod_MsgCod') "can npt create received message (duplicated entry '243218-2160773' for key 'UsrCod_MsgCod')
*/ */
#define Log_PLATFORM_VERSION "SWAD 23.59 (2024-01-24)" #define Log_PLATFORM_VERSION "SWAD 23.59.3 (2024-01-24)"
#define CSS_FILE "swad23.58.1.css" #define CSS_FILE "swad23.58.1.css"
#define JS_FILE "swad23.53.6.js" #define JS_FILE "swad23.53.6.js"
/* /*
Version 23.59.3: Jan 24, 2024 Responsive design in course hits. (335698 lines)
Version 23.59.2: Jan 24, 2024 Responsive design in global hits. (335672 lines)
Version 23.59.1: Jan 24, 2024 Responsive design in surveys. (335668 lines)
Version 23.59: Jan 24, 2024 Responsive design in assignments. (335664 lines) Version 23.59: Jan 24, 2024 Responsive design in assignments. (335664 lines)
Version 23.58.1: Jan 20, 2024 Changes in layout. (335670 lines) Version 23.58.1: Jan 20, 2024 Changes in layout. (335670 lines)
Version 23.58: Jan 20, 2024 Responsive design and layout changes in exam sets. (335673 lines) Version 23.58: Jan 20, 2024 Responsive design and layout changes in exam sets. (335673 lines)

View File

@ -52,7 +52,8 @@ void Sco_PutSelectorScope (const char *ParName,HTM_SubmitOnChange_t SubmitOnChan
bool WriteScope; bool WriteScope;
HTM_SELECT_Begin (SubmitOnChange,NULL, HTM_SELECT_Begin (SubmitOnChange,NULL,
"id=\"%s\" name=\"%s\" class=\"REC_C2_BOT_INPUT INPUT_%s\"", "id=\"%s\" name=\"%s\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
ParName,ParName,The_GetSuffix ()); ParName,ParName,The_GetSuffix ());
for (Level = (Hie_Level_t) 1; for (Level = (Hie_Level_t) 1;

View File

@ -192,10 +192,10 @@ void Sta_ResetStats (struct Sta_Stats *Stats)
} }
/*****************************************************************************/ /*****************************************************************************/
/******************** Show a form to make a query of clicks ******************/ /**************** Show a form to make a query of course hits *****************/
/*****************************************************************************/ /*****************************************************************************/
void Sta_AskShowCrsHits (void) void Sta_ReqCrsHits (void)
{ {
struct Sta_Stats Stats; struct Sta_Stats Stats;
@ -212,6 +212,7 @@ static void Sta_PutFormCrsHits (struct Sta_Stats *Stats)
extern const char *Txt_Statistics_of_visits_to_the_course_X; extern const char *Txt_Statistics_of_visits_to_the_course_X;
extern const char *Txt_Users; extern const char *Txt_Users;
extern const char *Txt_Show; extern const char *Txt_Show;
extern const char *Txt_Graph;
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_results_per_page; extern const char *Txt_results_per_page;
@ -296,12 +297,16 @@ static void Sta_PutFormCrsHits (struct Sta_Stats *Stats)
Par_PutParLong (NULL,"FirstRow",0); Par_PutParLong (NULL,"FirstRow",0);
Par_PutParLong (NULL,"LastRow",0); Par_PutParLong (NULL,"LastRow",0);
/***** Put list of users to select some of them *****/
HTM_TABLE_BeginCenterPadding (2); HTM_TABLE_BeginCenterPadding (2);
/***** List of users to select some of them *****/
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
HTM_TD_TxtColon (Txt_Users);
HTM_TD_Begin ("class=\"LT FORM_IN_%s\"", /* Label */
Frm_LabelColumn ("REC_C1_BOT RT","",Txt_Users);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT FORM_IN_%s\"",
The_GetSuffix ()); The_GetSuffix ());
HTM_TABLE_Begin (NULL); HTM_TABLE_Begin (NULL);
Usr_ListUsersToSelect (Rol_TCH,&Gbl.Usrs.Selected); Usr_ListUsersToSelect (Rol_TCH,&Gbl.Usrs.Selected);
@ -327,26 +332,33 @@ static void Sta_PutFormCrsHits (struct Sta_Stats *Stats)
/***** Selection of action *****/ /***** Selection of action *****/
Sta_WriteSelectorAction (Stats); Sta_WriteSelectorAction (Stats);
/***** Option a) Listing of clicks distributed by some metric *****/ /***** Listing of clicks (graphic or detailed) *****/
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM FORM_IN_%s\"", /* Label */
The_GetSuffix ()); Frm_LabelColumn ("REC_C1_BOT RT","",Txt_Show);
HTM_TxtColon (Txt_Show);
HTM_TD_End ();
HTM_TD_Begin ("class=\"LM\""); /* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT 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",HTM_DONT_SUBMIT_ON_CLICK, /***** Option a) Graphic of clicks in this course *****/
"value=\"%u\"%s onclick=\"disableDetailedClicks();\"", HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",
(unsigned) Sta_CLICKS_GROUPED, The_GetSuffix ());
Stats->ClicksGroupedBy == Sta_CLICKS_CRS_DETAILED_LIST ? "" : HTM_INPUT_RADIO ("GroupedOrDetailed",HTM_DONT_SUBMIT_ON_CLICK,
" checked=\"checked\""); "value=\"%u\"%s onclick=\"disableDetailedClicks();\"",
(unsigned) Sta_CLICKS_GROUPED,
Stats->ClicksGroupedBy == Sta_CLICKS_CRS_DETAILED_LIST ? "" :
" checked=\"checked\"");
HTM_Txt (Txt_Graph);
HTM_LABEL_End ();
/* Separator */
HTM_BR ();
/* 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);
@ -377,7 +389,7 @@ static void Sta_PutFormCrsHits (struct Sta_Stats *Stats)
/***** Option b) Listing of detailed clicks to this course *****/ /***** Option b) Listing of detailed clicks to this course *****/
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"", HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",
The_GetSuffix ()); The_GetSuffix ());
HTM_INPUT_RADIO ("GroupedOrDetailed",HTM_DONT_SUBMIT_ON_CLICK, HTM_INPUT_RADIO ("GroupedOrDetailed",HTM_DONT_SUBMIT_ON_CLICK,
"value=\"%u\"%s onclick=\"enableDetailedClicks();\"", "value=\"%u\"%s onclick=\"enableDetailedClicks();\"",
(unsigned) Sta_CLICKS_DETAILED, (unsigned) Sta_CLICKS_DETAILED,
@ -387,7 +399,7 @@ static void Sta_PutFormCrsHits (struct Sta_Stats *Stats)
HTM_LABEL_End (); HTM_LABEL_End ();
/* Separator */ /* Separator */
HTM_SP (); HTM_BR ();
/* Number of rows per page */ /* Number of rows per page */
// To use getElementById in Firefox, it's necessary to have the id attribute // To use getElementById in Firefox, it's necessary to have the id attribute
@ -501,13 +513,13 @@ static void Sta_PutFormGblHits (struct Sta_Stats *Stats)
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
/* Label */ /* Label */
Frm_LabelColumn ("RT","Role",Txt_Users); Frm_LabelColumn ("REC_C1_BOT RT","Role",Txt_Users);
/* Data */ /* Data */
HTM_TD_Begin ("class=\"LT\""); HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL, HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
"id=\"Role\" name=\"Role\"" "id=\"Role\" name=\"Role\""
" class=\"STAT_SEL INPUT_%s\"", " class=\"REC_C2_BOT_INPUT INPUT_%s\"",
The_GetSuffix ()); The_GetSuffix ());
for (RoleStat = (Sta_Role_t) 0; for (RoleStat = (Sta_Role_t) 0;
RoleStat <= (Sta_Role_t) (Sta_NUM_ROLES_STAT - 1); RoleStat <= (Sta_Role_t) (Sta_NUM_ROLES_STAT - 1);
@ -532,10 +544,10 @@ static void Sta_PutFormGblHits (struct Sta_Stats *Stats)
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
/* Label */ /* Label */
Frm_LabelColumn ("RT","ScopeSta",Txt_Scope); Frm_LabelColumn ("REC_C1_BOT RT","ScopeSta",Txt_Scope);
/* Data */ /* Data */
HTM_TD_Begin ("class=\"LT\""); HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
Gbl.Scope.Allowed = 1 << Hie_SYS | Gbl.Scope.Allowed = 1 << Hie_SYS |
1 << Hie_CTY | 1 << Hie_CTY |
1 << Hie_INS | 1 << Hie_INS |
@ -552,10 +564,10 @@ static void Sta_PutFormGblHits (struct Sta_Stats *Stats)
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
/* Label */ /* Label */
Frm_LabelColumn ("RT","CountType",Txt_Show); Frm_LabelColumn ("REC_C1_BOT RT","CountType",Txt_Show);
/* Data */ /* Data */
HTM_TD_Begin ("class=\"LT\""); HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
Sta_WriteSelectorCountType (Stats); Sta_WriteSelectorCountType (Stats);
/***** Type of statistic *****/ /***** Type of statistic *****/
@ -568,7 +580,8 @@ static void Sta_PutFormGblHits (struct Sta_Stats *Stats)
Stats->ClicksGroupedBy = Sta_CLICKS_GBL_PER_DAY; Stats->ClicksGroupedBy = Sta_CLICKS_GBL_PER_DAY;
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL, HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
"name=\"GroupedBy\" class=\"INPUT_%s\"", "name=\"GroupedBy\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
The_GetSuffix ()); The_GetSuffix ());
for (ClicksGroupedBy = Sta_CLICKS_GBL_PER_DAY; for (ClicksGroupedBy = Sta_CLICKS_GBL_PER_DAY;
ClicksGroupedBy <= Sta_CLICKS_GBL_PER_COURSE; ClicksGroupedBy <= Sta_CLICKS_GBL_PER_COURSE;
@ -650,7 +663,8 @@ static void Sta_WriteSelectorCountType (const struct Sta_Stats *Stats)
/**** Count type *****/ /**** Count type *****/
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL, HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
"id=\"CountType\" name=\"CountType\" class=\"INPUT_%s\"", "id=\"CountType\" name=\"CountType\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
The_GetSuffix ()); The_GetSuffix ());
for (StatCountType = (Sta_CountType_t) 0; for (StatCountType = (Sta_CountType_t) 0;
StatCountType <= (Sta_CountType_t) (Sta_NUM_COUNT_TYPES - 1); StatCountType <= (Sta_CountType_t) (Sta_NUM_COUNT_TYPES - 1);
@ -683,12 +697,12 @@ static void Sta_WriteSelectorAction (const struct Sta_Stats *Stats)
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
/* Label */ /* Label */
Frm_LabelColumn ("RT","StatAct",Txt_Action); Frm_LabelColumn ("REC_C1_BOT RT","StatAct",Txt_Action);
HTM_TD_Begin ("class=\"LT\""); HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL, HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE,NULL,
"id=\"StatAct\" name=\"StatAct\"" "id=\"StatAct\" name=\"StatAct\""
" class=\"STAT_SEL INPUT_%s\"", " class=\"REC_C2_BOT_INPUT INPUT_%s\"",
The_GetSuffix ()); The_GetSuffix ());
HTM_OPTION (HTM_Type_STRING,"0", HTM_OPTION (HTM_Type_STRING,"0",
Stats->NumAction == 0 ? HTM_OPTION_SELECTED : Stats->NumAction == 0 ? HTM_OPTION_SELECTED :

View File

@ -152,7 +152,7 @@ struct Sta_Stats
void Sta_ResetStats (struct Sta_Stats *Stats); void Sta_ResetStats (struct Sta_Stats *Stats);
void Sta_AskShowCrsHits (void); void Sta_ReqCrsHits (void);
void Sta_AskShowGblHits (void); void Sta_AskShowGblHits (void);
void Sta_PutLinkToCourseHits (void); void Sta_PutLinkToCourseHits (void);
void Sta_PutLinkToGlobalHits (void); void Sta_PutLinkToGlobalHits (void);

View File

@ -201,7 +201,7 @@ void Svy_ListAllSurveys (struct Svy_Surveys *Surveys)
Surveys->CurrentPage = (unsigned) Pagination.CurrentPage; Surveys->CurrentPage = (unsigned) Pagination.CurrentPage;
/***** Begin box *****/ /***** Begin box *****/
Box_BoxBegin ("100%",Txt_Surveys, Box_BoxBegin (NULL,Txt_Surveys,
Svy_PutIconsListSurveys,Surveys, Svy_PutIconsListSurveys,Surveys,
Hlp_ANALYTICS_Surveys,Box_NOT_CLOSABLE); Hlp_ANALYTICS_Surveys,Box_NOT_CLOSABLE);
@ -221,7 +221,7 @@ void Svy_ListAllSurveys (struct Svy_Surveys *Surveys)
if (Surveys->Num) if (Surveys->Num)
{ {
/***** Table head *****/ /***** Table head *****/
HTM_TABLE_BeginWideMarginPadding (5); HTM_TABLE_Begin ("TBL_SCROLL");
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
if (Surveys->Svy.Status.ICanEdit || if (Surveys->Svy.Status.ICanEdit ||
@ -1645,10 +1645,10 @@ void Svy_ReqCreatOrEditSvy (void)
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
/* Label */ /* Label */
Frm_LabelColumn ("RT","ScopeSvy",Txt_Scope); Frm_LabelColumn ("REC_C1_BOT RT","ScopeSvy",Txt_Scope);
/* Data */ /* Data */
HTM_TD_Begin ("class=\"LT\""); HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
Svy_SetAllowedScopes (&Surveys.Svy); Svy_SetAllowedScopes (&Surveys.Svy);
Sco_GetScope ("ScopeSvy",Surveys.Svy.Level); Sco_GetScope ("ScopeSvy",Surveys.Svy.Level);
Sco_PutSelectorScope ("ScopeSvy",HTM_DONT_SUBMIT_ON_CHANGE); Sco_PutSelectorScope ("ScopeSvy",HTM_DONT_SUBMIT_ON_CHANGE);
@ -1660,14 +1660,14 @@ void Svy_ReqCreatOrEditSvy (void)
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
/* Label */ /* Label */
Frm_LabelColumn ("RT","Title",Txt_Title); Frm_LabelColumn ("REC_C1_BOT RT","Title",Txt_Title);
/* Data */ /* Data */
HTM_TD_Begin ("class=\"LT\""); HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_INPUT_TEXT ("Title",Svy_MAX_CHARS_SURVEY_TITLE,Surveys.Svy.Title, HTM_INPUT_TEXT ("Title",Svy_MAX_CHARS_SURVEY_TITLE,Surveys.Svy.Title,
HTM_DONT_SUBMIT_ON_CHANGE, HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"Title\"" "id=\"Title\""
" class=\"TITLE_DESCRIPTION_WIDTH INPUT_%s\"" " class=\"REC_C2_BOT_INPUT INPUT_%s\""
" required=\"required\"", " required=\"required\"",
The_GetSuffix ()); The_GetSuffix ());
HTM_TD_End (); HTM_TD_End ();
@ -1683,12 +1683,12 @@ void Svy_ReqCreatOrEditSvy (void)
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
/* Label */ /* Label */
Frm_LabelColumn ("RT","Txt",Txt_Description); Frm_LabelColumn ("REC_C1_BOT RT","Txt",Txt_Description);
/* Data */ /* Data */
HTM_TD_Begin ("class=\"LT\""); HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_TEXTAREA_Begin ("id=\"Txt\" name=\"Txt\" rows=\"5\"" HTM_TEXTAREA_Begin ("id=\"Txt\" name=\"Txt\" rows=\"5\""
" class=\"TITLE_DESCRIPTION_WIDTH INPUT_%s\"", " class=\"REC_C2_BOT_INPUT INPUT_%s\"",
The_GetSuffix ()); The_GetSuffix ());
if (!ItsANewSurvey) if (!ItsANewSurvey)
HTM_Txt (Txt); HTM_Txt (Txt);
@ -1699,7 +1699,11 @@ void Svy_ReqCreatOrEditSvy (void)
/***** Users' roles who can answer the survey *****/ /***** Users' roles who can answer the survey *****/
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
HTM_TD_TxtColon (Txt_Users);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","",Txt_Users);
/* Data */
HTM_TD_Begin ("class=\"LM DAT_%s\"",The_GetSuffix ()); HTM_TD_Begin ("class=\"LM DAT_%s\"",The_GetSuffix ());
Rol_WriteSelectorRoles (1 << Rol_STD | Rol_WriteSelectorRoles (1 << Rol_STD |
1 << Rol_NET | 1 << Rol_NET |
@ -1722,6 +1726,8 @@ void Svy_ReqCreatOrEditSvy (void)
/***** End form *****/ /***** End form *****/
Frm_EndForm (); Frm_EndForm ();
HTM_BR ();
/***** Show questions of the survey ready to be edited *****/ /***** Show questions of the survey ready to be edited *****/
if (!ItsANewSurvey) if (!ItsANewSurvey)
Svy_ListSvyQuestions (&Surveys); Svy_ListSvyQuestions (&Surveys);
@ -2630,7 +2636,7 @@ static void Svy_ListSvyQuestions (struct Svy_Surveys *Surveys)
} }
/***** Write the heading *****/ /***** Write the heading *****/
HTM_TABLE_BeginWideMarginPadding (5); HTM_TABLE_Begin ("TBL_SCROLL");
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
if (Surveys->Svy.Status.ICanEdit) if (Surveys->Svy.Status.ICanEdit)

View File

@ -14995,6 +14995,29 @@ const char *Txt_Grade =
"Vas&inodot;f"; "Vas&inodot;f";
#endif #endif
const char *Txt_Graph =
#if L==1 // ca
"Gr&agrave;fica";
#elif L==2 // de
"Graph";
#elif L==3 // en
"Graph";
#elif L==4 // es
"Gr&aacute;fica";
#elif L==5 // fr
"Graphique";
#elif L==6 // gn
"Gr&aacute;fica"; // Okoteve traducción
#elif L==7 // it
"Grafico";
#elif L==8 // pl
"Wykres";
#elif L==9 // pt
"Gr&aacute;fico";
#elif L==10 // tr
"Grafik";
#endif
const char *Txt_Group = const char *Txt_Group =
#if L==1 // ca #if L==1 // ca
"Grup"; "Grup";
@ -34208,25 +34231,25 @@ const char *Txt_Required_reading =
const char *Txt_Reset_survey = const char *Txt_Reset_survey =
#if L==1 // ca #if L==1 // ca
"Posar enquesta a zero"; "Posar a zero";
#elif L==2 // de #elif L==2 // de
"Reset Umfrage"; "Reset";
#elif L==3 // en #elif L==3 // en
"Reset survey"; "Reset";
#elif L==4 // es #elif L==4 // es
"Poner encuesta a cero"; "Poner a cero";
#elif L==5 // fr #elif L==5 // fr
"Reset sondage"; "Reset";
#elif L==6 // gn #elif L==6 // gn
"Poner encuesta a cero"; // Okoteve traducción "Poner a cero"; // Okoteve traducción
#elif L==7 // it #elif L==7 // it
"Resettare sondaggio"; "Resettare";
#elif L==8 // pl #elif L==8 // pl
"Reset badania"; "Reset";
#elif L==9 // pt #elif L==9 // pt
"Reiniciar inqu&eacute;rito"; "Reiniciar";
#elif L==10 // tr #elif L==10 // tr
"Reset survey"; // Çeviri lazim! "S&inodot;f&inodot;rla";
#endif #endif
const char *Txt_Resource_clipboard = const char *Txt_Resource_clipboard =
@ -42764,25 +42787,25 @@ const char *Txt_STAT_CLICKS_GROUPED_BY[Sta_NUM_CLICKS_GROUPED_BY] =
{ {
[Sta_CLICKS_CRS_DETAILED_LIST] = [Sta_CLICKS_CRS_DETAILED_LIST] =
#if L==1 // ca #if L==1 // ca
"clics detallats" "Clics detallats"
#elif L==2 // de #elif L==2 // de
"detaillierte Klicks" "Detaillierte Klicks"
#elif L==3 // en #elif L==3 // en
"detailed clicks" "Detailed clicks"
#elif L==4 // es #elif L==4 // es
"clics detallados" "Clics detallados"
#elif L==5 // fr #elif L==5 // fr
"clics d&eacute;taill&eacute;es" "Clics d&eacute;taill&eacute;es"
#elif L==6 // gn #elif L==6 // gn
"clics detallados" // Okoteve traducción "Clics detallados" // Okoteve traducción
#elif L==7 // it #elif L==7 // it
"dettagli di scatto" "Dettagli di scatto"
#elif L==8 // pl #elif L==8 // pl
"szczeg&oacute;&lstrok;owe klikni&eogon;&cacute;" "Szczeg&oacute;&lstrok;owe klikni&eogon;&cacute;"
#elif L==9 // pt #elif L==9 // pt
"detalhadamente cliques" "Detalhadamente cliques"
#elif L==10 // tr #elif L==10 // tr
"detailed clicks" // Çeviri lazim! "Detailed clicks" // Çeviri lazim!
#endif #endif
, ,
[Sta_CLICKS_CRS_PER_USR] = [Sta_CLICKS_CRS_PER_USR] =
@ -44948,7 +44971,7 @@ const char *Txt_Statistic =
const char *Txt_Statistics_of_all_visits = const char *Txt_Statistics_of_all_visits =
#if L==1 // ca #if L==1 // ca
"Estad&iacute;stica de todos los accesos"; // Necessita traducció "Estad&iacute;stica de tots els accessos";
#elif L==2 // de #elif L==2 // de
"Statistik aller Besuche"; "Statistik aller Besuche";
#elif L==3 // en #elif L==3 // en
@ -44958,7 +44981,7 @@ const char *Txt_Statistics_of_all_visits =
#elif L==5 // fr #elif L==5 // fr
"Statistiques de toutes les visites"; "Statistiques de toutes les visites";
#elif L==6 // gn #elif L==6 // gn
"Estad&iacute;stica de todos los accesos"; // Okoteve traducción "Estad&iacute;stica opaite jeike rehegua";
#elif L==7 // it #elif L==7 // it
"Statistiche di tutte gli accessi"; "Statistiche di tutte gli accessi";
#elif L==8 // pl #elif L==8 // pl
@ -44966,7 +44989,7 @@ const char *Txt_Statistics_of_all_visits =
#elif L==9 // pt #elif L==9 // pt
"Estat&iacute;sticas de todas as visitas"; "Estat&iacute;sticas de todas as visitas";
#elif L==10 // tr #elif L==10 // tr
"Statistics of all visits"; // Çeviri lazim! "T&uuml;m ziyaretlerin istatistikleri";
#endif #endif
const char *Txt_Statistics_of_visits_to_the_course_X = // Warning: it is very important to include %s in the following sentences const char *Txt_Statistics_of_visits_to_the_course_X = // Warning: it is very important to include %s in the following sentences