diff --git a/swad_ID.c b/swad_ID.c
index 2ec35174..200e5ed4 100644
--- a/swad_ID.c
+++ b/swad_ID.c
@@ -713,11 +713,10 @@ static void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,
Frm_StartFormAnchor (NextAction,ID_ID_SECTION_ID);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
}
- fprintf (Gbl.F.Out,"",
- ID_MAX_BYTES_USR_ID,
- UsrDat->IDs.Num ? UsrDat->IDs.List[UsrDat->IDs.Num - 1].ID :
- ""); // Show the most recent ID
+ HTM_INPUT_TEXT ("NewID",ID_MAX_BYTES_USR_ID,
+ UsrDat->IDs.Num ? UsrDat->IDs.List[UsrDat->IDs.Num - 1].ID :
+ "", // Show the most recent ID
+ " size=\"18\"");
fprintf (Gbl.F.Out,"
");
Btn_PutCreateButtonInline (Txt_Add_this_ID);
Frm_EndForm ();
diff --git a/swad_changelog.h b/swad_changelog.h
index 34509acd..a95c8bc8 100644
--- a/swad_changelog.h
+++ b/swad_changelog.h
@@ -487,15 +487,15 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
En OpenSWAD:
ps2pdf source.ps destination.pdf
*/
-#define Log_PLATFORM_VERSION "SWAD 19.51.7 (2019-11-03)"
+#define Log_PLATFORM_VERSION "SWAD 19.51.8 (2019-11-04)"
#define CSS_FILE "swad19.47.css"
#define JS_FILE "swad19.39.js"
/*
// TODO: Hacer un nuevo rol en los TFG: tutor externo (profesor de áreas no vinculadas con el centro, profesionales de empresas, etc.)
// TODO: Impedir la creación y edición de proyectos si no son editables.
// TODO: Importante: filtrar proyectos por usuarios (igual que en trabajos o en asistencia)
-// TODO: Seguir cambiando input text
*
+ Version 19.51.8: Nov 04, 2019 Code refactoring in HTML inputs. (245968 lines)
Version 19.51.7: Nov 03, 2019 Code refactoring in HTML inputs. (246051 lines)
Version 19.51.6: Nov 03, 2019 Code refactoring in HTML inputs. (246125 lines)
Version 19.51.5: Nov 03, 2019 Code refactoring in HTML inputs. (246132 lines)
diff --git a/swad_holiday.c b/swad_holiday.c
index c836e773..ababae5b 100644
--- a/swad_holiday.c
+++ b/swad_holiday.c
@@ -651,10 +651,10 @@ static void Hld_ListHolidaysForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActRenHld);
Hld_PutParamHldCod (Hld->HldCod);
- fprintf (Gbl.F.Out,"",
- Hld_MAX_CHARS_HOLIDAY_NAME,Hld->Name,Gbl.Form.Id);
+ HTM_INPUT_TEXT ("Name",Hld_MAX_CHARS_HOLIDAY_NAME,Hld->Name,
+ " size=\"20\""
+ " onchange=\"document.getElementById('%s').submit();\"",
+ Gbl.Form.Id);
Frm_EndForm ();
HTM_TD_End ();
HTM_TR_End ();
@@ -1038,10 +1038,8 @@ static void Hld_PutFormToCreateHoliday (void)
/***** Holiday name *****/
HTM_TD_Begin ("class=\"CM\"");
- fprintf (Gbl.F.Out,"",
- Hld_MAX_CHARS_HOLIDAY_NAME,Hld_EditingHld->Name);
+ HTM_INPUT_TEXT ("Name",Hld_MAX_CHARS_HOLIDAY_NAME,Hld_EditingHld->Name,
+ " size=\"20\" required=\"required\"");
HTM_TD_End ();
HTM_TD_Empty (1);
diff --git a/swad_institution.c b/swad_institution.c
index 94bb9b1e..5377461b 100644
--- a/swad_institution.c
+++ b/swad_institution.c
@@ -409,14 +409,10 @@ static void Ins_Configuration (bool PrintView)
{
/* Form to change institution full name */
Frm_StartForm (ActRenInsFulCfg);
- fprintf (Gbl.F.Out,"",
- Hie_MAX_CHARS_FULL_NAME,
- Gbl.Hierarchy.Ins.FullName,
- Gbl.Form.Id);
+ HTM_INPUT_TEXT ("FullName",Hie_MAX_CHARS_FULL_NAME,Gbl.Hierarchy.Ins.FullName,
+ " class=\"INPUT_FULL_NAME\""
+ " onchange=\"document.getElementById('%s').submit();\"",
+ Gbl.Form.Id);
Frm_EndForm ();
}
else // I can not edit institution full name
@@ -441,14 +437,10 @@ static void Ins_Configuration (bool PrintView)
{
/* Form to change institution short name */
Frm_StartForm (ActRenInsShoCfg);
- fprintf (Gbl.F.Out,"",
- Hie_MAX_CHARS_SHRT_NAME,
- Gbl.Hierarchy.Ins.ShrtName,
- Gbl.Form.Id);
+ HTM_INPUT_TEXT ("ShortName",Hie_MAX_CHARS_SHRT_NAME,Gbl.Hierarchy.Ins.ShrtName,
+ " class=\"INPUT_SHORT_NAME\""
+ " onchange=\"document.getElementById('%s').submit();\"",
+ Gbl.Form.Id);
Frm_EndForm ();
}
else // I can not edit institution short name
@@ -1503,12 +1495,10 @@ static void Ins_ListInstitutionsForEdition (void)
{
Frm_StartForm (ActRenInsSho);
Ins_PutParamOtherInsCod (Ins->InsCod);
- fprintf (Gbl.F.Out,"",
- Hie_MAX_CHARS_SHRT_NAME,Ins->ShrtName,
- Gbl.Form.Id);
+ HTM_INPUT_TEXT ("ShortName",Hie_MAX_CHARS_SHRT_NAME,Ins->ShrtName,
+ " class=\"INPUT_SHORT_NAME\""
+ " onchange=\"document.getElementById('%s').submit();\"",
+ Gbl.Form.Id);
Frm_EndForm ();
}
else
@@ -1521,13 +1511,10 @@ static void Ins_ListInstitutionsForEdition (void)
{
Frm_StartForm (ActRenInsFul);
Ins_PutParamOtherInsCod (Ins->InsCod);
- fprintf (Gbl.F.Out,"",
- Hie_MAX_CHARS_FULL_NAME,
- Ins->FullName,
- Gbl.Form.Id);
+ HTM_INPUT_TEXT ("FullName",Hie_MAX_CHARS_FULL_NAME,Ins->FullName,
+ " class=\"INPUT_FULL_NAME\""
+ " onchange=\"document.getElementById('%s').submit();\"",
+ Gbl.Form.Id);
Frm_EndForm ();
}
else
@@ -2237,20 +2224,14 @@ static void Ins_PutFormToCreateInstitution (void)
/***** Institution short name *****/
HTM_TD_Begin ("class=\"LM\"");
- fprintf (Gbl.F.Out,"",
- Hie_MAX_CHARS_SHRT_NAME,Ins_EditingIns->ShrtName);
+ HTM_INPUT_TEXT ("ShortName",Hie_MAX_CHARS_SHRT_NAME,Ins_EditingIns->ShrtName,
+ " class=\"INPUT_SHORT_NAME\" required=\"required\"");
HTM_TD_End ();
/***** Institution full name *****/
HTM_TD_Begin ("class=\"LM\"");
- fprintf (Gbl.F.Out,"",
- Hie_MAX_CHARS_FULL_NAME,Ins_EditingIns->FullName);
+ HTM_INPUT_TEXT ("FullName",Hie_MAX_CHARS_FULL_NAME,Ins_EditingIns->FullName,
+ " class=\"INPUT_FULL_NAME\" required=\"required\"");
HTM_TD_End ();
/***** Institution WWW *****/
diff --git a/swad_link.c b/swad_link.c
index 5a387a2d..81ad2bdc 100644
--- a/swad_link.c
+++ b/swad_link.c
@@ -440,12 +440,10 @@ static void Lnk_ListLinksForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActRenLnkSho);
Lnk_PutParamLnkCod (Lnk->LnkCod);
- fprintf (Gbl.F.Out,"",
- Lnk_MAX_CHARS_LINK_SHRT_NAME,Lnk->ShrtName,
- Gbl.Form.Id);
+ HTM_INPUT_TEXT ("ShortName",Lnk_MAX_CHARS_LINK_SHRT_NAME,Lnk->ShrtName,
+ " class=\"INPUT_SHORT_NAME\""
+ " onchange=\"document.getElementById('%s').submit();\"",
+ Gbl.Form.Id);
Frm_EndForm ();
HTM_TD_End ();
@@ -453,12 +451,10 @@ static void Lnk_ListLinksForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActRenLnkFul);
Lnk_PutParamLnkCod (Lnk->LnkCod);
- fprintf (Gbl.F.Out,"",
- Lnk_MAX_CHARS_LINK_FULL_NAME,Lnk->FullName,
- Gbl.Form.Id);
+ HTM_INPUT_TEXT ("FullName",Lnk_MAX_CHARS_LINK_FULL_NAME,Lnk->FullName,
+ " class=\"INPUT_FULL_NAME\""
+ " onchange=\"document.getElementById('%s').submit();\"",
+ Gbl.Form.Id);
Frm_EndForm ();
HTM_TD_End ();
@@ -755,20 +751,14 @@ static void Lnk_PutFormToCreateLink (void)
/***** Link short name *****/
HTM_TD_Begin ("class=\"CM\"");
- fprintf (Gbl.F.Out,"",
- Lnk_MAX_CHARS_LINK_SHRT_NAME,Lnk_EditingLnk->ShrtName);
+ HTM_INPUT_TEXT ("ShortName",Lnk_MAX_CHARS_LINK_SHRT_NAME,Lnk_EditingLnk->ShrtName,
+ " class=\"INPUT_SHORT_NAME\" required=\"required\"");
HTM_TD_End ();
/***** Link full name *****/
HTM_TD_Begin ("class=\"CM\"");
- fprintf (Gbl.F.Out,"",
- Lnk_MAX_CHARS_LINK_FULL_NAME,Lnk_EditingLnk->FullName);
+ HTM_INPUT_TEXT ("FullName",Lnk_MAX_CHARS_LINK_FULL_NAME,Lnk_EditingLnk->FullName,
+ " class=\"INPUT_FULL_NAME\" required=\"required\"");
HTM_TD_End ();
/***** Link WWW *****/
diff --git a/swad_mail.c b/swad_mail.c
index bde50372..ff86b987 100644
--- a/swad_mail.c
+++ b/swad_mail.c
@@ -506,11 +506,10 @@ static void Mai_ListMailDomainsForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActRenMaiSho);
Mai_PutParamMaiCod (Mai->MaiCod);
- fprintf (Gbl.F.Out,"",
- Cns_MAX_CHARS_EMAIL_ADDRESS,Mai->Domain,
- Gbl.Form.Id);
+ HTM_INPUT_TEXT ("Domain",Cns_MAX_CHARS_EMAIL_ADDRESS,Mai->Domain,
+ " size=\"15\""
+ " onchange=\"document.getElementById('%s').submit();\"",
+ Gbl.Form.Id);
Frm_EndForm ();
HTM_TD_End ();
@@ -518,11 +517,10 @@ static void Mai_ListMailDomainsForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActRenMaiFul);
Mai_PutParamMaiCod (Mai->MaiCod);
- fprintf (Gbl.F.Out,"",
- Mai_MAX_CHARS_MAIL_INFO,Mai->Info,
- Gbl.Form.Id);
+ HTM_INPUT_TEXT ("Info",Mai_MAX_CHARS_MAIL_INFO,Mai->Info,
+ " size=\"40\""
+ " onchange=\"document.getElementById('%s').submit();\"",
+ Gbl.Form.Id);
Frm_EndForm ();
HTM_TD_End ();
@@ -765,18 +763,14 @@ static void Mai_PutFormToCreateMailDomain (void)
/***** Mail domain *****/
HTM_TD_Begin ("class=\"CM\"");
- fprintf (Gbl.F.Out,"",
- Cns_MAX_CHARS_EMAIL_ADDRESS,Mai_EditingMai->Domain);
+ HTM_INPUT_TEXT ("Domain",Cns_MAX_CHARS_EMAIL_ADDRESS,Mai_EditingMai->Domain,
+ " size=\"15\" required=\"required\"");
HTM_TD_End ();
/***** Mail domain info *****/
HTM_TD_Begin ("class=\"CM\"");
- fprintf (Gbl.F.Out,"",
- Mai_MAX_CHARS_MAIL_INFO,Mai_EditingMai->Info);
+ HTM_INPUT_TEXT ("Info",Mai_MAX_CHARS_MAIL_INFO,Mai_EditingMai->Info,
+ " size=\"40\" required=\"required\"");
HTM_TD_End ();
HTM_TD_Empty (1);
diff --git a/swad_mark.c b/swad_mark.c
index 93942f6d..b78c1990 100644
--- a/swad_mark.c
+++ b/swad_mark.c
@@ -112,6 +112,7 @@ void Mrk_GetAndWriteNumRowsHeaderAndFooter (void)
extern const char *Txt_TABLE_Header;
extern const char *Txt_TABLE_Footer;
struct MarksProperties Marks;
+ char StrHeadOrFoot[10 + 1];
if (Gbl.FileBrowser.FilFolLnk.Type == Brw_IS_FOLDER)
HTM_TD_ColouredEmpty (2);
@@ -129,13 +130,14 @@ void Mrk_GetAndWriteNumRowsHeaderAndFooter (void)
Brw_PutImplicitParamsFileBrowser ();
HTM_LABEL_Begin (NULL);
fprintf (Gbl.F.Out," %s: ",Txt_TABLE_Header);
- fprintf (Gbl.F.Out,"",
- Mrk_HeadOrFootStr[Brw_HEADER],Marks.Header,
- Gbl.RowEvenOdd,
- Gbl.Form.Id);
+ snprintf (StrHeadOrFoot,sizeof (StrHeadOrFoot),
+ "%u",
+ Marks.Header);
+ HTM_INPUT_TEXT (Mrk_HeadOrFootStr[Brw_HEADER],5,StrHeadOrFoot,
+ " size=\"1\" class=\"LST_EDIT_ROWS COLOR%u\""
+ " onchange=\"document.getElementById('%s').submit();\"",
+ Gbl.RowEvenOdd,
+ Gbl.Form.Id);
HTM_LABEL_End ();
Frm_EndForm ();
HTM_TD_End ();
@@ -149,13 +151,14 @@ void Mrk_GetAndWriteNumRowsHeaderAndFooter (void)
Brw_PutImplicitParamsFileBrowser ();
HTM_LABEL_Begin (NULL);
fprintf (Gbl.F.Out," %s: ",Txt_TABLE_Footer);
- fprintf (Gbl.F.Out,"",
- Mrk_HeadOrFootStr[Brw_FOOTER],Marks.Footer,
- Gbl.RowEvenOdd,
- Gbl.Form.Id);
+ snprintf (StrHeadOrFoot,sizeof (StrHeadOrFoot),
+ "%u",
+ Marks.Footer);
+ HTM_INPUT_TEXT (Mrk_HeadOrFootStr[Brw_FOOTER],5,StrHeadOrFoot,
+ " size=\"1\" class=\"LST_EDIT_ROWS COLOR%u\""
+ " onchange=\"document.getElementById('%s').submit();\"",
+ Gbl.RowEvenOdd,
+ Gbl.Form.Id);
HTM_LABEL_End ();
Frm_EndForm ();
HTM_TD_End ();
diff --git a/swad_match.c b/swad_match.c
index 2e5c8de9..8bdd023e 100644
--- a/swad_match.c
+++ b/swad_match.c
@@ -1205,10 +1205,8 @@ static void Mch_PutFormNewMatch (struct Game *Game)
HTM_TD_End ();
HTM_TD_Begin ("class=\"LM\"");
- fprintf (Gbl.F.Out,"",
- Gam_MAX_CHARS_TITLE,Game->Title);
+ HTM_INPUT_TEXT ("Title",Gam_MAX_CHARS_TITLE,Game->Title,
+ " size=\"45\" required=\"required\"");
HTM_TD_End ();
HTM_TR_End ();
diff --git a/swad_nickname.c b/swad_nickname.c
index bbe83ce7..02d9afee 100644
--- a/swad_nickname.c
+++ b/swad_nickname.c
@@ -25,8 +25,6 @@
/********************************* Headers ***********************************/
/*****************************************************************************/
-#define _GNU_SOURCE // For asprintf
-#include // For asprintf
#include // For string functions
#include "swad_account.h"
@@ -233,7 +231,7 @@ static void Nck_ShowFormChangeUsrNickname (const struct UsrData *UsrDat,bool Its
unsigned NumNicks;
unsigned NumNick;
Act_Action_t NextAction;
- char *NewNick;
+ char NicknameWithArroba[1 + Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA + 1];
/***** Start section *****/
HTM_SECTION_Begin (Nck_NICKNAME_SECTION_ID);
@@ -356,10 +354,10 @@ static void Nck_ShowFormChangeUsrNickname (const struct UsrData *UsrDat,bool Its
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
}
- if (asprintf (&NewNick,"@%s",row[0]) < 0)
- Lay_NotEnoughMemoryExit ();
- Par_PutHiddenParamString (NULL,"NewNick",NewNick); // Nickname
- free ((void *) NewNick);
+ snprintf (NicknameWithArroba,sizeof (NicknameWithArroba),
+ "@%s",
+ row[0]);
+ Par_PutHiddenParamString (NULL,"NewNick",NicknameWithArroba); // Nickname
Btn_PutConfirmButtonInline (Txt_Use_this_nickname);
Frm_EndForm ();
}
@@ -400,10 +398,11 @@ static void Nck_ShowFormChangeUsrNickname (const struct UsrData *UsrDat,bool Its
Frm_StartFormAnchor (NextAction,Nck_NICKNAME_SECTION_ID);
Usr_PutParamUsrCodEncrypted (UsrDat->EncryptedUsrCod);
}
- fprintf (Gbl.F.Out,"",
- 1 + Nck_MAX_CHARS_NICKNAME_WITHOUT_ARROBA,
- Gbl.Usrs.Me.UsrDat.Nickname);
+ snprintf (NicknameWithArroba,sizeof (NicknameWithArroba),
+ "@%s",
+ Gbl.Usrs.Me.UsrDat.Nickname);
+ HTM_INPUT_TEXT ("NewNick",1 + Nck_MAX_CHARS_NICKNAME_WITHOUT_ARROBA,NicknameWithArroba,
+ " size=\"18\"");
fprintf (Gbl.F.Out,"
");
Btn_PutCreateButtonInline (NumNicks ? Txt_Change_nickname : // I already have a nickname
Txt_Save_changes); // I have no nickname yet);
diff --git a/swad_password.c b/swad_password.c
index 161c3d4c..1806c9b1 100644
--- a/swad_password.c
+++ b/swad_password.c
@@ -284,10 +284,8 @@ void Pwd_ShowFormSendNewPwd (void)
/***** User's ID/nickname *****/
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"%s: ",Txt_nick_email_or_ID);
- fprintf (Gbl.F.Out,"",
- Cns_MAX_CHARS_EMAIL_ADDRESS,Gbl.Usrs.Me.UsrIdLogin);
+ HTM_INPUT_TEXT ("UsrId",Cns_MAX_CHARS_EMAIL_ADDRESS,Gbl.Usrs.Me.UsrIdLogin,
+ " size=\"8\" required=\"required\"");
HTM_LABEL_End ();
/***** Send button and end box *****/
diff --git a/swad_place.c b/swad_place.c
index 96954052..3ee88ab1 100644
--- a/swad_place.c
+++ b/swad_place.c
@@ -552,11 +552,10 @@ static void Plc_ListPlacesForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActRenPlcSho);
Plc_PutParamPlcCod (Plc->PlcCod);
- fprintf (Gbl.F.Out,"",
- Plc_MAX_CHARS_PLACE_SHRT_NAME,Plc->ShrtName,Gbl.Form.Id);
+ HTM_INPUT_TEXT ("ShortName",Plc_MAX_CHARS_PLACE_SHRT_NAME,Plc->ShrtName,
+ " class=\"INPUT_SHORT_NAME\""
+ " onchange=\"document.getElementById('%s').submit();\"",
+ Gbl.Form.Id);
Frm_EndForm ();
HTM_TD_End ();
@@ -564,11 +563,10 @@ static void Plc_ListPlacesForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActRenPlcFul);
Plc_PutParamPlcCod (Plc->PlcCod);
- fprintf (Gbl.F.Out,"",
- Plc_MAX_CHARS_PLACE_FULL_NAME,Plc->FullName,Gbl.Form.Id);
+ HTM_INPUT_TEXT ("FullName",Plc_MAX_CHARS_PLACE_FULL_NAME,Plc->FullName,
+ " class=\"INPUT_FULL_NAME\""
+ " onchange=\"document.getElementById('%s').submit();\"",
+ Gbl.Form.Id);
Frm_EndForm ();
HTM_TD_End ();
@@ -822,20 +820,14 @@ static void Plc_PutFormToCreatePlace (void)
/***** Place short name *****/
HTM_TD_Begin ("class=\"CM\"");
- fprintf (Gbl.F.Out,"",
- Plc_MAX_CHARS_PLACE_SHRT_NAME,Plc_EditingPlc->ShrtName);
+ HTM_INPUT_TEXT ("ShortName",Plc_MAX_CHARS_PLACE_SHRT_NAME,Plc_EditingPlc->ShrtName,
+ " class=\"INPUT_SHORT_NAME\" required=\"required\"");
HTM_TD_End ();
/***** Place full name *****/
HTM_TD_Begin ("class=\"CM\"");
- fprintf (Gbl.F.Out,"",
- Plc_MAX_CHARS_PLACE_FULL_NAME,Plc_EditingPlc->FullName);
+ HTM_INPUT_TEXT ("FullName",Plc_MAX_CHARS_PLACE_FULL_NAME,Plc_EditingPlc->FullName,
+ " class=\"INPUT_FULL_NAME\" required=\"required\"");
HTM_TD_End ();
/***** Number of centres *****/
diff --git a/swad_plugin.c b/swad_plugin.c
index f1e6501e..789c0e2b 100644
--- a/swad_plugin.c
+++ b/swad_plugin.c
@@ -426,10 +426,10 @@ static void Plg_ListPluginsForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActRenPlg);
Plg_PutParamPlgCod (Plg->PlgCod);
- fprintf (Gbl.F.Out,"",
- Plg_MAX_CHARS_PLUGIN_NAME,Plg->Name,Gbl.Form.Id);
+ HTM_INPUT_TEXT ("Name",Plg_MAX_CHARS_PLUGIN_NAME,Plg->Name,
+ " size=\"10\""
+ " onchange=\"document.getElementById('%s').submit();\"",
+ Gbl.Form.Id);
Frm_EndForm ();
HTM_TD_End ();
@@ -437,10 +437,10 @@ static void Plg_ListPluginsForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActChgPlgDes);
Plg_PutParamPlgCod (Plg->PlgCod);
- fprintf (Gbl.F.Out,"",
- Plg_MAX_CHARS_PLUGIN_DESCRIPTION,Plg->Description,Gbl.Form.Id);
+ HTM_INPUT_TEXT ("Description",Plg_MAX_CHARS_PLUGIN_DESCRIPTION,Plg->Description,
+ " size=\"30\""
+ " onchange=\"document.getElementById('%s').submit();\"",
+ Gbl.Form.Id);
Frm_EndForm ();
HTM_TD_End ();
@@ -448,10 +448,10 @@ static void Plg_ListPluginsForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActChgPlgLog);
Plg_PutParamPlgCod (Plg->PlgCod);
- fprintf (Gbl.F.Out,"",
- Plg_MAX_CHARS_PLUGIN_LOGO,Plg->Logo,Gbl.Form.Id);
+ HTM_INPUT_TEXT ("Logo",Plg_MAX_CHARS_PLUGIN_LOGO,Plg->Logo,
+ " size=\"4\""
+ " onchange=\"document.getElementById('%s').submit();\"",
+ Gbl.Form.Id);
Frm_EndForm ();
HTM_TD_End ();
@@ -459,10 +459,10 @@ static void Plg_ListPluginsForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActChgPlgAppKey);
Plg_PutParamPlgCod (Plg->PlgCod);
- fprintf (Gbl.F.Out,"",
- Plg_MAX_CHARS_PLUGIN_APP_KEY,Plg->AppKey,Gbl.Form.Id);
+ HTM_INPUT_TEXT ("AppKey",Plg_MAX_CHARS_PLUGIN_APP_KEY,Plg->AppKey,
+ " size=\"16\""
+ " onchange=\"document.getElementById('%s').submit();\"",
+ Gbl.Form.Id);
Frm_EndForm ();
HTM_TD_End ();
@@ -481,11 +481,10 @@ static void Plg_ListPluginsForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActChgPlgIP);
Plg_PutParamPlgCod (Plg->PlgCod);
- fprintf (Gbl.F.Out,"",
- Cns_MAX_CHARS_IP,Plg->IP,
- Gbl.Form.Id);
+ HTM_INPUT_TEXT ("IP",Cns_MAX_CHARS_IP,Plg->IP,
+ " size=\"10\""
+ " onchange=\"document.getElementById('%s').submit();\"",
+ Gbl.Form.Id);
Frm_EndForm ();
HTM_TD_End ();
HTM_TR_End ();
@@ -905,34 +904,26 @@ static void Plg_PutFormToCreatePlugin (void)
/***** Plugin name *****/
HTM_TD_Begin ("class=\"CM\"");
- fprintf (Gbl.F.Out,"",
- Plg_MAX_CHARS_PLUGIN_NAME,Plg_EditingPlg->Name);
+ HTM_INPUT_TEXT ("Name",Plg_MAX_CHARS_PLUGIN_NAME,Plg_EditingPlg->Name,
+ " size=\"10\" required=\"required\"");
HTM_TD_End ();
/***** Plugin description *****/
HTM_TD_Begin ("class=\"CM\"");
- fprintf (Gbl.F.Out,"",
- Plg_MAX_CHARS_PLUGIN_DESCRIPTION,Plg_EditingPlg->Description);
+ HTM_INPUT_TEXT ("Description",Plg_MAX_CHARS_PLUGIN_DESCRIPTION,Plg_EditingPlg->Description,
+ " size=\"30\" required=\"required\"");
HTM_TD_End ();
/***** Plugin logo *****/
HTM_TD_Begin ("class=\"CM\"");
- fprintf (Gbl.F.Out,"",
- Plg_MAX_CHARS_PLUGIN_LOGO,Plg_EditingPlg->Logo);
+ HTM_INPUT_TEXT ("Logo",Plg_MAX_CHARS_PLUGIN_LOGO,Plg_EditingPlg->Logo,
+ " size=\"4\" required=\"required\"");
HTM_TD_End ();
/***** Plugin application key *****/
HTM_TD_Begin ("class=\"CM\"");
- fprintf (Gbl.F.Out,"",
- Plg_MAX_CHARS_PLUGIN_APP_KEY,Plg_EditingPlg->AppKey);
+ HTM_INPUT_TEXT ("AppKey",Plg_MAX_CHARS_PLUGIN_APP_KEY,Plg_EditingPlg->AppKey,
+ " size=\"16\" required=\"required\"");
HTM_TD_End ();
/***** Plugin URL *****/
@@ -945,10 +936,8 @@ static void Plg_PutFormToCreatePlugin (void)
/***** Plugin IP address *****/
HTM_TD_Begin ("class=\"CM\"");
- fprintf (Gbl.F.Out,"",
- Cns_MAX_CHARS_IP,Plg_EditingPlg->IP);
+ HTM_INPUT_TEXT ("IP",Cns_MAX_CHARS_IP,Plg_EditingPlg->IP,
+ " size=\"10\" required=\"required\"");
HTM_TD_End ();
HTM_TR_End ();
diff --git a/swad_profile.c b/swad_profile.c
index a47eccb9..caafbbe8 100644
--- a/swad_profile.c
+++ b/swad_profile.c
@@ -184,6 +184,7 @@ void Prf_RequestUserProfile (void)
extern const char *The_ClassFormInBox[The_NUM_THEMES];
extern const char *Txt_Nickname;
extern const char *Txt_Continue;
+ char NicknameWithArroba[1 + Nck_MAX_BYTES_NICKNAME_WITHOUT_ARROBA + 1];
if (Gbl.Usrs.Me.Logged)
{
@@ -206,10 +207,12 @@ void Prf_RequestUserProfile (void)
If no user logged ==> the nickname is empty */
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"%s: ",Txt_Nickname);
- fprintf (Gbl.F.Out,"",
- Nck_MAX_BYTES_NICKNAME_FROM_FORM,
- Gbl.Usrs.Me.UsrDat.Nickname);
+
+ snprintf (NicknameWithArroba,sizeof (NicknameWithArroba),
+ "@%s",
+ Gbl.Usrs.Me.UsrDat.Nickname);
+ HTM_INPUT_TEXT ("usr",Nck_MAX_BYTES_NICKNAME_FROM_FORM,NicknameWithArroba,
+ " size=\"18\"");
HTM_LABEL_End ();
/***** Send button and end box *****/
diff --git a/swad_project.c b/swad_project.c
index cf634e9a..edfbf421 100644
--- a/swad_project.c
+++ b/swad_project.c
@@ -3305,10 +3305,8 @@ static void Prj_PutFormProject (struct Project *Prj,bool ItsANewProject)
HTM_TD_End ();
HTM_TD_Begin ("class=\"LM\"");
- fprintf (Gbl.F.Out,"",
- Prj_MAX_CHARS_PROJECT_TITLE,Prj->Title);
+ HTM_INPUT_TEXT ("Title",Prj_MAX_CHARS_PROJECT_TITLE,Prj->Title,
+ " size=\"45\" required=\"required\"");
HTM_TD_End ();
HTM_TR_End ();
diff --git a/swad_record.c b/swad_record.c
index ee31140d..a4b9a2cd 100644
--- a/swad_record.c
+++ b/swad_record.c
@@ -286,6 +286,7 @@ void Rec_ListFieldsRecordsForEdition (void)
extern const char *Txt_RECORD_FIELD_VISIBILITY_MENU[Rec_NUM_TYPES_VISIBILITY];
unsigned NumField;
Rec_VisibilityRecordFields_t Vis;
+ char StrNumLines[10 + 1];
/***** Write heading *****/
Rec_WriteHeadingRecordFields ();
@@ -309,12 +310,10 @@ void Rec_ListFieldsRecordsForEdition (void)
HTM_TD_Begin ("class=\"LM\"");
Frm_StartForm (ActRenFie);
Par_PutHiddenParamLong (NULL,"FieldCod",Gbl.Crs.Records.LstFields.Lst[NumField].FieldCod);
- fprintf (Gbl.F.Out,"",
- Rec_MAX_CHARS_NAME_FIELD,
- Gbl.Crs.Records.LstFields.Lst[NumField].Name,
- Gbl.Form.Id);
+ HTM_INPUT_TEXT ("FieldName",Rec_MAX_CHARS_NAME_FIELD,Gbl.Crs.Records.LstFields.Lst[NumField].Name,
+ " class=\"REC_FIELDNAME\""
+ " onchange=\"document.getElementById('%s').submit();\"",
+ Gbl.Form.Id);
Frm_EndForm ();
HTM_TD_End ();
@@ -322,11 +321,13 @@ void Rec_ListFieldsRecordsForEdition (void)
HTM_TD_Begin ("class=\"CM\"");
Frm_StartForm (ActChgRowFie);
Par_PutHiddenParamLong (NULL,"FieldCod",Gbl.Crs.Records.LstFields.Lst[NumField].FieldCod);
- fprintf (Gbl.F.Out,"",
- Gbl.Crs.Records.LstFields.Lst[NumField].NumLines,
- Gbl.Form.Id);
+ snprintf (StrNumLines,sizeof (StrNumLines),
+ "%u",
+ Gbl.Crs.Records.LstFields.Lst[NumField].NumLines);
+ HTM_INPUT_TEXT ("NumLines",2,StrNumLines,
+ " size=\"2\""
+ " onchange=\"document.getElementById('%s').submit();\"",
+ Gbl.Form.Id);
Frm_EndForm ();
HTM_TD_End ();
@@ -365,6 +366,7 @@ void Rec_ShowFormCreateRecordField (void)
extern const char *Txt_RECORD_FIELD_VISIBILITY_MENU[Rec_NUM_TYPES_VISIBILITY];
extern const char *Txt_Create_record_field;
Rec_VisibilityRecordFields_t Vis;
+ char StrNumLines[10 + 1];
/***** Begin form *****/
Frm_StartForm (ActNewFie);
@@ -384,18 +386,17 @@ void Rec_ShowFormCreateRecordField (void)
/***** Field name *****/
HTM_TD_Begin ("class=\"LM\"");
- fprintf (Gbl.F.Out,"",
- Rec_MAX_CHARS_NAME_FIELD,Gbl.Crs.Records.Field.Name);
+ HTM_INPUT_TEXT ("FieldName",Rec_MAX_CHARS_NAME_FIELD,Gbl.Crs.Records.Field.Name,
+ " class=\"REC_FIELDNAME\" required=\"required\"");
HTM_TD_End ();
/***** Number of lines in form ******/
HTM_TD_Begin ("class=\"CM\"");
- fprintf (Gbl.F.Out,"",
- Gbl.Crs.Records.Field.NumLines);
+ snprintf (StrNumLines,sizeof (StrNumLines),
+ "%u",
+ Gbl.Crs.Records.Field.NumLines);
+ HTM_INPUT_TEXT ("NumLines",2,StrNumLines,
+ " size=\"2\" required=\"required\"");
HTM_TD_End ();
/***** Visibility to students *****/
@@ -3172,17 +3173,10 @@ static void Rec_ShowSurname1 (struct UsrData *UsrDat,
HTM_TD_Begin ("class=\"REC_C2_BOT REC_DAT_BOLD LM\"");
if (ICanEdit)
- {
- fprintf (Gbl.F.Out,"Surname1);
- if (TypeOfView == Rec_SHA_MY_RECORD_FORM)
- fprintf (Gbl.F.Out," required=\"required\"");
- fprintf (Gbl.F.Out," />");
- }
+ HTM_INPUT_TEXT ("Surname1",Usr_MAX_CHARS_FIRSTNAME_OR_SURNAME,UsrDat->Surname1,
+ " class=\"REC_C2_BOT_INPUT\"%s",
+ TypeOfView == Rec_SHA_MY_RECORD_FORM ? " required=\"required\"" :
+ "");
else if (UsrDat->Surname1[0])
fprintf (Gbl.F.Out,"%s",UsrDat->Surname1);
HTM_TD_End ();
@@ -3210,12 +3204,8 @@ static void Rec_ShowSurname2 (struct UsrData *UsrDat,
HTM_TD_Begin ("class=\"REC_C2_BOT REC_DAT_BOLD LM\"");
if (ICanEdit)
- fprintf (Gbl.F.Out,"",
- Usr_MAX_CHARS_FIRSTNAME_OR_SURNAME,
- UsrDat->Surname2);
+ HTM_INPUT_TEXT ("Surname2",Usr_MAX_CHARS_FIRSTNAME_OR_SURNAME,UsrDat->Surname2,
+ " class=\"REC_C2_BOT_INPUT\"");
else if (UsrDat->Surname2[0])
fprintf (Gbl.F.Out,"%s",UsrDat->Surname2);
HTM_TD_End ();
@@ -3247,17 +3237,10 @@ static void Rec_ShowFirstName (struct UsrData *UsrDat,
HTM_TD_Begin ("colspan=\"2\" class=\"REC_C2_BOT REC_DAT_BOLD LM\"");
if (ICanEdit)
- {
- fprintf (Gbl.F.Out,"FirstName);
- if (TypeOfView == Rec_SHA_MY_RECORD_FORM)
- fprintf (Gbl.F.Out," required=\"required\"");
- fprintf (Gbl.F.Out," />");
- }
+ HTM_INPUT_TEXT ("FirstName",Usr_MAX_CHARS_FIRSTNAME_OR_SURNAME,UsrDat->FirstName,
+ " class=\"REC_C2_BOT_INPUT\"%s",
+ TypeOfView == Rec_SHA_MY_RECORD_FORM ? " required=\"required\"" :
+ "");
else if (UsrDat->FirstName[0])
fprintf (Gbl.F.Out,"%s",UsrDat->FirstName);
HTM_TD_End ();
@@ -3345,12 +3328,8 @@ static void Rec_ShowOriginPlace (struct UsrData *UsrDat,
if (ShowData)
{
if (ICanEdit)
- fprintf (Gbl.F.Out,"",
- Usr_MAX_CHARS_ADDRESS,
- UsrDat->OriginPlace);
+ HTM_INPUT_TEXT ("OriginPlace",Usr_MAX_CHARS_ADDRESS,UsrDat->OriginPlace,
+ " class=\"REC_C2_BOT_INPUT\"");
else if (UsrDat->OriginPlace[0])
fprintf (Gbl.F.Out,"%s",UsrDat->OriginPlace);
}
@@ -3414,12 +3393,8 @@ static void Rec_ShowLocalAddress (struct UsrData *UsrDat,
if (ShowData)
{
if (ICanEdit)
- fprintf (Gbl.F.Out,"",
- Usr_MAX_CHARS_ADDRESS,
- UsrDat->LocalAddress);
+ HTM_INPUT_TEXT ("LocalAddress",Usr_MAX_CHARS_ADDRESS,UsrDat->LocalAddress,
+ " class=\"REC_C2_BOT_INPUT\"");
else if (UsrDat->LocalAddress[0])
fprintf (Gbl.F.Out,"%s",UsrDat->LocalAddress);
}
@@ -3490,12 +3465,8 @@ static void Rec_ShowFamilyAddress (struct UsrData *UsrDat,
if (ShowData)
{
if (ICanEdit)
- fprintf (Gbl.F.Out,"",
- Usr_MAX_CHARS_ADDRESS,
- UsrDat->FamilyAddress);
+ HTM_INPUT_TEXT ("FamilyAddress",Usr_MAX_CHARS_ADDRESS,UsrDat->FamilyAddress,
+ " class=\"REC_C2_BOT_INPUT\"");
else if (UsrDat->FamilyAddress[0])
fprintf (Gbl.F.Out,"%s",UsrDat->FamilyAddress);
}
@@ -4209,13 +4180,10 @@ static void Rec_ShowFormMyInsCtrDpt (bool IAmATeacher)
HTM_TD_Begin ("class=\"REC_C2_BOT LM\"");
Frm_StartFormAnchor (ActChgMyOff,Rec_MY_INS_CTR_DPT_ID);
- fprintf (Gbl.F.Out,"",
- Usr_MAX_CHARS_ADDRESS,
- Gbl.Usrs.Me.UsrDat.Tch.Office,
- Gbl.Form.Id);
+ HTM_INPUT_TEXT ("Office",Usr_MAX_CHARS_ADDRESS,Gbl.Usrs.Me.UsrDat.Tch.Office,
+ " class=\"REC_C2_BOT_INPUT\""
+ " onchange=\"document.getElementById('%s').submit();\"",
+ Gbl.Form.Id);
Frm_EndForm ();
HTM_TD_End ();
diff --git a/swad_survey.c b/swad_survey.c
index ab0fbe29..22893af2 100644
--- a/swad_survey.c
+++ b/swad_survey.c
@@ -1916,10 +1916,8 @@ void Svy_RequestCreatOrEditSvy (void)
HTM_TD_End ();
HTM_TD_Begin ("class=\"LM\"");
- fprintf (Gbl.F.Out,"",
- Svy_MAX_CHARS_SURVEY_TITLE,Svy.Title);
+ HTM_INPUT_TEXT ("Title",Svy_MAX_CHARS_SURVEY_TITLE,Svy.Title,
+ " size=\"45\" required=\"required\"");
HTM_TD_End ();
HTM_TR_End ();
diff --git a/swad_syllabus.c b/swad_syllabus.c
index 56a101f5..a9dfe6cc 100644
--- a/swad_syllabus.c
+++ b/swad_syllabus.c
@@ -917,11 +917,9 @@ static void Syl_PutFormItemSyllabus (bool NewItem,unsigned NumItem,int Level,int
ActModIteSylPra));
Gbl.Syllabus.ParamNumItem = NumItem;
Syl_PutParamNumItem ();
- fprintf (Gbl.F.Out,"",
diff --git a/swad_test.c b/swad_test.c
index debf2df9..038f2df8 100644
--- a/swad_test.c
+++ b/swad_test.c
@@ -1808,10 +1808,10 @@ static void Tst_ShowFormEditTags (void)
HTM_TD_Begin ("class=\"LM\"");
Frm_StartForm (ActRenTag);
Par_PutHiddenParamString (NULL,"OldTagTxt",row[1]);
- fprintf (Gbl.F.Out,"",
- Tst_MAX_CHARS_TAG,row[1],Gbl.Form.Id);
+ HTM_INPUT_TEXT ("NewTagTxt",Tst_MAX_CHARS_TAG,row[1],
+ "size=\"36\""
+ " onchange=\"document.getElementById('%s').submit();\"",
+ Gbl.Form.Id);
Frm_EndForm ();
HTM_TD_End ();
@@ -1887,6 +1887,7 @@ static void Tst_ShowFormConfigTst (void)
extern const char *Txt_Save_changes;
Tst_Pluggable_t Pluggable;
Tst_Feedback_t Feedback;
+ char StrMinTimeNxtTstPerQst[20 + 1];
/***** Read test configuration from database *****/
Tst_GetConfigTstFromDB ();
@@ -1956,11 +1957,11 @@ static void Tst_ShowFormConfigTst (void)
HTM_TD_End ();
HTM_TD_Begin ("class=\"LB\"");
- fprintf (Gbl.F.Out,"",
- Gbl.Test.Config.MinTimeNxtTstPerQst);
+ snprintf (StrMinTimeNxtTstPerQst,sizeof (StrMinTimeNxtTstPerQst),
+ "%lu",
+ Gbl.Test.Config.MinTimeNxtTstPerQst);
+ HTM_INPUT_TEXT ("MinTimeNxtTstPerQst",7,StrMinTimeNxtTstPerQst,
+ "size=\"7\" required=\"required\"");
HTM_TD_End ();
HTM_TR_End ();
@@ -2009,6 +2010,8 @@ static void Tst_ShowFormConfigTst (void)
static void Tst_PutInputFieldNumQst (const char *Field,const char *Label,
unsigned Value)
{
+ char StrValue[10 + 1];
+
HTM_TR_Begin (NULL);
HTM_TD_Begin ("class=\"RM\"");
@@ -2018,12 +2021,11 @@ static void Tst_PutInputFieldNumQst (const char *Field,const char *Label,
HTM_TD_End ();
HTM_TD_Begin ("class=\"LM\"");
- fprintf (Gbl.F.Out,"",
- Field,Field,
- Value);
+ snprintf (StrValue,sizeof (StrValue),
+ "%u",
+ Value);
+ HTM_INPUT_TEXT (Field,3,StrValue,
+ "size=\"3\" required=\"required\"");
HTM_TD_End ();
HTM_TR_End ();
@@ -4212,10 +4214,14 @@ void Tst_WriteChoiceAnsViewMatch (long MchCod,unsigned QstInd,long QstCod,
static void Tst_WriteTextAnsViewTest (unsigned NumQst)
{
+ char StrAns[3 + 6 + 1];
+
/***** Write input field for the answer *****/
- fprintf (Gbl.F.Out,"",
- NumQst,Tst_MAX_BYTES_ANSWERS_ONE_QST);
+ snprintf (StrAns,sizeof (StrAns),
+ "Ans%06u",
+ NumQst);
+ HTM_INPUT_TEXT (StrAns,Tst_MAX_BYTES_ANSWERS_ONE_QST,"",
+ "size=\"40\"");
}
/*****************************************************************************/
@@ -4412,10 +4418,14 @@ static void Tst_WriteTextAnsAssessTest (struct UsrData *UsrDat,
static void Tst_WriteIntAnsViewTest (unsigned NumQst)
{
+ char StrAns[3 + 6 + 1];
+
/***** Write input field for the answer *****/
- fprintf (Gbl.F.Out,"",
- NumQst);
+ snprintf (StrAns,sizeof (StrAns),
+ "Ans%06u",
+ NumQst);
+ HTM_INPUT_TEXT (StrAns,11,"",
+ "size=\"11\"");
}
/*****************************************************************************/
@@ -4527,10 +4537,14 @@ static void Tst_WriteIntAnsAssessTest (struct UsrData *UsrDat,
static void Tst_WriteFloatAnsViewTest (unsigned NumQst)
{
+ char StrAns[3 + 6 + 1];
+
/***** Write input field for the answer *****/
- fprintf (Gbl.F.Out,"",
- NumQst,Tst_MAX_BYTES_FLOAT_ANSWER);
+ snprintf (StrAns,sizeof (StrAns),
+ "Ans%06u",
+ NumQst);
+ HTM_INPUT_TEXT (StrAns,Tst_MAX_BYTES_FLOAT_ANSWER,"",
+ "size=\"11\"");
}
/*****************************************************************************/
@@ -5024,6 +5038,8 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
bool OptionsDisabled;
bool AnswerHasContent;
bool DisplayRightColumn;
+ char StrTagTxt[6 + 10 + 1];
+ char StrInteger[20 + 1];
/***** Begin box *****/
if (Gbl.Test.QstCod > 0) // The question already has assigned a code
@@ -5109,10 +5125,13 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
/***** Input of a new tag *****/
HTM_TD_Begin ("class=\"RM\"");
- fprintf (Gbl.F.Out,"",
- NumTag,NumTag,Tst_MAX_CHARS_TAG,Gbl.Test.Tags.Txt[NumTag],NumTag);
+ snprintf (StrTagTxt,sizeof (StrTagTxt),
+ "TagTxt%u",
+ NumTag);
+ HTM_INPUT_TEXT (StrTagTxt,Tst_MAX_CHARS_TAG,StrTagTxt,
+ "class=\"TAG_TXT\""
+ " onchange=\"changeSelTag('%u')\"",
+ NumTag);
HTM_TD_End ();
HTM_TR_End ();
@@ -5194,12 +5213,13 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
HTM_TD_Begin ("class=\"LT\"");
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"%s: ",Txt_Integer_number);
- fprintf (Gbl.F.Out,"");
+ snprintf (StrInteger,sizeof (StrInteger),
+ "%ld",
+ Gbl.Test.Answer.Integer);
+ HTM_INPUT_TEXT ("AnsInt",11,StrInteger,
+ "size=\"11\" required=\"required\"%s",
+ Gbl.Test.AnswerType == Tst_ANS_INT ? "" :
+ " disabled=\"disabled\"");
HTM_LABEL_End ();
HTM_TD_End ();
@@ -5394,18 +5414,17 @@ static void Tst_PutFloatInputField (const char *Label,const char *Field,
double Value)
{
extern const char *The_ClassFormInBox[The_NUM_THEMES];
+ char StrFloat[32];
HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]);
fprintf (Gbl.F.Out,"%s ",Label);
- fprintf (Gbl.F.Out,"");
+ snprintf (StrFloat,sizeof (StrFloat),
+ "%lg",
+ Value);
+ HTM_INPUT_TEXT (Field,Tst_MAX_BYTES_FLOAT_ANSWER,StrFloat,
+ "size=\"11\" required=\"required\"%s",
+ Gbl.Test.AnswerType == Tst_ANS_FLOAT ? "" :
+ " disabled=\"disabled\"");
HTM_LABEL_End ();
}
diff --git a/swad_user.c b/swad_user.c
index 9c56ee46..8add97da 100644
--- a/swad_user.c
+++ b/swad_user.c
@@ -2610,13 +2610,10 @@ void Usr_WriteFormLogin (Act_Action_t NextAction,void (*FuncParams) (void))
HTM_LABEL_Begin ("for=\"UsrId\"");
Ico_PutIcon ("user.svg",Txt_User[Usr_SEX_UNKNOWN],"CONTEXT_ICO_16x16");
HTM_LABEL_End ();
- fprintf (Gbl.F.Out,"",
- Cns_MAX_CHARS_EMAIL_ADDRESS,
- Txt_nick_email_or_ID,
- Gbl.Usrs.Me.UsrIdLogin);
+ HTM_INPUT_TEXT ("UsrId",Cns_MAX_CHARS_EMAIL_ADDRESS,Gbl.Usrs.Me.UsrIdLogin,
+ " size=\"18\" placeholder=\"%s\""
+ " autofocus=\"autofocus\" required=\"required\"",
+ Txt_nick_email_or_ID);
HTM_DIV_End ();
/***** User's password *****/