mirror of https://github.com/acanas/swad-core.git
Version 23.53.6: Dec 19, 2023 Responsive design in questions.
This commit is contained in:
parent
812d6d22d1
commit
1df78e9f15
|
@ -2674,9 +2674,13 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;}
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************** Date range form ******************************/
|
/****************************** Date range form ******************************/
|
||||||
.DATE_RANGE
|
.DATE_FORM_YMD, .DATE_FORM_HMS, .DATE_FORM_TODAY
|
||||||
{
|
{
|
||||||
float:left; /* To display something after the table in the same line */
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.DATE_FORM_MONTH
|
||||||
|
{
|
||||||
|
width: 60px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*********************************** Lists ***********************************/
|
/*********************************** Lists ***********************************/
|
||||||
|
@ -3082,21 +3086,21 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;}
|
||||||
.REC_C1_BOT
|
.REC_C1_BOT
|
||||||
{
|
{
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
width:120px;
|
width:80px;
|
||||||
max-width:120px;
|
max-width:80px;
|
||||||
overflow:hidden;
|
overflow:hidden;
|
||||||
}
|
}
|
||||||
.REC_C2_BOT
|
.REC_C2_BOT
|
||||||
{
|
{
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
width:148px;
|
width:188px;
|
||||||
max-width:148px;
|
max-width:188px;
|
||||||
overflow:hidden;
|
overflow:hidden;
|
||||||
}
|
}
|
||||||
.REC_C2_BOT_INPUT
|
.REC_C2_BOT_INPUT
|
||||||
{
|
{
|
||||||
box-sizing:border-box;
|
box-sizing:border-box;
|
||||||
width:144px;
|
width:184px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@media only screen and (min-width: 480px) and (max-width: 600px)
|
@media only screen and (min-width: 480px) and (max-width: 600px)
|
||||||
|
@ -5207,7 +5211,7 @@ button.PAG_DARK:hover, .PAG_CUR_DARK {background-color:#707070;}
|
||||||
{
|
{
|
||||||
display: block;
|
display: block;
|
||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
width: 280px;
|
width: 260px;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1922,10 +1922,15 @@ void HTM_TxtF (const char *fmt,...)
|
||||||
|
|
||||||
void HTM_SPTxt (const char *Txt)
|
void HTM_SPTxt (const char *Txt)
|
||||||
{
|
{
|
||||||
HTM_Txt (" ");
|
HTM_SP ();
|
||||||
HTM_Txt (Txt);
|
HTM_Txt (Txt);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void HTM_SP (void)
|
||||||
|
{
|
||||||
|
HTM_Txt (" ");
|
||||||
|
}
|
||||||
|
|
||||||
void HTM_Txt (const char *Txt)
|
void HTM_Txt (const char *Txt)
|
||||||
{
|
{
|
||||||
if (Txt)
|
if (Txt)
|
||||||
|
@ -2068,7 +2073,7 @@ void HTM_TD_Txt_Right (const char *Txt)
|
||||||
|
|
||||||
void HTM_TD_TxtColon (const char *Txt)
|
void HTM_TD_TxtColon (const char *Txt)
|
||||||
{
|
{
|
||||||
HTM_TD_Begin ("class=\"RT FORM_IN_%s\"",The_GetSuffix ());
|
HTM_TD_Begin ("class=\"REC_C1_BOT RT FORM_IN_%s\"",The_GetSuffix ());
|
||||||
HTM_TxtColon (Txt);
|
HTM_TxtColon (Txt);
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
}
|
}
|
||||||
|
|
|
@ -223,6 +223,7 @@ void HTM_BR (void);
|
||||||
|
|
||||||
void HTM_TxtF (const char *fmt,...);
|
void HTM_TxtF (const char *fmt,...);
|
||||||
void HTM_SPTxt (const char *Txt);
|
void HTM_SPTxt (const char *Txt);
|
||||||
|
void HTM_SP (void);
|
||||||
void HTM_Txt (const char *Txt);
|
void HTM_Txt (const char *Txt);
|
||||||
void HTM_TxtColon (const char *Txt);
|
void HTM_TxtColon (const char *Txt);
|
||||||
void HTM_TxtSemicolon (const char *Txt);
|
void HTM_TxtSemicolon (const char *Txt);
|
||||||
|
|
|
@ -154,7 +154,7 @@ void Asg_ShowAllAssignments (struct Asg_Assignments *Assignments)
|
||||||
Assignments->CurrentPage = (unsigned) Pagination.CurrentPage;
|
Assignments->CurrentPage = (unsigned) Pagination.CurrentPage;
|
||||||
|
|
||||||
/***** Begin box *****/
|
/***** Begin box *****/
|
||||||
Box_BoxBegin ("100%",Txt_Assignments,
|
Box_BoxBegin (NULL,Txt_Assignments,
|
||||||
Asg_PutIconsListAssignments,Assignments,
|
Asg_PutIconsListAssignments,Assignments,
|
||||||
Hlp_ASSESSMENT_Assignments,Box_NOT_CLOSABLE);
|
Hlp_ASSESSMENT_Assignments,Box_NOT_CLOSABLE);
|
||||||
|
|
||||||
|
|
|
@ -633,10 +633,11 @@ 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.53.5 (2023-12-19)"
|
#define Log_PLATFORM_VERSION "SWAD 23.53.6 (2023-12-19)"
|
||||||
#define CSS_FILE "swad23.53.5.css"
|
#define CSS_FILE "swad23.53.6.css"
|
||||||
#define JS_FILE "swad23.53.3.js"
|
#define JS_FILE "swad23.53.6.js"
|
||||||
/*
|
/*
|
||||||
|
Version 23.53.6: Dec 19, 2023 Responsive design in questions. (335874 lines)
|
||||||
Version 23.53.5: Dec 19, 2023 Responsive design in calls for exams. (335874 lines)
|
Version 23.53.5: Dec 19, 2023 Responsive design in calls for exams. (335874 lines)
|
||||||
Version 23.53.4: Dec 18, 2023 Responsive design in projects. (335869 lines)
|
Version 23.53.4: Dec 18, 2023 Responsive design in projects. (335869 lines)
|
||||||
Version 23.53.3: Dec 18, 2023 Responsive design in assignments. (335868 lines)
|
Version 23.53.3: Dec 18, 2023 Responsive design in assignments. (335868 lines)
|
||||||
|
|
214
swad_date.c
214
swad_date.c
|
@ -622,10 +622,10 @@ void Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (const Dat_SetHMS
|
||||||
HTM_TR_Begin (NULL);
|
HTM_TR_Begin (NULL);
|
||||||
|
|
||||||
/* Label */
|
/* Label */
|
||||||
Frm_LabelColumn ("RM","",Txt_START_END_TIME[Dat_STR_TIME]);
|
Frm_LabelColumn ("REC_C1_BOT RT","",Txt_START_END_TIME[Dat_STR_TIME]);
|
||||||
|
|
||||||
/* Data (date-time) */
|
/* Data (date-time) */
|
||||||
HTM_TD_Begin ("class=\"LM\"");
|
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
|
||||||
Dat_WriteFormClientLocalDateTimeFromTimeUTC ("Start",
|
Dat_WriteFormClientLocalDateTimeFromTimeUTC ("Start",
|
||||||
Dat_STR_TIME,
|
Dat_STR_TIME,
|
||||||
Dat_Time.Range.TimeUTC[Dat_STR_TIME],
|
Dat_Time.Range.TimeUTC[Dat_STR_TIME],
|
||||||
|
@ -636,11 +636,13 @@ void Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (const Dat_SetHMS
|
||||||
HTM_DONT_SUBMIT_ON_CHANGE);
|
HTM_DONT_SUBMIT_ON_CHANGE);
|
||||||
|
|
||||||
/* "Yesterday" and "Today" buttons */
|
/* "Yesterday" and "Today" buttons */
|
||||||
HTM_NBSP ();
|
HTM_DIV_Begin ("class=\"DATE_FORM_TODAY\"");
|
||||||
HTM_INPUT_BUTTON ("Yesterday",Txt_Yesterday,
|
// HTM_SP ();
|
||||||
"onclick=\"setDateToYesterday('Start','End');\"");
|
HTM_INPUT_BUTTON ("Yesterday",Txt_Yesterday,
|
||||||
HTM_INPUT_BUTTON ("Today",Txt_Today,
|
"onclick=\"setDateToYesterday('Start','End');\"");
|
||||||
"onclick=\"setDateToToday('Start','End');\"");
|
HTM_INPUT_BUTTON ("Today",Txt_Today,
|
||||||
|
"onclick=\"setDateToToday('Start','End');\"");
|
||||||
|
HTM_DIV_End ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
|
@ -649,10 +651,10 @@ void Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (const Dat_SetHMS
|
||||||
HTM_TR_Begin (NULL);
|
HTM_TR_Begin (NULL);
|
||||||
|
|
||||||
/* Label */
|
/* Label */
|
||||||
Frm_LabelColumn ("RM","",Txt_START_END_TIME[Dat_END_TIME]);
|
Frm_LabelColumn ("REC_C1_BOT RT","",Txt_START_END_TIME[Dat_END_TIME]);
|
||||||
|
|
||||||
/* Data (date-time) */
|
/* Data (date-time) */
|
||||||
HTM_TD_Begin ("class=\"LM\"");
|
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
|
||||||
Dat_WriteFormClientLocalDateTimeFromTimeUTC ("End",
|
Dat_WriteFormClientLocalDateTimeFromTimeUTC ("End",
|
||||||
Dat_END_TIME,
|
Dat_END_TIME,
|
||||||
Dat_Time.Range.TimeUTC[Dat_END_TIME],
|
Dat_Time.Range.TimeUTC[Dat_END_TIME],
|
||||||
|
@ -752,118 +754,108 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id,
|
||||||
Id) < 0)
|
Id) < 0)
|
||||||
Err_NotEnoughMemoryExit ();
|
Err_NotEnoughMemoryExit ();
|
||||||
|
|
||||||
/***** Begin table *****/
|
/***** Year, month, day *****/
|
||||||
HTM_TABLE_Begin ("DATE_RANGE");
|
HTM_DIV_Begin ("class=\"DATE_FORM_YMD\"");
|
||||||
HTM_TR_Begin (NULL);
|
|
||||||
|
|
||||||
/***** Year *****/
|
/* Year */
|
||||||
HTM_TD_Begin ("class=\"RM\"");
|
HTM_SELECT_Begin (SubmitOnChange,FuncsYearMonth,
|
||||||
HTM_SELECT_Begin (SubmitOnChange,FuncsYearMonth,
|
"id=\"%sYear\" name=\"%sYear\""
|
||||||
"id=\"%sYear\" name=\"%sYear\""
|
" class=\"INPUT_%s\"",
|
||||||
" class=\"INPUT_%s\"",
|
Id,Dat_ParName[StartEndTime],
|
||||||
Id,Dat_ParName[StartEndTime],
|
The_GetSuffix ());
|
||||||
The_GetSuffix ());
|
for (Year = FirstYear;
|
||||||
for (Year = FirstYear;
|
Year <= LastYear;
|
||||||
Year <= LastYear;
|
Year++)
|
||||||
Year++)
|
HTM_OPTION (HTM_Type_UNSIGNED,&Year,
|
||||||
HTM_OPTION (HTM_Type_UNSIGNED,&Year,
|
HTM_OPTION_UNSELECTED,
|
||||||
HTM_OPTION_UNSELECTED,
|
HTM_OPTION_ENABLED,
|
||||||
HTM_OPTION_ENABLED,
|
"%u",Year);
|
||||||
"%u",Year);
|
HTM_SELECT_End ();
|
||||||
HTM_SELECT_End ();
|
|
||||||
HTM_TD_End ();
|
|
||||||
|
|
||||||
/***** Month *****/
|
/* Month */
|
||||||
HTM_TD_Begin ("class=\"CM\"");
|
HTM_SELECT_Begin (SubmitOnChange,FuncsYearMonth,
|
||||||
HTM_SELECT_Begin (SubmitOnChange,FuncsYearMonth,
|
"id=\"%sMonth\" name=\"%sMonth\""
|
||||||
"id=\"%sMonth\" name=\"%sMonth\""
|
" class=\"DATE_FORM_MONTH INPUT_%s\"",
|
||||||
" class=\"INPUT_%s\"",
|
Id,Dat_ParName[StartEndTime],
|
||||||
Id,Dat_ParName[StartEndTime],
|
The_GetSuffix ());
|
||||||
The_GetSuffix ());
|
for (Month = 1;
|
||||||
for (Month = 1;
|
Month <= 12;
|
||||||
Month <= 12;
|
Month++)
|
||||||
Month++)
|
HTM_OPTION (HTM_Type_UNSIGNED,&Month,
|
||||||
HTM_OPTION (HTM_Type_UNSIGNED,&Month,
|
HTM_OPTION_UNSELECTED,
|
||||||
HTM_OPTION_UNSELECTED,
|
HTM_OPTION_ENABLED,
|
||||||
HTM_OPTION_ENABLED,
|
"%s",Txt_MONTHS_SMALL[Month - 1]);
|
||||||
"%s",Txt_MONTHS_SMALL[Month - 1]);
|
HTM_SELECT_End ();
|
||||||
HTM_SELECT_End ();
|
|
||||||
HTM_TD_End ();
|
|
||||||
|
|
||||||
/***** Day *****/
|
/* Day */
|
||||||
HTM_TD_Begin ("class=\"LM\"");
|
HTM_SELECT_Begin (SubmitOnChange,FuncDayHMS,
|
||||||
HTM_SELECT_Begin (SubmitOnChange,FuncDayHMS,
|
"id=\"%sDay\" name=\"%sDay\""
|
||||||
"id=\"%sDay\" name=\"%sDay\""
|
" class=\"INPUT_%s\"",
|
||||||
" class=\"INPUT_%s\"",
|
Id,Dat_ParName[StartEndTime],
|
||||||
Id,Dat_ParName[StartEndTime],
|
The_GetSuffix ());
|
||||||
The_GetSuffix ());
|
for (Day = 1;
|
||||||
for (Day = 1;
|
Day <= 31;
|
||||||
Day <= 31;
|
Day++)
|
||||||
Day++)
|
HTM_OPTION (HTM_Type_UNSIGNED,&Day,
|
||||||
HTM_OPTION (HTM_Type_UNSIGNED,&Day,
|
HTM_OPTION_UNSELECTED,
|
||||||
HTM_OPTION_UNSELECTED,
|
HTM_OPTION_ENABLED,
|
||||||
HTM_OPTION_ENABLED,
|
"%u",Day);
|
||||||
"%u",Day);
|
HTM_SELECT_End ();
|
||||||
HTM_SELECT_End ();
|
|
||||||
HTM_TD_End ();
|
|
||||||
|
|
||||||
/***** Hour *****/
|
HTM_DIV_End ();
|
||||||
HTM_TD_Begin ("class=\"RM\"");
|
|
||||||
HTM_SELECT_Begin (SubmitOnChange,FuncDayHMS,
|
|
||||||
"id=\"%sHour\" name=\"%sHour\""
|
|
||||||
" class=\"INPUT_%s\"",
|
|
||||||
Id,Dat_ParName[StartEndTime],
|
|
||||||
The_GetSuffix ());
|
|
||||||
for (Hour = 0;
|
|
||||||
Hour <= 23;
|
|
||||||
Hour++)
|
|
||||||
HTM_OPTION (HTM_Type_UNSIGNED,&Hour,
|
|
||||||
HTM_OPTION_UNSELECTED,
|
|
||||||
HTM_OPTION_ENABLED,
|
|
||||||
"%02u h",Hour);
|
|
||||||
HTM_SELECT_End ();
|
|
||||||
HTM_TD_End ();
|
|
||||||
|
|
||||||
/***** Minute *****/
|
/***** Hour, minute, second *****/
|
||||||
HTM_TD_Begin ("class=\"CM\"");
|
HTM_DIV_Begin ("class=\"DATE_FORM_HMS\"");
|
||||||
HTM_SELECT_Begin (SubmitOnChange,FuncDayHMS,
|
|
||||||
"id=\"%sMinute\" name=\"%sMinute\""
|
|
||||||
" class=\"INPUT_%s\"",
|
|
||||||
Id,Dat_ParName[StartEndTime],
|
|
||||||
The_GetSuffix ());
|
|
||||||
for (Minute = 0;
|
|
||||||
Minute < 60;
|
|
||||||
Minute += MinutesIInterval[FormSeconds])
|
|
||||||
HTM_OPTION (HTM_Type_UNSIGNED,&Minute,
|
|
||||||
HTM_OPTION_UNSELECTED,
|
|
||||||
HTM_OPTION_ENABLED,
|
|
||||||
"%02u ′",Minute);
|
|
||||||
HTM_SELECT_End ();
|
|
||||||
HTM_TD_End ();
|
|
||||||
|
|
||||||
/***** Second *****/
|
/* Hour */
|
||||||
|
HTM_SELECT_Begin (SubmitOnChange,FuncDayHMS,
|
||||||
|
"id=\"%sHour\" name=\"%sHour\""
|
||||||
|
" class=\"INPUT_%s\"",
|
||||||
|
Id,Dat_ParName[StartEndTime],
|
||||||
|
The_GetSuffix ());
|
||||||
|
for (Hour = 0;
|
||||||
|
Hour <= 23;
|
||||||
|
Hour++)
|
||||||
|
HTM_OPTION (HTM_Type_UNSIGNED,&Hour,
|
||||||
|
HTM_OPTION_UNSELECTED,
|
||||||
|
HTM_OPTION_ENABLED,
|
||||||
|
"%02u h",Hour);
|
||||||
|
HTM_SELECT_End ();
|
||||||
|
|
||||||
|
/* Minute */
|
||||||
|
HTM_SELECT_Begin (SubmitOnChange,FuncDayHMS,
|
||||||
|
"id=\"%sMinute\" name=\"%sMinute\""
|
||||||
|
" class=\"INPUT_%s\"",
|
||||||
|
Id,Dat_ParName[StartEndTime],
|
||||||
|
The_GetSuffix ());
|
||||||
|
for (Minute = 0;
|
||||||
|
Minute < 60;
|
||||||
|
Minute += MinutesIInterval[FormSeconds])
|
||||||
|
HTM_OPTION (HTM_Type_UNSIGNED,&Minute,
|
||||||
|
HTM_OPTION_UNSELECTED,
|
||||||
|
HTM_OPTION_ENABLED,
|
||||||
|
"%02u ′",Minute);
|
||||||
|
HTM_SELECT_End ();
|
||||||
|
|
||||||
|
/* Second */
|
||||||
if (FormSeconds == Dat_FORM_SECONDS_ON)
|
if (FormSeconds == Dat_FORM_SECONDS_ON)
|
||||||
{
|
{
|
||||||
HTM_TD_Begin ("class=\"LM\"");
|
HTM_SELECT_Begin (SubmitOnChange,FuncDayHMS,
|
||||||
HTM_SELECT_Begin (SubmitOnChange,FuncDayHMS,
|
"id=\"%sSecond\" name=\"%sSecond\""
|
||||||
"id=\"%sSecond\" name=\"%sSecond\""
|
" class=\"INPUT_%s\"",
|
||||||
" class=\"INPUT_%s\"",
|
Id,Dat_ParName[StartEndTime],
|
||||||
Id,Dat_ParName[StartEndTime],
|
The_GetSuffix ());
|
||||||
The_GetSuffix ());
|
for (Second = 0;
|
||||||
for (Second = 0;
|
Second <= 59;
|
||||||
Second <= 59;
|
Second++)
|
||||||
Second++)
|
HTM_OPTION (HTM_Type_UNSIGNED,&Second,
|
||||||
HTM_OPTION (HTM_Type_UNSIGNED,&Second,
|
HTM_OPTION_UNSELECTED,
|
||||||
HTM_OPTION_UNSELECTED,
|
HTM_OPTION_ENABLED,
|
||||||
HTM_OPTION_ENABLED,
|
"%02u ″",Second);
|
||||||
"%02u ″",Second);
|
HTM_SELECT_End ();
|
||||||
HTM_SELECT_End ();
|
|
||||||
HTM_TD_End ();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** End table *****/
|
HTM_DIV_End ();
|
||||||
HTM_TR_End ();
|
|
||||||
HTM_TABLE_End ();
|
|
||||||
|
|
||||||
/***** Free strings for onchange functions *****/
|
/***** Free strings for onchange functions *****/
|
||||||
free (FuncsYearMonth);
|
free (FuncsYearMonth);
|
||||||
|
|
|
@ -1234,8 +1234,8 @@ void Lay_PutContextualLinkIconText (Act_Action_t NextAction,const char *Anchor,
|
||||||
const char *Text,const char *OnSubmit)
|
const char *Text,const char *OnSubmit)
|
||||||
{
|
{
|
||||||
/***** Separator *****/
|
/***** Separator *****/
|
||||||
HTM_Txt (" "); // This space is necessary to enable
|
HTM_SP (); // This space is necessary to enable
|
||||||
// jumping to the next line on narrow screens
|
// jumping to the next line on narrow screens
|
||||||
|
|
||||||
/***** Begin form *****/
|
/***** Begin form *****/
|
||||||
Frm_BeginFormAnchor (NextAction,Anchor);
|
Frm_BeginFormAnchor (NextAction,Anchor);
|
||||||
|
@ -1258,8 +1258,8 @@ void Lay_PutContextualLinkIconText (Act_Action_t NextAction,const char *Anchor,
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
|
|
||||||
/***** Separator *****/
|
/***** Separator *****/
|
||||||
HTM_Txt (" "); // This space is necessary to enable
|
HTM_SP (); // This space is necessary to enable
|
||||||
// jumping to the next line on narrow screens
|
// jumping to the next line on narrow screens
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -1274,7 +1274,7 @@ void Lay_PutContextualCheckbox (Act_Action_t NextAction,
|
||||||
{
|
{
|
||||||
/***** Separator *****/
|
/***** Separator *****/
|
||||||
if (Text)
|
if (Text)
|
||||||
HTM_Txt (" "); // This space is necessary to enable
|
HTM_SP (); // This space is necessary to enable
|
||||||
// jumping to the next line on narrow screens
|
// jumping to the next line on narrow screens
|
||||||
|
|
||||||
/***** Begin form *****/
|
/***** Begin form *****/
|
||||||
|
@ -1316,7 +1316,7 @@ void Lay_PutContextualCheckbox (Act_Action_t NextAction,
|
||||||
|
|
||||||
/***** Separator *****/
|
/***** Separator *****/
|
||||||
if (Text)
|
if (Text)
|
||||||
HTM_Txt (" "); // This space is necessary to enable
|
HTM_SP (); // This space is necessary to enable
|
||||||
// jumping to the next line on narrow screens
|
// jumping to the next line on narrow screens
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -528,7 +528,7 @@ static void Prj_ShowPrjsInCurrentPage (void *Projects)
|
||||||
((struct Prj_Projects *) Projects)->CurrentPage = (unsigned) Pagination.CurrentPage;
|
((struct Prj_Projects *) Projects)->CurrentPage = (unsigned) Pagination.CurrentPage;
|
||||||
|
|
||||||
/***** Begin box *****/
|
/***** Begin box *****/
|
||||||
Box_BoxBegin ("100%",Txt_Projects,
|
Box_BoxBegin (NULL,Txt_Projects,
|
||||||
Prj_PutIconsListProjects,Projects,
|
Prj_PutIconsListProjects,Projects,
|
||||||
Hlp_ASSESSMENT_Projects,Box_NOT_CLOSABLE);
|
Hlp_ASSESSMENT_Projects,Box_NOT_CLOSABLE);
|
||||||
|
|
||||||
|
|
|
@ -198,11 +198,11 @@ void Qst_ShowFormRequestEditQsts (struct Qst_Questions *Questions)
|
||||||
/***** Warning message *****/
|
/***** Warning message *****/
|
||||||
Ale_ShowAlert (Ale_INFO,Txt_No_questions);
|
Ale_ShowAlert (Ale_INFO,Txt_No_questions);
|
||||||
|
|
||||||
|
/***** Free structure that stores the query result *****/
|
||||||
|
DB_FreeMySQLResult (&mysql_res);
|
||||||
|
|
||||||
/***** End box *****/
|
/***** End box *****/
|
||||||
Box_BoxEnd ();
|
Box_BoxEnd ();
|
||||||
|
|
||||||
/* Free structure that stores the query result */
|
|
||||||
DB_FreeMySQLResult (&mysql_res);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
@ -225,7 +225,7 @@ void Qst_ShowFormAnswerTypes (const struct Qst_AnswerTypes *AnswerTypes)
|
||||||
HTM_TD_TxtColon (Txt_Types_of_answers);
|
HTM_TD_TxtColon (Txt_Types_of_answers);
|
||||||
|
|
||||||
/***** Select all types of answers *****/
|
/***** Select all types of answers *****/
|
||||||
HTM_TD_Begin ("class=\"LT\"");
|
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
|
||||||
HTM_TABLE_BeginPadding (2);
|
HTM_TABLE_BeginPadding (2);
|
||||||
|
|
||||||
HTM_TR_Begin (NULL);
|
HTM_TR_Begin (NULL);
|
||||||
|
|
|
@ -387,7 +387,7 @@ static void Sta_PutFormCrsHits (struct Sta_Stats *Stats)
|
||||||
HTM_LABEL_End ();
|
HTM_LABEL_End ();
|
||||||
|
|
||||||
/* Separator */
|
/* Separator */
|
||||||
HTM_Txt (" ");
|
HTM_SP ();
|
||||||
|
|
||||||
/* 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
|
||||||
|
|
120
swad_tag.c
120
swad_tag.c
|
@ -297,76 +297,76 @@ void Tag_ShowFormSelTags (const struct Tag_Tags *Tags,
|
||||||
HTM_TD_TxtColon (Txt_Tags);
|
HTM_TD_TxtColon (Txt_Tags);
|
||||||
|
|
||||||
/***** Select all tags *****/
|
/***** Select all tags *****/
|
||||||
HTM_TD_Begin ("class=\"LT\"");
|
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
|
||||||
|
|
||||||
HTM_TABLE_BeginPadding (2);
|
HTM_TABLE_BeginPadding (2);
|
||||||
|
|
||||||
HTM_TR_Begin (NULL);
|
|
||||||
|
|
||||||
if (!ShowOnlyEnabledTags)
|
|
||||||
HTM_TD_Empty (1);
|
|
||||||
|
|
||||||
HTM_TD_Begin ("class=\"LM\"");
|
|
||||||
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",
|
|
||||||
The_GetSuffix ());
|
|
||||||
HTM_INPUT_CHECKBOX ("AllTags",HTM_DONT_SUBMIT_ON_CHANGE,
|
|
||||||
"value=\"Y\"%s onclick=\"togglecheckChildren(this,'ChkTag');\"",
|
|
||||||
Tags->All ? " checked=\"checked\"" :
|
|
||||||
"");
|
|
||||||
HTM_TxtF (" %s",Txt_All_tags);
|
|
||||||
HTM_LABEL_End ();
|
|
||||||
HTM_TD_End ();
|
|
||||||
|
|
||||||
HTM_TR_End ();
|
|
||||||
|
|
||||||
/***** Select tags one by one *****/
|
|
||||||
for (NumTag = 1;
|
|
||||||
NumTag <= Tags->Num;
|
|
||||||
NumTag++)
|
|
||||||
{
|
|
||||||
row = mysql_fetch_row (mysql_res);
|
|
||||||
HTM_TR_Begin (NULL);
|
HTM_TR_Begin (NULL);
|
||||||
|
|
||||||
if (!ShowOnlyEnabledTags)
|
if (!ShowOnlyEnabledTags)
|
||||||
{
|
HTM_TD_Empty (1);
|
||||||
TagHidden = (row[2][0] == 'Y');
|
|
||||||
HTM_TD_Begin ("class=\"LM\"");
|
|
||||||
if (TagHidden)
|
|
||||||
Ico_PutIconOff ("eye-slash.svg",Ico_RED ,Txt_Tag_not_allowed);
|
|
||||||
else
|
|
||||||
Ico_PutIconOff ("eye.svg" ,Ico_GREEN,Txt_Tag_allowed );
|
|
||||||
HTM_TD_End ();
|
|
||||||
}
|
|
||||||
|
|
||||||
Checked = false;
|
HTM_TD_Begin ("class=\"LT\"");
|
||||||
if (Tags->List)
|
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",
|
||||||
{
|
The_GetSuffix ());
|
||||||
Ptr = Tags->List;
|
HTM_INPUT_CHECKBOX ("AllTags",HTM_DONT_SUBMIT_ON_CHANGE,
|
||||||
while (*Ptr)
|
"value=\"Y\"%s onclick=\"togglecheckChildren(this,'ChkTag');\"",
|
||||||
{
|
Tags->All ? " checked=\"checked\"" :
|
||||||
Par_GetNextStrUntilSeparParMult (&Ptr,TagText,Tag_MAX_BYTES_TAG);
|
"");
|
||||||
if (!strcmp (row[1],TagText))
|
HTM_TxtF (" %s",Txt_All_tags);
|
||||||
{
|
|
||||||
Checked = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
HTM_TD_Begin ("class=\"LM\"");
|
|
||||||
HTM_LABEL_Begin ("class=\"DAT_%s\"",
|
|
||||||
The_GetSuffix ());
|
|
||||||
HTM_INPUT_CHECKBOX ("ChkTag",HTM_DONT_SUBMIT_ON_CHANGE,
|
|
||||||
"value=\"%s\"%s onclick=\"checkParent(this,'AllTags');\"",
|
|
||||||
row[1],
|
|
||||||
Checked ? " checked=\"checked\"" :
|
|
||||||
"");
|
|
||||||
HTM_TxtF (" %s",row[1]);
|
|
||||||
HTM_LABEL_End ();
|
HTM_LABEL_End ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
}
|
|
||||||
|
/***** Select tags one by one *****/
|
||||||
|
for (NumTag = 1;
|
||||||
|
NumTag <= Tags->Num;
|
||||||
|
NumTag++)
|
||||||
|
{
|
||||||
|
row = mysql_fetch_row (mysql_res);
|
||||||
|
HTM_TR_Begin (NULL);
|
||||||
|
|
||||||
|
if (!ShowOnlyEnabledTags)
|
||||||
|
{
|
||||||
|
TagHidden = (row[2][0] == 'Y');
|
||||||
|
HTM_TD_Begin ("class=\"LT\"");
|
||||||
|
if (TagHidden)
|
||||||
|
Ico_PutIconOff ("eye-slash.svg",Ico_RED ,Txt_Tag_not_allowed);
|
||||||
|
else
|
||||||
|
Ico_PutIconOff ("eye.svg" ,Ico_GREEN,Txt_Tag_allowed );
|
||||||
|
HTM_TD_End ();
|
||||||
|
}
|
||||||
|
|
||||||
|
Checked = false;
|
||||||
|
if (Tags->List)
|
||||||
|
{
|
||||||
|
Ptr = Tags->List;
|
||||||
|
while (*Ptr)
|
||||||
|
{
|
||||||
|
Par_GetNextStrUntilSeparParMult (&Ptr,TagText,Tag_MAX_BYTES_TAG);
|
||||||
|
if (!strcmp (row[1],TagText))
|
||||||
|
{
|
||||||
|
Checked = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
HTM_TD_Begin ("class=\"LT\"");
|
||||||
|
HTM_LABEL_Begin ("class=\"DAT_%s\"",
|
||||||
|
The_GetSuffix ());
|
||||||
|
HTM_INPUT_CHECKBOX ("ChkTag",HTM_DONT_SUBMIT_ON_CHANGE,
|
||||||
|
"value=\"%s\"%s onclick=\"checkParent(this,'AllTags');\"",
|
||||||
|
row[1],
|
||||||
|
Checked ? " checked=\"checked\"" :
|
||||||
|
"");
|
||||||
|
HTM_TxtF (" %s",row[1]);
|
||||||
|
HTM_LABEL_End ();
|
||||||
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
HTM_TR_End ();
|
||||||
|
}
|
||||||
|
|
||||||
HTM_TABLE_End ();
|
HTM_TABLE_End ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
Loading…
Reference in New Issue