Version 23.63.1: Jan 30, 2024 Responsive design in questions.

This commit is contained in:
acanas 2024-01-30 00:20:11 +01:00
parent 7856a409d0
commit 22abfd8011
40 changed files with 343 additions and 410 deletions

View File

@ -1746,74 +1746,29 @@ a:hover img.CENTER_PHOTO_SHOW
box-sizing:border-box; box-sizing:border-box;
width:44px; width:44px;
} }
.PRG_TITLE_DESCRIPTION_WIDTH .PRG_TITLE_DESCRIPTION_WIDTH
{ {
box-sizing:border-box; box-sizing:border-box;
width:100%; width:100%;
} }
.PRG_NUM .PRG_NUM
{ {
width:30px; width:44px;
text-align:left; text-align:left;
vertical-align:top; vertical-align:top;
} }
.PRG_MAIN
{
/******************************* Record card *********************************/ box-sizing:border-box;
@media only screen and (max-width: 480px) text-align:left;
{ /* For mobile-phones */ vertical-align:top;
.PRG_MAIN
{
box-sizing:border-box;
max-width:100px;
overflow:hidden;
text-overflow:ellipsis;
text-align:left;
vertical-align:top;
}
.PRG_DATE
{
box-sizing:border-box;
max-width:72px;
overflow:hidden;
text-overflow:ellipsis;
}
} }
@media only screen and (min-width: 480px) and (max-width: 600px) .PRG_DATE
{ /* For mobile-phones */ {
.PRG_MAIN box-sizing:border-box;
{ min-width:120px;
box-sizing:border-box; overflow:hidden;
max-width:244px; text-overflow:ellipsis;
overflow:hidden;
text-overflow:ellipsis;
text-align:left;
vertical-align:top;
}
.PRG_DATE
{
box-sizing:border-box;
max-width:120px;
overflow:hidden;
text-overflow:ellipsis;
}
}
@media only screen and (min-width: 600px)
{ /* For desktop */
.PRG_MAIN
{
text-align:left;
vertical-align:top;
}
.PRG_DATE
{
box-sizing:border-box;
max-width:120px;
overflow:hidden;
text-overflow:ellipsis;
}
} }
.PRG_TIT_1_WHITE, .PRG_TIT_1_WHITE,
@ -1868,16 +1823,6 @@ a:hover img.CENTER_PHOTO_SHOW
{ {
opacity:0.33; opacity:0.33;
} }
#prg_highlighted
{
animation:itemfadein 1s ease forwards;
}
@keyframes itemfadein
{
from {opacity:0;}
to {opacity:1;}
}
.PRG_RSC_COL1 .PRG_RSC_COL1
{ {
@ -3528,28 +3473,10 @@ legend {font-size:12pt;}
.PrjCfg_RUBRIC_SEL {max-width:400px;} .PrjCfg_RUBRIC_SEL {max-width:400px;}
/********************************** Tests ************************************/ /********************************** Tests ************************************/
.TAG_SEL {box-sizing:border-box; width:346px;} .TAG_SEL {box-sizing: border-box; width: 390px;}
.TAG_TXT {box-sizing:border-box; width:346px;} .TAG_TXT {box-sizing: border-box; width: 390px;}
.STEM .STEM_TEXTAREA {width: 780px;}
{ .ANSWER_TEXTAREA {width: 682px;}
box-sizing:border-box;
margin:0 auto;
width:700px;
}
.STEM_TEXTAREA
{
width:696px;
}
.ANSWER
{
box-sizing:border-box;
margin:0 auto;
width:600px;
}
.ANSWER_TEXTAREA
{
width:596px;
}
.Tst_SUBTITLE .Tst_SUBTITLE
{ {
@ -5192,6 +5119,14 @@ button.PAG_DARK:hover, .PAG_CUR_DARK {background-color:#707070;}
height:48px; height:48px;
} }
/*********************** Table with no horizontal scroll *********************/
.TBL_WIDE
{
box-sizing:border-box;
width:100%;
}
table.TBL_WIDE > tbody > tr > th {padding: 2px;}
/************************* Table with horizontal scroll **********************/ /************************* Table with horizontal scroll **********************/
@media only screen and (max-width: 480px) @media only screen and (max-width: 480px)
{ /* For mobile-phones */ { /* For mobile-phones */
@ -5223,7 +5158,7 @@ button.PAG_DARK:hover, .PAG_CUR_DARK {background-color:#707070;}
margin: 0 auto; margin: 0 auto;
} }
} }
@media only screen and (min-width: 1024px) @media only screen and (min-width: 1024px) and (max-width: 1600px)
{ /* For desktop */ { /* For desktop */
.TBL_SCROLL .TBL_SCROLL
{ {
@ -5233,6 +5168,16 @@ button.PAG_DARK:hover, .PAG_CUR_DARK {background-color:#707070;}
margin: 0 auto; margin: 0 auto;
} }
} }
@media only screen and (min-width: 1600px)
{ /* For desktop */
.TBL_SCROLL
{
display: block;
overflow-x: auto;
width: 1200px;
margin: 0 auto;
}
}
@media only screen and (max-width: 480px) @media only screen and (max-width: 480px)
{ /* For mobile-phones */ { /* For mobile-phones */

View File

@ -366,12 +366,7 @@ static void Acc_ShowFormRequestNewAccountWithPars (const char *NewNickWithoutArr
{ {
extern const char *Hlp_PROFILE_SignUp; extern const char *Hlp_PROFILE_SignUp;
extern const char *Txt_Actions[ActLst_NUM_ACTIONS]; extern const char *Txt_Actions[ActLst_NUM_ACTIONS];
extern const char *Txt_Nickname;
extern const char *Txt_HELP_nickname;
extern const char *Txt_HELP_email;
extern const char *Txt_Email;
extern const char *Txt_Create; extern const char *Txt_Create;
char NewNickWithArr[Nck_MAX_BYTES_NICK_WITH_ARROBA + 1];
/***** Begin form to enter some data of the new user *****/ /***** Begin form to enter some data of the new user *****/
Frm_BeginForm (ActCreUsrAcc); Frm_BeginForm (ActCreUsrAcc);
@ -381,48 +376,10 @@ static void Acc_ShowFormRequestNewAccountWithPars (const char *NewNickWithoutArr
Hlp_PROFILE_SignUp,Box_NOT_CLOSABLE,2); Hlp_PROFILE_SignUp,Box_NOT_CLOSABLE,2);
/***** Nickname *****/ /***** Nickname *****/
/* Begin table row */ Nck_PutFormToGetNewNickname (NewNickWithoutArr);
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("RT","NewNick",Txt_Nickname);
/* Data */
HTM_TD_Begin ("class=\"LT\"");
if (NewNickWithoutArr[0])
snprintf (NewNickWithArr,sizeof (NewNickWithArr),"@%s",
NewNickWithoutArr);
else
NewNickWithArr[0] = '\0';
HTM_INPUT_TEXT ("NewNick",1 + Nck_MAX_CHARS_NICK_WITHOUT_ARROBA,
NewNickWithArr,HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"NewNick\" size=\"16\" placeholder=\"%s\""
" class=\"INPUT_%s\" required=\"required\"",
Txt_HELP_nickname,
The_GetSuffix ());
HTM_TD_End ();
/* End table row */
HTM_TR_End ();
/***** Email *****/ /***** Email *****/
/* Begin table row */ Mai_PutFormToGetNewEmail (NewEmail);
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("RT","NewEmail",Txt_Email);
/* Data */
HTM_TD_Begin ("class=\"LT\"");
HTM_INPUT_EMAIL ("NewEmail",Cns_MAX_CHARS_EMAIL_ADDRESS,NewEmail,
"id=\"NewEmail\" size=\"16\" placeholder=\"%s\""
" class=\"INPUT_%s\" required=\"required\"",
Txt_HELP_email,
The_GetSuffix ());
HTM_TD_End ();
/* End table row */
HTM_TR_End ();
/***** Password *****/ /***** Password *****/
Pwd_PutFormToGetNewPasswordOnce (); Pwd_PutFormToGetNewPasswordOnce ();

View File

@ -398,7 +398,7 @@ static void Ban_ListBannersForEdition (struct Ban_Banners *Banners)
const char *Names[Nam_NUM_SHRT_FULL_NAMES]; const char *Names[Nam_NUM_SHRT_FULL_NAMES];
/***** Begin table *****/ /***** Begin table *****/
HTM_TABLE_BeginWidePadding (2); HTM_TABLE_Begin ("TBL_SCROLL");
/***** Table head *****/ /***** Table head *****/
Ban_PutHeadBanners (); Ban_PutHeadBanners ();
@ -433,7 +433,7 @@ static void Ban_ListBannersForEdition (struct Ban_Banners *Banners)
HTM_TD_End (); HTM_TD_End ();
/* Banner code */ /* Banner code */
HTM_TD_Begin ("class=\"RM %s_%s\"", HTM_TD_Begin ("class=\"CODE %s_%s\"",
HidVis_DataClass[Ban->HiddenOrVisible], HidVis_DataClass[Ban->HiddenOrVisible],
The_GetSuffix ()); The_GetSuffix ());
HTM_ARTICLE_Begin (Anchor); HTM_ARTICLE_Begin (Anchor);
@ -450,7 +450,7 @@ static void Ban_ListBannersForEdition (struct Ban_Banners *Banners)
true); // Put form true); // Put form
/* Banner image */ /* Banner image */
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"LM\"");
Frm_BeginForm (ActChgBanImg); Frm_BeginForm (ActChgBanImg);
ParCod_PutPar (ParCod_Ban,Banners->BanCodToEdit); ParCod_PutPar (ParCod_Ban,Banners->BanCodToEdit);
HTM_INPUT_TEXT ("Img",Ban_MAX_CHARS_IMAGE,Ban->Img, HTM_INPUT_TEXT ("Img",Ban_MAX_CHARS_IMAGE,Ban->Img,
@ -461,7 +461,7 @@ static void Ban_ListBannersForEdition (struct Ban_Banners *Banners)
HTM_TD_End (); HTM_TD_End ();
/* Banner WWW */ /* Banner WWW */
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"LM\"");
Frm_BeginForm (ActChgBanWWW); Frm_BeginForm (ActChgBanWWW);
ParCod_PutPar (ParCod_Ban,Banners->BanCodToEdit); ParCod_PutPar (ParCod_Ban,Banners->BanCodToEdit);
HTM_INPUT_URL ("WWW",Ban->WWW,HTM_SUBMIT_ON_CHANGE, HTM_INPUT_URL ("WWW",Ban->WWW,HTM_SUBMIT_ON_CHANGE,
@ -773,7 +773,7 @@ static void Ban_PutFormToCreateBanner (const struct Ban_Banner *Ban)
const char *Names[Nam_NUM_SHRT_FULL_NAMES]; const char *Names[Nam_NUM_SHRT_FULL_NAMES];
/***** Begin form to create *****/ /***** Begin form to create *****/
Frm_BeginFormTable (ActNewBan,NULL,NULL,NULL); Frm_BeginFormTable (ActNewBan,NULL,NULL,NULL,"TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Ban_PutHeadBanners (); Ban_PutHeadBanners ();
@ -782,22 +782,24 @@ static void Ban_PutFormToCreateBanner (const struct Ban_Banner *Ban)
/* Begin table row */ /* Begin table row */
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
/* Icons */
HTM_TD_Begin ("class=\"BM\"");
HTM_TD_End ();
HTM_TD_Begin ("class=\"BM\"");
HTM_TD_End ();
/* Banner code */ /* Banner code */
HTM_TD_Begin ("class=\"BM\""); HTM_TD_Begin ("class=\"CODE\"");
HTM_TD_End (); HTM_TD_End ();
HTM_TD_Begin ("class=\"BM\"");
HTM_TD_End ();
HTM_TD_Empty (1);
/* Banner short name and full name */ /* Banner short name and full name */
Names[Nam_SHRT_NAME] = Ban->ShrtName; Names[Nam_SHRT_NAME] = Ban->ShrtName;
Names[Nam_FULL_NAME] = Ban->FullName; Names[Nam_FULL_NAME] = Ban->FullName;
Nam_NewShortAndFullNames (Names); Nam_NewShortAndFullNames (Names);
/* Banner image */ /* Banner image */
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"LM\"");
HTM_INPUT_TEXT ("Img",Ban_MAX_CHARS_IMAGE,Ban->Img, HTM_INPUT_TEXT ("Img",Ban_MAX_CHARS_IMAGE,Ban->Img,
HTM_DONT_SUBMIT_ON_CHANGE, HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"12\" class=\"INPUT_%s\"" "size=\"12\" class=\"INPUT_%s\""
@ -806,7 +808,7 @@ static void Ban_PutFormToCreateBanner (const struct Ban_Banner *Ban)
HTM_TD_End (); HTM_TD_End ();
/* Banner WWW */ /* Banner WWW */
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"LM\"");
HTM_INPUT_URL ("WWW",Ban->WWW,HTM_DONT_SUBMIT_ON_CHANGE, HTM_INPUT_URL ("WWW",Ban->WWW,HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_WWW_NARROW INPUT_%s\"" "class=\"INPUT_WWW_NARROW INPUT_%s\""
" required=\"required\"", " required=\"required\"",

View File

@ -72,7 +72,7 @@ void Box_BoxTableBegin (const char *Title,
unsigned CellPadding) // CellPadding must be 0, 1, 2, 5 or 10 unsigned CellPadding) // CellPadding must be 0, 1, 2, 5 or 10
{ {
Box_BoxBegin (Title,FunctionToDrawContextualIcons,Args,HelpLink,Closable); Box_BoxBegin (Title,FunctionToDrawContextualIcons,Args,HelpLink,Closable);
HTM_TABLE_BeginWidePadding (CellPadding); HTM_TABLE_BeginPadding (CellPadding);
} }
void Box_BoxTableShadowBegin (const char *Title, void Box_BoxTableShadowBegin (const char *Title,
@ -83,7 +83,7 @@ void Box_BoxTableShadowBegin (const char *Title,
Box_BoxShadowBegin (Title, Box_BoxShadowBegin (Title,
FunctionToDrawContextualIcons,Args, FunctionToDrawContextualIcons,Args,
HelpLink); HelpLink);
HTM_TABLE_BeginWidePadding (CellPadding); HTM_TABLE_BeginPadding (CellPadding);
} }
void Box_BoxBegin (const char *Title, void Box_BoxBegin (const char *Title,

View File

@ -399,7 +399,7 @@ static void Bld_ListBuildingsForEdition (const struct Bld_Buildings *Buildings)
const char *Names[Nam_NUM_SHRT_FULL_NAMES]; const char *Names[Nam_NUM_SHRT_FULL_NAMES];
/***** Begin table *****/ /***** Begin table *****/
HTM_TABLE_BeginWidePadding (2); HTM_TABLE_Begin ("TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Bld_PutHeadBuildings (); Bld_PutHeadBuildings ();
@ -423,7 +423,7 @@ static void Bld_ListBuildingsForEdition (const struct Bld_Buildings *Buildings)
HTM_TD_End (); HTM_TD_End ();
/* Building code */ /* Building code */
HTM_TD_Begin ("class=\"RM DAT_%s\"",The_GetSuffix ()); HTM_TD_Begin ("class=\"CODE DAT_%s\"",The_GetSuffix ());
HTM_ARTICLE_Begin (Anchor); HTM_ARTICLE_Begin (Anchor);
HTM_Long (Building->BldCod); HTM_Long (Building->BldCod);
HTM_ARTICLE_End (); HTM_ARTICLE_End ();
@ -654,7 +654,7 @@ static void Bld_PutFormToCreateBuilding (void)
const char *Names[Nam_NUM_SHRT_FULL_NAMES]; const char *Names[Nam_NUM_SHRT_FULL_NAMES];
/***** Begin form to create *****/ /***** Begin form to create *****/
Frm_BeginFormTable (ActNewBld,NULL,NULL,NULL); Frm_BeginFormTable (ActNewBld,NULL,NULL,NULL,"TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Bld_PutHeadBuildings (); Bld_PutHeadBuildings ();

View File

@ -747,7 +747,7 @@ static void Ctr_ListCentersForEdition (const struct Plc_Places *Places)
Usr_UsrDataConstructor (&UsrDat); Usr_UsrDataConstructor (&UsrDat);
/***** Begin table *****/ /***** Begin table *****/
HTM_TABLE_BeginWidePadding (2); HTM_TABLE_Begin ("TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Ctr_PutHeadCentersForEdition (); Ctr_PutHeadCentersForEdition ();
@ -1238,7 +1238,7 @@ static void Ctr_PutFormToCreateCenter (const struct Plc_Places *Places)
Err_NoPermissionExit (); Err_NoPermissionExit ();
/***** Begin form to create *****/ /***** Begin form to create *****/
Frm_BeginFormTable (NextAction,NULL,NULL,NULL); Frm_BeginFormTable (NextAction,NULL,NULL,NULL,"TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Ctr_PutHeadCentersForEdition (); Ctr_PutHeadCentersForEdition ();

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.62 (2024-01-29)" #define Log_PLATFORM_VERSION "SWAD 23.63.1 (2024-01-30)"
#define CSS_FILE "swad23.61.css" #define CSS_FILE "swad23.63.1.css"
#define JS_FILE "swad23.53.6.js" #define JS_FILE "swad23.53.6.js"
/* /*
Version 23.63.1: Jan 30, 2024 Responsive design in questions. (335400 lines)
Version 23.63: Jan 29, 2024 Responsive design in tables.
Changes in program layout. (335404 lines)
Version 23.62: Jan 29, 2024 Code refactoring in boxes. (335474 lines) Version 23.62: Jan 29, 2024 Code refactoring in boxes. (335474 lines)
Version 23.61.1: Jan 29, 2024 Code refactoring in boxes. (335684 lines) Version 23.61.1: Jan 29, 2024 Code refactoring in boxes. (335684 lines)
Version 23.61: Jan 28, 2024 Responsive design. (335753 lines) Version 23.61: Jan 28, 2024 Responsive design. (335753 lines)

View File

@ -1034,7 +1034,7 @@ static void Cty_ListCountriesForEdition (void)
char WWWInSeveralLanguages [1 + Lan_NUM_LANGUAGES][Cns_MAX_BYTES_WWW + 1]; char WWWInSeveralLanguages [1 + Lan_NUM_LANGUAGES][Cns_MAX_BYTES_WWW + 1];
/***** Begin table *****/ /***** Begin table *****/
HTM_TABLE_BeginWidePadding (2); HTM_TABLE_Begin ("TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Cty_PutHeadCountriesForEdition (); Cty_PutHeadCountriesForEdition ();
@ -1390,7 +1390,7 @@ static void Cty_PutFormToCreateCountry (void)
char StrName[32]; char StrName[32];
/***** Begin form to create *****/ /***** Begin form to create *****/
Frm_BeginFormTable (ActNewCty,NULL,NULL,NULL); Frm_BeginFormTable (ActNewCty,NULL,NULL,NULL,"TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Cty_PutHeadCountriesForEdition (); Cty_PutHeadCountriesForEdition ();

View File

@ -629,7 +629,7 @@ static void Crs_ListCoursesForEdition (void)
unsigned Year; unsigned Year;
/***** Begin table *****/ /***** Begin table *****/
HTM_TABLE_BeginWidePadding (2); HTM_TABLE_Begin ("TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Crs_PutHeadCoursesForEdition (); Crs_PutHeadCoursesForEdition ();
@ -733,7 +733,7 @@ static void Crs_ListCoursesOfAYearForEdition (unsigned Year)
HTM_TD_End (); HTM_TD_End ();
/* Institutional code of the course */ /* Institutional code of the course */
HTM_TD_Begin ("class=\"CT DAT_%s\"",The_GetSuffix ()); HTM_TD_Begin ("class=\"LT DAT_%s\"",The_GetSuffix ());
if (ICanEdit) if (ICanEdit)
{ {
Frm_BeginForm (ActChgInsCrsCod); Frm_BeginForm (ActChgInsCrsCod);
@ -817,7 +817,7 @@ static void Crs_PutFormToCreateCourse (void)
Err_NoPermissionExit (); Err_NoPermissionExit ();
/***** Begin form to create *****/ /***** Begin form to create *****/
Frm_BeginFormTable (NextAction,NULL,NULL,NULL); Frm_BeginFormTable (NextAction,NULL,NULL,NULL,"TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Crs_PutHeadCoursesForEdition (); Crs_PutHeadCoursesForEdition ();
@ -850,7 +850,7 @@ static void Crs_PutFormToCreateCourse (void)
HTM_TD_End (); HTM_TD_End ();
/***** Institutional code of the course *****/ /***** Institutional code of the course *****/
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"LM\"");
HTM_INPUT_TEXT ("InsCrsCod",Hie_MAX_CHARS_INSTITUTIONAL_COD, HTM_INPUT_TEXT ("InsCrsCod",Hie_MAX_CHARS_INSTITUTIONAL_COD,
Crs_EditingCrs->InstitutionalCod, Crs_EditingCrs->InstitutionalCod,
HTM_DONT_SUBMIT_ON_CHANGE, HTM_DONT_SUBMIT_ON_CHANGE,
@ -925,7 +925,7 @@ static void Crs_PutHeadCoursesForEdition (void)
HTM_TH_Span (NULL ,HTM_HEAD_CENTER,1,1,"BT"); HTM_TH_Span (NULL ,HTM_HEAD_CENTER,1,1,"BT");
HTM_TH (Txt_Code ,HTM_HEAD_RIGHT ); HTM_TH (Txt_Code ,HTM_HEAD_RIGHT );
HTM_TH (Txt_Year_OF_A_DEGREE ,HTM_HEAD_CENTER); HTM_TH (Txt_Year_OF_A_DEGREE ,HTM_HEAD_CENTER);
HTM_TH_Begin (HTM_HEAD_CENTER); HTM_TH_Begin (HTM_HEAD_LEFT);
HTM_TxtF ("%s (%s)",Txt_Institutional_code,Txt_optional); HTM_TxtF ("%s (%s)",Txt_Institutional_code,Txt_optional);
HTM_TH_End (); HTM_TH_End ();
HTM_TH (Txt_Short_name_of_the_course ,HTM_HEAD_LEFT ); HTM_TH (Txt_Short_name_of_the_course ,HTM_HEAD_LEFT );

View File

@ -334,7 +334,7 @@ static void Deg_ListDegreesForEdition (const struct DegTyp_DegTypes *DegTypes)
Usr_UsrDataConstructor (&UsrDat); Usr_UsrDataConstructor (&UsrDat);
/***** Begin table of degrees *****/ /***** Begin table of degrees *****/
HTM_TABLE_BeginWidePadding (2); HTM_TABLE_Begin ("TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Deg_PutHeadDegreesForEdition (); Deg_PutHeadDegreesForEdition ();
@ -511,7 +511,7 @@ static void Deg_PutFormToCreateDegree (const struct DegTyp_DegTypes *DegTypes)
Err_NoPermissionExit (); Err_NoPermissionExit ();
/***** Begin form to create *****/ /***** Begin form to create *****/
Frm_BeginFormTable (NextAction,NULL,NULL,NULL); Frm_BeginFormTable (NextAction,NULL,NULL,NULL,"TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Deg_PutHeadDegreesForEdition (); Deg_PutHeadDegreesForEdition ();

View File

@ -389,7 +389,7 @@ static void DegTyp_ListDegreeTypesForEdition (const struct DegTyp_DegTypes *DegT
unsigned NumDegTyp; unsigned NumDegTyp;
/***** Begin table *****/ /***** Begin table *****/
HTM_TABLE_BeginWidePadding (2); HTM_TABLE_Begin ("TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
DegTyp_PutHeadDegreeTypesForEdition (); DegTyp_PutHeadDegreeTypesForEdition ();
@ -457,7 +457,7 @@ bool DegTyp_CheckIfICanCreateDegreeTypes (void)
static void DegTyp_PutFormToCreateDegreeType (void) static void DegTyp_PutFormToCreateDegreeType (void)
{ {
/***** Begin form to create *****/ /***** Begin form to create *****/
Frm_BeginFormTable (ActNewDegTyp,NULL,NULL,NULL); Frm_BeginFormTable (ActNewDegTyp,NULL,NULL,NULL,"TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
DegTyp_PutHeadDegreeTypesForEdition (); DegTyp_PutHeadDegreeTypesForEdition ();
@ -562,8 +562,8 @@ static void DegTyp_PutHeadDegreeTypesForEdition (void)
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
HTM_TH_Span (NULL ,HTM_HEAD_CENTER,1,1,"BT"); HTM_TH_Span (NULL ,HTM_HEAD_CENTER,1,1,"BT");
HTM_TH (Txt_Code ,HTM_HEAD_CENTER); HTM_TH (Txt_Code ,HTM_HEAD_RIGHT);
HTM_TH (Txt_Type_of_degree ,HTM_HEAD_CENTER); HTM_TH (Txt_Type_of_degree ,HTM_HEAD_LEFT);
HTM_TH (Txt_HIERARCHY_PLURAL_Abc[Hie_DEG],HTM_HEAD_RIGHT ); HTM_TH (Txt_HIERARCHY_PLURAL_Abc[Hie_DEG],HTM_HEAD_RIGHT );
HTM_TR_End (); HTM_TR_End ();

View File

@ -453,7 +453,7 @@ static void Dpt_ListDepartmentsForEdition (const struct Dpt_Departments *Departm
const char *Names[Nam_NUM_SHRT_FULL_NAMES]; const char *Names[Nam_NUM_SHRT_FULL_NAMES];
/***** Begin table *****/ /***** Begin table *****/
HTM_TABLE_BeginPadding (2); HTM_TABLE_Begin ("TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Dpt_PutHeadDepartments (); Dpt_PutHeadDepartments ();
@ -772,7 +772,7 @@ static void Dpt_PutFormToCreateDepartment (void)
const char *Names[Nam_NUM_SHRT_FULL_NAMES]; const char *Names[Nam_NUM_SHRT_FULL_NAMES];
/***** Begin form to create *****/ /***** Begin form to create *****/
Frm_BeginFormTable (ActNewDpt,NULL,NULL,NULL); Frm_BeginFormTable (ActNewDpt,NULL,NULL,NULL,"TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Dpt_PutHeadDepartments (); Dpt_PutHeadDepartments ();

View File

@ -829,7 +829,7 @@ static void ExaPrn_WriteTF_AnsToFill (const struct ExaPrn_Print *Print,
} }
/*****************************************************************************/ /*****************************************************************************/
/******** Write single or multiple choice answer when seeing a test **********/ /***** Write single or multiple choice answer when seeing an exam print ******/
/*****************************************************************************/ /*****************************************************************************/
static void ExaPrn_WriteChoAnsToFill (const struct ExaPrn_Print *Print, static void ExaPrn_WriteChoAnsToFill (const struct ExaPrn_Print *Print,

View File

@ -934,7 +934,8 @@ static void ExaSes_PutFormSession (struct ExaSes_Session *Session)
Frm_BeginFormTable (ItsANewSession ? ActNewExaSes : Frm_BeginFormTable (ItsANewSession ? ActNewExaSes :
ActChgExaSes, ActChgExaSes,
ExaSes_NEW_SESSION_SECTION_ID, ExaSes_NEW_SESSION_SECTION_ID,
ExaSes_ParsFormSession,Session); ExaSes_ParsFormSession,Session,
"TBL_WIDE");
/***** Session title *****/ /***** Session title *****/
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);

View File

@ -181,7 +181,7 @@ static void ExaSet_PutFormNewSet (struct Exa_Exams *Exams,
unsigned MaxSetInd) unsigned MaxSetInd)
{ {
/***** Begin form to create *****/ /***** Begin form to create *****/
Frm_BeginFormTable (ActNewExaSet,NULL,Exa_PutPars,Exams); Frm_BeginFormTable (ActNewExaSet,NULL,Exa_PutPars,Exams,"TBL_WIDE");
/***** Table heading *****/ /***** Table heading *****/
ExaSet_PutTableHeadingForSets (); ExaSet_PutTableHeadingForSets ();

View File

@ -233,7 +233,8 @@ void Frm_EndForm (void)
/*****************************************************************************/ /*****************************************************************************/
void Frm_BeginFormTable (Act_Action_t NextAction,const char *Anchor, void Frm_BeginFormTable (Act_Action_t NextAction,const char *Anchor,
void (*FuncPars) (void *Args),void *Args) void (*FuncPars) (void *Args),void *Args,
const char *ClassTable)
{ {
extern const char *Txt_Actions[ActLst_NUM_ACTIONS]; extern const char *Txt_Actions[ActLst_NUM_ACTIONS];
@ -247,7 +248,7 @@ void Frm_BeginFormTable (Act_Action_t NextAction,const char *Anchor,
FuncPars (Args); FuncPars (Args);
/***** Begin table *****/ /***** Begin table *****/
HTM_TABLE_BeginWidePadding (2); HTM_TABLE_Begin (ClassTable);
} }
void Frm_EndFormTable (Btn_Button_t Button) void Frm_EndFormTable (Btn_Button_t Button)

View File

@ -70,7 +70,8 @@ void Frm_SetParsForm (char ParsStr[Frm_MAX_BYTES_PARAMS_STR + 1],
void Frm_EndForm (void); void Frm_EndForm (void);
void Frm_BeginFormTable (Act_Action_t NextAction,const char *Anchor, void Frm_BeginFormTable (Act_Action_t NextAction,const char *Anchor,
void (*FuncPars) (void *Args),void *Args); void (*FuncPars) (void *Args),void *Args,
const char *ClassTable);
void Frm_EndFormTable (Btn_Button_t Button); void Frm_EndFormTable (Btn_Button_t Button);
void Frm_SetUniqueId (char UniqueId[Frm_MAX_BYTES_ID + 1]); void Frm_SetUniqueId (char UniqueId[Frm_MAX_BYTES_ID + 1]);

View File

@ -1213,7 +1213,7 @@ static void Grp_ListGroupTypesForEdition (void)
char Id[32]; char Id[32];
/***** Begin table *****/ /***** Begin table *****/
HTM_TABLE_BeginWidePadding (2); HTM_TABLE_Begin ("TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Grp_WriteHeadingGroupTypes (); Grp_WriteHeadingGroupTypes ();
@ -1232,7 +1232,7 @@ static void Grp_ListGroupTypesForEdition (void)
HTM_TD_End (); HTM_TD_End ();
/* Name of group type */ /* Name of group type */
HTM_TD_Begin ("class=\"LM\""); HTM_TD_Begin ("class=\"CM\"");
Frm_BeginFormAnchor (ActRenGrpTyp,Grp_GROUP_TYPES_SECTION_ID); Frm_BeginFormAnchor (ActRenGrpTyp,Grp_GROUP_TYPES_SECTION_ID);
ParCod_PutPar (ParCod_GrpTyp,Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].GrpTypCod); ParCod_PutPar (ParCod_GrpTyp,Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].GrpTypCod);
HTM_INPUT_TEXT ("GrpTypName",Grp_MAX_CHARS_GROUP_TYPE_NAME, HTM_INPUT_TEXT ("GrpTypName",Grp_MAX_CHARS_GROUP_TYPE_NAME,
@ -1288,7 +1288,7 @@ static void Grp_ListGroupTypesForEdition (void)
HTM_TD_End (); HTM_TD_End ();
/* Open time */ /* Open time */
HTM_TD_Begin ("class=\"LM\""); HTM_TD_Begin ("class=\"CM\"");
Frm_BeginFormAnchor (ActChgTimGrpTyp,Grp_GROUP_TYPES_SECTION_ID); Frm_BeginFormAnchor (ActChgTimGrpTyp,Grp_GROUP_TYPES_SECTION_ID);
ParCod_PutPar (ParCod_GrpTyp,Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].GrpTypCod); ParCod_PutPar (ParCod_GrpTyp,Gbl.Crs.Grps.GrpTypes.LstGrpTypes[NumGrpTyp].GrpTypCod);
HTM_TABLE_BeginCenterPadding (2); HTM_TABLE_BeginCenterPadding (2);
@ -1399,7 +1399,7 @@ static void Grp_ListGroupsForEdition (const struct Roo_Rooms *Rooms)
char StrMaxStudents[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; char StrMaxStudents[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
/***** Begin table *****/ /***** Begin table *****/
HTM_TABLE_BeginWidePadding (2); HTM_TABLE_Begin ("TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Grp_WriteHeadingGroups (); Grp_WriteHeadingGroups ();
@ -2397,7 +2397,7 @@ static void Grp_PutFormToCreateGroupType (void)
/***** Begin form to create *****/ /***** Begin form to create *****/
Frm_BeginFormTable (ActNewGrpTyp,Grp_NEW_GROUP_TYPE_SECTION_ID, Frm_BeginFormTable (ActNewGrpTyp,Grp_NEW_GROUP_TYPE_SECTION_ID,
NULL,NULL); NULL,NULL,"TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Grp_WriteHeadingGroupTypes (); Grp_WriteHeadingGroupTypes ();
@ -2409,7 +2409,7 @@ static void Grp_PutFormToCreateGroupType (void)
HTM_TD_End (); HTM_TD_End ();
/***** Name of group type *****/ /***** Name of group type *****/
HTM_TD_Begin ("class=\"LM\""); HTM_TD_Begin ("class=\"CM\"");
HTM_INPUT_TEXT ("GrpTypName",Grp_MAX_CHARS_GROUP_TYPE_NAME, HTM_INPUT_TEXT ("GrpTypName",Grp_MAX_CHARS_GROUP_TYPE_NAME,
Gbl.Crs.Grps.GrpTyp.GrpTypName,HTM_DONT_SUBMIT_ON_CHANGE, Gbl.Crs.Grps.GrpTyp.GrpTypName,HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"12\" class=\"INPUT_%s\"" "size=\"12\" class=\"INPUT_%s\""
@ -2456,8 +2456,8 @@ static void Grp_PutFormToCreateGroupType (void)
HTM_TD_End (); HTM_TD_End ();
/***** Open time *****/ /***** Open time *****/
HTM_TD_Begin ("class=\"LM\""); HTM_TD_Begin ("class=\"CM\"");
HTM_TABLE_BeginPadding (2); HTM_TABLE_BeginCenterPadding (2);
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"LM\" style=\"width:20px;\""); HTM_TD_Begin ("class=\"LM\" style=\"width:20px;\"");
@ -2521,7 +2521,8 @@ static void Grp_PutFormToCreateGroup (const struct Roo_Rooms *Rooms)
HTM_SECTION_Begin (Grp_NEW_GROUP_SECTION_ID); HTM_SECTION_Begin (Grp_NEW_GROUP_SECTION_ID);
/***** Begin form to create *****/ /***** Begin form to create *****/
Frm_BeginFormTable (ActNewGrp,Grp_GROUPS_SECTION_ID,NULL,NULL); Frm_BeginFormTable (ActNewGrp,Grp_GROUPS_SECTION_ID,NULL,NULL,
"TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Grp_WriteHeadingGroups (); Grp_WriteHeadingGroups ();

View File

@ -497,7 +497,7 @@ static void Hld_ListHolidaysForEdition (const struct Hld_Holidays *Holidays,
if (Places->Num) if (Places->Num)
{ {
/***** Begin table *****/ /***** Begin table *****/
HTM_TABLE_BeginWidePadding (2); HTM_TABLE_Begin ("TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Hld_PutHeadHolidays (); Hld_PutHeadHolidays ();
@ -884,7 +884,7 @@ static void Hld_PutFormToCreateHoliday (const struct Plc_Places *Places)
unsigned CurrentYear = Dat_GetCurrentYear (); unsigned CurrentYear = Dat_GetCurrentYear ();
/***** Begin form to create *****/ /***** Begin form to create *****/
Frm_BeginFormTable (ActNewHld,NULL,NULL,NULL); Frm_BeginFormTable (ActNewHld,NULL,NULL,NULL,"TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Hld_PutHeadHolidays (); Hld_PutHeadHolidays ();
@ -995,11 +995,11 @@ static void Hld_PutHeadHolidays (void)
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
HTM_TH_Span (NULL ,HTM_HEAD_CENTER,1,1,"BT"); HTM_TH_Span (NULL ,HTM_HEAD_CENTER,1,1,"BT");
HTM_TH (Txt_Code ,HTM_HEAD_RIGHT); HTM_TH (Txt_Code ,HTM_HEAD_RIGHT);
HTM_TH (Txt_Place ,HTM_HEAD_LEFT ); HTM_TH (Txt_Place ,HTM_HEAD_CENTER);
HTM_TH (Txt_Type ,HTM_HEAD_LEFT ); HTM_TH (Txt_Type ,HTM_HEAD_CENTER);
HTM_TH (Txt_START_END_TIME[Dat_STR_TIME],HTM_HEAD_LEFT ); HTM_TH (Txt_START_END_TIME[Dat_STR_TIME],HTM_HEAD_CENTER);
HTM_TH (Txt_START_END_TIME[Dat_END_TIME],HTM_HEAD_LEFT ); HTM_TH (Txt_START_END_TIME[Dat_END_TIME],HTM_HEAD_CENTER);
HTM_TH (Txt_Holiday ,HTM_HEAD_LEFT ); HTM_TH (Txt_Holiday ,HTM_HEAD_CENTER);
HTM_TR_End (); HTM_TR_End ();
} }

View File

@ -894,7 +894,7 @@ static void Ins_ListInstitutionsForEdition (void)
Usr_UsrDataConstructor (&UsrDat); Usr_UsrDataConstructor (&UsrDat);
/***** Begin table *****/ /***** Begin table *****/
HTM_TABLE_BeginWidePadding (2); HTM_TABLE_Begin ("TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Ins_PutHeadInstitutionsForEdition (); Ins_PutHeadInstitutionsForEdition ();
@ -1334,7 +1334,7 @@ static void Ins_PutFormToCreateInstitution (void)
Err_NoPermissionExit (); Err_NoPermissionExit ();
/***** Begin form to create *****/ /***** Begin form to create *****/
Frm_BeginFormTable (NextAction,NULL,NULL,NULL); Frm_BeginFormTable (NextAction,NULL,NULL,NULL,"TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Ins_PutHeadInstitutionsForEdition (); Ins_PutHeadInstitutionsForEdition ();

View File

@ -405,7 +405,7 @@ static void Lnk_ListLinksForEdition (const struct Lnk_Links *Links)
const char *Names[Nam_NUM_SHRT_FULL_NAMES]; const char *Names[Nam_NUM_SHRT_FULL_NAMES];
/***** Begin table *****/ /***** Begin table *****/
HTM_TABLE_BeginWidePadding (2); HTM_TABLE_Begin ("TBL_SCROLL");
/***** Table head *****/ /***** Table head *****/
Lnk_PutHeadLinks (); Lnk_PutHeadLinks ();
@ -439,7 +439,7 @@ static void Lnk_ListLinksForEdition (const struct Lnk_Links *Links)
true); // Put form true); // Put form
/* Link WWW */ /* Link WWW */
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"LM\"");
Frm_BeginForm (ActChgLnkWWW); Frm_BeginForm (ActChgLnkWWW);
ParCod_PutPar (ParCod_Lnk,Lnk->LnkCod); ParCod_PutPar (ParCod_Lnk,Lnk->LnkCod);
HTM_INPUT_URL ("WWW",Lnk->WWW,HTM_SUBMIT_ON_CHANGE, HTM_INPUT_URL ("WWW",Lnk->WWW,HTM_SUBMIT_ON_CHANGE,
@ -649,7 +649,7 @@ static void Lnk_PutFormToCreateLink (void)
const char *Names[Nam_NUM_SHRT_FULL_NAMES]; const char *Names[Nam_NUM_SHRT_FULL_NAMES];
/***** Begin form to create *****/ /***** Begin form to create *****/
Frm_BeginFormTable (ActNewLnk,NULL,NULL,NULL); Frm_BeginFormTable (ActNewLnk,NULL,NULL,NULL,"TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Lnk_PutHeadLinks (); Lnk_PutHeadLinks ();
@ -670,7 +670,7 @@ static void Lnk_PutFormToCreateLink (void)
Nam_NewShortAndFullNames (Names); Nam_NewShortAndFullNames (Names);
/***** Link WWW *****/ /***** Link WWW *****/
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"LM\"");
HTM_INPUT_URL ("WWW",Lnk_EditingLnk->WWW,HTM_DONT_SUBMIT_ON_CHANGE, HTM_INPUT_URL ("WWW",Lnk_EditingLnk->WWW,HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"INPUT_WWW_NARROW INPUT_%s\"" "class=\"INPUT_WWW_NARROW INPUT_%s\""
" required=\"required\"", " required=\"required\"",

View File

@ -451,7 +451,7 @@ static void Mai_ListMailDomainsForEdition (const struct Mai_Mails *Mails)
if (Mails->Num) if (Mails->Num)
{ {
/***** Begin table *****/ /***** Begin table *****/
HTM_TABLE_BeginWidePadding (2); HTM_TABLE_Begin ("TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Mai_PutHeadMailDomains (); Mai_PutHeadMailDomains ();
@ -477,7 +477,7 @@ static void Mai_ListMailDomainsForEdition (const struct Mai_Mails *Mails)
HTM_TD_End (); HTM_TD_End ();
/* Mail domain */ /* Mail domain */
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"LM\"");
Frm_BeginForm (ActRenMaiSho); Frm_BeginForm (ActRenMaiSho);
ParCod_PutPar (ParCod_Mai,Mai->MaiCod); ParCod_PutPar (ParCod_Mai,Mai->MaiCod);
HTM_INPUT_TEXT ("Domain",Cns_MAX_CHARS_EMAIL_ADDRESS,Mai->Domain, HTM_INPUT_TEXT ("Domain",Cns_MAX_CHARS_EMAIL_ADDRESS,Mai->Domain,
@ -488,7 +488,7 @@ static void Mai_ListMailDomainsForEdition (const struct Mai_Mails *Mails)
HTM_TD_End (); HTM_TD_End ();
/* Mail domain info */ /* Mail domain info */
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"LM\"");
Frm_BeginForm (ActRenMaiFul); Frm_BeginForm (ActRenMaiFul);
ParCod_PutPar (ParCod_Mai,Mai->MaiCod); ParCod_PutPar (ParCod_Mai,Mai->MaiCod);
HTM_INPUT_TEXT ("Info",Mai_MAX_CHARS_MAIL_INFO,Mai->Info, HTM_INPUT_TEXT ("Info",Mai_MAX_CHARS_MAIL_INFO,Mai->Info,
@ -674,7 +674,7 @@ void Mai_ContEditAfterChgMai (void)
static void Mai_PutFormToCreateMailDomain (void) static void Mai_PutFormToCreateMailDomain (void)
{ {
/***** Begin form to create *****/ /***** Begin form to create *****/
Frm_BeginFormTable (ActNewMai,NULL,NULL,NULL); Frm_BeginFormTable (ActNewMai,NULL,NULL,NULL,"TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Mai_PutHeadMailDomains (); Mai_PutHeadMailDomains ();
@ -691,7 +691,7 @@ static void Mai_PutFormToCreateMailDomain (void)
HTM_TD_End (); HTM_TD_End ();
/* Mail domain */ /* Mail domain */
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"LM\"");
HTM_INPUT_TEXT ("Domain",Cns_MAX_CHARS_EMAIL_ADDRESS,Mai_EditingMai->Domain, HTM_INPUT_TEXT ("Domain",Cns_MAX_CHARS_EMAIL_ADDRESS,Mai_EditingMai->Domain,
HTM_DONT_SUBMIT_ON_CHANGE, HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"15\" class=\"INPUT_%s\"" "size=\"15\" class=\"INPUT_%s\""
@ -700,7 +700,7 @@ static void Mai_PutFormToCreateMailDomain (void)
HTM_TD_End (); HTM_TD_End ();
/* Mail domain info */ /* Mail domain info */
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"LM\"");
HTM_INPUT_TEXT ("Info",Mai_MAX_CHARS_MAIL_INFO,Mai_EditingMai->Info, HTM_INPUT_TEXT ("Info",Mai_MAX_CHARS_MAIL_INFO,Mai_EditingMai->Info,
HTM_DONT_SUBMIT_ON_CHANGE, HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"40\" class=\"INPUT_%s\"" "size=\"40\" class=\"INPUT_%s\""
@ -1006,6 +1006,34 @@ bool Mai_GetEmailFromUsrCod (struct Usr_Data *UsrDat)
return Found; return Found;
} }
/*****************************************************************************/
/******************** Put form to request the new email **********************/
/*****************************************************************************/
void Mai_PutFormToGetNewEmail (const char *NewEmail)
{
extern const char *Txt_Email;
extern const char *Txt_HELP_email;
/***** Email *****/
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RM","NewEmail",Txt_Email);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LM\"");
HTM_INPUT_EMAIL ("NewEmail",Cns_MAX_CHARS_EMAIL_ADDRESS,NewEmail,
"id=\"NewEmail\" size=\"16\" placeholder=\"%s\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\""
" required=\"required\"",
Txt_HELP_email,
The_GetSuffix ());
HTM_TD_End ();
HTM_TR_End ();
}
/*****************************************************************************/ /*****************************************************************************/
/*********************** Show form to change my email ************************/ /*********************** Show form to change my email ************************/
/*****************************************************************************/ /*****************************************************************************/

View File

@ -79,6 +79,8 @@ void Mai_GetSelUsrsAndListEmails (void);
bool Mai_CheckIfEmailIsValid (const char *Email); bool Mai_CheckIfEmailIsValid (const char *Email);
bool Mai_GetEmailFromUsrCod (struct Usr_Data *UsrDat); bool Mai_GetEmailFromUsrCod (struct Usr_Data *UsrDat);
void Mai_PutFormToGetNewEmail (const char *NewEmail);
void Mai_ShowFormChangeMyEmail (bool IMustFillInEmail,bool IShouldConfirmEmail); void Mai_ShowFormChangeMyEmail (bool IMustFillInEmail,bool IShouldConfirmEmail);
void Mai_ShowFormChangeOtherUsrEmail (void); void Mai_ShowFormChangeOtherUsrEmail (void);

View File

@ -1193,7 +1193,7 @@ static void Mch_PutFormMatch (struct Mch_Match *Match)
Frm_BeginFormTable (ItsANewMatch ? ActNewMch : Frm_BeginFormTable (ItsANewMatch ? ActNewMch :
ActChgMch, ActChgMch,
Mch_NEW_MATCH_SECTION_ID, Mch_NEW_MATCH_SECTION_ID,
Mch_ParsFormMatch,Match); Mch_ParsFormMatch,Match,"TBL_WIDE");
/***** Match title *****/ /***** Match title *****/
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);

View File

@ -93,7 +93,7 @@ void Nam_NewShortAndFullNames (const char *Names[Nam_NUM_SHRT_FULL_NAMES])
ShrtOrFull <= Nam_FULL_NAME; ShrtOrFull <= Nam_FULL_NAME;
ShrtOrFull++) ShrtOrFull++)
{ {
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"LM\"");
HTM_INPUT_TEXT (Nam_Params[ShrtOrFull],Nam_MaxChars[ShrtOrFull], HTM_INPUT_TEXT (Nam_Params[ShrtOrFull],Nam_MaxChars[ShrtOrFull],
Names[ShrtOrFull], Names[ShrtOrFull],
HTM_DONT_SUBMIT_ON_CHANGE, HTM_DONT_SUBMIT_ON_CHANGE,

View File

@ -124,6 +124,41 @@ long Nck_GetUsrCodFromNickname (const char *NickWithArr)
return Nck_DB_GetUsrCodFromNickname (CopyOfNick); return Nck_DB_GetUsrCodFromNickname (CopyOfNick);
} }
/*****************************************************************************/
/******************* Put form to request the new nickname ********************/
/*****************************************************************************/
void Nck_PutFormToGetNewNickname (const char *NewNickWithoutArr)
{
extern const char *Txt_Nickname;
extern const char *Txt_HELP_nickname;
char NewNickWithArr[Nck_MAX_BYTES_NICK_WITH_ARROBA + 1];
/***** Nickname *****/
HTM_TR_Begin (NULL);
/* Label */
Frm_LabelColumn ("REC_C1_BOT RM","NewNick",Txt_Nickname);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LM\"");
if (NewNickWithoutArr[0])
snprintf (NewNickWithArr,sizeof (NewNickWithArr),"@%s",
NewNickWithoutArr);
else
NewNickWithArr[0] = '\0';
HTM_INPUT_TEXT ("NewNick",1 + Nck_MAX_CHARS_NICK_WITHOUT_ARROBA,
NewNickWithArr,HTM_DONT_SUBMIT_ON_CHANGE,
"id=\"NewNick\" size=\"16\" placeholder=\"%s\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\""
" required=\"required\"",
Txt_HELP_nickname,
The_GetSuffix ());
HTM_TD_End ();
HTM_TR_End ();
}
/*****************************************************************************/ /*****************************************************************************/
/*********************** Show form to change my nickname *********************/ /*********************** Show form to change my nickname *********************/
/*****************************************************************************/ /*****************************************************************************/

View File

@ -42,6 +42,8 @@ bool Nck_CheckIfNickWithArrIsValid (const char *NickWithArr);
long Nck_GetUsrCodFromNickname (const char *NickWithArr); long Nck_GetUsrCodFromNickname (const char *NickWithArr);
void Nck_PutFormToGetNewNickname (const char *NewNickWithoutArr);
void Nck_ShowFormChangeMyNickname (bool IMustFillNickname); void Nck_ShowFormChangeMyNickname (bool IMustFillNickname);
void Nck_ShowFormChangeOtherUsrNickname (void); void Nck_ShowFormChangeOtherUsrNickname (void);

View File

@ -616,7 +616,8 @@ void Pwd_ShowFormChgMyPwd (void)
/* Data */ /* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LM\""); HTM_TD_Begin ("class=\"REC_C2_BOT LM\"");
HTM_INPUT_PASSWORD ("UsrPwd",NULL,"off",true, HTM_INPUT_PASSWORD ("UsrPwd",NULL,"off",
true, // Required
"id=\"UsrPwd\"" "id=\"UsrPwd\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\"", " class=\"REC_C2_BOT_INPUT INPUT_%s\"",
The_GetSuffix ()); The_GetSuffix ());
@ -665,9 +666,11 @@ void Pwd_PutFormToGetNewPasswordOnce (void)
/* Data */ /* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LM\""); HTM_TD_Begin ("class=\"REC_C2_BOT LM\"");
HTM_INPUT_PASSWORD ("Paswd",Txt_HELP_password,NULL,true, HTM_INPUT_PASSWORD ("Paswd",Txt_HELP_password,NULL,
true, // Required
"id=\"Paswd\" class=\"REC_C2_BOT_INPUT INPUT_%s\"", "id=\"Paswd\" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
The_GetSuffix ()); The_GetSuffix ());
HTM_TD_End (); HTM_TD_End ();
HTM_TR_End (); HTM_TR_End ();
@ -691,7 +694,8 @@ void Pwd_PutFormToGetNewPasswordTwice (void)
/* Data */ /* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LM\""); HTM_TD_Begin ("class=\"REC_C2_BOT LM\"");
HTM_INPUT_PASSWORD ("Paswd1",Txt_HELP_password,NULL,true, HTM_INPUT_PASSWORD ("Paswd1",Txt_HELP_password,NULL,
true, // Required
"id=\"Paswd1\" class=\"REC_C2_BOT_INPUT INPUT_%s\"", "id=\"Paswd1\" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
The_GetSuffix ()); The_GetSuffix ());
HTM_TD_End (); HTM_TD_End ();
@ -706,7 +710,8 @@ void Pwd_PutFormToGetNewPasswordTwice (void)
/* Data */ /* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LM\""); HTM_TD_Begin ("class=\"REC_C2_BOT LM\"");
HTM_INPUT_PASSWORD ("Paswd2",Txt_HELP_password,NULL,true, HTM_INPUT_PASSWORD ("Paswd2",Txt_HELP_password,NULL,
true, // Required
"id=\"Paswd2\" class=\"REC_C2_BOT_INPUT INPUT_%s\"", "id=\"Paswd2\" class=\"REC_C2_BOT_INPUT INPUT_%s\"",
The_GetSuffix ()); The_GetSuffix ());
HTM_TD_End (); HTM_TD_End ();
@ -790,7 +795,8 @@ void Pwd_AskForConfirmationOnDangerousAction (void)
/***** Password *****/ /***** Password *****/
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ()); HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
HTM_TxtColonNBSP (Txt_For_security_enter_your_password); HTM_TxtColonNBSP (Txt_For_security_enter_your_password);
HTM_INPUT_PASSWORD ("OthUsrPwd",NULL,"off",true, HTM_INPUT_PASSWORD ("OthUsrPwd",NULL,"off",
true, // Required
"class=\"INPUT_%s\"", "class=\"INPUT_%s\"",
The_GetSuffix ()); The_GetSuffix ());
HTM_LABEL_End (); HTM_LABEL_End ();

View File

@ -433,7 +433,7 @@ static void Plc_ListPlacesForEdition (const struct Plc_Places *Places)
const char *Names[Nam_NUM_SHRT_FULL_NAMES]; const char *Names[Nam_NUM_SHRT_FULL_NAMES];
/***** Begin table *****/ /***** Begin table *****/
HTM_TABLE_BeginWidePadding (2); HTM_TABLE_Begin ("TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Plc_PutHeadPlaces (); Plc_PutHeadPlaces ();
@ -639,7 +639,7 @@ static void Plc_PutFormToCreatePlace (void)
const char *Names[Nam_NUM_SHRT_FULL_NAMES]; const char *Names[Nam_NUM_SHRT_FULL_NAMES];
/***** Begin form to create *****/ /***** Begin form to create *****/
Frm_BeginFormTable (ActNewPlc,NULL,NULL,NULL); Frm_BeginFormTable (ActNewPlc,NULL,NULL,NULL,"TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Plc_PutHeadPlaces (); Plc_PutHeadPlaces ();

View File

@ -359,7 +359,7 @@ static void Plg_ListPluginsForEdition (struct Plg_Plugins *Plugins)
char *Icon; char *Icon;
/***** Begin table *****/ /***** Begin table *****/
HTM_TABLE_BeginWidePadding (2); HTM_TABLE_Begin ("TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Plg_PutHeadPlugins (); Plg_PutHeadPlugins ();
@ -396,7 +396,7 @@ static void Plg_ListPluginsForEdition (struct Plg_Plugins *Plugins)
HTM_TD_End (); HTM_TD_End ();
/* Plugin name */ /* Plugin name */
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"LM\"");
Frm_BeginForm (ActRenPlg); Frm_BeginForm (ActRenPlg);
ParCod_PutPar (ParCod_Plg,Plg->PlgCod); ParCod_PutPar (ParCod_Plg,Plg->PlgCod);
HTM_INPUT_TEXT ("Name",Plg_MAX_CHARS_PLUGIN_NAME,Plg->Name, HTM_INPUT_TEXT ("Name",Plg_MAX_CHARS_PLUGIN_NAME,Plg->Name,
@ -407,7 +407,7 @@ static void Plg_ListPluginsForEdition (struct Plg_Plugins *Plugins)
HTM_TD_End (); HTM_TD_End ();
/* Plugin description */ /* Plugin description */
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"LM\"");
Frm_BeginForm (ActChgPlgDes); Frm_BeginForm (ActChgPlgDes);
ParCod_PutPar (ParCod_Plg,Plg->PlgCod); ParCod_PutPar (ParCod_Plg,Plg->PlgCod);
HTM_INPUT_TEXT ("Description",Plg_MAX_CHARS_PLUGIN_DESCRIPTION,Plg->Description, HTM_INPUT_TEXT ("Description",Plg_MAX_CHARS_PLUGIN_DESCRIPTION,Plg->Description,
@ -418,7 +418,7 @@ static void Plg_ListPluginsForEdition (struct Plg_Plugins *Plugins)
HTM_TD_End (); HTM_TD_End ();
/* Plugin logo */ /* Plugin logo */
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"LM\"");
Frm_BeginForm (ActChgPlgLog); Frm_BeginForm (ActChgPlgLog);
ParCod_PutPar (ParCod_Plg,Plg->PlgCod); ParCod_PutPar (ParCod_Plg,Plg->PlgCod);
HTM_INPUT_TEXT ("Logo",Plg_MAX_CHARS_PLUGIN_LOGO,Plg->Logo, HTM_INPUT_TEXT ("Logo",Plg_MAX_CHARS_PLUGIN_LOGO,Plg->Logo,
@ -429,7 +429,7 @@ static void Plg_ListPluginsForEdition (struct Plg_Plugins *Plugins)
HTM_TD_End (); HTM_TD_End ();
/* Plugin application key */ /* Plugin application key */
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"LM\"");
Frm_BeginForm (ActChgPlgAppKey); Frm_BeginForm (ActChgPlgAppKey);
ParCod_PutPar (ParCod_Plg,Plg->PlgCod); ParCod_PutPar (ParCod_Plg,Plg->PlgCod);
HTM_INPUT_TEXT ("AppKey",Plg_MAX_CHARS_PLUGIN_APP_KEY,Plg->AppKey, HTM_INPUT_TEXT ("AppKey",Plg_MAX_CHARS_PLUGIN_APP_KEY,Plg->AppKey,
@ -440,7 +440,7 @@ static void Plg_ListPluginsForEdition (struct Plg_Plugins *Plugins)
HTM_TD_End (); HTM_TD_End ();
/* Plugin URL */ /* Plugin URL */
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"LM\"");
Frm_BeginForm (ActChgPlgURL); Frm_BeginForm (ActChgPlgURL);
ParCod_PutPar (ParCod_Plg,Plg->PlgCod); ParCod_PutPar (ParCod_Plg,Plg->PlgCod);
HTM_INPUT_URL ("URL",Plg->URL,HTM_SUBMIT_ON_CHANGE, HTM_INPUT_URL ("URL",Plg->URL,HTM_SUBMIT_ON_CHANGE,
@ -450,7 +450,7 @@ static void Plg_ListPluginsForEdition (struct Plg_Plugins *Plugins)
HTM_TD_End (); HTM_TD_End ();
/* Plugin IP address */ /* Plugin IP address */
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"LM\"");
Frm_BeginForm (ActChgPlgIP); Frm_BeginForm (ActChgPlgIP);
ParCod_PutPar (ParCod_Plg,Plg->PlgCod); ParCod_PutPar (ParCod_Plg,Plg->PlgCod);
HTM_INPUT_TEXT ("IP",Cns_MAX_CHARS_IP,Plg->IP,HTM_SUBMIT_ON_CHANGE, HTM_INPUT_TEXT ("IP",Cns_MAX_CHARS_IP,Plg->IP,HTM_SUBMIT_ON_CHANGE,
@ -788,7 +788,7 @@ void Plg_ContEditAfterChgPlg (void)
static void Plg_PutFormToCreatePlugin (void) static void Plg_PutFormToCreatePlugin (void)
{ {
/***** Begin form to create *****/ /***** Begin form to create *****/
Frm_BeginFormTable (ActNewPlg,NULL,NULL,NULL); Frm_BeginFormTable (ActNewPlg,NULL,NULL,NULL,"TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Plg_PutHeadPlugins (); Plg_PutHeadPlugins ();
@ -810,7 +810,7 @@ static void Plg_PutFormToCreatePlugin (void)
HTM_TD_End (); HTM_TD_End ();
/***** Plugin name *****/ /***** Plugin name *****/
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"LM\"");
HTM_INPUT_TEXT ("Name",Plg_MAX_CHARS_PLUGIN_NAME,Plg_EditingPlg->Name, HTM_INPUT_TEXT ("Name",Plg_MAX_CHARS_PLUGIN_NAME,Plg_EditingPlg->Name,
HTM_DONT_SUBMIT_ON_CHANGE, HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"8\" class=\"INPUT_%s\"" "size=\"8\" class=\"INPUT_%s\""
@ -819,7 +819,7 @@ static void Plg_PutFormToCreatePlugin (void)
HTM_TD_End (); HTM_TD_End ();
/***** Plugin description *****/ /***** Plugin description *****/
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"LM\"");
HTM_INPUT_TEXT ("Description",Plg_MAX_CHARS_PLUGIN_DESCRIPTION, HTM_INPUT_TEXT ("Description",Plg_MAX_CHARS_PLUGIN_DESCRIPTION,
Plg_EditingPlg->Description, Plg_EditingPlg->Description,
HTM_DONT_SUBMIT_ON_CHANGE, HTM_DONT_SUBMIT_ON_CHANGE,
@ -829,7 +829,7 @@ static void Plg_PutFormToCreatePlugin (void)
HTM_TD_End (); HTM_TD_End ();
/***** Plugin logo *****/ /***** Plugin logo *****/
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"LM\"");
HTM_INPUT_TEXT ("Logo",Plg_MAX_CHARS_PLUGIN_LOGO,Plg_EditingPlg->Logo, HTM_INPUT_TEXT ("Logo",Plg_MAX_CHARS_PLUGIN_LOGO,Plg_EditingPlg->Logo,
HTM_DONT_SUBMIT_ON_CHANGE, HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"4\" class=\"INPUT_%s\"" "size=\"4\" class=\"INPUT_%s\""
@ -838,7 +838,7 @@ static void Plg_PutFormToCreatePlugin (void)
HTM_TD_End (); HTM_TD_End ();
/***** Plugin application key *****/ /***** Plugin application key *****/
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"LM\"");
HTM_INPUT_TEXT ("AppKey",Plg_MAX_CHARS_PLUGIN_APP_KEY,Plg_EditingPlg->AppKey, HTM_INPUT_TEXT ("AppKey",Plg_MAX_CHARS_PLUGIN_APP_KEY,Plg_EditingPlg->AppKey,
HTM_DONT_SUBMIT_ON_CHANGE, HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"8\" class=\"INPUT_%s\"" "size=\"8\" class=\"INPUT_%s\""
@ -847,7 +847,7 @@ static void Plg_PutFormToCreatePlugin (void)
HTM_TD_End (); HTM_TD_End ();
/***** Plugin URL *****/ /***** Plugin URL *****/
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"LM\"");
HTM_INPUT_URL ("URL",Plg_EditingPlg->URL,HTM_DONT_SUBMIT_ON_CHANGE, HTM_INPUT_URL ("URL",Plg_EditingPlg->URL,HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"8\" class=\"INPUT_%s\"" "size=\"8\" class=\"INPUT_%s\""
" required=\"required\"", " required=\"required\"",
@ -855,7 +855,7 @@ static void Plg_PutFormToCreatePlugin (void)
HTM_TD_End (); HTM_TD_End ();
/***** Plugin IP address *****/ /***** Plugin IP address *****/
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"LM\"");
HTM_INPUT_TEXT ("IP",Cns_MAX_CHARS_IP,Plg_EditingPlg->IP, HTM_INPUT_TEXT ("IP",Cns_MAX_CHARS_IP,Plg_EditingPlg->IP,
HTM_DONT_SUBMIT_ON_CHANGE, HTM_DONT_SUBMIT_ON_CHANGE,
"size=\"8\" class=\"INPUT_%s\"" "size=\"8\" class=\"INPUT_%s\""

View File

@ -110,7 +110,6 @@ static struct
}; };
static const char *Prg_ITEM_SECTION_ID = "item_section"; static const char *Prg_ITEM_SECTION_ID = "item_section";
static const char *Prg_HIGHLIGHTED_SECTION_ID = "prg_highlighted";
/*****************************************************************************/ /*****************************************************************************/
/***************************** Private prototypes ****************************/ /***************************** Private prototypes ****************************/
@ -179,7 +178,6 @@ static void Prg_MoveLeftRightItem (Prg_MoveLeftRight_t LeftRight);
static void Prg_ExpandContractItem (Prg_ExpandContract_t ExpandContract); static void Prg_ExpandContractItem (Prg_ExpandContract_t ExpandContract);
static void Prg_SetItemRangeOnlyItem (unsigned NumItem,struct Prg_ItemRange *ItemRange);
static void Prg_SetItemRangeWithAllChildren (unsigned NumItem,struct Prg_ItemRange *ItemRange); static void Prg_SetItemRangeWithAllChildren (unsigned NumItem,struct Prg_ItemRange *ItemRange);
static unsigned Prg_GetLastChild (int NumItem); static unsigned Prg_GetLastChild (int NumItem);
@ -234,10 +232,8 @@ void Prg_ShowAllItems (Prg_ListingType_t ListingType,
unsigned NumItem; unsigned NumItem;
unsigned FormLevel = 0; // Initialized to avoid warning unsigned FormLevel = 0; // Initialized to avoid warning
struct Prg_Item Item; struct Prg_Item Item;
struct Prg_ItemRange ToHighlight;
ConExp_ContractedOrExpanded_t ContractedOrExpanded; ConExp_ContractedOrExpanded_t ContractedOrExpanded;
char *Title; char *Title;
static bool FirstTBodyOpen = false;
static void (*FunctionToDrawContextualIcons[Prg_NUM_LISTING_TYPES]) (void *Args) = static void (*FunctionToDrawContextualIcons[Prg_NUM_LISTING_TYPES]) (void *Args) =
{ {
[Prg_PRINT ] = NULL, [Prg_PRINT ] = NULL,
@ -259,33 +255,12 @@ void Prg_ShowAllItems (Prg_ListingType_t ListingType,
Prg_CreateLevels (); Prg_CreateLevels ();
/***** Compute form level *****/ /***** Compute form level *****/
ToHighlight.Begin = if (ListingType == Prg_FORM_NEW_CHILD_ITEM)
ToHighlight.End = 0;
switch (ListingType)
{ {
case Prg_VIEW: ParentItmCod = SelectedItmCod; // Item code here is parent of the item to create
case Prg_EDIT_ITEMS: NumItem = Prg_GetNumItemFromItmCod (SelectedItmCod);
if (SelectedItmCod > 0) SelectedItmCod = Prg_GetItmCodFromNumItem (Prg_GetLastChild (NumItem));
Prg_SetItemRangeWithAllChildren (Prg_GetNumItemFromItmCod (SelectedItmCod), FormLevel = Prg_GetLevelFromNumItem (NumItem) + 1;
&ToHighlight);
break;
case Prg_RECEIVE_ITEM:
// case Prg_EDIT_RESOURCES: // Uncomment to higlight item
// case Prg_EDIT_RESOURCE_LINK: // Uncomment to higlight item
// case Prg_CHANGE_RESOURCE_LINK: // Uncomment to higlight item
// case Prg_END_EDIT_RES: // Uncomment to higlight item
if (SelectedItmCod > 0)
Prg_SetItemRangeOnlyItem (Prg_GetNumItemFromItmCod (SelectedItmCod),
&ToHighlight);
break;
case Prg_FORM_NEW_CHILD_ITEM:
ParentItmCod = SelectedItmCod; // Item code here is parent of the item to create
NumItem = Prg_GetNumItemFromItmCod (SelectedItmCod);
SelectedItmCod = Prg_GetItmCodFromNumItem (Prg_GetLastChild (NumItem));
FormLevel = Prg_GetLevelFromNumItem (NumItem) + 1;
break;
default:
break;
} }
/***** Begin box *****/ /***** Begin box *****/
@ -297,14 +272,7 @@ void Prg_ShowAllItems (Prg_ListingType_t ListingType,
free (Title); free (Title);
/***** Table *****/ /***** Table *****/
HTM_TABLE_BeginWideMarginPadding (2); HTM_TABLE_Begin ("TBL_SCROLL");
/* In general, the table is divided into three bodys:
1. Rows before highlighted: <tbody></tbody>
2. Rows highlighted: <tbody id="prg_highlighted"></tbody>
3. Rows after highlighted: <tbody></tbody> */
HTM_TBODY_Begin (NULL); // 1st tbody start
FirstTBodyOpen = true;
/***** Write all program items *****/ /***** Write all program items *****/
for (NumItem = 0, The_ResetRowColor (); for (NumItem = 0, The_ResetRowColor ();
@ -315,18 +283,6 @@ void Prg_ShowAllItems (Prg_ListingType_t ListingType,
Item.Hierarchy.ItmCod = Prg_GetItmCodFromNumItem (NumItem); Item.Hierarchy.ItmCod = Prg_GetItmCodFromNumItem (NumItem);
Prg_GetItemDataByCod (&Item); Prg_GetItemDataByCod (&Item);
/* Begin range to highlight? */
if (Item.Hierarchy.ItmInd == ToHighlight.Begin) // Begin of the highlighted range
{
if (FirstTBodyOpen)
{
HTM_TBODY_End (); // 1st tbody end
FirstTBodyOpen = false;
}
HTM_TBODY_Begin ("id=\"%s\"",
Prg_HIGHLIGHTED_SECTION_ID); // Highlighted tbody start
}
/* Set if this level is expanded */ /* Set if this level is expanded */
ContractedOrExpanded = Prg_DB_GetIfContractedOrExpandedItem (Item.Hierarchy.ItmCod); ContractedOrExpanded = Prg_DB_GetIfContractedOrExpandedItem (Item.Hierarchy.ItmCod);
Prg_SetExpandedLevel (Item.Hierarchy.Level,ContractedOrExpanded); Prg_SetExpandedLevel (Item.Hierarchy.Level,ContractedOrExpanded);
@ -347,14 +303,6 @@ void Prg_ShowAllItems (Prg_ListingType_t ListingType,
The_ChangeRowColor (); The_ChangeRowColor ();
} }
} }
/* End range to highlight? */
if (Item.Hierarchy.ItmInd == ToHighlight.End) // End of the highlighted range
{
HTM_TBODY_End (); // Highlighted tbody end
if (NumItem < Prg_Gbl.List.NumItems - 1) // Not the last item
HTM_TBODY_Begin (NULL); // 3rd tbody begin
}
} }
/***** Create item at the end? *****/ /***** Create item at the end? *****/
@ -362,7 +310,6 @@ void Prg_ShowAllItems (Prg_ListingType_t ListingType,
Prg_WriteRowToCreateItem (-1L,1); Prg_WriteRowToCreateItem (-1L,1);
/***** End table *****/ /***** End table *****/
HTM_TBODY_End (); // 3rd tbody end
HTM_TABLE_End (); HTM_TABLE_End ();
/***** End box *****/ /***** End box *****/
@ -519,9 +466,12 @@ static void Prg_WriteRowItem (Prg_ListingType_t ListingType,
Prg_IncreaseNumberInLevel (Item->Hierarchy.Level); Prg_IncreaseNumberInLevel (Item->Hierarchy.Level);
/***** Is this the item selected? *****/ /***** Is this the item selected? *****/
/*
HighlightItem = Item->Hierarchy.ItmCod == SelectedItmCod && HighlightItem = Item->Hierarchy.ItmCod == SelectedItmCod &&
(ListingType == Prg_FORM_EDIT_ITEM || (ListingType == Prg_FORM_EDIT_ITEM ||
ListingType == Prg_END_EDIT_ITEM); ListingType == Prg_END_EDIT_ITEM);
*/
HighlightItem = Item->Hierarchy.ItmCod == SelectedItmCod;
/***** First row (title and dates) *****/ /***** First row (title and dates) *****/
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
@ -687,7 +637,8 @@ static void Prg_PutIconToContractOrExpandItem (struct Prg_Item *Item,
/***** Icon to hide/unhide program item *****/ /***** Icon to hide/unhide program item *****/
PutContextualIcon[ContractedOrExpanded] (NextAction[ContractedOrExpanded][ViewType], PutContextualIcon[ContractedOrExpanded] (NextAction[ContractedOrExpanded][ViewType],
Prg_HIGHLIGHTED_SECTION_ID, // Prg_HIGHLIGHTED_SECTION_ID,
Prg_ITEM_SECTION_ID,
Prg_PutParItmCod,&Item->Hierarchy.ItmCod); Prg_PutParItmCod,&Item->Hierarchy.ItmCod);
} }
@ -1002,7 +953,7 @@ static void Prg_PutFormsToRemEditOneItem (Prg_ListingType_t ListingType,
Prg_PutParItmCod,&Item->Hierarchy.ItmCod); Prg_PutParItmCod,&Item->Hierarchy.ItmCod);
/***** Icon to hide/unhide program item *****/ /***** Icon to hide/unhide program item *****/
Ico_PutContextualIconToHideUnhide (ActionHideUnhide,Prg_HIGHLIGHTED_SECTION_ID, Ico_PutContextualIconToHideUnhide (ActionHideUnhide,Prg_ITEM_SECTION_ID /*Prg_HIGHLIGHTED_SECTION_ID */,
Prg_PutParItmCod,&Item->Hierarchy.ItmCod, Prg_PutParItmCod,&Item->Hierarchy.ItmCod,
Item->Hierarchy.HiddenOrVisible); Item->Hierarchy.HiddenOrVisible);
@ -1022,7 +973,7 @@ static void Prg_PutFormsToRemEditOneItem (Prg_ListingType_t ListingType,
/***** Icon to move up the item *****/ /***** Icon to move up the item *****/
if (Prg_CheckIfMoveUpIsAllowed (NumItem)) if (Prg_CheckIfMoveUpIsAllowed (NumItem))
Lay_PutContextualLinkOnlyIcon (ActUp_PrgItm,Prg_HIGHLIGHTED_SECTION_ID, Lay_PutContextualLinkOnlyIcon (ActUp_PrgItm,Prg_ITEM_SECTION_ID /* Prg_HIGHLIGHTED_SECTION_ID */,
Prg_PutParItmCod,&Item->Hierarchy.ItmCod, Prg_PutParItmCod,&Item->Hierarchy.ItmCod,
"arrow-up.svg",Ico_BLACK); "arrow-up.svg",Ico_BLACK);
else else
@ -1030,7 +981,7 @@ static void Prg_PutFormsToRemEditOneItem (Prg_ListingType_t ListingType,
/***** Icon to move down the item *****/ /***** Icon to move down the item *****/
if (Prg_CheckIfMoveDownIsAllowed (NumItem)) if (Prg_CheckIfMoveDownIsAllowed (NumItem))
Lay_PutContextualLinkOnlyIcon (ActDwnPrgItm,Prg_HIGHLIGHTED_SECTION_ID, Lay_PutContextualLinkOnlyIcon (ActDwnPrgItm,Prg_ITEM_SECTION_ID /* Prg_HIGHLIGHTED_SECTION_ID */,
Prg_PutParItmCod,&Item->Hierarchy.ItmCod, Prg_PutParItmCod,&Item->Hierarchy.ItmCod,
"arrow-down.svg",Ico_BLACK); "arrow-down.svg",Ico_BLACK);
else else
@ -1038,7 +989,7 @@ static void Prg_PutFormsToRemEditOneItem (Prg_ListingType_t ListingType,
/***** Icon to move left item (increase level) *****/ /***** Icon to move left item (increase level) *****/
if (Prg_CheckIfMoveLeftIsAllowed (NumItem)) if (Prg_CheckIfMoveLeftIsAllowed (NumItem))
Lay_PutContextualLinkOnlyIcon (ActLftPrgItm,Prg_HIGHLIGHTED_SECTION_ID, Lay_PutContextualLinkOnlyIcon (ActLftPrgItm,Prg_ITEM_SECTION_ID /* Prg_HIGHLIGHTED_SECTION_ID */,
Prg_PutParItmCod,&Item->Hierarchy.ItmCod, Prg_PutParItmCod,&Item->Hierarchy.ItmCod,
"arrow-left.svg",Ico_BLACK); "arrow-left.svg",Ico_BLACK);
else else
@ -1046,7 +997,7 @@ static void Prg_PutFormsToRemEditOneItem (Prg_ListingType_t ListingType,
/***** Icon to move right item (indent, decrease level) *****/ /***** Icon to move right item (indent, decrease level) *****/
if (Prg_CheckIfMoveRightIsAllowed (NumItem)) if (Prg_CheckIfMoveRightIsAllowed (NumItem))
Lay_PutContextualLinkOnlyIcon (ActRgtPrgItm,Prg_HIGHLIGHTED_SECTION_ID, Lay_PutContextualLinkOnlyIcon (ActRgtPrgItm,Prg_ITEM_SECTION_ID /* Prg_HIGHLIGHTED_SECTION_ID */,
Prg_PutParItmCod,&Item->Hierarchy.ItmCod, Prg_PutParItmCod,&Item->Hierarchy.ItmCod,
"arrow-right.svg",Ico_BLACK); "arrow-right.svg",Ico_BLACK);
else else
@ -1808,25 +1759,6 @@ static void Prg_ExpandContractItem (Prg_ExpandContract_t ExpandContract)
Prg_FreeListItems (); Prg_FreeListItems ();
} }
/*****************************************************************************/
/****** Set subtree begin and end from number of item in course program ******/
/*****************************************************************************/
static void Prg_SetItemRangeOnlyItem (unsigned NumItem,struct Prg_ItemRange *ItemRange)
{
/***** List of items must be filled *****/
if (!Prg_Gbl.List.IsRead)
Err_WrongItemsListExit ();
/***** Number of item must be in the correct range *****/
if (NumItem >= Prg_Gbl.List.NumItems)
Err_WrongItemExit ();
/***** Range includes only this item *****/
ItemRange->Begin =
ItemRange->End = Prg_GetItmIndFromNumItem (NumItem);
}
static void Prg_SetItemRangeWithAllChildren (unsigned NumItem,struct Prg_ItemRange *ItemRange) static void Prg_SetItemRangeWithAllChildren (unsigned NumItem,struct Prg_ItemRange *ItemRange)
{ {
/***** List of items must be filled *****/ /***** List of items must be filled *****/
@ -1971,7 +1903,8 @@ static void Prg_ShowFormToCreateItem (long ParentItmCod)
/***** Begin form to create *****/ /***** Begin form to create *****/
Frm_BeginFormTable (ActNewPrgItm,NULL, Frm_BeginFormTable (ActNewPrgItm,NULL,
Prg_ParsFormItem,&ParentItem.Hierarchy.ItmCod); Prg_ParsFormItem,&ParentItem.Hierarchy.ItmCod,
"TBL_WIDE");
/***** Show form *****/ /***** Show form *****/
Prg_ShowFormItem (&Item,SetHMS,NULL); Prg_ShowFormItem (&Item,SetHMS,NULL);
@ -1996,8 +1929,8 @@ static void Prg_ShowFormToChangeItem (long ItmCod)
Prg_DB_GetItemTxt (Item.Hierarchy.ItmCod,Txt); Prg_DB_GetItemTxt (Item.Hierarchy.ItmCod,Txt);
/***** Begin form to change *****/ /***** Begin form to change *****/
Frm_BeginFormTable (ActChgPrgItm,Prg_HIGHLIGHTED_SECTION_ID, Frm_BeginFormTable (ActChgPrgItm,Prg_ITEM_SECTION_ID /* Prg_HIGHLIGHTED_SECTION_ID */,
Prg_ParsFormItem,&Item.Hierarchy.ItmCod); Prg_ParsFormItem,&Item.Hierarchy.ItmCod,"TBL_WIDE");
/***** Show form *****/ /***** Show form *****/
Prg_ShowFormItem (&Item,SetHMS,Txt); Prg_ShowFormItem (&Item,SetHMS,Txt);

View File

@ -244,46 +244,44 @@ void PrgRsc_ListItemResources (Prg_ListingType_t ListingType,
/***** Table *****/ /***** Table *****/
HTM_TABLE_BeginWidePadding (2); HTM_TABLE_BeginWidePadding (2);
HTM_TBODY_Begin (NULL);
/***** Write all item resources *****/ /***** Write all item resources *****/
for (NumRsc = 0, The_ResetRowColor1 (1); for (NumRsc = 0, The_ResetRowColor1 (1);
NumRsc < NumResources; NumRsc < NumResources;
NumRsc++, The_ChangeRowColor1 (1)) NumRsc++, The_ChangeRowColor1 (1))
{
/* Get data of this item resource */
PrgRsc_GetResourceDataFromRow (mysql_res,Item);
/* Show item */
switch (ViewingOrEditingResourcesOfThisItem)
{ {
/* Get data of this item resource */ case Vie_VIEW:
PrgRsc_GetResourceDataFromRow (mysql_res,Item); PrgRsc_WriteRowViewResource (NumRsc,Item);
break;
/* Show item */ case Vie_EDIT:
switch (ViewingOrEditingResourcesOfThisItem) PrgRsc_WriteRowEditResource (NumRsc,NumResources,Item,
{ (ListingType == Prg_EDIT_RESOURCE_LINK &&
case Vie_VIEW: Item->Resource.Hierarchy.RscCod == SelectedRscCod) ? Vie_EDIT :
PrgRsc_WriteRowViewResource (NumRsc,Item); Vie_VIEW);
break; break;
case Vie_EDIT: default:
PrgRsc_WriteRowEditResource (NumRsc,NumResources,Item, Err_WrongTypeExit ();
(ListingType == Prg_EDIT_RESOURCE_LINK && break;
Item->Resource.Hierarchy.RscCod == SelectedRscCod) ? Vie_EDIT :
Vie_VIEW);
break;
default:
Err_WrongTypeExit ();
break;
}
} }
}
/***** Form to create a new resource *****/ /***** Form to create a new resource *****/
if (ViewingOrEditingResourcesOfThisItem == Vie_EDIT) if (ViewingOrEditingResourcesOfThisItem == Vie_EDIT)
{ {
Prg_ResetResource (Item); Prg_ResetResource (Item);
PrgRsc_WriteRowNewResource (NumResources,Item, PrgRsc_WriteRowNewResource (NumResources,Item,
(ListingType == Prg_EDIT_RESOURCE_LINK && (ListingType == Prg_EDIT_RESOURCE_LINK &&
Item->Resource.Hierarchy.RscCod == SelectedRscCod) ? Vie_EDIT : Item->Resource.Hierarchy.RscCod == SelectedRscCod) ? Vie_EDIT :
Vie_VIEW); Vie_VIEW);
} }
/***** End table *****/ /***** End table *****/
HTM_TBODY_End ();
HTM_TABLE_End (); HTM_TABLE_End ();
/***** End box *****/ /***** End box *****/

View File

@ -221,7 +221,7 @@ void Qst_ShowFormAnswerTypes (const struct Qst_AnswerTypes *AnswerTypes)
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
/***** Label *****/ /***** Label *****/
HTM_TD_TxtColon (Txt_Types_of_answers); Frm_LabelColumn ("REC_C1_BOT RT","",Txt_Types_of_answers);
/***** Select all types of answers *****/ /***** Select all types of answers *****/
HTM_TD_Begin ("class=\"REC_C2_BOT LT\""); HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
@ -1861,7 +1861,7 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question)
ParCod_PutPar (ParCod_Qst,Question->QstCod); ParCod_PutPar (ParCod_Qst,Question->QstCod);
/***** Begin table *****/ /***** Begin table *****/
HTM_TABLE_BeginPadding (2); // Table for this question HTM_TABLE_Begin ("TBL_SCROLL"); // Table for this question
/***** Help for text editor *****/ /***** Help for text editor *****/
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
@ -1875,8 +1875,13 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question)
/***** Write the tags *****/ /***** Write the tags *****/
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
HTM_TD_TxtColon (Txt_Tags);
/* Label */
Frm_LabelColumn ("RT","",Txt_Tags);
/* Tags */
HTM_TD_Begin ("class=\"LT\""); HTM_TD_Begin ("class=\"LT\"");
HTM_TABLE_BeginPadding (2); // Table for tags HTM_TABLE_BeginPadding (2); // Table for tags
for (IndTag = 0; for (IndTag = 0;
@ -1994,7 +1999,11 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question)
/***** Type of answer *****/ /***** Type of answer *****/
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
HTM_TD_TxtColon (Txt_Type);
/* Label */
Frm_LabelColumn ("RT","",Txt_Type);
/* Data */
HTM_TD_Begin ("class=\"LT FORM_IN_%s\"",The_GetSuffix ()); HTM_TD_Begin ("class=\"LT FORM_IN_%s\"",The_GetSuffix ());
for (AnsType = (Qst_AnswerType_t) 0; for (AnsType = (Qst_AnswerType_t) 0;
AnsType <= (Qst_AnswerType_t) (Qst_NUM_ANS_TYPES - 1); AnsType <= (Qst_AnswerType_t) (Qst_NUM_ANS_TYPES - 1);
@ -2016,10 +2025,13 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question)
/***** Answers *****/ /***** Answers *****/
/* Integer answer */ /* Integer answer */
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
HTM_TD_TxtColon (Txt_Answers);
/* Label */
Frm_LabelColumn ("RT","",Txt_Answers);
/* Data */
HTM_TD_Begin ("class=\"LT\""); HTM_TD_Begin ("class=\"LT\"");
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"", HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
The_GetSuffix ());
HTM_TxtColonNBSP (Txt_Integer_number); HTM_TxtColonNBSP (Txt_Integer_number);
snprintf (StrInteger,sizeof (StrInteger),"%ld",Question->Answer.Integer); snprintf (StrInteger,sizeof (StrInteger),"%ld",Question->Answer.Integer);
HTM_INPUT_TEXT ("AnsInt",Cns_MAX_DECIMAL_DIGITS_LONG,StrInteger, HTM_INPUT_TEXT ("AnsInt",Cns_MAX_DECIMAL_DIGITS_LONG,StrInteger,
@ -2055,9 +2067,7 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question)
/* Questions can be shuffled? */ /* Questions can be shuffled? */
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
HTM_TD_Empty (1); HTM_TD_Empty (1);
HTM_TD_Begin ("class=\"LT\""); HTM_TD_Begin ("class=\"LT\"");
HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ()); HTM_LABEL_Begin ("class=\"FORM_IN_%s\"",The_GetSuffix ());
HTM_INPUT_CHECKBOX ("Shuffle",HTM_DONT_SUBMIT_ON_CHANGE, HTM_INPUT_CHECKBOX ("Shuffle",HTM_DONT_SUBMIT_ON_CHANGE,
@ -2070,7 +2080,6 @@ void Qst_PutFormEditOneQst (struct Qst_Question *Question)
HTM_Txt (Txt_Shuffle); HTM_Txt (Txt_Shuffle);
HTM_LABEL_End (); HTM_LABEL_End ();
HTM_TD_End (); HTM_TD_End ();
HTM_TR_End (); HTM_TR_End ();
/* Simple or multiple choice answers */ /* Simple or multiple choice answers */

View File

@ -276,10 +276,9 @@ static void Rec_ListFieldsRecordsForEdition (void)
struct RecordField *Fld; struct RecordField *Fld;
Rec_VisibilityRecordFields_t Vis; Rec_VisibilityRecordFields_t Vis;
unsigned VisUnsigned; unsigned VisUnsigned;
char StrNumLines[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
/***** Begin table *****/ /***** Begin table *****/
HTM_TABLE_BeginWidePadding (2); HTM_TABLE_Begin ("TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Rec_WriteHeadingRecordFields (); Rec_WriteHeadingRecordFields ();
@ -299,8 +298,8 @@ static void Rec_ListFieldsRecordsForEdition (void)
Rec_PutParFldCod,&Fld->FieldCod); Rec_PutParFldCod,&Fld->FieldCod);
HTM_TD_End (); HTM_TD_End ();
/* Name of the field */ /* Field name */
HTM_TD_Begin ("class=\"LM\""); HTM_TD_Begin ("class=\"CM\"");
Frm_BeginForm (ActRenFie); Frm_BeginForm (ActRenFie);
ParCod_PutPar (ParCod_Fld,Fld->FieldCod); ParCod_PutPar (ParCod_Fld,Fld->FieldCod);
HTM_INPUT_TEXT ("FieldName",Rec_MAX_CHARS_NAME_FIELD, HTM_INPUT_TEXT ("FieldName",Rec_MAX_CHARS_NAME_FIELD,
@ -315,11 +314,10 @@ static void Rec_ListFieldsRecordsForEdition (void)
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"CM\"");
Frm_BeginForm (ActChgRowFie); Frm_BeginForm (ActChgRowFie);
ParCod_PutPar (ParCod_Fld,Fld->FieldCod); ParCod_PutPar (ParCod_Fld,Fld->FieldCod);
snprintf (StrNumLines,sizeof (StrNumLines),"%u", HTM_INPUT_LONG ("NumLines",1,UINT_MAX,(long) Fld->NumLines,
Fld->NumLines); HTM_SUBMIT_ON_CHANGE,false,
HTM_INPUT_TEXT ("NumLines",Cns_MAX_DECIMAL_DIGITS_UINT,StrNumLines, "class=\"INPUT_LONG INPUT_%s\""
HTM_SUBMIT_ON_CHANGE, " required=\"required\"",
"size=\"2\" class=\"INPUT_%s\"",
The_GetSuffix ()); The_GetSuffix ());
Frm_EndForm (); Frm_EndForm ();
HTM_TD_End (); HTM_TD_End ();
@ -363,10 +361,9 @@ void Rec_ShowFormCreateRecordField (void)
extern const char *Txt_RECORD_FIELD_VISIBILITY_MENU[Rec_NUM_TYPES_VISIBILITY]; extern const char *Txt_RECORD_FIELD_VISIBILITY_MENU[Rec_NUM_TYPES_VISIBILITY];
Rec_VisibilityRecordFields_t Vis; Rec_VisibilityRecordFields_t Vis;
unsigned VisUnsigned; unsigned VisUnsigned;
char StrNumLines[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
/***** Begin form to create *****/ /***** Begin form to create *****/
Frm_BeginFormTable (ActNewFie,NULL,NULL,NULL); Frm_BeginFormTable (ActNewFie,NULL,NULL,NULL,"TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Rec_WriteHeadingRecordFields (); Rec_WriteHeadingRecordFields ();
@ -379,7 +376,7 @@ void Rec_ShowFormCreateRecordField (void)
HTM_TD_End (); HTM_TD_End ();
/***** Field name *****/ /***** Field name *****/
HTM_TD_Begin ("class=\"LM\""); HTM_TD_Begin ("class=\"CM\"");
HTM_INPUT_TEXT ("FieldName",Rec_MAX_CHARS_NAME_FIELD,Gbl.Crs.Records.Field.Name, HTM_INPUT_TEXT ("FieldName",Rec_MAX_CHARS_NAME_FIELD,Gbl.Crs.Records.Field.Name,
HTM_DONT_SUBMIT_ON_CHANGE, HTM_DONT_SUBMIT_ON_CHANGE,
"class=\"REC_FIELDNAME INPUT_%s\"" "class=\"REC_FIELDNAME INPUT_%s\""
@ -389,11 +386,10 @@ void Rec_ShowFormCreateRecordField (void)
/***** Number of lines in form ******/ /***** Number of lines in form ******/
HTM_TD_Begin ("class=\"CM\""); HTM_TD_Begin ("class=\"CM\"");
snprintf (StrNumLines,sizeof (StrNumLines),"%u", HTM_INPUT_LONG ("NumLines",1,UINT_MAX,
Gbl.Crs.Records.Field.NumLines); (long) Gbl.Crs.Records.Field.NumLines,
HTM_INPUT_TEXT ("NumLines",Cns_MAX_DECIMAL_DIGITS_UINT,StrNumLines, HTM_DONT_SUBMIT_ON_CHANGE,false,
HTM_DONT_SUBMIT_ON_CHANGE, "class=\"INPUT_LONG INPUT_%s\""
"size=\"2\" class=\"INPUT_%s\""
" required=\"required\"", " required=\"required\"",
The_GetSuffix ()); The_GetSuffix ());
HTM_TD_End (); HTM_TD_End ();

View File

@ -637,7 +637,7 @@ static void Roo_ListRoomsForEdition (const struct Bld_Buildings *Buildings,
char StrCapacity[Cns_MAX_DECIMAL_DIGITS_UINT + 1]; char StrCapacity[Cns_MAX_DECIMAL_DIGITS_UINT + 1];
const char *Names[Nam_NUM_SHRT_FULL_NAMES]; const char *Names[Nam_NUM_SHRT_FULL_NAMES];
HTM_TABLE_BeginWidePadding (2); HTM_TABLE_Begin ("TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Roo_PutHeadRooms (); Roo_PutHeadRooms ();
@ -1197,7 +1197,7 @@ static void Roo_PutFormToCreateRoom (const struct Bld_Buildings *Buildings)
const char *Names[Nam_NUM_SHRT_FULL_NAMES]; const char *Names[Nam_NUM_SHRT_FULL_NAMES];
/***** Begin form to create *****/ /***** Begin form to create *****/
Frm_BeginFormTable (ActNewRoo,NULL,NULL,NULL); Frm_BeginFormTable (ActNewRoo,NULL,NULL,NULL,"TBL_SCROLL");
/***** Write heading *****/ /***** Write heading *****/
Roo_PutHeadRooms (); Roo_PutHeadRooms ();
@ -1213,7 +1213,7 @@ static void Roo_PutFormToCreateRoom (const struct Bld_Buildings *Buildings)
HTM_TD_End (); HTM_TD_End ();
/***** Building *****/ /***** Building *****/
HTM_TD_Begin ("class=\"LM\""); HTM_TD_Begin ("class=\"CM\"");
Roo_PutSelectorBuilding (Roo_EditingRoom->BldCod,Buildings, Roo_PutSelectorBuilding (Roo_EditingRoom->BldCod,Buildings,
HTM_DONT_SUBMIT_ON_CHANGE); HTM_DONT_SUBMIT_ON_CHANGE);
HTM_TD_End (); HTM_TD_End ();
@ -1279,7 +1279,7 @@ static void Roo_PutHeadRooms (void)
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
HTM_TH_Span (NULL ,HTM_HEAD_CENTER,1,1,"BT"); HTM_TH_Span (NULL ,HTM_HEAD_CENTER,1,1,"BT");
HTM_TH (Txt_Code ,HTM_HEAD_CENTER); HTM_TH (Txt_Code ,HTM_HEAD_CENTER);
HTM_TH (Txt_Building ,HTM_HEAD_LEFT ); HTM_TH (Txt_Building ,HTM_HEAD_CENTER);
HTM_TH (Txt_Floor ,HTM_HEAD_LEFT ); HTM_TH (Txt_Floor ,HTM_HEAD_LEFT );
HTM_TH (Txt_Type ,HTM_HEAD_LEFT ); HTM_TH (Txt_Type ,HTM_HEAD_LEFT );
HTM_TH (Txt_Short_name ,HTM_HEAD_LEFT ); HTM_TH (Txt_Short_name ,HTM_HEAD_LEFT );

View File

@ -172,7 +172,7 @@ static void RubCri_PutFormNewCriterion (struct Rub_Rubrics *Rubrics,
RubCri_ValueRange_t ValueRange; RubCri_ValueRange_t ValueRange;
/***** Begin form to create *****/ /***** Begin form to create *****/
Frm_BeginFormTable (ActNewRubCri,NULL,Rub_PutPars,Rubrics); Frm_BeginFormTable (ActNewRubCri,NULL,Rub_PutPars,Rubrics,"TBL_SCROLL");
/***** Table heading *****/ /***** Table heading *****/
RubCri_PutTableHeadingForEdition (); RubCri_PutTableHeadingForEdition ();
@ -666,7 +666,7 @@ static void RubCri_ListOneOrMoreCriteriaForEdition (struct Rub_Rubrics *Rubrics,
double SumOfWeights = 0.0; double SumOfWeights = 0.0;
/***** Begin table *****/ /***** Begin table *****/
HTM_TABLE_BeginWideMarginPadding (5); HTM_TABLE_Begin ("TBL_SCROLL");
/***** Write the heading *****/ /***** Write the heading *****/
RubCri_PutTableHeadingForEdition (); RubCri_PutTableHeadingForEdition ();

View File

@ -294,7 +294,7 @@ void Tag_ShowFormSelTags (const struct Tag_Tags *Tags,
HTM_TR_Begin (NULL); HTM_TR_Begin (NULL);
/***** Label *****/ /***** Label *****/
HTM_TD_TxtColon (Txt_Tags); Frm_LabelColumn ("REC_C1_BOT RT","",Txt_Tags);
/***** Select all tags *****/ /***** Select all tags *****/
HTM_TD_Begin ("class=\"REC_C2_BOT LT\""); HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");

View File

@ -79,6 +79,7 @@ extern struct Globals Gbl;
/*****************************************************************************/ /*****************************************************************************/
static void Tst_ShowFormRequestTest (struct Qst_Questions *Questions); static void Tst_ShowFormRequestTest (struct Qst_Questions *Questions);
static void Tst_ShowFormNumQsts (void);
static bool Tst_CheckIfNextTstAllowed (void); static bool Tst_CheckIfNextTstAllowed (void);
@ -116,7 +117,6 @@ static void Tst_ShowFormRequestTest (struct Qst_Questions *Questions)
{ {
extern const char *Hlp_ASSESSMENT_Tests; extern const char *Hlp_ASSESSMENT_Tests;
extern const char *Txt_Test; extern const char *Txt_Test;
extern const char *Txt_Number_of_questions;
extern const char *Txt_Generate_test; extern const char *Txt_Generate_test;
extern const char *Txt_No_questions; extern const char *Txt_No_questions;
MYSQL_RES *mysql_res; MYSQL_RES *mysql_res;
@ -146,32 +146,13 @@ static void Tst_ShowFormRequestTest (struct Qst_Questions *Questions)
Qst_ShowFormAnswerTypes (&Questions->AnswerTypes); Qst_ShowFormAnswerTypes (&Questions->AnswerTypes);
/***** Number of questions to generate ****/ /***** Number of questions to generate ****/
HTM_TR_Begin (NULL); Tst_ShowFormNumQsts ();
/* Label */
Frm_LabelColumn ("REC_C1_BOT RT","NumQst",
Txt_Number_of_questions);
/* Data */
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_INPUT_LONG ("NumQst",
(long) TstCfg_GetConfigMin (),
(long) TstCfg_GetConfigMax (),
(long) TstCfg_GetConfigDef (),
HTM_DONT_SUBMIT_ON_CHANGE,
TstCfg_GetConfigMin () == TstCfg_GetConfigMax (),
"id=\"NumQst\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\""
" required=\"required\"",
The_GetSuffix ());
HTM_TD_End ();
HTM_TR_End ();
HTM_TABLE_End (); HTM_TABLE_End ();
/***** Send button *****/ /***** Send button *****/
Btn_PutConfirmButton (Txt_Generate_test); Btn_PutConfirmButton (Txt_Generate_test);
Frm_EndForm (); Frm_EndForm ();
} }
} }
@ -186,6 +167,37 @@ static void Tst_ShowFormRequestTest (struct Qst_Questions *Questions)
Box_BoxEnd (); Box_BoxEnd ();
} }
/*****************************************************************************/
/************ Show form for enter number of questions to generate ************/
/*****************************************************************************/
static void Tst_ShowFormNumQsts (void)
{
extern const char *Txt_Number_of_questions;
HTM_TR_Begin (NULL);
/***** Label *****/
Frm_LabelColumn ("REC_C1_BOT RT","NumQst",
Txt_Number_of_questions);
/***** Data *****/
HTM_TD_Begin ("class=\"REC_C2_BOT LT\"");
HTM_INPUT_LONG ("NumQst",
(long) TstCfg_GetConfigMin (),
(long) TstCfg_GetConfigMax (),
(long) TstCfg_GetConfigDef (),
HTM_DONT_SUBMIT_ON_CHANGE,
TstCfg_GetConfigMin () == TstCfg_GetConfigMax (),
"id=\"NumQst\""
" class=\"REC_C2_BOT_INPUT INPUT_%s\""
" required=\"required\"",
The_GetSuffix ());
HTM_TD_End ();
HTM_TR_End ();
}
/*****************************************************************************/ /*****************************************************************************/
/********************** Generate self-assessment test ************************/ /********************** Generate self-assessment test ************************/
/*****************************************************************************/ /*****************************************************************************/

View File

@ -46342,11 +46342,11 @@ const char *Txt_Tags = // Tags used in test
#elif L==7 // it #elif L==7 // it
"Etichette"; "Etichette";
#elif L==8 // pl #elif L==8 // pl
"Tags"; // Potrzebujesz tlumaczenie "Tagi";
#elif L==9 // pt #elif L==9 // pt
"Descritores"; "Descritores";
#elif L==10 // tr #elif L==10 // tr
"Tags"; // Çeviri lazim! "Etiketler";
#endif #endif
const char *Txt_teachers_ABBREVIATION = // Abbreviation of "Teachers" const char *Txt_teachers_ABBREVIATION = // Abbreviation of "Teachers"

View File

@ -1191,7 +1191,8 @@ void Usr_WriteFormLogin (Act_Action_t NextAction,void (*FuncPars) (void))
Ico_PutIcon ("key.svg",Ico_BLACK, Ico_PutIcon ("key.svg",Ico_BLACK,
Txt_Password,"CONTEXT_ICO16x16"); Txt_Password,"CONTEXT_ICO16x16");
HTM_LABEL_End (); HTM_LABEL_End ();
HTM_INPUT_PASSWORD ("UsrPwd",Txt_password,NULL,false, HTM_INPUT_PASSWORD ("UsrPwd",Txt_password,NULL,
false, // Not required
"id=\"UsrPwd\" class=\"INPUT_%s\"", "id=\"UsrPwd\" class=\"INPUT_%s\"",
The_GetSuffix ()); The_GetSuffix ());
HTM_DIV_End (); HTM_DIV_End ();