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
|
||||
.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 ***********************************/
|
||||
|
@ -3082,21 +3086,21 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;}
|
|||
.REC_C1_BOT
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:120px;
|
||||
max-width:120px;
|
||||
width:80px;
|
||||
max-width:80px;
|
||||
overflow:hidden;
|
||||
}
|
||||
.REC_C2_BOT
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:148px;
|
||||
max-width:148px;
|
||||
width:188px;
|
||||
max-width:188px;
|
||||
overflow:hidden;
|
||||
}
|
||||
.REC_C2_BOT_INPUT
|
||||
{
|
||||
box-sizing:border-box;
|
||||
width:144px;
|
||||
width:184px;
|
||||
}
|
||||
}
|
||||
@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;
|
||||
overflow-x: auto;
|
||||
width: 280px;
|
||||
width: 260px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
}
|
|
@ -1922,10 +1922,15 @@ void HTM_TxtF (const char *fmt,...)
|
|||
|
||||
void HTM_SPTxt (const char *Txt)
|
||||
{
|
||||
HTM_Txt (" ");
|
||||
HTM_SP ();
|
||||
HTM_Txt (Txt);
|
||||
}
|
||||
|
||||
void HTM_SP (void)
|
||||
{
|
||||
HTM_Txt (" ");
|
||||
}
|
||||
|
||||
void HTM_Txt (const char *Txt)
|
||||
{
|
||||
if (Txt)
|
||||
|
@ -2068,7 +2073,7 @@ void HTM_TD_Txt_Right (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_TD_End ();
|
||||
}
|
||||
|
|
|
@ -223,6 +223,7 @@ void HTM_BR (void);
|
|||
|
||||
void HTM_TxtF (const char *fmt,...);
|
||||
void HTM_SPTxt (const char *Txt);
|
||||
void HTM_SP (void);
|
||||
void HTM_Txt (const char *Txt);
|
||||
void HTM_TxtColon (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;
|
||||
|
||||
/***** Begin box *****/
|
||||
Box_BoxBegin ("100%",Txt_Assignments,
|
||||
Box_BoxBegin (NULL,Txt_Assignments,
|
||||
Asg_PutIconsListAssignments,Assignments,
|
||||
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')
|
||||
*/
|
||||
|
||||
#define Log_PLATFORM_VERSION "SWAD 23.53.5 (2023-12-19)"
|
||||
#define CSS_FILE "swad23.53.5.css"
|
||||
#define JS_FILE "swad23.53.3.js"
|
||||
#define Log_PLATFORM_VERSION "SWAD 23.53.6 (2023-12-19)"
|
||||
#define CSS_FILE "swad23.53.6.css"
|
||||
#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.4: Dec 18, 2023 Responsive design in projects. (335869 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);
|
||||
|
||||
/* 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) */
|
||||
HTM_TD_Begin ("class=\"LM\"");
|
||||
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
|
||||
Dat_WriteFormClientLocalDateTimeFromTimeUTC ("Start",
|
||||
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);
|
||||
|
||||
/* "Yesterday" and "Today" buttons */
|
||||
HTM_NBSP ();
|
||||
HTM_INPUT_BUTTON ("Yesterday",Txt_Yesterday,
|
||||
"onclick=\"setDateToYesterday('Start','End');\"");
|
||||
HTM_INPUT_BUTTON ("Today",Txt_Today,
|
||||
"onclick=\"setDateToToday('Start','End');\"");
|
||||
HTM_DIV_Begin ("class=\"DATE_FORM_TODAY\"");
|
||||
// HTM_SP ();
|
||||
HTM_INPUT_BUTTON ("Yesterday",Txt_Yesterday,
|
||||
"onclick=\"setDateToYesterday('Start','End');\"");
|
||||
HTM_INPUT_BUTTON ("Today",Txt_Today,
|
||||
"onclick=\"setDateToToday('Start','End');\"");
|
||||
HTM_DIV_End ();
|
||||
HTM_TD_End ();
|
||||
|
||||
HTM_TR_End ();
|
||||
|
@ -649,10 +651,10 @@ void Dat_PutFormStartEndClientLocalDateTimesWithYesterdayToday (const Dat_SetHMS
|
|||
HTM_TR_Begin (NULL);
|
||||
|
||||
/* 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) */
|
||||
HTM_TD_Begin ("class=\"LM\"");
|
||||
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
|
||||
Dat_WriteFormClientLocalDateTimeFromTimeUTC ("End",
|
||||
Dat_END_TIME,
|
||||
Dat_Time.Range.TimeUTC[Dat_END_TIME],
|
||||
|
@ -752,118 +754,108 @@ void Dat_WriteFormClientLocalDateTimeFromTimeUTC (const char *Id,
|
|||
Id) < 0)
|
||||
Err_NotEnoughMemoryExit ();
|
||||
|
||||
/***** Begin table *****/
|
||||
HTM_TABLE_Begin ("DATE_RANGE");
|
||||
HTM_TR_Begin (NULL);
|
||||
/***** Year, month, day *****/
|
||||
HTM_DIV_Begin ("class=\"DATE_FORM_YMD\"");
|
||||
|
||||
/***** Year *****/
|
||||
HTM_TD_Begin ("class=\"RM\"");
|
||||
HTM_SELECT_Begin (SubmitOnChange,FuncsYearMonth,
|
||||
"id=\"%sYear\" name=\"%sYear\""
|
||||
" class=\"INPUT_%s\"",
|
||||
Id,Dat_ParName[StartEndTime],
|
||||
The_GetSuffix ());
|
||||
for (Year = FirstYear;
|
||||
Year <= LastYear;
|
||||
Year++)
|
||||
HTM_OPTION (HTM_Type_UNSIGNED,&Year,
|
||||
HTM_OPTION_UNSELECTED,
|
||||
HTM_OPTION_ENABLED,
|
||||
"%u",Year);
|
||||
HTM_SELECT_End ();
|
||||
HTM_TD_End ();
|
||||
/* Year */
|
||||
HTM_SELECT_Begin (SubmitOnChange,FuncsYearMonth,
|
||||
"id=\"%sYear\" name=\"%sYear\""
|
||||
" class=\"INPUT_%s\"",
|
||||
Id,Dat_ParName[StartEndTime],
|
||||
The_GetSuffix ());
|
||||
for (Year = FirstYear;
|
||||
Year <= LastYear;
|
||||
Year++)
|
||||
HTM_OPTION (HTM_Type_UNSIGNED,&Year,
|
||||
HTM_OPTION_UNSELECTED,
|
||||
HTM_OPTION_ENABLED,
|
||||
"%u",Year);
|
||||
HTM_SELECT_End ();
|
||||
|
||||
/***** Month *****/
|
||||
HTM_TD_Begin ("class=\"CM\"");
|
||||
HTM_SELECT_Begin (SubmitOnChange,FuncsYearMonth,
|
||||
"id=\"%sMonth\" name=\"%sMonth\""
|
||||
" class=\"INPUT_%s\"",
|
||||
Id,Dat_ParName[StartEndTime],
|
||||
The_GetSuffix ());
|
||||
for (Month = 1;
|
||||
Month <= 12;
|
||||
Month++)
|
||||
HTM_OPTION (HTM_Type_UNSIGNED,&Month,
|
||||
HTM_OPTION_UNSELECTED,
|
||||
HTM_OPTION_ENABLED,
|
||||
"%s",Txt_MONTHS_SMALL[Month - 1]);
|
||||
HTM_SELECT_End ();
|
||||
HTM_TD_End ();
|
||||
/* Month */
|
||||
HTM_SELECT_Begin (SubmitOnChange,FuncsYearMonth,
|
||||
"id=\"%sMonth\" name=\"%sMonth\""
|
||||
" class=\"DATE_FORM_MONTH INPUT_%s\"",
|
||||
Id,Dat_ParName[StartEndTime],
|
||||
The_GetSuffix ());
|
||||
for (Month = 1;
|
||||
Month <= 12;
|
||||
Month++)
|
||||
HTM_OPTION (HTM_Type_UNSIGNED,&Month,
|
||||
HTM_OPTION_UNSELECTED,
|
||||
HTM_OPTION_ENABLED,
|
||||
"%s",Txt_MONTHS_SMALL[Month - 1]);
|
||||
HTM_SELECT_End ();
|
||||
|
||||
/***** Day *****/
|
||||
HTM_TD_Begin ("class=\"LM\"");
|
||||
HTM_SELECT_Begin (SubmitOnChange,FuncDayHMS,
|
||||
"id=\"%sDay\" name=\"%sDay\""
|
||||
" class=\"INPUT_%s\"",
|
||||
Id,Dat_ParName[StartEndTime],
|
||||
The_GetSuffix ());
|
||||
for (Day = 1;
|
||||
Day <= 31;
|
||||
Day++)
|
||||
HTM_OPTION (HTM_Type_UNSIGNED,&Day,
|
||||
HTM_OPTION_UNSELECTED,
|
||||
HTM_OPTION_ENABLED,
|
||||
"%u",Day);
|
||||
HTM_SELECT_End ();
|
||||
HTM_TD_End ();
|
||||
/* Day */
|
||||
HTM_SELECT_Begin (SubmitOnChange,FuncDayHMS,
|
||||
"id=\"%sDay\" name=\"%sDay\""
|
||||
" class=\"INPUT_%s\"",
|
||||
Id,Dat_ParName[StartEndTime],
|
||||
The_GetSuffix ());
|
||||
for (Day = 1;
|
||||
Day <= 31;
|
||||
Day++)
|
||||
HTM_OPTION (HTM_Type_UNSIGNED,&Day,
|
||||
HTM_OPTION_UNSELECTED,
|
||||
HTM_OPTION_ENABLED,
|
||||
"%u",Day);
|
||||
HTM_SELECT_End ();
|
||||
|
||||
/***** Hour *****/
|
||||
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 ();
|
||||
HTM_DIV_End ();
|
||||
|
||||
/***** Minute *****/
|
||||
HTM_TD_Begin ("class=\"CM\"");
|
||||
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 ();
|
||||
/***** Hour, minute, second *****/
|
||||
HTM_DIV_Begin ("class=\"DATE_FORM_HMS\"");
|
||||
|
||||
/***** 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)
|
||||
{
|
||||
HTM_TD_Begin ("class=\"LM\"");
|
||||
HTM_SELECT_Begin (SubmitOnChange,FuncDayHMS,
|
||||
"id=\"%sSecond\" name=\"%sSecond\""
|
||||
" class=\"INPUT_%s\"",
|
||||
Id,Dat_ParName[StartEndTime],
|
||||
The_GetSuffix ());
|
||||
for (Second = 0;
|
||||
Second <= 59;
|
||||
Second++)
|
||||
HTM_OPTION (HTM_Type_UNSIGNED,&Second,
|
||||
HTM_OPTION_UNSELECTED,
|
||||
HTM_OPTION_ENABLED,
|
||||
"%02u ″",Second);
|
||||
HTM_SELECT_End ();
|
||||
HTM_TD_End ();
|
||||
HTM_SELECT_Begin (SubmitOnChange,FuncDayHMS,
|
||||
"id=\"%sSecond\" name=\"%sSecond\""
|
||||
" class=\"INPUT_%s\"",
|
||||
Id,Dat_ParName[StartEndTime],
|
||||
The_GetSuffix ());
|
||||
for (Second = 0;
|
||||
Second <= 59;
|
||||
Second++)
|
||||
HTM_OPTION (HTM_Type_UNSIGNED,&Second,
|
||||
HTM_OPTION_UNSELECTED,
|
||||
HTM_OPTION_ENABLED,
|
||||
"%02u ″",Second);
|
||||
HTM_SELECT_End ();
|
||||
}
|
||||
|
||||
/***** End table *****/
|
||||
HTM_TR_End ();
|
||||
HTM_TABLE_End ();
|
||||
HTM_DIV_End ();
|
||||
|
||||
/***** Free strings for onchange functions *****/
|
||||
free (FuncsYearMonth);
|
||||
|
|
|
@ -1234,8 +1234,8 @@ void Lay_PutContextualLinkIconText (Act_Action_t NextAction,const char *Anchor,
|
|||
const char *Text,const char *OnSubmit)
|
||||
{
|
||||
/***** Separator *****/
|
||||
HTM_Txt (" "); // This space is necessary to enable
|
||||
// jumping to the next line on narrow screens
|
||||
HTM_SP (); // This space is necessary to enable
|
||||
// jumping to the next line on narrow screens
|
||||
|
||||
/***** Begin form *****/
|
||||
Frm_BeginFormAnchor (NextAction,Anchor);
|
||||
|
@ -1258,8 +1258,8 @@ void Lay_PutContextualLinkIconText (Act_Action_t NextAction,const char *Anchor,
|
|||
Frm_EndForm ();
|
||||
|
||||
/***** Separator *****/
|
||||
HTM_Txt (" "); // This space is necessary to enable
|
||||
// jumping to the next line on narrow screens
|
||||
HTM_SP (); // This space is necessary to enable
|
||||
// jumping to the next line on narrow screens
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -1274,7 +1274,7 @@ void Lay_PutContextualCheckbox (Act_Action_t NextAction,
|
|||
{
|
||||
/***** Separator *****/
|
||||
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
|
||||
|
||||
/***** Begin form *****/
|
||||
|
@ -1316,7 +1316,7 @@ void Lay_PutContextualCheckbox (Act_Action_t NextAction,
|
|||
|
||||
/***** Separator *****/
|
||||
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
|
||||
}
|
||||
|
||||
|
|
|
@ -528,7 +528,7 @@ static void Prj_ShowPrjsInCurrentPage (void *Projects)
|
|||
((struct Prj_Projects *) Projects)->CurrentPage = (unsigned) Pagination.CurrentPage;
|
||||
|
||||
/***** Begin box *****/
|
||||
Box_BoxBegin ("100%",Txt_Projects,
|
||||
Box_BoxBegin (NULL,Txt_Projects,
|
||||
Prj_PutIconsListProjects,Projects,
|
||||
Hlp_ASSESSMENT_Projects,Box_NOT_CLOSABLE);
|
||||
|
||||
|
|
|
@ -198,11 +198,11 @@ void Qst_ShowFormRequestEditQsts (struct Qst_Questions *Questions)
|
|||
/***** Warning message *****/
|
||||
Ale_ShowAlert (Ale_INFO,Txt_No_questions);
|
||||
|
||||
/***** Free structure that stores the query result *****/
|
||||
DB_FreeMySQLResult (&mysql_res);
|
||||
|
||||
/***** End box *****/
|
||||
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);
|
||||
|
||||
/***** Select all types of answers *****/
|
||||
HTM_TD_Begin ("class=\"LT\"");
|
||||
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
|
||||
HTM_TABLE_BeginPadding (2);
|
||||
|
||||
HTM_TR_Begin (NULL);
|
||||
|
|
|
@ -387,7 +387,7 @@ static void Sta_PutFormCrsHits (struct Sta_Stats *Stats)
|
|||
HTM_LABEL_End ();
|
||||
|
||||
/* Separator */
|
||||
HTM_Txt (" ");
|
||||
HTM_SP ();
|
||||
|
||||
/* Number of rows per page */
|
||||
// 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);
|
||||
|
||||
/***** 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);
|
||||
|
||||
if (!ShowOnlyEnabledTags)
|
||||
{
|
||||
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 ();
|
||||
}
|
||||
HTM_TD_Empty (1);
|
||||
|
||||
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=\"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_TD_Begin ("class=\"LT\"");
|
||||
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);
|
||||
|
||||
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_TD_End ();
|
||||
|
|
Loading…
Reference in New Issue