mirror of https://github.com/acanas/swad-core.git
Version19.108.5
This commit is contained in:
parent
78b1aca65a
commit
359dd28b28
|
@ -649,10 +649,10 @@ static void ID_ShowFormChangeUsrID (const struct UsrData *UsrDat,
|
||||||
HTM_SPAN_Begin ("class=\"%s\" title=\"%s\"",
|
HTM_SPAN_Begin ("class=\"%s\" title=\"%s\"",
|
||||||
UsrDat->IDs.List[NumID].Confirmed ? "USR_ID_C" :
|
UsrDat->IDs.List[NumID].Confirmed ? "USR_ID_C" :
|
||||||
"USR_ID_NC",
|
"USR_ID_NC",
|
||||||
Str_BuildStrMsg (UsrDat->IDs.List[NumID].Confirmed ? Txt_ID_X_confirmed :
|
Str_BuildMsgStr (UsrDat->IDs.List[NumID].Confirmed ? Txt_ID_X_confirmed :
|
||||||
Txt_ID_X_not_confirmed,
|
Txt_ID_X_not_confirmed,
|
||||||
UsrDat->IDs.List[NumID].ID));
|
UsrDat->IDs.List[NumID].ID));
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
HTM_Txt (UsrDat->IDs.List[NumID].ID);
|
HTM_Txt (UsrDat->IDs.List[NumID].ID);
|
||||||
HTM_Txt (UsrDat->IDs.List[NumID].Confirmed ? "✓" :
|
HTM_Txt (UsrDat->IDs.List[NumID].Confirmed ? "✓" :
|
||||||
"");
|
"");
|
||||||
|
|
|
@ -420,10 +420,10 @@ void Acc_ShowFormGoToRequestNewAccount (void)
|
||||||
extern const char *Txt_Create_account;
|
extern const char *Txt_Create_account;
|
||||||
|
|
||||||
/***** Begin box *****/
|
/***** Begin box *****/
|
||||||
Box_BoxBegin (NULL,Str_BuildStrMsg (Txt_New_on_PLATFORM_Sign_up,
|
Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_New_on_PLATFORM_Sign_up,
|
||||||
Cfg_PLATFORM_SHORT_NAME),NULL,
|
Cfg_PLATFORM_SHORT_NAME),NULL,
|
||||||
Hlp_PROFILE_SignUp,Box_NOT_CLOSABLE);
|
Hlp_PROFILE_SignUp,Box_NOT_CLOSABLE);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
|
|
||||||
/***** Button to go to request the creation of a new account *****/
|
/***** Button to go to request the creation of a new account *****/
|
||||||
Frm_StartForm (ActFrmMyAcc);
|
Frm_StartForm (ActFrmMyAcc);
|
||||||
|
|
|
@ -357,12 +357,12 @@ void Agd_ShowUsrAgenda (void)
|
||||||
|
|
||||||
/***** Begin box *****/
|
/***** Begin box *****/
|
||||||
ItsMe = Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod);
|
ItsMe = Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod);
|
||||||
Box_BoxBegin ("100%",Str_BuildStrMsg (Txt_Public_agenda_USER,
|
Box_BoxBegin ("100%",Str_BuildMsgStr (Txt_Public_agenda_USER,
|
||||||
Gbl.Usrs.Other.UsrDat.FullName),
|
Gbl.Usrs.Other.UsrDat.FullName),
|
||||||
ItsMe ? Agd_PutIconsMyPublicAgenda :
|
ItsMe ? Agd_PutIconsMyPublicAgenda :
|
||||||
Agd_PutIconsOtherPublicAgenda,
|
Agd_PutIconsOtherPublicAgenda,
|
||||||
Hlp_PROFILE_Agenda_public_agenda,Box_NOT_CLOSABLE);
|
Hlp_PROFILE_Agenda_public_agenda,Box_NOT_CLOSABLE);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
|
|
||||||
/***** Show the current events in the user's agenda *****/
|
/***** Show the current events in the user's agenda *****/
|
||||||
Agd_ShowEventsToday (Agd_ANOTHER_AGENDA_TODAY);
|
Agd_ShowEventsToday (Agd_ANOTHER_AGENDA_TODAY);
|
||||||
|
@ -400,12 +400,12 @@ void Agd_ShowOtherAgendaAfterLogIn (void)
|
||||||
{
|
{
|
||||||
/***** Begin box *****/
|
/***** Begin box *****/
|
||||||
ItsMe = Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod);
|
ItsMe = Usr_ItsMe (Gbl.Usrs.Other.UsrDat.UsrCod);
|
||||||
Box_BoxBegin ("100%",Str_BuildStrMsg (Txt_Public_agenda_USER,
|
Box_BoxBegin ("100%",Str_BuildMsgStr (Txt_Public_agenda_USER,
|
||||||
Gbl.Usrs.Other.UsrDat.FullName),
|
Gbl.Usrs.Other.UsrDat.FullName),
|
||||||
ItsMe ? Agd_PutIconToViewEditMyFullAgenda :
|
ItsMe ? Agd_PutIconToViewEditMyFullAgenda :
|
||||||
Agd_PutIconsOtherPublicAgenda,
|
Agd_PutIconsOtherPublicAgenda,
|
||||||
Hlp_PROFILE_Agenda_public_agenda,Box_NOT_CLOSABLE);
|
Hlp_PROFILE_Agenda_public_agenda,Box_NOT_CLOSABLE);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
|
|
||||||
/***** Show the current events in the user's agenda *****/
|
/***** Show the current events in the user's agenda *****/
|
||||||
Agd_ShowEventsToday (Agd_ANOTHER_AGENDA_TODAY);
|
Agd_ShowEventsToday (Agd_ANOTHER_AGENDA_TODAY);
|
||||||
|
@ -1900,10 +1900,10 @@ void Agd_PrintAgdQRCode (void)
|
||||||
extern const char *Txt_Where_s_USER;
|
extern const char *Txt_Where_s_USER;
|
||||||
|
|
||||||
/***** Begin box *****/
|
/***** Begin box *****/
|
||||||
Box_BoxBegin (NULL,Str_BuildStrMsg (Txt_Where_s_USER,
|
Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Where_s_USER,
|
||||||
Gbl.Usrs.Me.UsrDat.FullName),NULL,
|
Gbl.Usrs.Me.UsrDat.FullName),NULL,
|
||||||
NULL,Box_NOT_CLOSABLE);
|
NULL,Box_NOT_CLOSABLE);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
|
|
||||||
/***** Print QR code ****/
|
/***** Print QR code ****/
|
||||||
QR_PrintQRCode ();
|
QR_PrintQRCode ();
|
||||||
|
|
|
@ -106,7 +106,7 @@ static void Cal_PutIconsFirstDayOfWeek (void)
|
||||||
|
|
||||||
void Cal_ShowFormToSelFirstDayOfWeek (Act_Action_t Action,void (*FuncParams) (void))
|
void Cal_ShowFormToSelFirstDayOfWeek (Act_Action_t Action,void (*FuncParams) (void))
|
||||||
{
|
{
|
||||||
extern const char *Txt_First_day_of_the_week;
|
extern const char *Txt_First_day_of_the_week_X;
|
||||||
extern const char *Txt_DAYS_SMALL[7];
|
extern const char *Txt_DAYS_SMALL[7];
|
||||||
unsigned FirstDayOfWeek;
|
unsigned FirstDayOfWeek;
|
||||||
char Icon[32 + 1];
|
char Icon[32 + 1];
|
||||||
|
@ -124,13 +124,13 @@ void Cal_ShowFormToSelFirstDayOfWeek (Act_Action_t Action,void (*FuncParams) (vo
|
||||||
Par_PutHiddenParamUnsigned (NULL,"FirstDayOfWeek",FirstDayOfWeek);
|
Par_PutHiddenParamUnsigned (NULL,"FirstDayOfWeek",FirstDayOfWeek);
|
||||||
if (FuncParams) // Extra parameters depending on the action
|
if (FuncParams) // Extra parameters depending on the action
|
||||||
FuncParams ();
|
FuncParams ();
|
||||||
snprintf (Gbl.Title,sizeof (Gbl.Title),
|
|
||||||
"%s: %s",
|
|
||||||
Txt_First_day_of_the_week,Txt_DAYS_SMALL[FirstDayOfWeek]);
|
|
||||||
snprintf (Icon,sizeof (Icon),
|
snprintf (Icon,sizeof (Icon),
|
||||||
"first-day-of-week-%u.png",
|
"first-day-of-week-%u.png",
|
||||||
FirstDayOfWeek);
|
FirstDayOfWeek);
|
||||||
Ico_PutSettingIconLink (Icon,Gbl.Title);
|
Ico_PutSettingIconLink (Icon,
|
||||||
|
Str_BuildMsgStr (Txt_First_day_of_the_week_X,
|
||||||
|
Txt_DAYS_SMALL[FirstDayOfWeek]));
|
||||||
|
Str_FreeMsg ();
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
|
@ -264,11 +264,11 @@ static void Ctr_ListCentres (void)
|
||||||
unsigned NumCtr;
|
unsigned NumCtr;
|
||||||
|
|
||||||
/***** Begin box *****/
|
/***** Begin box *****/
|
||||||
Box_BoxBegin (NULL,Str_BuildStrMsg (Txt_Centres_of_INSTITUTION_X,
|
Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Centres_of_INSTITUTION_X,
|
||||||
Gbl.Hierarchy.Ins.FullName),
|
Gbl.Hierarchy.Ins.FullName),
|
||||||
Ctr_PutIconsListingCentres,
|
Ctr_PutIconsListingCentres,
|
||||||
Hlp_INSTITUTION_Centres,Box_NOT_CLOSABLE);
|
Hlp_INSTITUTION_Centres,Box_NOT_CLOSABLE);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
|
|
||||||
if (Gbl.Hierarchy.Ins.Ctrs.Num) // There are centres in the current institution
|
if (Gbl.Hierarchy.Ins.Ctrs.Num) // There are centres in the current institution
|
||||||
{
|
{
|
||||||
|
@ -476,11 +476,11 @@ static void Ctr_EditCentresInternal (void)
|
||||||
Hie_WriteMenuHierarchy ();
|
Hie_WriteMenuHierarchy ();
|
||||||
|
|
||||||
/***** Begin box *****/
|
/***** Begin box *****/
|
||||||
Box_BoxBegin (NULL,Str_BuildStrMsg (Txt_Centres_of_INSTITUTION_X,
|
Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Centres_of_INSTITUTION_X,
|
||||||
Gbl.Hierarchy.Ins.FullName),
|
Gbl.Hierarchy.Ins.FullName),
|
||||||
Ctr_PutIconsEditingCentres,
|
Ctr_PutIconsEditingCentres,
|
||||||
Hlp_INSTITUTION_Centres,Box_NOT_CLOSABLE);
|
Hlp_INSTITUTION_Centres,Box_NOT_CLOSABLE);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
|
|
||||||
/***** Put a form to create a new centre *****/
|
/***** Put a form to create a new centre *****/
|
||||||
Ctr_PutFormToCreateCentre ();
|
Ctr_PutFormToCreateCentre ();
|
||||||
|
|
|
@ -797,10 +797,10 @@ static void CtrCfg_NumDegs (void)
|
||||||
HTM_TD_Begin ("class=\"LB\"");
|
HTM_TD_Begin ("class=\"LB\"");
|
||||||
Frm_StartFormGoTo (ActSeeDeg);
|
Frm_StartFormGoTo (ActSeeDeg);
|
||||||
Ctr_PutParamCtrCod (Gbl.Hierarchy.Ctr.CtrCod);
|
Ctr_PutParamCtrCod (Gbl.Hierarchy.Ctr.CtrCod);
|
||||||
HTM_BUTTON_SUBMIT_Begin (Str_BuildStrMsg (Txt_Degrees_of_CENTRE_X,
|
HTM_BUTTON_SUBMIT_Begin (Str_BuildMsgStr (Txt_Degrees_of_CENTRE_X,
|
||||||
Gbl.Hierarchy.Ctr.ShrtName),
|
Gbl.Hierarchy.Ctr.ShrtName),
|
||||||
"BT_LINK DAT",NULL);
|
"BT_LINK DAT",NULL);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
HTM_Unsigned (Deg_GetNumDegsInCtr (Gbl.Hierarchy.Ctr.CtrCod));
|
HTM_Unsigned (Deg_GetNumDegsInCtr (Gbl.Hierarchy.Ctr.CtrCod));
|
||||||
HTM_BUTTON_End ();
|
HTM_BUTTON_End ();
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
|
|
|
@ -492,7 +492,7 @@ enscript -2 --landscape --color --file-align=2 --highlight --line-numbers -o - *
|
||||||
En OpenSWAD:
|
En OpenSWAD:
|
||||||
ps2pdf source.ps destination.pdf
|
ps2pdf source.ps destination.pdf
|
||||||
*/
|
*/
|
||||||
#define Log_PLATFORM_VERSION "SWAD 19.108.4 (2019-12-30)"
|
#define Log_PLATFORM_VERSION "SWAD 19.108.5 (2019-12-30)"
|
||||||
#define CSS_FILE "swad19.101.5.css"
|
#define CSS_FILE "swad19.101.5.css"
|
||||||
#define JS_FILE "swad19.91.1.js"
|
#define JS_FILE "swad19.91.1.js"
|
||||||
/*
|
/*
|
||||||
|
@ -502,6 +502,7 @@ ps2pdf source.ps destination.pdf
|
||||||
|
|
||||||
Version 19.10x: Dec 30, 2019 Map in country information. (? lines)
|
Version 19.10x: Dec 30, 2019 Map in country information. (? lines)
|
||||||
Version 19.10x: Dec 30, 2019 Map in institution information. (? lines)
|
Version 19.10x: Dec 30, 2019 Map in institution information. (? lines)
|
||||||
|
Version 19.108.5: Dec 30, 2019 Code refactoring related to printing messages. (249712 lines)
|
||||||
Version 19.108.4: Dec 30, 2019 Code refactoring related to printing messages. (249709 lines)
|
Version 19.108.4: Dec 30, 2019 Code refactoring related to printing messages. (249709 lines)
|
||||||
Version 19.108.3: Dec 30, 2019 Code refactoring related to printing messages. (249725 lines)
|
Version 19.108.3: Dec 30, 2019 Code refactoring related to printing messages. (249725 lines)
|
||||||
Version 19.108.2: Dec 30, 2019 Code refactoring related to printing messages. (249739 lines)
|
Version 19.108.2: Dec 30, 2019 Code refactoring related to printing messages. (249739 lines)
|
||||||
|
|
|
@ -343,10 +343,10 @@ static void CtyCfg_NumInss (void)
|
||||||
HTM_TD_Begin ("class=\"LB\"");
|
HTM_TD_Begin ("class=\"LB\"");
|
||||||
Frm_StartFormGoTo (ActSeeIns);
|
Frm_StartFormGoTo (ActSeeIns);
|
||||||
Cty_PutParamCtyCod (Gbl.Hierarchy.Cty.CtyCod);
|
Cty_PutParamCtyCod (Gbl.Hierarchy.Cty.CtyCod);
|
||||||
HTM_BUTTON_SUBMIT_Begin (Str_BuildStrMsg (Txt_Institutions_of_COUNTRY_X,
|
HTM_BUTTON_SUBMIT_Begin (Str_BuildMsgStr (Txt_Institutions_of_COUNTRY_X,
|
||||||
Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]),
|
Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]),
|
||||||
"BT_LINK DAT",NULL);
|
"BT_LINK DAT",NULL);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
HTM_Unsigned (Ins_GetNumInssInCty (Gbl.Hierarchy.Cty.CtyCod));
|
HTM_Unsigned (Ins_GetNumInssInCty (Gbl.Hierarchy.Cty.CtyCod));
|
||||||
HTM_BUTTON_End ();
|
HTM_BUTTON_End ();
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
|
|
|
@ -743,11 +743,11 @@ static void Crs_ListCourses (void)
|
||||||
unsigned Year;
|
unsigned Year;
|
||||||
|
|
||||||
/***** Begin box *****/
|
/***** Begin box *****/
|
||||||
Box_BoxBegin (NULL,Str_BuildStrMsg (Txt_Courses_of_DEGREE_X,
|
Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Courses_of_DEGREE_X,
|
||||||
Gbl.Hierarchy.Deg.ShrtName),
|
Gbl.Hierarchy.Deg.ShrtName),
|
||||||
Crs_PutIconsListCourses,
|
Crs_PutIconsListCourses,
|
||||||
Hlp_DEGREE_Courses,Box_NOT_CLOSABLE);
|
Hlp_DEGREE_Courses,Box_NOT_CLOSABLE);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
|
|
||||||
if (Gbl.Hierarchy.Deg.Crss.Num) // There are courses in the current degree
|
if (Gbl.Hierarchy.Deg.Crss.Num) // There are courses in the current degree
|
||||||
{
|
{
|
||||||
|
@ -947,11 +947,11 @@ static void Crs_EditCoursesInternal (void)
|
||||||
Hie_WriteMenuHierarchy ();
|
Hie_WriteMenuHierarchy ();
|
||||||
|
|
||||||
/***** Begin box *****/
|
/***** Begin box *****/
|
||||||
Box_BoxBegin (NULL,Str_BuildStrMsg (Txt_Courses_of_DEGREE_X,
|
Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Courses_of_DEGREE_X,
|
||||||
Gbl.Hierarchy.Deg.ShrtName),
|
Gbl.Hierarchy.Deg.ShrtName),
|
||||||
Crs_PutIconsEditingCourses,
|
Crs_PutIconsEditingCourses,
|
||||||
Hlp_DEGREE_Courses,Box_NOT_CLOSABLE);
|
Hlp_DEGREE_Courses,Box_NOT_CLOSABLE);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
|
|
||||||
/***** Put a form to create or request a new course *****/
|
/***** Put a form to create or request a new course *****/
|
||||||
Crs_PutFormToCreateCourse ();
|
Crs_PutFormToCreateCourse ();
|
||||||
|
@ -2269,9 +2269,9 @@ static void Crs_PutButtonToRegisterInCrs (void)
|
||||||
// If the course being edited is different to the current one...
|
// If the course being edited is different to the current one...
|
||||||
if (Crs_EditingCrs->CrsCod != Gbl.Hierarchy.Crs.CrsCod)
|
if (Crs_EditingCrs->CrsCod != Gbl.Hierarchy.Crs.CrsCod)
|
||||||
Crs_PutParamCrsCod (Crs_EditingCrs->CrsCod);
|
Crs_PutParamCrsCod (Crs_EditingCrs->CrsCod);
|
||||||
Btn_PutCreateButton (Str_BuildStrMsg (Txt_Register_me_in_X,
|
Btn_PutCreateButton (Str_BuildMsgStr (Txt_Register_me_in_X,
|
||||||
Crs_EditingCrs->ShrtName));
|
Crs_EditingCrs->ShrtName));
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2445,10 +2445,10 @@ void Crs_GetAndWriteCrssOfAUsr (const struct UsrData *UsrDat,Rol_Role_t Role)
|
||||||
HTM_TR_Begin (NULL);
|
HTM_TR_Begin (NULL);
|
||||||
|
|
||||||
HTM_TH_Begin (1,7,"LM");
|
HTM_TH_Begin (1,7,"LM");
|
||||||
HTM_TxtF ("%s:",Str_BuildStrMsg (Txt_USER_in_COURSE,
|
HTM_TxtF ("%s:",Str_BuildMsgStr (Txt_USER_in_COURSE,
|
||||||
Role == Rol_UNK ? Txt_User[Usr_SEX_UNKNOWN] : // Role == Rol_UNK ==> any role
|
Role == Rol_UNK ? Txt_User[Usr_SEX_UNKNOWN] : // Role == Rol_UNK ==> any role
|
||||||
Txt_ROLES_SINGUL_Abc[Role][UsrDat->Sex]));
|
Txt_ROLES_SINGUL_Abc[Role][UsrDat->Sex]));
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
HTM_TH_End ();
|
HTM_TH_End ();
|
||||||
|
|
||||||
HTM_TR_End ();
|
HTM_TR_End ();
|
||||||
|
|
|
@ -763,11 +763,11 @@ static void Deg_ListDegrees (void)
|
||||||
unsigned NumDeg;
|
unsigned NumDeg;
|
||||||
|
|
||||||
/***** Begin box *****/
|
/***** Begin box *****/
|
||||||
Box_BoxBegin (NULL,Str_BuildStrMsg (Txt_Degrees_of_CENTRE_X,
|
Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Degrees_of_CENTRE_X,
|
||||||
Gbl.Hierarchy.Ctr.ShrtName),
|
Gbl.Hierarchy.Ctr.ShrtName),
|
||||||
Deg_PutIconsListingDegrees,
|
Deg_PutIconsListingDegrees,
|
||||||
Hlp_CENTRE_Degrees,Box_NOT_CLOSABLE);
|
Hlp_CENTRE_Degrees,Box_NOT_CLOSABLE);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
|
|
||||||
if (Gbl.Hierarchy.Ctr.Degs.Num) // There are degrees in the current centre
|
if (Gbl.Hierarchy.Ctr.Degs.Num) // There are degrees in the current centre
|
||||||
{
|
{
|
||||||
|
@ -945,11 +945,11 @@ static void Deg_EditDegreesInternal (void)
|
||||||
Hie_WriteMenuHierarchy ();
|
Hie_WriteMenuHierarchy ();
|
||||||
|
|
||||||
/***** Begin box *****/
|
/***** Begin box *****/
|
||||||
Box_BoxBegin (NULL,Str_BuildStrMsg (Txt_Degrees_of_CENTRE_X,
|
Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Degrees_of_CENTRE_X,
|
||||||
Gbl.Hierarchy.Ctr.ShrtName),
|
Gbl.Hierarchy.Ctr.ShrtName),
|
||||||
Deg_PutIconsEditingDegrees,
|
Deg_PutIconsEditingDegrees,
|
||||||
Hlp_CENTRE_Degrees,Box_NOT_CLOSABLE);
|
Hlp_CENTRE_Degrees,Box_NOT_CLOSABLE);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
|
|
||||||
if (Gbl.DegTypes.Num)
|
if (Gbl.DegTypes.Num)
|
||||||
{
|
{
|
||||||
|
|
|
@ -334,10 +334,10 @@ static void DegCfg_NumCrss (void)
|
||||||
HTM_TD_Begin ("class=\"LB\"");
|
HTM_TD_Begin ("class=\"LB\"");
|
||||||
Frm_StartFormGoTo (ActSeeCrs);
|
Frm_StartFormGoTo (ActSeeCrs);
|
||||||
Deg_PutParamDegCod (Gbl.Hierarchy.Deg.DegCod);
|
Deg_PutParamDegCod (Gbl.Hierarchy.Deg.DegCod);
|
||||||
HTM_BUTTON_SUBMIT_Begin (Str_BuildStrMsg (Txt_Courses_of_DEGREE_X,
|
HTM_BUTTON_SUBMIT_Begin (Str_BuildMsgStr (Txt_Courses_of_DEGREE_X,
|
||||||
Gbl.Hierarchy.Deg.ShrtName),
|
Gbl.Hierarchy.Deg.ShrtName),
|
||||||
"BT_LINK DAT",NULL);
|
"BT_LINK DAT",NULL);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
HTM_Unsigned (Crs_GetNumCrssInDeg (Gbl.Hierarchy.Deg.DegCod));
|
HTM_Unsigned (Crs_GetNumCrssInDeg (Gbl.Hierarchy.Deg.DegCod));
|
||||||
HTM_BUTTON_End ();
|
HTM_BUTTON_End ();
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
|
|
|
@ -111,12 +111,12 @@ void Dpt_SeeDepts (void)
|
||||||
Dpt_GetListDepartments (Gbl.Hierarchy.Ins.InsCod);
|
Dpt_GetListDepartments (Gbl.Hierarchy.Ins.InsCod);
|
||||||
|
|
||||||
/***** Begin box and table *****/
|
/***** Begin box and table *****/
|
||||||
Box_BoxTableBegin (NULL,Str_BuildStrMsg (Txt_Departments_of_INSTITUTION_X,
|
Box_BoxTableBegin (NULL,Str_BuildMsgStr (Txt_Departments_of_INSTITUTION_X,
|
||||||
Gbl.Hierarchy.Ins.FullName),
|
Gbl.Hierarchy.Ins.FullName),
|
||||||
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM ? Dpt_PutIconToEditDpts :
|
Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM ? Dpt_PutIconToEditDpts :
|
||||||
NULL,
|
NULL,
|
||||||
Hlp_INSTITUTION_Departments,Box_NOT_CLOSABLE,2);
|
Hlp_INSTITUTION_Departments,Box_NOT_CLOSABLE,2);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
|
|
||||||
/***** Write heading *****/
|
/***** Write heading *****/
|
||||||
HTM_TR_Begin (NULL);
|
HTM_TR_Begin (NULL);
|
||||||
|
@ -266,10 +266,10 @@ static void Dpt_EditDepartmentsInternal (void)
|
||||||
Dpt_GetListDepartments (Gbl.Hierarchy.Ins.InsCod);
|
Dpt_GetListDepartments (Gbl.Hierarchy.Ins.InsCod);
|
||||||
|
|
||||||
/***** Begin box *****/
|
/***** Begin box *****/
|
||||||
Box_BoxBegin (NULL,Str_BuildStrMsg (Txt_Departments_of_INSTITUTION_X,
|
Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Departments_of_INSTITUTION_X,
|
||||||
Gbl.Hierarchy.Ins.FullName),NULL,
|
Gbl.Hierarchy.Ins.FullName),NULL,
|
||||||
Hlp_INSTITUTION_Departments_edit,Box_NOT_CLOSABLE);
|
Hlp_INSTITUTION_Departments_edit,Box_NOT_CLOSABLE);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
|
|
||||||
/***** Put a form to create a new department *****/
|
/***** Put a form to create a new department *****/
|
||||||
Dpt_PutFormToCreateDepartment ();
|
Dpt_PutFormToCreateDepartment ();
|
||||||
|
|
|
@ -4921,14 +4921,13 @@ static void Fig_GetAndShowNumUsrsPerFirstDayOfWeek (void)
|
||||||
extern const char *Hlp_ANALYTICS_Figures_calendar;
|
extern const char *Hlp_ANALYTICS_Figures_calendar;
|
||||||
extern const char *Txt_FIGURE_TYPES[Fig_NUM_FIGURES];
|
extern const char *Txt_FIGURE_TYPES[Fig_NUM_FIGURES];
|
||||||
extern const char *Txt_Calendar;
|
extern const char *Txt_Calendar;
|
||||||
extern const char *Txt_First_day_of_the_week;
|
extern const char *Txt_First_day_of_the_week_X;
|
||||||
extern const char *Txt_DAYS_SMALL[7];
|
extern const char *Txt_DAYS_SMALL[7];
|
||||||
extern const char *Txt_No_of_users;
|
extern const char *Txt_No_of_users;
|
||||||
extern const char *Txt_PERCENT_of_users;
|
extern const char *Txt_PERCENT_of_users;
|
||||||
unsigned FirstDayOfWeek;
|
unsigned FirstDayOfWeek;
|
||||||
char *SubQuery;
|
char *SubQuery;
|
||||||
char *Icon;
|
char *Icon;
|
||||||
char *Title;
|
|
||||||
unsigned NumUsrs[7]; // 7: seven days in a week
|
unsigned NumUsrs[7]; // 7: seven days in a week
|
||||||
unsigned NumUsrsTotal = 0;
|
unsigned NumUsrsTotal = 0;
|
||||||
|
|
||||||
|
@ -4974,11 +4973,11 @@ static void Fig_GetAndShowNumUsrsPerFirstDayOfWeek (void)
|
||||||
if (asprintf (&Icon,"first-day-of-week-%u.png",
|
if (asprintf (&Icon,"first-day-of-week-%u.png",
|
||||||
FirstDayOfWeek) < 0)
|
FirstDayOfWeek) < 0)
|
||||||
Lay_NotEnoughMemoryExit ();
|
Lay_NotEnoughMemoryExit ();
|
||||||
if (asprintf (&Title,"%s: %s",
|
Ico_PutIcon (Icon,
|
||||||
Txt_First_day_of_the_week,Txt_DAYS_SMALL[FirstDayOfWeek]) < 0)
|
Str_BuildMsgStr (Txt_First_day_of_the_week_X,
|
||||||
Lay_NotEnoughMemoryExit ();
|
Txt_DAYS_SMALL[FirstDayOfWeek]),
|
||||||
Ico_PutIcon (Icon,Title,"ICO40x40");
|
"ICO40x40");
|
||||||
free (Title);
|
Str_FreeMsg ();
|
||||||
free (Icon);
|
free (Icon);
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
|
22
swad_forum.c
22
swad_forum.c
|
@ -1234,27 +1234,23 @@ static void For_ShowAForumPost (unsigned PstNum,long PstCod,
|
||||||
Gbl.Forum.ForumSelected.Location,
|
Gbl.Forum.ForumSelected.Location,
|
||||||
Gbl.Forum.ForumSelected.ThrCod,
|
Gbl.Forum.ForumSelected.ThrCod,
|
||||||
PstCod);
|
PstCod);
|
||||||
|
|
||||||
snprintf (Gbl.Title,sizeof (Gbl.Title),
|
|
||||||
Enabled ? Txt_FORUM_Post_X_allowed_Click_to_ban_it :
|
|
||||||
Txt_FORUM_Post_X_banned_Click_to_unban_it,
|
|
||||||
PstNum);
|
|
||||||
Ico_PutIconLink (Enabled ? "eye.svg" :
|
Ico_PutIconLink (Enabled ? "eye.svg" :
|
||||||
"eye-slash.svg",
|
"eye-slash.svg",
|
||||||
Gbl.Title);
|
Str_BuildMsgLong (Enabled ? Txt_FORUM_Post_X_allowed_Click_to_ban_it :
|
||||||
|
Txt_FORUM_Post_X_banned_Click_to_unban_it,
|
||||||
|
(long) PstNum));
|
||||||
|
Str_FreeMsg ();
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
snprintf (Gbl.Title,sizeof (Gbl.Title),
|
|
||||||
Enabled ? Txt_FORUM_Post_X_allowed :
|
|
||||||
Txt_FORUM_Post_X_banned,
|
|
||||||
PstNum);
|
|
||||||
HTM_SPAN_Begin ("title=\"%s\"",Gbl.Title); // TODO: Remove?
|
|
||||||
Ico_PutIcon (Enabled ? "eye.svg" :
|
Ico_PutIcon (Enabled ? "eye.svg" :
|
||||||
"eye-slash.svg",
|
"eye-slash.svg",
|
||||||
Gbl.Title,"ICO_HIDDEN ICO16x16");
|
Str_BuildMsgLong (Enabled ? Txt_FORUM_Post_X_allowed :
|
||||||
HTM_SPAN_End (); // TODO: Remove?
|
Txt_FORUM_Post_X_banned,
|
||||||
|
(long) PstNum),
|
||||||
|
"ICO_HIDDEN ICO16x16");
|
||||||
|
Str_FreeMsg ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** Form to remove post *****/
|
/***** Form to remove post *****/
|
||||||
|
|
|
@ -1871,9 +1871,9 @@ static void Gam_ListOneOrMoreQuestionsForEdition (long GamCod,unsigned NumQsts,
|
||||||
{
|
{
|
||||||
Lay_PutContextualLinkOnlyIcon (ActUp_GamQst,NULL,Gam_PutParamsOneQst,
|
Lay_PutContextualLinkOnlyIcon (ActUp_GamQst,NULL,Gam_PutParamsOneQst,
|
||||||
"arrow-up.svg",
|
"arrow-up.svg",
|
||||||
Str_BuildStrMsg (Txt_Move_up_X,
|
Str_BuildMsgStr (Txt_Move_up_X,
|
||||||
StrQstInd));
|
StrQstInd));
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Ico_PutIconOff ("arrow-up.svg",Txt_Movement_not_allowed);
|
Ico_PutIconOff ("arrow-up.svg",Txt_Movement_not_allowed);
|
||||||
|
@ -1883,9 +1883,9 @@ static void Gam_ListOneOrMoreQuestionsForEdition (long GamCod,unsigned NumQsts,
|
||||||
{
|
{
|
||||||
Lay_PutContextualLinkOnlyIcon (ActDwnGamQst,NULL,Gam_PutParamsOneQst,
|
Lay_PutContextualLinkOnlyIcon (ActDwnGamQst,NULL,Gam_PutParamsOneQst,
|
||||||
"arrow-down.svg",
|
"arrow-down.svg",
|
||||||
Str_BuildStrMsg (Txt_Move_down_X,
|
Str_BuildMsgStr (Txt_Move_down_X,
|
||||||
StrQstInd));
|
StrQstInd));
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Ico_PutIconOff ("arrow-down.svg",Txt_Movement_not_allowed);
|
Ico_PutIconOff ("arrow-down.svg",Txt_Movement_not_allowed);
|
||||||
|
|
12
swad_group.c
12
swad_group.c
|
@ -1509,10 +1509,10 @@ static void Grp_ListGroupsForEdition (void)
|
||||||
Grp_PutParamGrpCod (Grp->GrpCod);
|
Grp_PutParamGrpCod (Grp->GrpCod);
|
||||||
Ico_PutIconLink (Grp->Open ? "unlock.svg" :
|
Ico_PutIconLink (Grp->Open ? "unlock.svg" :
|
||||||
"lock.svg",
|
"lock.svg",
|
||||||
Str_BuildStrMsg (Grp->Open ? Txt_Group_X_open_click_to_close_it :
|
Str_BuildMsgStr (Grp->Open ? Txt_Group_X_open_click_to_close_it :
|
||||||
Txt_Group_X_closed_click_to_open_it,
|
Txt_Group_X_closed_click_to_open_it,
|
||||||
Grp->GrpName));
|
Grp->GrpName));
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
@ -1524,10 +1524,10 @@ static void Grp_ListGroupsForEdition (void)
|
||||||
Grp_PutParamGrpCod (Grp->GrpCod);
|
Grp_PutParamGrpCod (Grp->GrpCod);
|
||||||
Ico_PutIconLink (Grp->FileZones ? "folder-open-green.svg" :
|
Ico_PutIconLink (Grp->FileZones ? "folder-open-green.svg" :
|
||||||
"folder-red.svg",
|
"folder-red.svg",
|
||||||
Str_BuildStrMsg (Grp->FileZones ? Txt_File_zones_of_the_group_X_enabled_click_to_disable_them :
|
Str_BuildMsgStr (Grp->FileZones ? Txt_File_zones_of_the_group_X_enabled_click_to_disable_them :
|
||||||
Txt_File_zones_of_the_group_X_disabled_click_to_enable_them,
|
Txt_File_zones_of_the_group_X_disabled_click_to_enable_them,
|
||||||
Grp->GrpName));
|
Grp->GrpName));
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
|
@ -2381,10 +2381,10 @@ static void Grp_WriteRowGrp (struct Group *Grp,bool Highlight)
|
||||||
HTM_TD_Begin ("class=\"BM\"");
|
HTM_TD_Begin ("class=\"BM\"");
|
||||||
Ico_PutIconOff (Grp->Open ? "unlock.svg" :
|
Ico_PutIconOff (Grp->Open ? "unlock.svg" :
|
||||||
"lock.svg",
|
"lock.svg",
|
||||||
Str_BuildStrMsg (Grp->Open ? Txt_Group_X_open :
|
Str_BuildMsgStr (Grp->Open ? Txt_Group_X_open :
|
||||||
Txt_Group_X_closed,
|
Txt_Group_X_closed,
|
||||||
Grp->GrpName));
|
Grp->GrpName));
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
/***** Group name *****/
|
/***** Group name *****/
|
||||||
|
|
32
swad_help.c
32
swad_help.c
|
@ -141,21 +141,21 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void)
|
||||||
if (ActionsRemoveMe[Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs.Role] != ActUnk)
|
if (ActionsRemoveMe[Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs.Role] != ActUnk)
|
||||||
{
|
{
|
||||||
/* Request my removing from this course */
|
/* Request my removing from this course */
|
||||||
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildStrMsg (Txt_Remove_me_from_THE_COURSE_X,
|
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildMsgStr (Txt_Remove_me_from_THE_COURSE_X,
|
||||||
Gbl.Hierarchy.Crs.ShrtName),
|
Gbl.Hierarchy.Crs.ShrtName),
|
||||||
ActionsRemoveMe[Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs.Role],
|
ActionsRemoveMe[Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs.Role],
|
||||||
Btn_REMOVE_BUTTON,Txt_Remove_me);
|
Btn_REMOVE_BUTTON,Txt_Remove_me);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else // I do not belong to this course
|
else // I do not belong to this course
|
||||||
{
|
{
|
||||||
/* Request my registration in this course */
|
/* Request my registration in this course */
|
||||||
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildStrMsg (Txt_Register_me_in_X,
|
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildMsgStr (Txt_Register_me_in_X,
|
||||||
Gbl.Hierarchy.Crs.ShrtName),
|
Gbl.Hierarchy.Crs.ShrtName),
|
||||||
ActReqSignUp,
|
ActReqSignUp,
|
||||||
Btn_CREATE_BUTTON,Txt_Sign_up);
|
Btn_CREATE_BUTTON,Txt_Sign_up);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -166,11 +166,11 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void)
|
||||||
Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs.Role == Rol_TCH) // I am a teacher in current course
|
Gbl.Usrs.Me.UsrDat.Roles.InCurrentCrs.Role == Rol_TCH) // I am a teacher in current course
|
||||||
{
|
{
|
||||||
/* Request students enrolment */
|
/* Request students enrolment */
|
||||||
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildStrMsg (Txt_Register_students_in_COURSE_X,
|
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildMsgStr (Txt_Register_students_in_COURSE_X,
|
||||||
Gbl.Hierarchy.Crs.ShrtName),
|
Gbl.Hierarchy.Crs.ShrtName),
|
||||||
ActReqEnrSevStd,
|
ActReqEnrSevStd,
|
||||||
Btn_CREATE_BUTTON,Txt_Register_students);
|
Btn_CREATE_BUTTON,Txt_Register_students);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Gbl.Action.Act != ActMyCrs) // I am not seeing the action to list my courses
|
if (Gbl.Action.Act != ActMyCrs) // I am not seeing the action to list my courses
|
||||||
|
@ -183,42 +183,42 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void)
|
||||||
if (Gbl.Hierarchy.Deg.DegCod > 0) // Degree selected
|
if (Gbl.Hierarchy.Deg.DegCod > 0) // Degree selected
|
||||||
{
|
{
|
||||||
/* Select a course */
|
/* Select a course */
|
||||||
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildStrMsg (Gbl.Hierarchy.Level == Hie_CRS ? Txt_Select_create_course_in_X :
|
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildMsgStr (Gbl.Hierarchy.Level == Hie_CRS ? Txt_Select_create_course_in_X :
|
||||||
Txt_Select_or_create_one_course_in_X,
|
Txt_Select_or_create_one_course_in_X,
|
||||||
Gbl.Hierarchy.Deg.ShrtName),
|
Gbl.Hierarchy.Deg.ShrtName),
|
||||||
ActSeeCrs,
|
ActSeeCrs,
|
||||||
Btn_CONFIRM_BUTTON,Txt_Courses);
|
Btn_CONFIRM_BUTTON,Txt_Courses);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
}
|
}
|
||||||
else if (Gbl.Hierarchy.Ctr.CtrCod > 0) // Centre selected
|
else if (Gbl.Hierarchy.Ctr.CtrCod > 0) // Centre selected
|
||||||
{
|
{
|
||||||
/* Select a degree */
|
/* Select a degree */
|
||||||
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildStrMsg (Gbl.Hierarchy.Deg.DegCod > 0 ? Txt_Select_or_create_another_degree_in_X :
|
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildMsgStr (Gbl.Hierarchy.Deg.DegCod > 0 ? Txt_Select_or_create_another_degree_in_X :
|
||||||
Txt_Select_or_create_one_degree_in_X,
|
Txt_Select_or_create_one_degree_in_X,
|
||||||
Gbl.Hierarchy.Ctr.ShrtName),
|
Gbl.Hierarchy.Ctr.ShrtName),
|
||||||
ActSeeDeg,
|
ActSeeDeg,
|
||||||
Btn_CONFIRM_BUTTON,Txt_Degrees);
|
Btn_CONFIRM_BUTTON,Txt_Degrees);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
}
|
}
|
||||||
else if (Gbl.Hierarchy.Ins.InsCod > 0) // Institution selected
|
else if (Gbl.Hierarchy.Ins.InsCod > 0) // Institution selected
|
||||||
{
|
{
|
||||||
/* Select a centre */
|
/* Select a centre */
|
||||||
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildStrMsg (Gbl.Hierarchy.Ctr.CtrCod > 0 ? Txt_Select_or_create_another_centre_in_X :
|
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildMsgStr (Gbl.Hierarchy.Ctr.CtrCod > 0 ? Txt_Select_or_create_another_centre_in_X :
|
||||||
Txt_Select_or_create_one_centre_in_X,
|
Txt_Select_or_create_one_centre_in_X,
|
||||||
Gbl.Hierarchy.Ins.ShrtName),
|
Gbl.Hierarchy.Ins.ShrtName),
|
||||||
ActSeeCtr,
|
ActSeeCtr,
|
||||||
Btn_CONFIRM_BUTTON,Txt_Centres);
|
Btn_CONFIRM_BUTTON,Txt_Centres);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
}
|
}
|
||||||
else if (Gbl.Hierarchy.Cty.CtyCod > 0) // Country selected
|
else if (Gbl.Hierarchy.Cty.CtyCod > 0) // Country selected
|
||||||
{
|
{
|
||||||
/* Select an institution */
|
/* Select an institution */
|
||||||
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildStrMsg (Gbl.Hierarchy.Ins.InsCod > 0 ? Txt_Select_or_create_another_institution_in_X :
|
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildMsgStr (Gbl.Hierarchy.Ins.InsCod > 0 ? Txt_Select_or_create_another_institution_in_X :
|
||||||
Txt_Select_or_create_one_institution_in_X,
|
Txt_Select_or_create_one_institution_in_X,
|
||||||
Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]),
|
Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]),
|
||||||
ActSeeIns,
|
ActSeeIns,
|
||||||
Btn_CONFIRM_BUTTON,Txt_Institutions);
|
Btn_CONFIRM_BUTTON,Txt_Institutions);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
/* Select a country */
|
/* Select a country */
|
||||||
|
@ -240,11 +240,11 @@ void Hlp_ShowHelpWhatWouldYouLikeToDo (void)
|
||||||
Btn_CONFIRM_BUTTON,Txt_Log_in);
|
Btn_CONFIRM_BUTTON,Txt_Log_in);
|
||||||
|
|
||||||
/* Sign up */
|
/* Sign up */
|
||||||
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildStrMsg (Txt_New_on_PLATFORM_Sign_up,
|
Hlp_ShowRowHelpWhatWouldYouLikeToDo (Str_BuildMsgStr (Txt_New_on_PLATFORM_Sign_up,
|
||||||
Cfg_PLATFORM_SHORT_NAME),
|
Cfg_PLATFORM_SHORT_NAME),
|
||||||
ActFrmMyAcc,
|
ActFrmMyAcc,
|
||||||
Btn_CREATE_BUTTON,Txt_Create_account);
|
Btn_CREATE_BUTTON,Txt_Create_account);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/***** End table and box *****/
|
/***** End table and box *****/
|
||||||
|
|
|
@ -788,10 +788,10 @@ char *Hie_BuildGoToMsg (const char *Where)
|
||||||
{
|
{
|
||||||
extern const char *Txt_Go_to_X;
|
extern const char *Txt_Go_to_X;
|
||||||
|
|
||||||
return Str_BuildStrMsg (Txt_Go_to_X,Where);
|
return Str_BuildMsgStr (Txt_Go_to_X,Where);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Hie_FreeGoToMsg (void)
|
void Hie_FreeGoToMsg (void)
|
||||||
{
|
{
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
}
|
}
|
||||||
|
|
|
@ -291,11 +291,11 @@ static void Ins_ListInstitutions (void)
|
||||||
unsigned NumIns;
|
unsigned NumIns;
|
||||||
|
|
||||||
/***** Begin box *****/
|
/***** Begin box *****/
|
||||||
Box_BoxBegin (NULL,Str_BuildStrMsg (Txt_Institutions_of_COUNTRY_X,
|
Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Institutions_of_COUNTRY_X,
|
||||||
Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]),
|
Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]),
|
||||||
Ins_PutIconsListingInstitutions,
|
Ins_PutIconsListingInstitutions,
|
||||||
Hlp_COUNTRY_Institutions,Box_NOT_CLOSABLE);
|
Hlp_COUNTRY_Institutions,Box_NOT_CLOSABLE);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
|
|
||||||
if (Gbl.Hierarchy.Cty.Inss.Num) // There are institutions in the current country
|
if (Gbl.Hierarchy.Cty.Inss.Num) // There are institutions in the current country
|
||||||
{
|
{
|
||||||
|
@ -538,11 +538,11 @@ static void Ins_EditInstitutionsInternal (void)
|
||||||
Hie_WriteMenuHierarchy ();
|
Hie_WriteMenuHierarchy ();
|
||||||
|
|
||||||
/***** Begin box *****/
|
/***** Begin box *****/
|
||||||
Box_BoxBegin (NULL,Str_BuildStrMsg (Txt_Institutions_of_COUNTRY_X,
|
Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Institutions_of_COUNTRY_X,
|
||||||
Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]),
|
Gbl.Hierarchy.Cty.Name[Gbl.Prefs.Language]),
|
||||||
Ins_PutIconsEditingInstitutions,
|
Ins_PutIconsEditingInstitutions,
|
||||||
Hlp_COUNTRY_Institutions,Box_NOT_CLOSABLE);
|
Hlp_COUNTRY_Institutions,Box_NOT_CLOSABLE);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
|
|
||||||
/***** Put a form to create a new institution *****/
|
/***** Put a form to create a new institution *****/
|
||||||
Ins_PutFormToCreateInstitution ();
|
Ins_PutFormToCreateInstitution ();
|
||||||
|
|
|
@ -467,10 +467,10 @@ static void InsCfg_NumCtrs (void)
|
||||||
HTM_TD_Begin ("class=\"LB\"");
|
HTM_TD_Begin ("class=\"LB\"");
|
||||||
Frm_StartFormGoTo (ActSeeCtr);
|
Frm_StartFormGoTo (ActSeeCtr);
|
||||||
Ins_PutParamInsCod (Gbl.Hierarchy.Ins.InsCod);
|
Ins_PutParamInsCod (Gbl.Hierarchy.Ins.InsCod);
|
||||||
HTM_BUTTON_SUBMIT_Begin (Str_BuildStrMsg (Txt_Centres_of_INSTITUTION_X,
|
HTM_BUTTON_SUBMIT_Begin (Str_BuildMsgStr (Txt_Centres_of_INSTITUTION_X,
|
||||||
Gbl.Hierarchy.Ins.ShrtName),
|
Gbl.Hierarchy.Ins.ShrtName),
|
||||||
"BT_LINK DAT",NULL);
|
"BT_LINK DAT",NULL);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
HTM_Unsigned (Ctr_GetNumCtrsInIns (Gbl.Hierarchy.Ins.InsCod));
|
HTM_Unsigned (Ctr_GetNumCtrsInIns (Gbl.Hierarchy.Ins.InsCod));
|
||||||
HTM_BUTTON_End ();
|
HTM_BUTTON_End ();
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
|
|
|
@ -1309,9 +1309,9 @@ static void Mai_ShowFormChangeUsrEmail (const struct UsrData *UsrDat,bool ItsMe,
|
||||||
if (Confirmed)
|
if (Confirmed)
|
||||||
{
|
{
|
||||||
Ico_PutIcon ("check-circle.svg",
|
Ico_PutIcon ("check-circle.svg",
|
||||||
Str_BuildStrMsg (Txt_Email_X_confirmed,row[0]),
|
Str_BuildMsgStr (Txt_Email_X_confirmed,row[0]),
|
||||||
"ICO16x16");
|
"ICO16x16");
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Form to change user's email */
|
/* Form to change user's email */
|
||||||
|
|
|
@ -176,9 +176,9 @@ void McR_ShowMyMchResultsInGam (void)
|
||||||
false); // Do not put form to start new match
|
false); // Do not put form to start new match
|
||||||
|
|
||||||
/***** List my matches results in game *****/
|
/***** List my matches results in game *****/
|
||||||
McR_ShowResultsBegin (Str_BuildStrMsg (Txt_Results_of_game_X,Game.Title),
|
McR_ShowResultsBegin (Str_BuildMsgStr (Txt_Results_of_game_X,Game.Title),
|
||||||
false); // Do not list games to select
|
false); // Do not list games to select
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
McR_ListMyMchResultsInGam (Game.GamCod);
|
McR_ListMyMchResultsInGam (Game.GamCod);
|
||||||
McR_ShowResultsEnd ();
|
McR_ShowResultsEnd ();
|
||||||
|
|
||||||
|
@ -220,9 +220,9 @@ void McR_ShowMyMchResultsInMch (void)
|
||||||
false); // Do not put form to start new match
|
false); // Do not put form to start new match
|
||||||
|
|
||||||
/***** List my matches results in match *****/
|
/***** List my matches results in match *****/
|
||||||
McR_ShowResultsBegin (Str_BuildStrMsg (Txt_Results_of_match_X,Match.Title),
|
McR_ShowResultsBegin (Str_BuildMsgStr (Txt_Results_of_match_X,Match.Title),
|
||||||
false); // Do not list games to select
|
false); // Do not list games to select
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
McR_ListMyMchResultsInMch (Match.MchCod);
|
McR_ListMyMchResultsInMch (Match.MchCod);
|
||||||
McR_ShowResultsEnd ();
|
McR_ShowResultsEnd ();
|
||||||
|
|
||||||
|
@ -320,9 +320,9 @@ void McR_ShowAllMchResultsInGam (void)
|
||||||
false); // Do not put form to start new match
|
false); // Do not put form to start new match
|
||||||
|
|
||||||
/***** List matches results in game *****/
|
/***** List matches results in game *****/
|
||||||
McR_ShowResultsBegin (Str_BuildStrMsg (Txt_Results_of_game_X,Game.Title),
|
McR_ShowResultsBegin (Str_BuildMsgStr (Txt_Results_of_game_X,Game.Title),
|
||||||
false); // Do not list games to select
|
false); // Do not list games to select
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
McR_ListAllMchResultsInGam (Game.GamCod);
|
McR_ListAllMchResultsInGam (Game.GamCod);
|
||||||
McR_ShowResultsEnd ();
|
McR_ShowResultsEnd ();
|
||||||
|
|
||||||
|
@ -405,9 +405,9 @@ void McR_ShowAllMchResultsInMch (void)
|
||||||
false); // Do not put form to start new match
|
false); // Do not put form to start new match
|
||||||
|
|
||||||
/***** List matches results in match *****/
|
/***** List matches results in match *****/
|
||||||
McR_ShowResultsBegin (Str_BuildStrMsg (Txt_Results_of_match_X,Match.Title),
|
McR_ShowResultsBegin (Str_BuildMsgStr (Txt_Results_of_match_X,Match.Title),
|
||||||
false); // Do not list games to select
|
false); // Do not list games to select
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
McR_ListAllMchResultsInMch (Match.MchCod);
|
McR_ListAllMchResultsInMch (Match.MchCod);
|
||||||
McR_ShowResultsEnd ();
|
McR_ShowResultsEnd ();
|
||||||
|
|
||||||
|
|
|
@ -2061,9 +2061,9 @@ static void Prj_ShowOneProjectMembersWithARole (const struct Project *Prj,
|
||||||
Gbl.Prjs.PrjCod = Prj->PrjCod; // Used to pass project code as a parameter
|
Gbl.Prjs.PrjCod = Prj->PrjCod; // Used to pass project code as a parameter
|
||||||
Ico_PutContextualIconToAdd (ActionReqAddUsr[RoleInProject],NULL,
|
Ico_PutContextualIconToAdd (ActionReqAddUsr[RoleInProject],NULL,
|
||||||
Prj_PutCurrentParams,
|
Prj_PutCurrentParams,
|
||||||
Str_BuildStrMsg (Txt_Add_USERS,
|
Str_BuildMsgStr (Txt_Add_USERS,
|
||||||
Txt_PROJECT_ROLES_PLURAL_abc[RoleInProject]));
|
Txt_PROJECT_ROLES_PLURAL_abc[RoleInProject]));
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
|
|
||||||
HTM_TD_Begin ("class=\"PRJ_MEMBER_PHO\""); // Column for photo
|
HTM_TD_Begin ("class=\"PRJ_MEMBER_PHO\""); // Column for photo
|
||||||
|
@ -2460,9 +2460,9 @@ static void Prj_ReqRemUsrFromPrj (Prj_RoleInProject_t RoleInProject)
|
||||||
Frm_StartForm (ActionRemUsr[RoleInProject]);
|
Frm_StartForm (ActionRemUsr[RoleInProject]);
|
||||||
Gbl.Prjs.PrjCod = Prj.PrjCod;
|
Gbl.Prjs.PrjCod = Prj.PrjCod;
|
||||||
Prj_PutCurrentParams ();
|
Prj_PutCurrentParams ();
|
||||||
Btn_PutRemoveButton (Str_BuildStrMsg (Txt_Remove_USER_from_this_project,
|
Btn_PutRemoveButton (Str_BuildMsgStr (Txt_Remove_USER_from_this_project,
|
||||||
Txt_PROJECT_ROLES_SINGUL_abc[RoleInProject][Gbl.Usrs.Other.UsrDat.Sex]));
|
Txt_PROJECT_ROLES_SINGUL_abc[RoleInProject][Gbl.Usrs.Other.UsrDat.Sex]));
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
|
|
||||||
/* End alert */
|
/* End alert */
|
||||||
|
|
|
@ -158,10 +158,10 @@ void Rep_ReqMyUsageReport (void)
|
||||||
Frm_StartForm (ActSeeMyUsgRep);
|
Frm_StartForm (ActSeeMyUsgRep);
|
||||||
|
|
||||||
/***** Begin box *****/
|
/***** Begin box *****/
|
||||||
Box_BoxBegin (NULL,Str_BuildStrMsg (Txt_Report_of_use_of_PLATFORM,
|
Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Report_of_use_of_PLATFORM,
|
||||||
Cfg_PLATFORM_SHORT_NAME),NULL,
|
Cfg_PLATFORM_SHORT_NAME),NULL,
|
||||||
Hlp_ANALYTICS_Report,Box_NOT_CLOSABLE);
|
Hlp_ANALYTICS_Report,Box_NOT_CLOSABLE);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
|
|
||||||
/***** Header *****/
|
/***** Header *****/
|
||||||
Rep_TitleReport (NULL); // NULL means do not write date
|
Rep_TitleReport (NULL); // NULL means do not write date
|
||||||
|
@ -264,10 +264,10 @@ static void Rep_PutLinkToMyUsageReport (struct Rep_Report *Report)
|
||||||
extern const char *Txt_This_link_will_remain_active_as_long_as_your_user_s_account_exists;
|
extern const char *Txt_This_link_will_remain_active_as_long_as_your_user_s_account_exists;
|
||||||
|
|
||||||
/***** Begin box *****/
|
/***** Begin box *****/
|
||||||
Box_BoxBegin (NULL,Str_BuildStrMsg (Txt_Report_of_use_of_PLATFORM,
|
Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Report_of_use_of_PLATFORM,
|
||||||
Cfg_PLATFORM_SHORT_NAME),NULL,
|
Cfg_PLATFORM_SHORT_NAME),NULL,
|
||||||
Hlp_ANALYTICS_Report,Box_NOT_CLOSABLE);
|
Hlp_ANALYTICS_Report,Box_NOT_CLOSABLE);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
|
|
||||||
/***** Header *****/
|
/***** Header *****/
|
||||||
Rep_TitleReport (&Report->CurrentTimeUTC);
|
Rep_TitleReport (&Report->CurrentTimeUTC);
|
||||||
|
@ -994,12 +994,12 @@ static void Rep_GetAndWriteMyCurrentCrss (Rol_Role_t Role,
|
||||||
|
|
||||||
NumCrss = Usr_GetNumCrssOfUsrWithARole (Gbl.Usrs.Me.UsrDat.UsrCod,Role);
|
NumCrss = Usr_GetNumCrssOfUsrWithARole (Gbl.Usrs.Me.UsrDat.UsrCod,Role);
|
||||||
fprintf (Gbl.F.Rep,"<li>%s %u %s",
|
fprintf (Gbl.F.Rep,"<li>%s %u %s",
|
||||||
Str_BuildStrMsg (Txt_USER_in_COURSE,
|
Str_BuildMsgStr (Txt_USER_in_COURSE,
|
||||||
Txt_ROLES_SINGUL_Abc[Role][Gbl.Usrs.Me.UsrDat.Sex]),
|
Txt_ROLES_SINGUL_Abc[Role][Gbl.Usrs.Me.UsrDat.Sex]),
|
||||||
NumCrss,
|
NumCrss,
|
||||||
NumCrss == 1 ? Txt_course :
|
NumCrss == 1 ? Txt_course :
|
||||||
Txt_courses);
|
Txt_courses);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
|
|
||||||
if (NumCrss)
|
if (NumCrss)
|
||||||
{
|
{
|
||||||
|
|
|
@ -230,10 +230,10 @@ void Sta_AskShowCrsHits (void)
|
||||||
Gbl.Usrs.LstUsrs[Rol_TCH].NumUsrs;
|
Gbl.Usrs.LstUsrs[Rol_TCH].NumUsrs;
|
||||||
|
|
||||||
/***** Begin box *****/
|
/***** Begin box *****/
|
||||||
Box_BoxBegin (NULL,Str_BuildStrMsg (Txt_Statistics_of_visits_to_the_course_X,
|
Box_BoxBegin (NULL,Str_BuildMsgStr (Txt_Statistics_of_visits_to_the_course_X,
|
||||||
Gbl.Hierarchy.Crs.ShrtName),NULL,
|
Gbl.Hierarchy.Crs.ShrtName),NULL,
|
||||||
Hlp_ANALYTICS_Visits_visits_to_course,Box_NOT_CLOSABLE);
|
Hlp_ANALYTICS_Visits_visits_to_course,Box_NOT_CLOSABLE);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
|
|
||||||
/***** Show form to select the groups *****/
|
/***** Show form to select the groups *****/
|
||||||
Grp_ShowFormToSelectSeveralGroups (NULL,Grp_MY_GROUPS);
|
Grp_ShowFormToSelectSeveralGroups (NULL,Grp_MY_GROUPS);
|
||||||
|
@ -1494,10 +1494,10 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql
|
||||||
HTM_TD_Begin ("class=\"LM\"");
|
HTM_TD_Begin ("class=\"LM\"");
|
||||||
if (FirstRow > 1)
|
if (FirstRow > 1)
|
||||||
{
|
{
|
||||||
snprintf (Gbl.Title,sizeof (Gbl.Title),
|
HTM_BUTTON_SUBMIT_Begin (Str_BuildMsgLong (Txt_Show_previous_X_clicks,
|
||||||
Txt_Show_previous_X_clicks,
|
(long) Gbl.Stat.RowsPerPage),
|
||||||
Gbl.Stat.RowsPerPage);
|
"BT_LINK TIT_TBL",NULL);
|
||||||
HTM_BUTTON_SUBMIT_Begin (Gbl.Title,"BT_LINK TIT_TBL",NULL);
|
Str_FreeMsg ();
|
||||||
HTM_STRONG_Begin ();
|
HTM_STRONG_Begin ();
|
||||||
HTM_TxtF ("<%s",Txt_PAGES_Previous);
|
HTM_TxtF ("<%s",Txt_PAGES_Previous);
|
||||||
HTM_STRONG_End ();
|
HTM_STRONG_End ();
|
||||||
|
@ -1532,10 +1532,10 @@ static void Sta_ShowDetailedAccessesList (unsigned long NumRows,MYSQL_RES *mysql
|
||||||
HTM_TD_Begin ("class=\"RM\"");
|
HTM_TD_Begin ("class=\"RM\"");
|
||||||
if (LastRow < NumRows)
|
if (LastRow < NumRows)
|
||||||
{
|
{
|
||||||
snprintf (Gbl.Title,sizeof (Gbl.Title),
|
HTM_BUTTON_SUBMIT_Begin (Str_BuildMsgLong (Txt_Show_next_X_clicks,
|
||||||
Txt_Show_next_X_clicks,
|
(long) Gbl.Stat.RowsPerPage),
|
||||||
Gbl.Stat.RowsPerPage);
|
"BT_LINK TIT_TBL",NULL);
|
||||||
HTM_BUTTON_SUBMIT_Begin (Gbl.Title,"BT_LINK TIT_TBL",NULL);
|
Str_FreeMsg ();
|
||||||
HTM_STRONG_Begin ();
|
HTM_STRONG_Begin ();
|
||||||
HTM_TxtF ("%s>",Txt_PAGES_Next);
|
HTM_TxtF ("%s>",Txt_PAGES_Next);
|
||||||
HTM_STRONG_End ();
|
HTM_STRONG_End ();
|
||||||
|
|
|
@ -2924,27 +2924,40 @@ void Str_Concat (char *Dst,const char *Src,size_t DstSize)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/************************** Build a string message ***************************/
|
/******************* Build and free a message with format ********************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
|
static char *Str_Msg = NULL;
|
||||||
|
|
||||||
// FormatMsg must be a string including "%s"
|
// FormatMsg must be a string including "%s"
|
||||||
// Str_FreeStrMsg() must be called after calling this function
|
// Str_FreeMsg() must be called after calling this function
|
||||||
|
|
||||||
static char *Str_StrMsg = NULL;
|
char *Str_BuildMsgStr (const char *fmt,const char *Str)
|
||||||
|
|
||||||
char *Str_BuildStrMsg (const char *FormatMsg,const char *Str)
|
|
||||||
{
|
{
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
if (asprintf (&Str_StrMsg,FormatMsg,Str) < 0)
|
if (asprintf (&Str_Msg,fmt,Str) < 0)
|
||||||
Lay_NotEnoughMemoryExit ();
|
Lay_NotEnoughMemoryExit ();
|
||||||
|
|
||||||
return Str_StrMsg;
|
return Str_Msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Str_FreeStrMsg (void)
|
// FormatMsg must be a string including "%ld"
|
||||||
|
// Str_FreeMsg() must be called after calling this function
|
||||||
|
|
||||||
|
char *Str_BuildMsgLong (const char *fmt,long Num)
|
||||||
{
|
{
|
||||||
if (Str_StrMsg != NULL)
|
Str_FreeMsg ();
|
||||||
|
if (asprintf (&Str_Msg,fmt,Num) < 0)
|
||||||
|
Lay_NotEnoughMemoryExit ();
|
||||||
|
|
||||||
|
return Str_Msg;
|
||||||
|
}
|
||||||
|
|
||||||
|
void Str_FreeMsg (void)
|
||||||
|
{
|
||||||
|
if (Str_Msg != NULL)
|
||||||
{
|
{
|
||||||
free (Str_StrMsg);
|
free (Str_Msg);
|
||||||
Str_StrMsg = NULL;
|
Str_Msg = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -136,7 +136,8 @@ void Str_CreateRandomAlphanumStr (char *Str,size_t Length);
|
||||||
void Str_Copy (char *Dst,const char *Src,size_t DstSize);
|
void Str_Copy (char *Dst,const char *Src,size_t DstSize);
|
||||||
void Str_Concat (char *Dst,const char *Src,size_t DstSize);
|
void Str_Concat (char *Dst,const char *Src,size_t DstSize);
|
||||||
|
|
||||||
char *Str_BuildStrMsg (const char *FormatMsg,const char *Str);
|
char *Str_BuildMsgStr (const char *fmt,const char *Str);
|
||||||
void Str_FreeStrMsg (void);
|
char *Str_BuildMsgLong (const char *fmt,long Num);
|
||||||
|
void Str_FreeMsg (void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -624,10 +624,10 @@ static void Syl_ShowRowSyllabus (unsigned NumItem,
|
||||||
ActUp_IteSylPra,
|
ActUp_IteSylPra,
|
||||||
NULL,Syl_PutParamNumItem,
|
NULL,Syl_PutParamNumItem,
|
||||||
"arrow-up.svg",
|
"arrow-up.svg",
|
||||||
Str_BuildStrMsg (LstItemsSyllabus.Lst[NumItem].HasChildren ? Txt_Move_up_X_and_its_subsections :
|
Str_BuildMsgStr (LstItemsSyllabus.Lst[NumItem].HasChildren ? Txt_Move_up_X_and_its_subsections :
|
||||||
Txt_Move_up_X,
|
Txt_Move_up_X,
|
||||||
StrItemCod));
|
StrItemCod));
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Ico_PutIconOff ("arrow-up.svg",Txt_Movement_not_allowed);
|
Ico_PutIconOff ("arrow-up.svg",Txt_Movement_not_allowed);
|
||||||
|
@ -642,10 +642,10 @@ static void Syl_ShowRowSyllabus (unsigned NumItem,
|
||||||
ActDwnIteSylPra,
|
ActDwnIteSylPra,
|
||||||
NULL,Syl_PutParamNumItem,
|
NULL,Syl_PutParamNumItem,
|
||||||
"arrow-down.svg",
|
"arrow-down.svg",
|
||||||
Str_BuildStrMsg (LstItemsSyllabus.Lst[NumItem].HasChildren ? Txt_Move_down_X_and_its_subsections :
|
Str_BuildMsgStr (LstItemsSyllabus.Lst[NumItem].HasChildren ? Txt_Move_down_X_and_its_subsections :
|
||||||
Txt_Move_down_X,
|
Txt_Move_down_X,
|
||||||
StrItemCod));
|
StrItemCod));
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Ico_PutIconOff ("arrow-down.svg",Txt_Movement_not_allowed);
|
Ico_PutIconOff ("arrow-down.svg",Txt_Movement_not_allowed);
|
||||||
|
@ -659,9 +659,9 @@ static void Syl_ShowRowSyllabus (unsigned NumItem,
|
||||||
ActRgtIteSylPra,
|
ActRgtIteSylPra,
|
||||||
NULL,Syl_PutParamNumItem,
|
NULL,Syl_PutParamNumItem,
|
||||||
"arrow-left.svg",
|
"arrow-left.svg",
|
||||||
Str_BuildStrMsg (Txt_Increase_level_of_X,
|
Str_BuildMsgStr (Txt_Increase_level_of_X,
|
||||||
StrItemCod));
|
StrItemCod));
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Ico_PutIconOff ("arrow-left.svg",Txt_Movement_not_allowed);
|
Ico_PutIconOff ("arrow-left.svg",Txt_Movement_not_allowed);
|
||||||
|
@ -676,9 +676,9 @@ static void Syl_ShowRowSyllabus (unsigned NumItem,
|
||||||
ActLftIteSylPra,
|
ActLftIteSylPra,
|
||||||
NULL,Syl_PutParamNumItem,
|
NULL,Syl_PutParamNumItem,
|
||||||
"arrow-right.svg",
|
"arrow-right.svg",
|
||||||
Str_BuildStrMsg (Txt_Decrease_level_of_X,
|
Str_BuildMsgStr (Txt_Decrease_level_of_X,
|
||||||
StrItemCod));
|
StrItemCod));
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Ico_PutIconOff ("arrow-right.svg",Txt_Movement_not_allowed);
|
Ico_PutIconOff ("arrow-right.svg",Txt_Movement_not_allowed);
|
||||||
|
|
15
swad_test.c
15
swad_test.c
|
@ -1841,9 +1841,9 @@ static void Tst_PutIconEnable (long TagCod,const char *TagTxt)
|
||||||
Frm_StartForm (ActEnableTag);
|
Frm_StartForm (ActEnableTag);
|
||||||
Par_PutHiddenParamLong (NULL,"TagCod",TagCod);
|
Par_PutHiddenParamLong (NULL,"TagCod",TagCod);
|
||||||
Ico_PutIconLink ("eye-slash.svg",
|
Ico_PutIconLink ("eye-slash.svg",
|
||||||
Str_BuildStrMsg (Txt_Tag_X_not_allowed_Click_to_allow_it,
|
Str_BuildMsgStr (Txt_Tag_X_not_allowed_Click_to_allow_it,
|
||||||
TagTxt));
|
TagTxt));
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
}
|
}
|
||||||
|
@ -1860,9 +1860,9 @@ static void Tst_PutIconDisable (long TagCod,const char *TagTxt)
|
||||||
Frm_StartForm (ActDisableTag);
|
Frm_StartForm (ActDisableTag);
|
||||||
Par_PutHiddenParamLong (NULL,"TagCod",TagCod);
|
Par_PutHiddenParamLong (NULL,"TagCod",TagCod);
|
||||||
Ico_PutIconLink ("eye.svg",
|
Ico_PutIconLink ("eye.svg",
|
||||||
Str_BuildStrMsg (Txt_Tag_X_allowed_Click_to_disable_it,
|
Str_BuildMsgStr (Txt_Tag_X_allowed_Click_to_disable_it,
|
||||||
TagTxt));
|
TagTxt));
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
Frm_EndForm ();
|
Frm_EndForm ();
|
||||||
HTM_TD_End ();
|
HTM_TD_End ();
|
||||||
}
|
}
|
||||||
|
@ -5089,11 +5089,10 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
|
||||||
/***** Begin box *****/
|
/***** Begin box *****/
|
||||||
if (Gbl.Test.QstCod > 0) // The question already has assigned a code
|
if (Gbl.Test.QstCod > 0) // The question already has assigned a code
|
||||||
{
|
{
|
||||||
snprintf (Gbl.Title,sizeof (Gbl.Title),
|
Box_BoxBegin (NULL,Str_BuildMsgLong (Txt_Question_code_X,Gbl.Test.QstCod),
|
||||||
Txt_Question_code_X,
|
Tst_PutIconToRemoveOneQst,
|
||||||
Gbl.Test.QstCod);
|
|
||||||
Box_BoxBegin (NULL,Gbl.Title,Tst_PutIconToRemoveOneQst,
|
|
||||||
Hlp_ASSESSMENT_Tests_writing_a_question,Box_NOT_CLOSABLE);
|
Hlp_ASSESSMENT_Tests_writing_a_question,Box_NOT_CLOSABLE);
|
||||||
|
Str_FreeMsg ();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Box_BoxBegin (NULL,Txt_New_question,NULL,
|
Box_BoxBegin (NULL,Txt_New_question,NULL,
|
||||||
|
|
202
swad_text.c
202
swad_text.c
|
@ -12464,25 +12464,25 @@ const char *Txt_Filter = // As a noun
|
||||||
"Filtro";
|
"Filtro";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_First_day_of_the_week =
|
const char *Txt_First_day_of_the_week_X = // Warning: it is very important to include %s in the following sentences
|
||||||
#if L==1 // ca
|
#if L==1 // ca
|
||||||
"Primer dia de la setmana";
|
"Primer dia de la setmana: %s";
|
||||||
#elif L==2 // de
|
#elif L==2 // de
|
||||||
"Erster Tag der Woche";
|
"Erster Tag der Woche: %s";
|
||||||
#elif L==3 // en
|
#elif L==3 // en
|
||||||
"First day of the week";
|
"First day of the week: %s";
|
||||||
#elif L==4 // es
|
#elif L==4 // es
|
||||||
"Primer día de la semana";
|
"Primer día de la semana: %s";
|
||||||
#elif L==5 // fr
|
#elif L==5 // fr
|
||||||
"Premier jour de la semaine";
|
"Premier jour de la semaine: %s";
|
||||||
#elif L==6 // gn
|
#elif L==6 // gn
|
||||||
"Primer día de la semana"; // Okoteve traducción
|
"Primer día de la semana: %s"; // Okoteve traducción
|
||||||
#elif L==7 // it
|
#elif L==7 // it
|
||||||
"Primo giorno della settimana";
|
"Primo giorno della settimana: %s";
|
||||||
#elif L==8 // pl
|
#elif L==8 // pl
|
||||||
"Pierwszy dzień tygodnia";
|
"Pierwszy dzień tygodnia: %s";
|
||||||
#elif L==9 // pt
|
#elif L==9 // pt
|
||||||
"Primeiro dia da semana";
|
"Primeiro dia da semana: %s";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_First_name =
|
const char *Txt_First_name =
|
||||||
|
@ -13053,46 +13053,46 @@ const char *Txt_FORUM_posts =
|
||||||
"posts";
|
"posts";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_FORUM_Post_X_allowed = // Warning: it is very important to include %u in the following sentences
|
const char *Txt_FORUM_Post_X_allowed = // Warning: it is very important to include %ld in the following sentences
|
||||||
#if L==1 // ca
|
#if L==1 // ca
|
||||||
"Comentario %u permitido."; // Necessita traduccio
|
"Comentario %ld permitido."; // Necessita traduccio
|
||||||
#elif L==2 // de
|
#elif L==2 // de
|
||||||
"Post %u allowed."; // Need Übersetzung
|
"Post %ld allowed."; // Need Übersetzung
|
||||||
#elif L==3 // en
|
#elif L==3 // en
|
||||||
"Post %u allowed.";
|
"Post %ld allowed.";
|
||||||
#elif L==4 // es
|
#elif L==4 // es
|
||||||
"Comentario %u permitido.";
|
"Comentario %ld permitido.";
|
||||||
#elif L==5 // fr
|
#elif L==5 // fr
|
||||||
"Post %u allowed."; // Besoin de traduction
|
"Post %ld allowed."; // Besoin de traduction
|
||||||
#elif L==6 // gn
|
#elif L==6 // gn
|
||||||
"Comentario %u permitido."; // Okoteve traducción
|
"Comentario %ld permitido."; // Okoteve traducción
|
||||||
#elif L==7 // it
|
#elif L==7 // it
|
||||||
"Post %u autorizzato.";
|
"Post %ld autorizzato.";
|
||||||
#elif L==8 // pl
|
#elif L==8 // pl
|
||||||
"Post %u dozwolone.";
|
"Post %ld dozwolone.";
|
||||||
#elif L==9 // pt
|
#elif L==9 // pt
|
||||||
"Post %u permitido.";
|
"Post %ld permitido.";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_FORUM_Post_X_allowed_Click_to_ban_it = // Warning: it is very important to include %u in the following sentences
|
const char *Txt_FORUM_Post_X_allowed_Click_to_ban_it = // Warning: it is very important to include %ld in the following sentences
|
||||||
#if L==1 // ca
|
#if L==1 // ca
|
||||||
"Comentario %u permitido. Pulse para censurarlo."; // Necessita traduccio
|
"Comentario %ld permitido. Pulse para censurarlo."; // Necessita traduccio
|
||||||
#elif L==2 // de
|
#elif L==2 // de
|
||||||
"Post %u allowed. Click to ban it."; // Need Übersetzung
|
"Post %ld allowed. Click to ban it."; // Need Übersetzung
|
||||||
#elif L==3 // en
|
#elif L==3 // en
|
||||||
"Post %u allowed. Click to ban it.";
|
"Post %ld allowed. Click to ban it.";
|
||||||
#elif L==4 // es
|
#elif L==4 // es
|
||||||
"Comentario %u permitido. Pulse para censurarlo.";
|
"Comentario %ld permitido. Pulse para censurarlo.";
|
||||||
#elif L==5 // fr
|
#elif L==5 // fr
|
||||||
"Post %u allowed. Click to ban it."; // Besoin de traduction
|
"Post %ld allowed. Click to ban it."; // Besoin de traduction
|
||||||
#elif L==6 // gn
|
#elif L==6 // gn
|
||||||
"Comentario %u permitido. Pulse para censurarlo."; // Okoteve traducción
|
"Comentario %ld permitido. Pulse para censurarlo."; // Okoteve traducción
|
||||||
#elif L==7 // it
|
#elif L==7 // it
|
||||||
"Post %u autorizzato. Clicca per censurarlo.";
|
"Post %ld autorizzato. Clicca per censurarlo.";
|
||||||
#elif L==8 // pl
|
#elif L==8 // pl
|
||||||
"Post% u dozwolone. Kliknij, aby to zakazac.";
|
"Post %ld dozwolone. Kliknij, aby to zakazac.";
|
||||||
#elif L==9 // pt
|
#elif L==9 // pt
|
||||||
"Post %u permitido. Clique para censurá-lo.";
|
"Post %ld permitido. Clique para censurá-lo.";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_FORUM_Post_and_thread_removed =
|
const char *Txt_FORUM_Post_and_thread_removed =
|
||||||
|
@ -13137,46 +13137,46 @@ const char *Txt_FORUM_Post_banned =
|
||||||
"Post não permitido.";
|
"Post não permitido.";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_FORUM_Post_X_banned = // Warning: it is very important to include %u in the following sentences
|
const char *Txt_FORUM_Post_X_banned = // Warning: it is very important to include %ld in the following sentences
|
||||||
#if L==1 // ca
|
#if L==1 // ca
|
||||||
"Comentario %u no permitido"; // Necessita traduccio
|
"Comentario %ld no permitido"; // Necessita traduccio
|
||||||
#elif L==2 // de
|
#elif L==2 // de
|
||||||
"Post %u banned."; // Need Übersetzung
|
"Post %ld banned."; // Need Übersetzung
|
||||||
#elif L==3 // en
|
#elif L==3 // en
|
||||||
"Post %u banned.";
|
"Post %ld banned.";
|
||||||
#elif L==4 // es
|
#elif L==4 // es
|
||||||
"Comentario %u no permitido";
|
"Comentario %ld no permitido";
|
||||||
#elif L==5 // fr
|
#elif L==5 // fr
|
||||||
"Post %u banned."; // Besoin de traduction
|
"Post %ld banned."; // Besoin de traduction
|
||||||
#elif L==6 // gn
|
#elif L==6 // gn
|
||||||
"Comentario %u no permitido"; // Okoteve traducción
|
"Comentario %ld no permitido"; // Okoteve traducción
|
||||||
#elif L==7 // it
|
#elif L==7 // it
|
||||||
"Post %u censurato.";
|
"Post %ld censurato.";
|
||||||
#elif L==8 // pl
|
#elif L==8 // pl
|
||||||
"Post %u zakazany.";
|
"Post %ld zakazany.";
|
||||||
#elif L==9 // pt
|
#elif L==9 // pt
|
||||||
"Post %u não permitido.";
|
"Post %ld não permitido.";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_FORUM_Post_X_banned_Click_to_unban_it = // Warning: it is very important to include %u in the following sentences
|
const char *Txt_FORUM_Post_X_banned_Click_to_unban_it = // Warning: it is very important to include %ld in the following sentences
|
||||||
#if L==1 // ca
|
#if L==1 // ca
|
||||||
"Comentario %u no permitido. Pulse para permitirlo."; // Necessita traduccio
|
"Comentario %ld no permitido. Pulse para permitirlo."; // Necessita traduccio
|
||||||
#elif L==2 // de
|
#elif L==2 // de
|
||||||
"Post %u banned. Click to unban it."; // Need Übersetzung
|
"Post %ld banned. Click to unban it."; // Need Übersetzung
|
||||||
#elif L==3 // en
|
#elif L==3 // en
|
||||||
"Post %u banned. Click to unban it.";
|
"Post %ld banned. Click to unban it.";
|
||||||
#elif L==4 // es
|
#elif L==4 // es
|
||||||
"Comentario %u no permitido. Pulse para permitirlo.";
|
"Comentario %ld no permitido. Pulse para permitirlo.";
|
||||||
#elif L==5 // fr
|
#elif L==5 // fr
|
||||||
"Post %u banned. Click to unban it."; // Besoin de traduction
|
"Post %ld banned. Click to unban it."; // Besoin de traduction
|
||||||
#elif L==6 // gn
|
#elif L==6 // gn
|
||||||
"Comentario %u no permitido. Pulse para permitirlo."; // Okoteve traducción
|
"Comentario %ld no permitido. Pulse para permitirlo."; // Okoteve traducción
|
||||||
#elif L==7 // it
|
#elif L==7 // it
|
||||||
"Post %u censurato. Clicca per autorizzarlo.";
|
"Post %ld censurato. Clicca per autorizzarlo.";
|
||||||
#elif L==8 // pl
|
#elif L==8 // pl
|
||||||
"Post %u zakazany.Kliknij, aby to odbanowac.";
|
"Post %ld zakazany.Kliknij, aby to odbanowac.";
|
||||||
#elif L==9 // pt
|
#elif L==9 // pt
|
||||||
"Post %u não permitido. Clique para permiti-lo.";
|
"Post %ld não permitido. Clique para permiti-lo.";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_FORUM_Post_sent =
|
const char *Txt_FORUM_Post_sent =
|
||||||
|
@ -31614,7 +31614,7 @@ const char *Txt_Question =
|
||||||
"Questão";
|
"Questão";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_Question_code_X = // Warning: it is very important to include %s in the following sentences
|
const char *Txt_Question_code_X = // Warning: it is very important to include %ld in the following sentences
|
||||||
#if L==1 // ca
|
#if L==1 // ca
|
||||||
"Pregunta amb codi %ld";
|
"Pregunta amb codi %ld";
|
||||||
#elif L==2 // de
|
#elif L==2 // de
|
||||||
|
@ -38546,25 +38546,25 @@ const char *Txt_See_only_the_latest_COMMENTS =
|
||||||
"Ver apenas os últimos";
|
"Ver apenas os últimos";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_See_the_previous_X_COMMENTS = // Warning: it is very important to include %u in the following sentences
|
const char *Txt_See_the_previous_X_COMMENTS = // Warning: it is very important to include %ld in the following sentences
|
||||||
#if L==1 // ca
|
#if L==1 // ca
|
||||||
"Veure els %u anteriors";
|
"Veure els %ld anteriors";
|
||||||
#elif L==2 // de
|
#elif L==2 // de
|
||||||
"Siehe die vorherigen %u";
|
"Siehe die vorherigen %ld";
|
||||||
#elif L==3 // en
|
#elif L==3 // en
|
||||||
"See the previous %u";
|
"See the previous %ld";
|
||||||
#elif L==4 // es
|
#elif L==4 // es
|
||||||
"Ver los %u anteriores";
|
"Ver los %ld anteriores";
|
||||||
#elif L==5 // fr
|
#elif L==5 // fr
|
||||||
"Voir les %u précédents";
|
"Voir les %ld précédents";
|
||||||
#elif L==6 // gn
|
#elif L==6 // gn
|
||||||
"Ver los %u anteriores"; // Okoteve traducción
|
"Ver los %ld anteriores"; // Okoteve traducción
|
||||||
#elif L==7 // it
|
#elif L==7 // it
|
||||||
"Vedi i precedente %u";
|
"Vedi i precedente %ld";
|
||||||
#elif L==8 // pl
|
#elif L==8 // pl
|
||||||
"Zobacz poprzednie %u";
|
"Zobacz poprzednie %ld";
|
||||||
#elif L==9 // pt
|
#elif L==9 // pt
|
||||||
"Ver os %u anteriores";
|
"Ver os %ld anteriores";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_Select_another_country =
|
const char *Txt_Select_another_country =
|
||||||
|
@ -39878,25 +39878,25 @@ const char *Txt_Show_more_recipients =
|
||||||
"Ver mais destinatários";
|
"Ver mais destinatários";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_Show_next_X_clicks = // Warning: it is very important to include %lu in the following sentences
|
const char *Txt_Show_next_X_clicks = // Warning: it is very important to include %ld in the following sentences
|
||||||
#if L==1 // ca
|
#if L==1 // ca
|
||||||
"Mostrar %lu clics posteriores"; // Necessita traduccio
|
"Mostrar %ld clics posteriores"; // Necessita traduccio
|
||||||
#elif L==2 // de
|
#elif L==2 // de
|
||||||
"Show next %lu clicks"; // Need Übersetzung
|
"Show next %ld clicks"; // Need Übersetzung
|
||||||
#elif L==3 // en
|
#elif L==3 // en
|
||||||
"Show next %lu clicks";
|
"Show next %ld clicks";
|
||||||
#elif L==4 // es
|
#elif L==4 // es
|
||||||
"Mostrar %lu clics posteriores";
|
"Mostrar %ld clics posteriores";
|
||||||
#elif L==5 // fr
|
#elif L==5 // fr
|
||||||
"Show next %lu clicks"; // Besoin de traduction
|
"Show next %ld clicks"; // Besoin de traduction
|
||||||
#elif L==6 // gn
|
#elif L==6 // gn
|
||||||
"Mostrar %lu clics posteriores"; // Okoteve traducción
|
"Mostrar %ld clics posteriores"; // Okoteve traducción
|
||||||
#elif L==7 // it
|
#elif L==7 // it
|
||||||
"Mostra %lu scatti seguenti";
|
"Mostra %ld scatti seguenti";
|
||||||
#elif L==8 // pl
|
#elif L==8 // pl
|
||||||
"Show next %lu clicks"; // Potrzebujesz tlumaczenie
|
"Show next %ld clicks"; // Potrzebujesz tlumaczenie
|
||||||
#elif L==9 // pt
|
#elif L==9 // pt
|
||||||
"Mostrar %lu cliques subsequentes";
|
"Mostrar %ld cliques subsequentes";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_Show_office_hours =
|
const char *Txt_Show_office_hours =
|
||||||
|
@ -39920,25 +39920,25 @@ const char *Txt_Show_office_hours =
|
||||||
"Mostrar horários tutor";
|
"Mostrar horários tutor";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_Show_previous_X_clicks = // Warning: it is very important to include %u in the following sentences
|
const char *Txt_Show_previous_X_clicks = // Warning: it is very important to include %ld in the following sentences
|
||||||
#if L==1 // ca
|
#if L==1 // ca
|
||||||
"Mostrar %u clics anteriores"; // Necessita traduccio
|
"Mostrar %ld clics anteriores"; // Necessita traduccio
|
||||||
#elif L==2 // de
|
#elif L==2 // de
|
||||||
"Show previous %u clicks"; // Need Übersetzung
|
"Show previous %ld clicks"; // Need Übersetzung
|
||||||
#elif L==3 // en
|
#elif L==3 // en
|
||||||
"Show previous %u clicks";
|
"Show previous %ld clicks";
|
||||||
#elif L==4 // es
|
#elif L==4 // es
|
||||||
"Mostrar %u clics anteriores";
|
"Mostrar %ld clics anteriores";
|
||||||
#elif L==5 // fr
|
#elif L==5 // fr
|
||||||
"Show previous %u clicks"; // Besoin de traduction
|
"Show previous %ld clicks"; // Besoin de traduction
|
||||||
#elif L==6 // gn
|
#elif L==6 // gn
|
||||||
"Mostrar %u clics anteriores"; // Okoteve traducción
|
"Mostrar %ld clics anteriores"; // Okoteve traducción
|
||||||
#elif L==7 // it
|
#elif L==7 // it
|
||||||
"Mostra %u scatti precedenti";
|
"Mostra %ld scatti precedenti";
|
||||||
#elif L==8 // pl
|
#elif L==8 // pl
|
||||||
"Show previous %u clicks"; // Potrzebujesz tlumaczenie
|
"Show previous %ld clicks"; // Potrzebujesz tlumaczenie
|
||||||
#elif L==9 // pt
|
#elif L==9 // pt
|
||||||
"Mostrar %u cliques anteriores";
|
"Mostrar %ld cliques anteriores";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_Show_questions =
|
const char *Txt_Show_questions =
|
||||||
|
@ -50149,25 +50149,25 @@ const char *Txt_TIMELINE_NOTE_Favourite =
|
||||||
"Favorito";
|
"Favorito";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_TIMELINE_NOTE_Favourited_by_X_USERS = // Warning: it is very important to include %u in the following sentences
|
const char *Txt_TIMELINE_NOTE_Favourited_by_X_USERS = // Warning: it is very important to include %ld in the following sentences
|
||||||
#if L==1 // ca
|
#if L==1 // ca
|
||||||
"Marcat com favorit per %u";
|
"Marcat com favorit per %ld";
|
||||||
#elif L==2 // de
|
#elif L==2 // de
|
||||||
"Von %u vorgemerkt";
|
"Von %ld vorgemerkt";
|
||||||
#elif L==3 // en
|
#elif L==3 // en
|
||||||
"Favourited by %u";
|
"Favourited by %ld";
|
||||||
#elif L==4 // es
|
#elif L==4 // es
|
||||||
"Marcado como favorito por %u";
|
"Marcado como favorito por %ld";
|
||||||
#elif L==5 // fr
|
#elif L==5 // fr
|
||||||
"Ajouté aux favoris par %u";
|
"Ajouté aux favoris par %ld";
|
||||||
#elif L==6 // gn
|
#elif L==6 // gn
|
||||||
"Marcado como favorito por %u"; // Okoteve traducción
|
"Marcado como favorito por %ld"; // Okoteve traducción
|
||||||
#elif L==7 // it
|
#elif L==7 // it
|
||||||
"Preferiti da %u";
|
"Preferiti da %ld";
|
||||||
#elif L==8 // pl
|
#elif L==8 // pl
|
||||||
"Dodane do ulubionych przez %u";
|
"Dodane do ulubionych przez %ld";
|
||||||
#elif L==9 // pt
|
#elif L==9 // pt
|
||||||
"Marcado como favorito por %u";
|
"Marcado como favorito por %ld";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_TIMELINE_NOTE_Shared =
|
const char *Txt_TIMELINE_NOTE_Shared =
|
||||||
|
@ -50191,25 +50191,25 @@ const char *Txt_TIMELINE_NOTE_Shared =
|
||||||
"Compartilhado";
|
"Compartilhado";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_TIMELINE_NOTE_Shared_by_X_USERS = // Warning: it is very important to include %u in the following sentences
|
const char *Txt_TIMELINE_NOTE_Shared_by_X_USERS = // Warning: it is very important to include %ld in the following sentences
|
||||||
#if L==1 // ca
|
#if L==1 // ca
|
||||||
"Compartit per %u";
|
"Compartit per %ld";
|
||||||
#elif L==2 // de
|
#elif L==2 // de
|
||||||
"Von %u geteilt";
|
"Von %ld geteilt";
|
||||||
#elif L==3 // en
|
#elif L==3 // en
|
||||||
"Shared by %u";
|
"Shared by %ld";
|
||||||
#elif L==4 // es
|
#elif L==4 // es
|
||||||
"Compartido por %u";
|
"Compartido por %ld";
|
||||||
#elif L==5 // fr
|
#elif L==5 // fr
|
||||||
"Partagé par %u";
|
"Partagé par %ld";
|
||||||
#elif L==6 // gn
|
#elif L==6 // gn
|
||||||
"Compartido por %u"; // Okoteve traducción
|
"Compartido por %ld"; // Okoteve traducción
|
||||||
#elif L==7 // it
|
#elif L==7 // it
|
||||||
"Condiviso da %u";
|
"Condiviso da %ld";
|
||||||
#elif L==8 // pl
|
#elif L==8 // pl
|
||||||
"Udostępnione przez %u";
|
"Udostępnione przez %ld";
|
||||||
#elif L==9 // pt
|
#elif L==9 // pt
|
||||||
"Compartilhado por %u";
|
"Compartilhado por %ld";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const char *Txt_TIMELINE_NOTE_Not_favourited_by_anyone = // No longer shared
|
const char *Txt_TIMELINE_NOTE_Not_favourited_by_anyone = // No longer shared
|
||||||
|
|
|
@ -507,10 +507,10 @@ static void TL_ShowTimelineUsrHighlightingNot (long NotCod)
|
||||||
TL_GET_RECENT_TIMELINE);
|
TL_GET_RECENT_TIMELINE);
|
||||||
|
|
||||||
/***** Show timeline *****/
|
/***** Show timeline *****/
|
||||||
TL_ShowTimeline (Query,Str_BuildStrMsg (Txt_Timeline_OF_A_USER,
|
TL_ShowTimeline (Query,Str_BuildMsgStr (Txt_Timeline_OF_A_USER,
|
||||||
Gbl.Usrs.Other.UsrDat.FirstName),
|
Gbl.Usrs.Other.UsrDat.FirstName),
|
||||||
NotCod);
|
NotCod);
|
||||||
Str_FreeStrMsg ();
|
Str_FreeMsg ();
|
||||||
|
|
||||||
/***** Drop temporary tables *****/
|
/***** Drop temporary tables *****/
|
||||||
TL_DropTemporaryTablesUsedToQueryTimeline ();
|
TL_DropTemporaryTablesUsedToQueryTimeline ();
|
||||||
|
@ -2776,11 +2776,11 @@ static void TL_FormToShowHiddenComments (Act_Action_t ActionGbl,Act_Action_t Act
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Put icon and text with link to show the first hidden comments */
|
/* Put icon and text with link to show the first hidden comments */
|
||||||
snprintf (Gbl.Title,sizeof (Gbl.Title),
|
|
||||||
Txt_See_the_previous_X_COMMENTS,
|
|
||||||
NumInitialComments);
|
|
||||||
HTM_BUTTON_SUBMIT_Begin (NULL,The_ClassFormLinkInBox[Gbl.Prefs.Theme],NULL);
|
HTM_BUTTON_SUBMIT_Begin (NULL,The_ClassFormLinkInBox[Gbl.Prefs.Theme],NULL);
|
||||||
Ico_PutIconTextLink ("angle-up.svg",Gbl.Title);
|
Ico_PutIconTextLink ("angle-up.svg",
|
||||||
|
Str_BuildMsgLong (Txt_See_the_previous_X_COMMENTS,
|
||||||
|
(long) NumInitialComments));
|
||||||
|
Str_FreeMsg ();
|
||||||
HTM_BUTTON_End ();
|
HTM_BUTTON_End ();
|
||||||
|
|
||||||
/* End form */
|
/* End form */
|
||||||
|
@ -2926,16 +2926,14 @@ static void TL_LinkToShowPreviousComments (const char IdComments[Frm_MAX_BYTES_I
|
||||||
{
|
{
|
||||||
extern const char *Txt_See_the_previous_X_COMMENTS;
|
extern const char *Txt_See_the_previous_X_COMMENTS;
|
||||||
|
|
||||||
/***** Build text to show *****/
|
|
||||||
snprintf (Gbl.Title,sizeof (Gbl.Title),
|
|
||||||
Txt_See_the_previous_X_COMMENTS,
|
|
||||||
NumInitialComments);
|
|
||||||
|
|
||||||
/***** Icon and text to show only the latest comments ****/
|
/***** Icon and text to show only the latest comments ****/
|
||||||
HTM_DIV_Begin ("id=\"exp_%s\" class=\"TL_EXPAND_COM TL_RIGHT_WIDTH\""
|
HTM_DIV_Begin ("id=\"exp_%s\" class=\"TL_EXPAND_COM TL_RIGHT_WIDTH\""
|
||||||
" style=\"display:none;\"", // Hidden
|
" style=\"display:none;\"", // Hidden
|
||||||
IdComments);
|
IdComments);
|
||||||
TL_PutIconToToggleComments (IdComments,"angle-up.svg",Gbl.Title);
|
TL_PutIconToToggleComments (IdComments,"angle-up.svg",
|
||||||
|
Str_BuildMsgLong (Txt_See_the_previous_X_COMMENTS,
|
||||||
|
(long) NumInitialComments));
|
||||||
|
Str_FreeMsg ();
|
||||||
HTM_DIV_End ();
|
HTM_DIV_End ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3124,11 +3122,10 @@ static void TL_PutDisabledIconShare (unsigned NumShared)
|
||||||
/***** Disabled icon to share *****/
|
/***** Disabled icon to share *****/
|
||||||
if (NumShared)
|
if (NumShared)
|
||||||
{
|
{
|
||||||
snprintf (Gbl.Title,sizeof (Gbl.Title),
|
|
||||||
Txt_TIMELINE_NOTE_Shared_by_X_USERS,
|
|
||||||
NumShared);
|
|
||||||
Ico_PutDivIcon ("TL_ICO_DISABLED",TL_ICON_SHARE,
|
Ico_PutDivIcon ("TL_ICO_DISABLED",TL_ICON_SHARE,
|
||||||
Gbl.Title);
|
Str_BuildMsgLong (Txt_TIMELINE_NOTE_Shared_by_X_USERS,
|
||||||
|
(long) NumShared));
|
||||||
|
Str_FreeMsg ();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Ico_PutDivIcon ("TL_ICO_DISABLED",TL_ICON_SHARE,
|
Ico_PutDivIcon ("TL_ICO_DISABLED",TL_ICON_SHARE,
|
||||||
|
@ -3147,11 +3144,10 @@ static void TL_PutDisabledIconFav (unsigned NumFavs)
|
||||||
/***** Disabled icon to mark as favourite *****/
|
/***** Disabled icon to mark as favourite *****/
|
||||||
if (NumFavs)
|
if (NumFavs)
|
||||||
{
|
{
|
||||||
snprintf (Gbl.Title,sizeof (Gbl.Title),
|
|
||||||
Txt_TIMELINE_NOTE_Favourited_by_X_USERS,
|
|
||||||
NumFavs);
|
|
||||||
Ico_PutDivIcon ("TL_ICO_DISABLED",TL_ICON_FAV,
|
Ico_PutDivIcon ("TL_ICO_DISABLED",TL_ICON_FAV,
|
||||||
Gbl.Title);
|
Str_BuildMsgLong (Txt_TIMELINE_NOTE_Favourited_by_X_USERS,
|
||||||
|
(long) NumFavs));
|
||||||
|
Str_FreeMsg ();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
Ico_PutDivIcon ("TL_ICO_DISABLED",TL_ICON_FAV,
|
Ico_PutDivIcon ("TL_ICO_DISABLED",TL_ICON_FAV,
|
||||||
|
|
Loading…
Reference in New Issue