mirror of https://github.com/acanas/swad-core.git
Version 23.63.1: Jan 30, 2024 Responsive design in questions.
This commit is contained in:
parent
7856a409d0
commit
22abfd8011
|
@ -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 */
|
|
@ -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 ();
|
||||||
|
|
|
@ -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\"",
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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 ();
|
||||||
|
|
|
@ -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 ();
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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 ();
|
||||||
|
|
|
@ -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 );
|
||||||
|
|
|
@ -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 ();
|
||||||
|
|
|
@ -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 ();
|
||||||
|
|
|
@ -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 ();
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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 ();
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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]);
|
||||||
|
|
19
swad_group.c
19
swad_group.c
|
@ -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 ();
|
||||||
|
|
|
@ -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 ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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 ();
|
||||||
|
|
|
@ -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\"",
|
||||||
|
|
40
swad_mail.c
40
swad_mail.c
|
@ -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 ************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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,
|
||||||
|
|
|
@ -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 *********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -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);
|
||||||
|
|
||||||
|
|
|
@ -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 ();
|
||||||
|
|
|
@ -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 ();
|
||||||
|
|
|
@ -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\""
|
||||||
|
|
107
swad_program.c
107
swad_program.c
|
@ -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);
|
||||||
|
|
|
@ -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 *****/
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
|
@ -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 ();
|
||||||
|
|
|
@ -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 );
|
||||||
|
|
|
@ -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 ();
|
||||||
|
|
|
@ -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\"");
|
||||||
|
|
56
swad_test.c
56
swad_test.c
|
@ -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 ************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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 ();
|
||||||
|
|
Loading…
Reference in New Issue