From dd1ce2569cf52e692324be74df571d422bc1214b Mon Sep 17 00:00:00 2001 From: acanas Date: Thu, 10 Mar 2022 00:32:53 +0100 Subject: [PATCH] Version 21.83.2: Mar 10, 2022 Working on design of dark theme. --- .settings/language.settings.xml | 2 +- css/{swad21.83.1.css => swad21.83.2.css} | 14 +++------ swad_MAC.c | 14 +++++++-- swad_account.c | 18 +++++++---- swad_attendance.c | 4 +-- swad_changelog.h | 12 ++++++-- swad_degree_type.c | 8 +++-- swad_group.c | 7 +++-- swad_mail.c | 14 ++++++--- swad_password.c | 7 +++-- swad_plugin.c | 38 ++++++++++++++++-------- swad_profile.c | 4 ++- swad_question.c | 4 ++- swad_record.c | 22 +++++++++----- swad_room.c | 23 +++++++++----- swad_syllabus.c | 4 ++- swad_test_print.c | 16 +++++++--- swad_timeline_comment.c | 14 ++++----- swad_timeline_post.c | 2 +- 19 files changed, 152 insertions(+), 75 deletions(-) rename css/{swad21.83.1.css => swad21.83.2.css} (99%) diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml index 43923f23..5f749312 100644 --- a/.settings/language.settings.xml +++ b/.settings/language.settings.xml @@ -11,7 +11,7 @@ - + diff --git a/css/swad21.83.1.css b/css/swad21.83.2.css similarity index 99% rename from css/swad21.83.1.css rename to css/swad21.83.2.css index fa0d4a2c..74c57eb3 100644 --- a/css/swad21.83.1.css +++ b/css/swad21.83.2.css @@ -3782,8 +3782,8 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;} .Tml_WIDTH {width:316px;} /* 556-240 */ .Tml_RIGHT_WIDTH {width:260px;} /* 500-240 */ .Tml_RIGHT_AUTHOR_WIDTH {width:100px;} /* 340-240 */ - .Tml_COMM_WIDTH {width:220px;} /* 460-240 */ - .Tml_COMM_AUTHOR_WIDTH {width: 60px;} /* 300-240 */ + .Tml_COM_WIDTH {width:220px;} /* 460-240 */ + .Tml_COM_AUTHOR_WIDTH {width: 60px;} /* 300-240 */ .Tml_MED_INPUT_WIDTH {width:160px;} /* 400-240 */ .Tml_NOTE_FOOT_WIDTH {width:260px;} /* 500-240 */ .Tml_COMM_FOOT_WIDTH {width:220px;} /* 460-240 */ @@ -3796,8 +3796,8 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;} .Tml_WIDTH {width:556px;} .Tml_RIGHT_WIDTH {width:500px;} .Tml_RIGHT_AUTHOR_WIDTH {width:340px;} - .Tml_COMM_WIDTH {width:460px;} - .Tml_COMM_AUTHOR_WIDTH {width:300px;} + .Tml_COM_WIDTH {width:460px;} + .Tml_COM_AUTHOR_WIDTH {width:300px;} .Tml_MED_INPUT_WIDTH {width:400px;} .Tml_FAV_NOT_WIDTH {width:240px;} .Tml_SHA_NOT_WIDTH {width:240px;} @@ -3870,12 +3870,6 @@ table.CELLS_PAD_10 > tbody > tr > td {padding:10px;} text-align:right; vertical-align:top; } -.Tml_PST_TEXTAREA - { - box-sizing:border-box; - margin:0; - resize:none; - } .Tml_PST_MED_CONT { box-sizing:border-box; diff --git a/swad_MAC.c b/swad_MAC.c index 5e43929b..5da003de 100644 --- a/swad_MAC.c +++ b/swad_MAC.c @@ -30,6 +30,7 @@ #include "swad_action.h" #include "swad_database.h" #include "swad_form.h" +#include "swad_global.h" #include "swad_HTML.h" #include "swad_MAC.h" #include "swad_parameter.h" @@ -45,6 +46,12 @@ struct MAC_Params char MACstr[MAC_LENGTH_MAC_ADDRESS + 1]; // MAC address }; +/*****************************************************************************/ +/************** External global variables from others modules ****************/ +/*****************************************************************************/ + +extern struct Globals Gbl; + /*****************************************************************************/ /***************************** Private prototypes ****************************/ /*****************************************************************************/ @@ -73,12 +80,15 @@ static void MAC_PutParams (void *Args) static void MAC_PutFormToEditMACAddress (Act_Action_t NextAction,const char *Anchor, void (*FuncParams) (void *Args),void *Args) { - /* Form to enter a new MAC address */ + extern const char *The_ClassInput[The_NUM_THEMES]; + + /***** Form to enter a new MAC address *****/ Frm_BeginFormAnchor (NextAction,Anchor); FuncParams (Args); HTM_INPUT_TEXT ("NewMAC",MAC_LENGTH_MAC_ADDRESS,((struct MAC_Params *) Args)->MACstr, HTM_SUBMIT_ON_CHANGE, - "size=\"8\""); + "size=\"8\" class=\"%s\"", + The_ClassInput[Gbl.Prefs.Theme]); Frm_EndForm (); } diff --git a/swad_account.c b/swad_account.c index f36c011b..c9d27d47 100644 --- a/swad_account.c +++ b/swad_account.c @@ -147,6 +147,7 @@ static void Acc_ShowFormCheckIfIHaveAccount (const char *Title) { extern const char *Hlp_PROFILE_SignUp; extern const char *The_ClassFormInBox[The_NUM_THEMES]; + extern const char *The_ClassInput[The_NUM_THEMES]; extern const char *Txt_If_you_think_you_may_have_been_registered_; extern const char *Txt_ID; extern const char *Txt_Check; @@ -164,8 +165,10 @@ static void Acc_ShowFormCheckIfIHaveAccount (const char *Title) Frm_BeginForm (ActChkUsrAcc); HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]); HTM_TxtColonNBSP (Txt_ID); - HTM_INPUT_TEXT ("ID",ID_MAX_CHARS_USR_ID,"",HTM_DONT_SUBMIT_ON_CHANGE, - "size=\"18\" required=\"required\""); + HTM_INPUT_TEXT ("ID",ID_MAX_CHARS_USR_ID,"", + HTM_DONT_SUBMIT_ON_CHANGE, + "size=\"18\" class=\"%s\" required=\"required\"", + The_ClassInput[Gbl.Prefs.Theme]); HTM_LABEL_End (); Btn_PutCreateButtonInline (Txt_Check); Frm_EndForm (); @@ -362,6 +365,7 @@ static void Acc_ShowFormRequestNewAccountWithParams (const char NewNickWithoutAr { extern const char *Hlp_PROFILE_SignUp; extern const char *The_ClassFormInBox[The_NUM_THEMES]; + extern const char *The_ClassInput[The_NUM_THEMES]; extern const char *Txt_Create_account; extern const char *Txt_Nickname; extern const char *Txt_HELP_nickname; @@ -394,8 +398,9 @@ static void Acc_ShowFormRequestNewAccountWithParams (const char NewNickWithoutAr HTM_INPUT_TEXT ("NewNick",1 + Nck_MAX_CHARS_NICK_WITHOUT_ARROBA, NewNickWithArr,HTM_DONT_SUBMIT_ON_CHANGE, "id=\"NewNick\" size=\"18\" placeholder=\"%s\"" - " required=\"required\"", - Txt_HELP_nickname); + " class=\"%s\" required=\"required\"", + Txt_HELP_nickname, + The_ClassInput[Gbl.Prefs.Theme]); HTM_TD_End (); /* End table row */ @@ -412,8 +417,9 @@ static void Acc_ShowFormRequestNewAccountWithParams (const char NewNickWithoutAr HTM_TD_Begin ("class=\"LT\""); HTM_INPUT_EMAIL ("NewEmail",Cns_MAX_CHARS_EMAIL_ADDRESS,NewEmail, "id=\"NewEmail\" size=\"18\" placeholder=\"%s\"" - " required=\"required\"", - Txt_HELP_email); + " class=\"%s\" required=\"required\"", + Txt_HELP_email, + The_ClassInput[Gbl.Prefs.Theme]); HTM_TD_End (); /* End table row */ diff --git a/swad_attendance.c b/swad_attendance.c index 42f9b885..6cd14fc8 100644 --- a/swad_attendance.c +++ b/swad_attendance.c @@ -1064,8 +1064,8 @@ void Att_RequestCreatOrEditAttEvent (void) HTM_TD_Begin ("class=\"LT\""); HTM_INPUT_TEXT ("Title",Att_MAX_CHARS_ATTENDANCE_EVENT_TITLE,Event.Title, HTM_DONT_SUBMIT_ON_CHANGE, - "id=\"Title\"" - " class=\"TITLE_DESCRIPTION_WIDTH %s\" required=\"required\"", + "id=\"Title\" class=\"TITLE_DESCRIPTION_WIDTH %s\"" + " required=\"required\"", The_ClassInput[Gbl.Prefs.Theme]); HTM_TD_End (); diff --git a/swad_changelog.h b/swad_changelog.h index 90b116d7..90e5d923 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -601,11 +601,19 @@ TODO: Salvador Romero Cort TODO: FIX BUG, URGENT! En las fechas como parámetro Dat_WriteParamsIniEndDates(), por ejemplo al cambiar el color de la gráfica de accesos por día y hora, no se respeta la zona horaria. TODO: En las encuestas, que los estudiantes no puedan ver los resultados hasta que no finalice el plazo. + +TODO: Fix bug: error al enviar un mensaje a dos recipientes, error on duplicate key... Reportado por Salvador Romero Cortés. + +TODO: Attach pdf files in multimedia. */ -#define Log_PLATFORM_VERSION "SWAD 21.83.1 (2022-01-10)" -#define CSS_FILE "swad21.83.1.css" +#define Log_PLATFORM_VERSION "SWAD 21.83.2 (2022-03-10)" +#define CSS_FILE "swad21.83.2.css" #define JS_FILE "swad21.78.2.js" /* + Version 21.83.2: Mar 10, 2022 Working on design of dark theme. (323488 lines) +Copy the following icon to icon public directory: +sudo cp icon/theme/dark/theme_32x20.gif /var/www/html/swad/icon/theme/dark/ + Version 21.83.1: Jan 10, 2022 Working on design of dark theme. (322887 lines) Version 21.83: Jan 09, 2022 Working on design of dark theme. (322857 lines) Version 21.82: Jan 03, 2022 Functions moved from swad_figure to other modules. (322550 lines) diff --git a/swad_degree_type.c b/swad_degree_type.c index 012b2f20..412a5b58 100644 --- a/swad_degree_type.c +++ b/swad_degree_type.c @@ -389,6 +389,7 @@ static void DegTyp_PutIconToEditDegTypes (__attribute__((unused)) void *Args) static void DegTyp_ListDegreeTypesForEdition (void) { extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassInput[The_NUM_THEMES]; unsigned NumDegTyp; /***** Begin table *****/ @@ -426,7 +427,8 @@ static void DegTyp_ListDegreeTypesForEdition (void) HTM_INPUT_TEXT ("DegTypName",DegTyp_MAX_CHARS_DEGREE_TYPE_NAME, Gbl.DegTypes.Lst[NumDegTyp].DegTypName, HTM_SUBMIT_ON_CHANGE, - "size=\"25\" required=\"required\""); + "size=\"25\" class=\"%s\" required=\"required\"", + The_ClassInput[Gbl.Prefs.Theme]); Frm_EndForm (); HTM_TD_End (); @@ -459,6 +461,7 @@ bool DegTyp_CheckIfICanCreateDegreeTypes (void) static void DegTyp_PutFormToCreateDegreeType (void) { extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassInput[The_NUM_THEMES]; extern const char *Txt_New_type_of_degree; extern const char *Txt_Create_type_of_degree; @@ -488,7 +491,8 @@ static void DegTyp_PutFormToCreateDegreeType (void) HTM_TD_Begin ("class=\"LM\""); HTM_INPUT_TEXT ("DegTypName",DegTyp_MAX_CHARS_DEGREE_TYPE_NAME,DegTyp_EditingDegTyp->DegTypName, HTM_DONT_SUBMIT_ON_CHANGE, - "size=\"25\" required=\"required\""); + "size=\"25\" class=\"%s\" required=\"required\"", + The_ClassInput[Gbl.Prefs.Theme]); HTM_TD_End (); /***** Number of degrees of this degree type ****/ diff --git a/swad_group.c b/swad_group.c index 5023c091..eb7513ed 100644 --- a/swad_group.c +++ b/swad_group.c @@ -2457,7 +2457,8 @@ static void Grp_PutFormToCreateGroupType (void) HTM_TD_Begin ("class=\"LM\""); HTM_INPUT_TEXT ("GrpTypName",Grp_MAX_CHARS_GROUP_TYPE_NAME, Gbl.Crs.Grps.GrpTyp.GrpTypName,HTM_DONT_SUBMIT_ON_CHANGE, - "size=\"12\" class=\"%s\" required=\"required\"", + "size=\"12\" class=\"%s\"" + " required=\"required\"", The_ClassInput[Gbl.Prefs.Theme]); HTM_TD_End (); @@ -2611,8 +2612,8 @@ static void Grp_PutFormToCreateGroup (const struct Roo_Rooms *Rooms) HTM_TD_Begin ("class=\"CM\""); HTM_INPUT_TEXT ("GrpName",Grp_MAX_CHARS_GROUP_NAME,Gbl.Crs.Grps.GrpName, HTM_DONT_SUBMIT_ON_CHANGE, - "size=\"20\"" - " class=\"%s\" required=\"required\"", + "size=\"20\" class=\"%s\"" + " required=\"required\"", The_ClassInput[Gbl.Prefs.Theme]); HTM_TD_End (); diff --git a/swad_mail.c b/swad_mail.c index db908ed4..2cf295a6 100644 --- a/swad_mail.c +++ b/swad_mail.c @@ -406,6 +406,7 @@ static void Mai_ListMailDomainsForEdition (void) { extern const char *Hlp_START_Domains_edit; extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassInput[The_NUM_THEMES]; extern const char *Txt_Email_domains_allowed_for_notifications; unsigned NumMai; struct Mail *Mai; @@ -444,7 +445,8 @@ static void Mai_ListMailDomainsForEdition (void) Mai_PutParamMaiCod (&Mai->MaiCod); HTM_INPUT_TEXT ("Domain",Cns_MAX_CHARS_EMAIL_ADDRESS,Mai->Domain, HTM_SUBMIT_ON_CHANGE, - "size=\"15\""); + "size=\"15\" class=\"%s\"", + The_ClassInput[Gbl.Prefs.Theme]); Frm_EndForm (); HTM_TD_End (); @@ -454,7 +456,8 @@ static void Mai_ListMailDomainsForEdition (void) Mai_PutParamMaiCod (&Mai->MaiCod); HTM_INPUT_TEXT ("Info",Mai_MAX_CHARS_MAIL_INFO,Mai->Info, HTM_SUBMIT_ON_CHANGE, - "size=\"40\""); + "size=\"40\" class=\"%s\"", + The_ClassInput[Gbl.Prefs.Theme]); Frm_EndForm (); HTM_TD_End (); @@ -643,6 +646,7 @@ void Mai_ContEditAfterChgMai (void) static void Mai_PutFormToCreateMailDomain (void) { extern const char *Hlp_START_Domains_edit; + extern const char *The_ClassInput[The_NUM_THEMES]; extern const char *Txt_New_email_domain; extern const char *Txt_EMAIL_DOMAIN_ORDER[3]; extern const char *Txt_Create_email_domain; @@ -668,14 +672,16 @@ static void Mai_PutFormToCreateMailDomain (void) HTM_TD_Begin ("class=\"CM\""); HTM_INPUT_TEXT ("Domain",Cns_MAX_CHARS_EMAIL_ADDRESS,Mai_EditingMai->Domain, HTM_DONT_SUBMIT_ON_CHANGE, - "size=\"15\" required=\"required\""); + "size=\"15\" class=\"%s\" required=\"required\"", + The_ClassInput[Gbl.Prefs.Theme]); HTM_TD_End (); /* Mail domain info */ HTM_TD_Begin ("class=\"CM\""); HTM_INPUT_TEXT ("Info",Mai_MAX_CHARS_MAIL_INFO,Mai_EditingMai->Info, HTM_DONT_SUBMIT_ON_CHANGE, - "size=\"40\" required=\"required\""); + "size=\"40\" class=\"%s\" required=\"required\"", + The_ClassInput[Gbl.Prefs.Theme]); HTM_TD_End (); HTM_TD_Empty (1); diff --git a/swad_password.c b/swad_password.c index c3e8ad03..2b36eb6c 100644 --- a/swad_password.c +++ b/swad_password.c @@ -668,6 +668,7 @@ void Pwd_ShowFormChgMyPwd (void) void Pwd_PutFormToGetNewPasswordOnce (void) { extern const char *The_ClassFormInBox[The_NUM_THEMES]; + extern const char *The_ClassInput[The_NUM_THEMES]; extern const char *Txt_Password; extern const char *Txt_HELP_password; @@ -680,7 +681,8 @@ void Pwd_PutFormToGetNewPasswordOnce (void) /* Data */ HTM_TD_Begin ("class=\"LT\""); HTM_INPUT_PASSWORD ("Paswd",Txt_HELP_password,NULL,true, - "id=\"Paswd\""); + "id=\"Paswd\" class=\"%s\"", + The_ClassInput[Gbl.Prefs.Theme]); HTM_TD_End (); HTM_TR_End (); @@ -810,7 +812,8 @@ void Pwd_AskForConfirmationOnDangerousAction (void) HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]); HTM_TxtColonNBSP (Txt_For_security_enter_your_password); HTM_INPUT_PASSWORD ("OthUsrPwd",NULL,"off",true, - "class=\"%s\"",The_ClassInput[Gbl.Prefs.Theme]); + "class=\"%s\"", + The_ClassInput[Gbl.Prefs.Theme]); HTM_LABEL_End (); HTM_DIV_End (); diff --git a/swad_plugin.c b/swad_plugin.c index d89fdbfd..d7a2eff0 100644 --- a/swad_plugin.c +++ b/swad_plugin.c @@ -327,6 +327,7 @@ void Plg_FreeListPlugins (void) static void Plg_ListPluginsForEdition (void) { extern const char *The_ClassDat[The_NUM_THEMES]; + extern const char *The_ClassInput[The_NUM_THEMES]; unsigned NumPlg; struct Plugin *Plg; char *Icon; @@ -374,7 +375,8 @@ static void Plg_ListPluginsForEdition (void) Plg_PutParamPlgCod (&Plg->PlgCod); HTM_INPUT_TEXT ("Name",Plg_MAX_CHARS_PLUGIN_NAME,Plg->Name, HTM_SUBMIT_ON_CHANGE, - "size=\"10\""); + "size=\"10\" class=\"%s\"", + The_ClassInput[Gbl.Prefs.Theme]); Frm_EndForm (); HTM_TD_End (); @@ -384,7 +386,8 @@ static void Plg_ListPluginsForEdition (void) Plg_PutParamPlgCod (&Plg->PlgCod); HTM_INPUT_TEXT ("Description",Plg_MAX_CHARS_PLUGIN_DESCRIPTION,Plg->Description, HTM_SUBMIT_ON_CHANGE, - "size=\"30\""); + "size=\"30\" class=\"%s\"", + The_ClassInput[Gbl.Prefs.Theme]); Frm_EndForm (); HTM_TD_End (); @@ -394,7 +397,8 @@ static void Plg_ListPluginsForEdition (void) Plg_PutParamPlgCod (&Plg->PlgCod); HTM_INPUT_TEXT ("Logo",Plg_MAX_CHARS_PLUGIN_LOGO,Plg->Logo, HTM_SUBMIT_ON_CHANGE, - "size=\"4\""); + "size=\"4\" class=\"%s\"", + The_ClassInput[Gbl.Prefs.Theme]); Frm_EndForm (); HTM_TD_End (); @@ -404,7 +408,8 @@ static void Plg_ListPluginsForEdition (void) Plg_PutParamPlgCod (&Plg->PlgCod); HTM_INPUT_TEXT ("AppKey",Plg_MAX_CHARS_PLUGIN_APP_KEY,Plg->AppKey, HTM_SUBMIT_ON_CHANGE, - "size=\"16\""); + "size=\"16\" class=\"%s\"", + The_ClassInput[Gbl.Prefs.Theme]); Frm_EndForm (); HTM_TD_End (); @@ -413,7 +418,8 @@ static void Plg_ListPluginsForEdition (void) Frm_BeginForm (ActChgPlgURL); Plg_PutParamPlgCod (&Plg->PlgCod); HTM_INPUT_URL ("URL",Plg->URL,HTM_SUBMIT_ON_CHANGE, - "size=\"15\""); + "size=\"15\" class=\"%s\"", + The_ClassInput[Gbl.Prefs.Theme]); Frm_EndForm (); HTM_TD_End (); @@ -422,7 +428,8 @@ static void Plg_ListPluginsForEdition (void) Frm_BeginForm (ActChgPlgIP); Plg_PutParamPlgCod (&Plg->PlgCod); HTM_INPUT_TEXT ("IP",Cns_MAX_CHARS_IP,Plg->IP,HTM_SUBMIT_ON_CHANGE, - "size=\"10\""); + "size=\"10\" class=\"%s\"", + The_ClassInput[Gbl.Prefs.Theme]); Frm_EndForm (); HTM_TD_End (); @@ -769,6 +776,7 @@ void Plg_ContEditAfterChgPlg (void) static void Plg_PutFormToCreatePlugin (void) { + extern const char *The_ClassInput[The_NUM_THEMES]; extern const char *Txt_New_plugin; extern const char *Txt_Name; extern const char *Txt_Description; @@ -803,7 +811,8 @@ static void Plg_PutFormToCreatePlugin (void) HTM_TD_Begin ("class=\"CM\""); HTM_INPUT_TEXT ("Name",Plg_MAX_CHARS_PLUGIN_NAME,Plg_EditingPlg->Name, HTM_DONT_SUBMIT_ON_CHANGE, - "size=\"10\" required=\"required\""); + "size=\"10\" class=\"%s\" required=\"required\"", + The_ClassInput[Gbl.Prefs.Theme]); HTM_TD_End (); /***** Plugin description *****/ @@ -811,34 +820,39 @@ static void Plg_PutFormToCreatePlugin (void) HTM_INPUT_TEXT ("Description",Plg_MAX_CHARS_PLUGIN_DESCRIPTION, Plg_EditingPlg->Description, HTM_DONT_SUBMIT_ON_CHANGE, - "size=\"30\" required=\"required\""); + "size=\"30\" class=\"%s\" required=\"required\"", + The_ClassInput[Gbl.Prefs.Theme]); HTM_TD_End (); /***** Plugin logo *****/ HTM_TD_Begin ("class=\"CM\""); HTM_INPUT_TEXT ("Logo",Plg_MAX_CHARS_PLUGIN_LOGO,Plg_EditingPlg->Logo, HTM_DONT_SUBMIT_ON_CHANGE, - "size=\"4\" required=\"required\""); + "size=\"4\" class=\"%s\" required=\"required\"", + The_ClassInput[Gbl.Prefs.Theme]); HTM_TD_End (); /***** Plugin application key *****/ HTM_TD_Begin ("class=\"CM\""); HTM_INPUT_TEXT ("AppKey",Plg_MAX_CHARS_PLUGIN_APP_KEY,Plg_EditingPlg->AppKey, HTM_DONT_SUBMIT_ON_CHANGE, - "size=\"16\" required=\"required\""); + "size=\"16\" class=\"%s\" required=\"required\"", + The_ClassInput[Gbl.Prefs.Theme]); HTM_TD_End (); /***** Plugin URL *****/ HTM_TD_Begin ("class=\"CM\""); HTM_INPUT_URL ("URL",Plg_EditingPlg->URL,HTM_DONT_SUBMIT_ON_CHANGE, - "size=\"15\" required=\"required\""); + "size=\"15\" class=\"%s\" required=\"required\"", + The_ClassInput[Gbl.Prefs.Theme]); HTM_TD_End (); /***** Plugin IP address *****/ HTM_TD_Begin ("class=\"CM\""); HTM_INPUT_TEXT ("IP",Cns_MAX_CHARS_IP,Plg_EditingPlg->IP, HTM_DONT_SUBMIT_ON_CHANGE, - "size=\"10\" required=\"required\""); + "size=\"10\" class=\"%s\" required=\"required\"", + The_ClassInput[Gbl.Prefs.Theme]); HTM_TD_End (); /***** Row end *****/ diff --git a/swad_profile.c b/swad_profile.c index 917d55f8..5f3756a4 100644 --- a/swad_profile.c +++ b/swad_profile.c @@ -176,6 +176,7 @@ void Prf_RequestUserProfile (void) extern const char *Hlp_START_Profiles_view_public_profile; extern const char *Txt_Another_user_s_profile; extern const char *The_ClassFormInBox[The_NUM_THEMES]; + extern const char *The_ClassInput[The_NUM_THEMES]; extern const char *Txt_Nickname; extern const char *Txt_Continue; char NickWithArr[Nck_MAX_BYTES_NICK_WITH_ARROBA + 1]; @@ -207,7 +208,8 @@ void Prf_RequestUserProfile (void) Gbl.Usrs.Me.UsrDat.Nickname); HTM_INPUT_TEXT ("usr",sizeof (NickWithArr) - 1,NickWithArr, HTM_DONT_SUBMIT_ON_CHANGE, - "size=\"18\""); + "size=\"18\" class=\"%s\" required=\"required\"", + The_ClassInput[Gbl.Prefs.Theme]); HTM_LABEL_End (); /***** Send button and end box *****/ diff --git a/swad_question.c b/swad_question.c index 871f0fae..9b844b92 100644 --- a/swad_question.c +++ b/swad_question.c @@ -2296,6 +2296,7 @@ void Qst_PutFloatInputField (const char *Label,const char *Field, unsigned Index) { extern const char *The_ClassFormInBox[The_NUM_THEMES]; + extern const char *The_ClassInput[The_NUM_THEMES]; char StrDouble[32]; HTM_LABEL_Begin ("class=\"%s\"",The_ClassFormInBox[Gbl.Prefs.Theme]); @@ -2304,7 +2305,8 @@ void Qst_PutFloatInputField (const char *Label,const char *Field, Question->Answer.FloatingPoint[Index]); HTM_INPUT_TEXT (Field,Qst_MAX_BYTES_FLOAT_ANSWER,StrDouble, HTM_DONT_SUBMIT_ON_CHANGE, - "size=\"11\" required=\"required\"%s", + "size=\"11\" class=\"%s\" required=\"required\"%s", + The_ClassInput[Gbl.Prefs.Theme], Question->Answer.Type == Qst_ANS_FLOAT ? "" : " disabled=\"disabled\""); HTM_LABEL_End (); diff --git a/swad_record.c b/swad_record.c index 8797f5b9..48679964 100644 --- a/swad_record.c +++ b/swad_record.c @@ -176,7 +176,7 @@ void Rec_ReqEditRecordFields (void) NULL,NULL, Hlp_USERS_Students_course_record_card,Box_NOT_CLOSABLE,2); - Rec_ListFieldsRecordsForEdition (); + Rec_ListFieldsRecordsForEdition (); /* End table and box */ Box_BoxTableEnd (); @@ -253,6 +253,7 @@ void Rec_GetListRecordFieldsInCurrentCrs (void) void Rec_ListFieldsRecordsForEdition (void) { + extern const char *The_ClassInput[The_NUM_THEMES]; extern const char *Txt_RECORD_FIELD_VISIBILITY_MENU[Rec_NUM_TYPES_VISIBILITY]; unsigned NumField; Rec_VisibilityRecordFields_t Vis; @@ -282,7 +283,8 @@ void Rec_ListFieldsRecordsForEdition (void) HTM_INPUT_TEXT ("FieldName",Rec_MAX_CHARS_NAME_FIELD, Gbl.Crs.Records.LstFields.Lst[NumField].Name, HTM_SUBMIT_ON_CHANGE, - "class=\"REC_FIELDNAME\""); + "class=\"REC_FIELDNAME %s\"", + The_ClassInput[Gbl.Prefs.Theme]); Frm_EndForm (); HTM_TD_End (); @@ -294,7 +296,8 @@ void Rec_ListFieldsRecordsForEdition (void) Gbl.Crs.Records.LstFields.Lst[NumField].NumLines); HTM_INPUT_TEXT ("NumLines",Cns_MAX_DECIMAL_DIGITS_UINT,StrNumLines, HTM_SUBMIT_ON_CHANGE, - "size=\"2\""); + "size=\"2\" class=\"%s\"", + The_ClassInput[Gbl.Prefs.Theme]); Frm_EndForm (); HTM_TD_End (); @@ -303,7 +306,8 @@ void Rec_ListFieldsRecordsForEdition (void) Frm_BeginForm (ActChgVisFie); Rec_PutParamFieldCod (&Gbl.Crs.Records.LstFields.Lst[NumField].FieldCod); HTM_SELECT_Begin (HTM_SUBMIT_ON_CHANGE, - "name=\"Visibility\""); + "name=\"Visibility\" class=\"%s\"", + The_ClassInput[Gbl.Prefs.Theme]); for (Vis = (Rec_VisibilityRecordFields_t) 0; Vis <= (Rec_VisibilityRecordFields_t) (Rec_NUM_TYPES_VISIBILITY - 1); Vis++) @@ -328,6 +332,7 @@ void Rec_ListFieldsRecordsForEdition (void) void Rec_ShowFormCreateRecordField (void) { extern const char *Hlp_USERS_Students_course_record_card; + extern const char *The_ClassInput[The_NUM_THEMES]; extern const char *Txt_New_record_field; extern const char *Txt_RECORD_FIELD_VISIBILITY_MENU[Rec_NUM_TYPES_VISIBILITY]; extern const char *Txt_Create_record_field; @@ -357,7 +362,8 @@ void Rec_ShowFormCreateRecordField (void) HTM_TD_Begin ("class=\"LM\""); HTM_INPUT_TEXT ("FieldName",Rec_MAX_CHARS_NAME_FIELD,Gbl.Crs.Records.Field.Name, HTM_DONT_SUBMIT_ON_CHANGE, - "class=\"REC_FIELDNAME\" required=\"required\""); + "class=\"REC_FIELDNAME %s\" required=\"required\"", + The_ClassInput[Gbl.Prefs.Theme]); HTM_TD_End (); /***** Number of lines in form ******/ @@ -366,13 +372,15 @@ void Rec_ShowFormCreateRecordField (void) Gbl.Crs.Records.Field.NumLines); HTM_INPUT_TEXT ("NumLines",Cns_MAX_DECIMAL_DIGITS_UINT,StrNumLines, HTM_DONT_SUBMIT_ON_CHANGE, - "size=\"2\" required=\"required\""); + "size=\"2\" class=\"%s\" required=\"required\"", + The_ClassInput[Gbl.Prefs.Theme]); HTM_TD_End (); /***** Visibility to students *****/ HTM_TD_Begin ("class=\"CM\""); HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, - "name=\"Visibility\""); + "name=\"Visibility\" class=\"%s\"", + The_ClassInput[Gbl.Prefs.Theme]); for (Vis = (Rec_VisibilityRecordFields_t) 0; Vis <= (Rec_VisibilityRecordFields_t) (Rec_NUM_TYPES_VISIBILITY - 1); Vis++) diff --git a/swad_room.c b/swad_room.c index 108f0610..fec03627 100644 --- a/swad_room.c +++ b/swad_room.c @@ -716,7 +716,8 @@ static void Roo_ListRoomsForEdition (const struct Bld_Buildings *Buildings, Roo_PutParamRooCod (&Room->RooCod); HTM_INPUT_LONG ("Floor",(long) INT_MIN,(long) INT_MAX,(long) Room->Floor, HTM_SUBMIT_ON_CHANGE,false, - "class=\"INPUT_LONG\""); + "class=\"INPUT_LONG %s\"", + The_ClassInput[Gbl.Prefs.Theme]); Frm_EndForm (); HTM_TD_End (); @@ -758,7 +759,8 @@ static void Roo_ListRoomsForEdition (const struct Bld_Buildings *Buildings, Roo_WriteCapacity (StrCapacity,Room->Capacity); HTM_INPUT_TEXT ("Capacity",Cns_MAX_DECIMAL_DIGITS_UINT,StrCapacity, HTM_SUBMIT_ON_CHANGE, - "size=\"3\""); + "size=\"3\" class=\"%s\"", + The_ClassInput[Gbl.Prefs.Theme]); Frm_EndForm (); HTM_TD_End (); @@ -782,13 +784,15 @@ static void Roo_PutSelectorBuilding (long BldCod, const struct Bld_Buildings *Buildings, HTM_SubmitOnChange_t SubmitOnChange) { + extern const char *The_ClassInput[The_NUM_THEMES]; extern const char *Txt_No_assigned_building; extern const char *Txt_Another_building; unsigned NumBld; /***** Begin selector *****/ HTM_SELECT_Begin (SubmitOnChange, - "name=\"BldCod\" class=\"BLD_SEL\""); + "name=\"BldCod\" class=\"BLD_SEL %s\"", + The_ClassInput[Gbl.Prefs.Theme]); /***** Option for no assigned building *****/ HTM_OPTION (HTM_Type_STRING,"-1", @@ -819,12 +823,14 @@ static void Roo_PutSelectorBuilding (long BldCod, static void Roo_PutSelectorType (Roo_RoomType_t RoomType, HTM_SubmitOnChange_t SubmitOnChange) { + extern const char *The_ClassInput[The_NUM_THEMES]; extern const char *Txt_ROOM_TYPES[Roo_NUM_TYPES]; Roo_RoomType_t Type; /***** Begin selector *****/ HTM_SELECT_Begin (SubmitOnChange, - "name=\"Type\" class=\"ROOM_TYPE_SEL\""); + "name=\"Type\" class=\"ROOM_TYPE_SEL %s\"", + The_ClassInput[Gbl.Prefs.Theme]); /***** Options for types *****/ for (Type = (Roo_RoomType_t) 0; @@ -1288,7 +1294,8 @@ static void Roo_PutFormToCreateRoom (const struct Bld_Buildings *Buildings) HTM_TD_Begin ("class=\"LM\""); HTM_INPUT_LONG ("Floor",(long) INT_MIN,(long) INT_MAX,(long) Roo_EditingRoom->Floor, HTM_DONT_SUBMIT_ON_CHANGE,false, - "class=\"INPUT_LONG\""); + "class=\"INPUT_LONG %s\"", + The_ClassInput[Gbl.Prefs.Theme]); HTM_TD_End (); /***** Room type *****/ @@ -1320,7 +1327,8 @@ static void Roo_PutFormToCreateRoom (const struct Bld_Buildings *Buildings) Roo_WriteCapacity (StrCapacity,Roo_EditingRoom->Capacity); HTM_INPUT_TEXT ("Capacity",Cns_MAX_DECIMAL_DIGITS_UINT,StrCapacity, HTM_DONT_SUBMIT_ON_CHANGE, - "size=\"3\""); + "size=\"3\" class=\"%s\"", + The_ClassInput[Gbl.Prefs.Theme]); HTM_TD_End (); /***** MAC address *****/ @@ -1328,7 +1336,8 @@ static void Roo_PutFormToCreateRoom (const struct Bld_Buildings *Buildings) MAC_MACnumToMACstr (Roo_EditingRoom->MACnum,MACstr); HTM_INPUT_TEXT ("MAC",MAC_LENGTH_MAC_ADDRESS,MACstr, HTM_DONT_SUBMIT_ON_CHANGE, - "size=\"8\""); + "size=\"8\" class=\"%s\"", + The_ClassInput[Gbl.Prefs.Theme]); HTM_TD_End (); HTM_TR_End (); diff --git a/swad_syllabus.c b/swad_syllabus.c index 122823ae..31c44262 100644 --- a/swad_syllabus.c +++ b/swad_syllabus.c @@ -834,6 +834,7 @@ void Syl_WriteSyllabusIntoHTMLTmpFile (FILE *FileHTMLTmp) static void Syl_PutFormItemSyllabus (struct Syl_Syllabus *Syllabus, bool NewItem,unsigned NumItem,int Level,int *CodItem,const char *Text) { + extern const char *The_ClassInput[The_NUM_THEMES]; extern const char *Txt_Enter_a_new_item_here; if (Level < 1) @@ -879,7 +880,8 @@ static void Syl_PutFormItemSyllabus (struct Syl_Syllabus *Syllabus, Syl_PutParamNumItem (&Syllabus->ParamNumItem); HTM_INPUT_TEXT ("Txt",Syl_MAX_CHARS_TEXT_ITEM,Text, HTM_SUBMIT_ON_CHANGE, - "size=\"60\" placeholder=\"%s\"%s", + "size=\"60\" class=\"%s\" placeholder=\"%s\"%s", + The_ClassInput[Gbl.Prefs.Theme], Txt_Enter_a_new_item_here, NewItem ? " autofocus=\"autofocus\"" : ""); diff --git a/swad_test_print.c b/swad_test_print.c index a4ff7dc9..f434da27 100644 --- a/swad_test_print.c +++ b/swad_test_print.c @@ -352,13 +352,15 @@ static void TstPrn_WriteIntAnsToFill (const struct TstPrn_PrintedQuestion *Print unsigned QstInd, __attribute__((unused)) struct Qst_Question *Question) { + extern const char *The_ClassInput[The_NUM_THEMES]; char StrAns[3 + Cns_MAX_DECIMAL_DIGITS_UINT + 1]; // "Ansxx...x" /***** Write input field for the answer *****/ snprintf (StrAns,sizeof (StrAns),"Ans%010u",QstInd); HTM_INPUT_TEXT (StrAns,11,PrintedQuestion->StrAnswers, HTM_DONT_SUBMIT_ON_CHANGE, - "size=\"11\""); + "size=\"11\" class=\"%s\"", + The_ClassInput[Gbl.Prefs.Theme]); } /*****************************************************************************/ @@ -369,13 +371,15 @@ static void TstPrn_WriteFltAnsToFill (const struct TstPrn_PrintedQuestion *Print unsigned QstInd, __attribute__((unused)) struct Qst_Question *Question) { + extern const char *The_ClassInput[The_NUM_THEMES]; char StrAns[3 + Cns_MAX_DECIMAL_DIGITS_UINT + 1]; // "Ansxx...x" /***** Write input field for the answer *****/ snprintf (StrAns,sizeof (StrAns),"Ans%010u",QstInd); HTM_INPUT_TEXT (StrAns,Qst_MAX_BYTES_FLOAT_ANSWER,PrintedQuestion->StrAnswers, HTM_DONT_SUBMIT_ON_CHANGE, - "size=\"11\""); + "size=\"11\" class=\"%s\"", + The_ClassInput[Gbl.Prefs.Theme]); } /*****************************************************************************/ @@ -386,6 +390,7 @@ static void TstPrn_WriteTF_AnsToFill (const struct TstPrn_PrintedQuestion *Print unsigned QstInd, __attribute__((unused)) struct Qst_Question *Question) { + extern const char *The_ClassInput[The_NUM_THEMES]; extern const char *Txt_TF_QST[2]; /***** Write selector for the answer *****/ @@ -393,7 +398,8 @@ static void TstPrn_WriteTF_AnsToFill (const struct TstPrn_PrintedQuestion *Print If the user does not confirm the submission of their exam ==> ==> the exam may be half filled ==> the answers displayed will be those selected by the user. */ HTM_SELECT_Begin (HTM_DONT_SUBMIT_ON_CHANGE, - "name=\"Ans%010u\"",QstInd); + "name=\"Ans%010u\" class=\"%s\"", + QstInd,The_ClassInput[Gbl.Prefs.Theme]); HTM_OPTION (HTM_Type_STRING,"" ,PrintedQuestion->StrAnswers[0] == '\0',false," "); HTM_OPTION (HTM_Type_STRING,"T",PrintedQuestion->StrAnswers[0] == 'T' ,false,"%s",Txt_TF_QST[0]); HTM_OPTION (HTM_Type_STRING,"F",PrintedQuestion->StrAnswers[0] == 'F' ,false,"%s",Txt_TF_QST[1]); @@ -490,13 +496,15 @@ static void TstPrn_WriteTxtAnsToFill (const struct TstPrn_PrintedQuestion *Print unsigned QstInd, __attribute__((unused)) struct Qst_Question *Question) { + extern const char *The_ClassInput[The_NUM_THEMES]; char StrAns[3 + Cns_MAX_DECIMAL_DIGITS_UINT + 1]; // "Ansxx...x" /***** Write input field for the answer *****/ snprintf (StrAns,sizeof (StrAns),"Ans%010u",QstInd); HTM_INPUT_TEXT (StrAns,Qst_MAX_CHARS_ANSWERS_ONE_QST,PrintedQuestion->StrAnswers, HTM_DONT_SUBMIT_ON_CHANGE, - "size=\"40\""); + "size=\"40\" class=\"%s\"", + The_ClassInput[Gbl.Prefs.Theme]); } /*****************************************************************************/ diff --git a/swad_timeline_comment.c b/swad_timeline_comment.c index b9f58233..89951088 100644 --- a/swad_timeline_comment.c +++ b/swad_timeline_comment.c @@ -218,14 +218,14 @@ static void TmlCom_PutFormToWriteNewComm (const struct Tml_Timeline *Timeline, char *ClassTextArea; /***** Begin container *****/ - HTM_DIV_Begin ("class=\"Tml_COM_CONT Tml_COMM_WIDTH\""); + HTM_DIV_Begin ("class=\"Tml_COM_CONT Tml_COM_WIDTH\""); /***** Begin form to write the post *****/ TmlFrm_BeginForm (Timeline,TmlFrm_RECEIVE_COMM); TmlNot_PutHiddenParamNotCod (NotCod); /***** Textarea and button *****/ - if (asprintf (&ClassTextArea,"Tml_COM_TEXTAREA Tml_COMM_WIDTH %s", + if (asprintf (&ClassTextArea,"Tml_COM_TEXTAREA Tml_COM_WIDTH %s", The_ClassInput[Gbl.Prefs.Theme]) < 0) Err_NotEnoughMemoryExit (); TmlPst_PutTextarea (Txt_New_TIMELINE_comment,ClassTextArea); @@ -582,7 +582,7 @@ static void TmlCom_WriteComm (const struct Tml_Timeline *Timeline, /***** Right: author's name, time, content, and buttons *****/ /* Begin container */ - HTM_DIV_Begin ("class=\"Tml_COM_CONT Tml_COMM_WIDTH\""); + HTM_DIV_Begin ("class=\"Tml_COM_CONT Tml_COM_WIDTH\""); /* Right top: author's name, time, and content */ TmlCom_WriteAuthorTimeAndContent (Com,&UsrDat); @@ -631,7 +631,7 @@ static void TmlCom_WriteAuthorName (const struct UsrData *UsrDat) // Author Usr_PutParamUsrCodEncrypted (UsrDat->EnUsrCod); /* Author's name */ - if (asprintf (&Class,"Tml_COM_AUTHOR Tml_COMM_AUTHOR_WIDTH BT_LINK %s BOLD", + if (asprintf (&Class,"Tml_COM_AUTHOR Tml_COM_AUTHOR_WIDTH BT_LINK %s BOLD", The_ClassDat[Gbl.Prefs.Theme]) < 0) Err_NotEnoughMemoryExit (); HTM_BUTTON_OnSubmit_Begin (Usr_ItsMe (UsrDat->UsrCod) ? Txt_My_public_profile : @@ -663,8 +663,8 @@ static void TmlCom_WriteContent (struct TmlCom_Comment *Com) } /***** Show image *****/ - Med_ShowMedia (&Com->Content.Media,"Tml_COM_MED_CONT Tml_COMM_WIDTH", - "Tml_COM_MED Tml_COMM_WIDTH"); + Med_ShowMedia (&Com->Content.Media,"Tml_COM_MED_CONT Tml_COM_WIDTH", + "Tml_COM_MED Tml_COM_WIDTH"); } /*****************************************************************************/ @@ -680,7 +680,7 @@ static void TmlCom_WriteButtons (const struct Tml_Timeline *Timeline, NumDiv++; /***** Begin buttons container *****/ - HTM_DIV_Begin ("class=\"Tml_FOOT Tml_COMM_WIDTH\""); + HTM_DIV_Begin ("class=\"Tml_FOOT Tml_COM_WIDTH\""); /***** Foot column 1: fav zone *****/ HTM_DIV_Begin ("id=\"fav_com_%s_%u\" class=\"Tml_FAV_COM Tml_FAV_WIDTH\"", diff --git a/swad_timeline_post.c b/swad_timeline_post.c index 4f6eb578..2ec28070 100644 --- a/swad_timeline_post.c +++ b/swad_timeline_post.c @@ -193,7 +193,7 @@ static void TmlPst_PutFormToWriteNewPost (struct Tml_Timeline *Timeline) /* Form with textarea */ TmlFrm_BeginForm (Timeline,TmlFrm_RECEIVE_POST); - if (asprintf (&Class,"Tml_COM_TEXTAREA Tml_COMM_WIDTH %s", + if (asprintf (&Class,"Tml_COM_TEXTAREA Tml_RIGHT_WIDTH %s", The_ClassInput[Gbl.Prefs.Theme]) < 0) Err_NotEnoughMemoryExit (); TmlPst_PutTextarea (Txt_New_TIMELINE_post,Class);