mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-10 10:45:23 +02:00
Version 18.49.2
This commit is contained in:
parent
0a9f354212
commit
64513f64f2
|
@ -465,14 +465,14 @@ void Acc_ShowFormChgMyAccount (void)
|
|||
/***** Start container for this user *****/
|
||||
fprintf (Gbl.F.Out,"<div class=\"REC_USR\">");
|
||||
|
||||
/***** Show form to change my password *****/
|
||||
/***** Show form to change my password and my nickname ****/
|
||||
fprintf (Gbl.F.Out,"<div class=\"REC_LEFT\">");
|
||||
Pwd_ShowFormChgMyPwd ();
|
||||
Nck_ShowFormChangeMyNickname (IMustCreateMyNicknameNow);
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
|
||||
/***** Show form to change my nickname, my email and my ID *****/
|
||||
/***** Show form to change my email and my ID *****/
|
||||
fprintf (Gbl.F.Out,"<div class=\"REC_RIGHT\">");
|
||||
Nck_ShowFormChangeMyNickname (IMustCreateMyNicknameNow);
|
||||
Mai_ShowFormChangeMyEmail (IMustFillInMyEmailNow,IShouldConfirmMyEmailNow);
|
||||
ID_ShowFormChangeMyID (IShouldFillInMyIDNow);
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
|
@ -504,16 +504,16 @@ void Acc_ShowFormChgOtherUsrAccount (void)
|
|||
/***** Start container for this user *****/
|
||||
fprintf (Gbl.F.Out,"<div class=\"REC_USR\">");
|
||||
|
||||
/***** Show form to change nickname and email *****/
|
||||
/***** Show form to change password and nickname *****/
|
||||
fprintf (Gbl.F.Out,"<div class=\"REC_LEFT\">");
|
||||
Pwd_ShowFormChgOtherUsrPwd ();
|
||||
Nck_ShowFormChangeOtherUsrNickname ();
|
||||
Mai_ShowFormChangeOtherUsrEmail ();
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
|
||||
/***** Show form to change ID and password *****/
|
||||
/***** Show form to change email and ID *****/
|
||||
fprintf (Gbl.F.Out,"<div class=\"REC_RIGHT\">");
|
||||
Mai_ShowFormChangeOtherUsrEmail ();
|
||||
ID_ShowFormChangeOtherUsrID ();
|
||||
Pwd_ShowFormChgOtherUsrPwd ();
|
||||
fprintf (Gbl.F.Out,"</div>");
|
||||
|
||||
/***** Start container for this user *****/
|
||||
|
|
|
@ -5129,19 +5129,19 @@ void Act_AdjustCurrentAction (void)
|
|||
Gbl.Action.Act == ActLogInLan ||
|
||||
Gbl.Action.Act == ActAnnSee;
|
||||
|
||||
/***** Don't adjust anything when:
|
||||
- refreshing
|
||||
- web service *****/
|
||||
if (Gbl.Action.UsesAJAX ||
|
||||
Gbl.WebService.IsWebService)
|
||||
return;
|
||||
|
||||
/***** Don't adjust anything when current action is not a menu option
|
||||
(except some actions just after login) *****/
|
||||
if (!JustAfterLogin && // Not just after login
|
||||
Gbl.Action.Act != Act_GetSuperAction (Gbl.Action.Act)) // It is not a menu option
|
||||
return;
|
||||
|
||||
/***** Don't adjust anything when:
|
||||
- refreshing users
|
||||
- web service *****/
|
||||
if (Gbl.Action.UsesAJAX ||
|
||||
Gbl.WebService.IsWebService)
|
||||
return;
|
||||
|
||||
/***** Adjustment 1:
|
||||
-------------
|
||||
If I have no password in database,
|
||||
|
@ -5257,23 +5257,19 @@ void Act_AdjustCurrentAction (void)
|
|||
switch (Gbl.Usrs.Me.Role.Logged)
|
||||
{
|
||||
case Rol_STD:
|
||||
/* Action allowed for students to see/print
|
||||
the timetable before registering in groups */
|
||||
if (Gbl.Action.Act == ActSeeCrsTT)
|
||||
return;
|
||||
|
||||
/***** Adjustment 7:
|
||||
-------------
|
||||
If there are some group types
|
||||
with available groups in which I must register,
|
||||
the only action possible
|
||||
is show a form to register in groups *****/
|
||||
if (Grp_GetIfAvailableGrpTyp (-1L)) // This query may be slow
|
||||
{
|
||||
Gbl.Action.Act = ActReqSelGrp;
|
||||
Tab_SetCurrentTab ();
|
||||
return;
|
||||
}
|
||||
if (JustAfterLogin) // Only after login because the following query may be slow
|
||||
if (Grp_GetIfAvailableGrpTyp (-1L)) // This query may be slow
|
||||
{
|
||||
Gbl.Action.Act = ActReqSelGrp;
|
||||
Tab_SetCurrentTab ();
|
||||
return;
|
||||
}
|
||||
|
||||
/***** Adjustment 8:
|
||||
-------------
|
||||
|
|
|
@ -1451,7 +1451,7 @@ void Agd_RequestCreatOrEditEvent (void)
|
|||
extern const char *Txt_Event;
|
||||
extern const char *Txt_Description;
|
||||
extern const char *Txt_Create_event;
|
||||
extern const char *Txt_Save;
|
||||
extern const char *Txt_Save_changes;
|
||||
struct AgendaEvent AgdEvent;
|
||||
bool ItsANewEvent;
|
||||
char Txt[Cns_MAX_BYTES_TEXT + 1];
|
||||
|
@ -1558,7 +1558,7 @@ void Agd_RequestCreatOrEditEvent (void)
|
|||
if (ItsANewEvent)
|
||||
Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_event);
|
||||
else
|
||||
Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save);
|
||||
Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save_changes);
|
||||
|
||||
/***** End form *****/
|
||||
Frm_EndForm ();
|
||||
|
|
|
@ -1081,7 +1081,7 @@ void Asg_RequestCreatOrEditAsg (void)
|
|||
extern const char *Txt_Folder;
|
||||
extern const char *Txt_Description;
|
||||
extern const char *Txt_Create_assignment;
|
||||
extern const char *Txt_Save;
|
||||
extern const char *Txt_Save_changes;
|
||||
struct Assignment Asg;
|
||||
bool ItsANewAssignment;
|
||||
char Txt[Cns_MAX_BYTES_TEXT + 1];
|
||||
|
@ -1197,7 +1197,7 @@ void Asg_RequestCreatOrEditAsg (void)
|
|||
if (ItsANewAssignment)
|
||||
Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_assignment);
|
||||
else
|
||||
Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save);
|
||||
Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save_changes);
|
||||
|
||||
/***** End form *****/
|
||||
Frm_EndForm ();
|
||||
|
|
|
@ -1042,7 +1042,7 @@ void Att_RequestCreatOrEditAttEvent (void)
|
|||
extern const char *Txt_Visible_MALE_PLURAL;
|
||||
extern const char *Txt_Description;
|
||||
extern const char *Txt_Create_event;
|
||||
extern const char *Txt_Save;
|
||||
extern const char *Txt_Save_changes;
|
||||
struct AttendanceEvent Att;
|
||||
bool ItsANewAttEvent;
|
||||
char Description[Cns_MAX_BYTES_TEXT + 1];
|
||||
|
@ -1166,7 +1166,7 @@ void Att_RequestCreatOrEditAttEvent (void)
|
|||
if (ItsANewAttEvent)
|
||||
Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_event);
|
||||
else
|
||||
Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save);
|
||||
Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save_changes);
|
||||
|
||||
/***** End form *****/
|
||||
Frm_EndForm ();
|
||||
|
@ -1862,10 +1862,11 @@ void Att_SeeOneAttEvent (void)
|
|||
static void Att_ListAttOnlyMeAsStudent (struct AttendanceEvent *Att)
|
||||
{
|
||||
extern const char *Hlp_USERS_Attendance;
|
||||
extern const char *Txt_Attendance;
|
||||
extern const char *Txt_Student_comment;
|
||||
extern const char *Txt_Teachers_comment;
|
||||
extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
|
||||
extern const char *Txt_Save;
|
||||
extern const char *Txt_Save_changes;
|
||||
|
||||
/***** Get my preference about photos in users' list for current course *****/
|
||||
Usr_GetMyPrefAboutListWithPhotosFromDB ();
|
||||
|
@ -1877,10 +1878,15 @@ static void Att_ListAttOnlyMeAsStudent (struct AttendanceEvent *Att)
|
|||
Att_PutParamAttCod (Att->AttCod);
|
||||
}
|
||||
|
||||
/***** List students' data *****/
|
||||
/* Start box and table */
|
||||
Box_StartBoxTable (NULL,NULL,NULL,
|
||||
Hlp_USERS_Attendance,Box_NOT_CLOSABLE,2);
|
||||
/***** List students (only me) *****/
|
||||
/* Start box */
|
||||
Box_StartBox (NULL,Txt_Attendance,NULL,
|
||||
Hlp_USERS_Attendance,Box_NOT_CLOSABLE);
|
||||
|
||||
/* Start table */
|
||||
Tbl_StartTableWideMargin (2);
|
||||
|
||||
/* Header */
|
||||
fprintf (Gbl.F.Out,"<tr>"
|
||||
"<th></th>"
|
||||
"<th></th>"
|
||||
|
@ -1904,15 +1910,18 @@ static void Att_ListAttOnlyMeAsStudent (struct AttendanceEvent *Att)
|
|||
/* List of students (only me) */
|
||||
Att_WriteRowStdToCallTheRoll (1,&Gbl.Usrs.Me.UsrDat,Att);
|
||||
|
||||
/* End table and box */
|
||||
Box_EndBoxTable ();
|
||||
/* End table */
|
||||
Tbl_EndTable ();
|
||||
|
||||
/* Send button */
|
||||
if (Att->Open)
|
||||
{
|
||||
/***** Send button *****/
|
||||
Btn_PutConfirmButton (Txt_Save);
|
||||
Btn_PutConfirmButton (Txt_Save_changes);
|
||||
Frm_EndForm ();
|
||||
}
|
||||
|
||||
/* End box */
|
||||
Box_EndBox ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -1927,7 +1936,7 @@ static void Att_ListAttStudents (struct AttendanceEvent *Att)
|
|||
extern const char *Txt_Student_comment;
|
||||
extern const char *Txt_Teachers_comment;
|
||||
extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
|
||||
extern const char *Txt_Save;
|
||||
extern const char *Txt_Save_changes;
|
||||
unsigned NumStd;
|
||||
struct UsrData UsrDat;
|
||||
|
||||
|
@ -1955,14 +1964,15 @@ static void Att_ListAttStudents (struct AttendanceEvent *Att)
|
|||
/***** Initialize structure with user's data *****/
|
||||
Usr_UsrDataConstructor (&UsrDat);
|
||||
|
||||
/***** Start form *****/
|
||||
/* Start form */
|
||||
Frm_StartForm (ActRecAttStd);
|
||||
Att_PutParamAttCod (Att->AttCod);
|
||||
Grp_PutParamsCodGrps ();
|
||||
|
||||
/***** List students' data *****/
|
||||
/* Start table */
|
||||
Tbl_StartTableWideMargin (2);
|
||||
|
||||
/* Header */
|
||||
fprintf (Gbl.F.Out,"<tr>"
|
||||
"<th></th>"
|
||||
"<th></th>"
|
||||
|
@ -1997,10 +2007,11 @@ static void Att_ListAttStudents (struct AttendanceEvent *Att)
|
|||
Att_WriteRowStdToCallTheRoll (NumStd + 1,&UsrDat,Att);
|
||||
}
|
||||
|
||||
/* End table */
|
||||
Tbl_EndTable ();
|
||||
|
||||
/* Send button */
|
||||
Btn_PutConfirmButton (Txt_Save);
|
||||
Btn_PutConfirmButton (Txt_Save_changes);
|
||||
|
||||
/***** End form *****/
|
||||
Frm_EndForm ();
|
||||
|
|
|
@ -382,7 +382,6 @@ OPTIMIZE TABLE debug;
|
|||
*/
|
||||
|
||||
// TODO: Editar todas mis webs al mismo tiempo poniendo al final un botón "Guardar cambios"
|
||||
// TODO: Chequear login para ver agenda desde código QR
|
||||
|
||||
/*****************************************************************************/
|
||||
/****************************** Public constants *****************************/
|
||||
|
@ -403,10 +402,12 @@ En OpenSWAD:
|
|||
ps2pdf source.ps destination.pdf
|
||||
*/
|
||||
|
||||
#define Log_PLATFORM_VERSION "SWAD 18.49.1 (2019-02-18)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 18.49.2 (2019-02-18)"
|
||||
#define CSS_FILE "swad18.41.1.css"
|
||||
#define JS_FILE "swad18.32.1.js"
|
||||
/*
|
||||
Version 18.49.2: Feb 18, 2019 The warning message of compulsory enrolment in groups is only made after login.
|
||||
Homogenization of buttons to save changes. (237257 lines)
|
||||
Version 18.49.1: Feb 18, 2019 Optimization in query about available mandatory group types. (237381 lines)
|
||||
Version 18.49: Feb 18, 2019 Optimizations adjusting actions.
|
||||
Fixed bug in query about available mandatory group types. (237378 lines)
|
||||
|
|
|
@ -1737,7 +1737,7 @@ void Gam_RequestCreatOrEditGame (void)
|
|||
extern const char *Txt_Description;
|
||||
extern const char *Txt_Users;
|
||||
extern const char *Txt_Create_game;
|
||||
extern const char *Txt_Save;
|
||||
extern const char *Txt_Save_changes;
|
||||
struct Game Game;
|
||||
bool ItsANewGame;
|
||||
char Txt[Cns_MAX_BYTES_TEXT + 1];
|
||||
|
@ -1873,7 +1873,7 @@ void Gam_RequestCreatOrEditGame (void)
|
|||
if (ItsANewGame)
|
||||
Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_game);
|
||||
else
|
||||
Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save);
|
||||
Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save_changes);
|
||||
|
||||
/***** End form *****/
|
||||
Frm_EndForm ();
|
||||
|
|
|
@ -2044,7 +2044,7 @@ int Inf_WritePlainTextIntoHTMLBuffer (char **HTMLBuffer)
|
|||
void Inf_EditPlainTxtInfo (void)
|
||||
{
|
||||
extern const char *Txt_INFO_TITLE[Inf_NUM_INFO_TYPES];
|
||||
extern const char *Txt_Save;
|
||||
extern const char *Txt_Save_changes;
|
||||
char TxtHTML[Cns_MAX_BYTES_LONG_TEXT + 1];
|
||||
const char *HelpEdit[Inf_NUM_INFO_TYPES] =
|
||||
{
|
||||
|
@ -2084,7 +2084,7 @@ void Inf_EditPlainTxtInfo (void)
|
|||
TxtHTML);
|
||||
|
||||
/***** Send button and end box *****/
|
||||
Box_EndBoxWithButton (Btn_CONFIRM_BUTTON,Txt_Save);
|
||||
Box_EndBoxWithButton (Btn_CONFIRM_BUTTON,Txt_Save_changes);
|
||||
Frm_EndForm ();
|
||||
}
|
||||
|
||||
|
@ -2095,7 +2095,7 @@ void Inf_EditPlainTxtInfo (void)
|
|||
void Inf_EditRichTxtInfo (void)
|
||||
{
|
||||
extern const char *Txt_INFO_TITLE[Inf_NUM_INFO_TYPES];
|
||||
extern const char *Txt_Save;
|
||||
extern const char *Txt_Save_changes;
|
||||
char TxtHTML[Cns_MAX_BYTES_LONG_TEXT + 1];
|
||||
const char *HelpEdit[Inf_NUM_INFO_TYPES] =
|
||||
{
|
||||
|
@ -2135,7 +2135,7 @@ void Inf_EditRichTxtInfo (void)
|
|||
TxtHTML);
|
||||
|
||||
/***** Send button and end box *****/
|
||||
Box_EndBoxWithButton (Btn_CONFIRM_BUTTON,Txt_Save);
|
||||
Box_EndBoxWithButton (Btn_CONFIRM_BUTTON,Txt_Save_changes);
|
||||
Frm_EndForm ();
|
||||
}
|
||||
|
||||
|
|
|
@ -1207,7 +1207,7 @@ static void Mai_ShowFormChangeUsrEmail (const struct UsrData *UsrDat,bool ItsMe,
|
|||
extern const char *Txt_New_email;
|
||||
extern const char *Txt_Email;
|
||||
extern const char *Txt_Change_email;
|
||||
extern const char *Txt_Save;
|
||||
extern const char *Txt_Save_changes;
|
||||
MYSQL_RES *mysql_res;
|
||||
MYSQL_ROW row;
|
||||
unsigned NumEmails;
|
||||
|
@ -1387,7 +1387,7 @@ static void Mai_ShowFormChangeUsrEmail (const struct UsrData *UsrDat,bool ItsMe,
|
|||
Cns_MAX_CHARS_EMAIL_ADDRESS,
|
||||
Gbl.Usrs.Me.UsrDat.Email);
|
||||
Btn_PutCreateButtonInline (NumEmails ? Txt_Change_email : // User already has an email address
|
||||
Txt_Save); // User has no email address yet
|
||||
Txt_Save_changes); // User has no email address yet
|
||||
Frm_EndForm ();
|
||||
fprintf (Gbl.F.Out,"</td>"
|
||||
"</tr>");
|
||||
|
|
|
@ -224,7 +224,7 @@ static void Nck_ShowFormChangeUsrNickname (const struct UsrData *UsrDat,bool Its
|
|||
extern const char *Txt_Use_this_nickname;
|
||||
extern const char *Txt_New_nickname;
|
||||
extern const char *Txt_Change_nickname;
|
||||
extern const char *Txt_Save;
|
||||
extern const char *Txt_Save_changes;
|
||||
MYSQL_RES *mysql_res;
|
||||
MYSQL_ROW row;
|
||||
char StrRecordWidth[10 + 1];
|
||||
|
@ -402,7 +402,7 @@ static void Nck_ShowFormChangeUsrNickname (const struct UsrData *UsrDat,bool Its
|
|||
1 + Nck_MAX_CHARS_NICKNAME_WITHOUT_ARROBA,
|
||||
Gbl.Usrs.Me.UsrDat.Nickname);
|
||||
Btn_PutCreateButtonInline (NumNicks ? Txt_Change_nickname : // I already have a nickname
|
||||
Txt_Save); // I have no nickname yet);
|
||||
Txt_Save_changes); // I have no nickname yet);
|
||||
Frm_EndForm ();
|
||||
fprintf (Gbl.F.Out,"</td>"
|
||||
"</tr>");
|
||||
|
|
|
@ -2916,7 +2916,7 @@ static void Prj_PutFormProject (struct Project *Prj,bool ItsANewProject)
|
|||
extern const char *Txt_No;
|
||||
extern const char *Txt_Yes;
|
||||
extern const char *Txt_Create_project;
|
||||
extern const char *Txt_Save;
|
||||
extern const char *Txt_Save_changes;
|
||||
extern const char *Txt_Members;
|
||||
Prj_Proposal_t Proposal;
|
||||
unsigned NumRoleToShow;
|
||||
|
@ -3083,7 +3083,7 @@ static void Prj_PutFormProject (struct Project *Prj,bool ItsANewProject)
|
|||
if (ItsANewProject)
|
||||
Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_project);
|
||||
else
|
||||
Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save);
|
||||
Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save_changes);
|
||||
|
||||
/* End data form */
|
||||
Frm_EndForm ();
|
||||
|
|
|
@ -1680,7 +1680,7 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
|
|||
extern const char *Hlp_USERS_Students_course_record_card;
|
||||
extern const char *The_ClassForm[The_NUM_THEMES];
|
||||
extern const char *Txt_RECORD_FIELD_VISIBILITY_RECORD[Rec_NUM_TYPES_VISIBILITY];
|
||||
extern const char *Txt_Save;
|
||||
extern const char *Txt_Save_changes;
|
||||
const char *Rec_RecordHelp[Rec_COURSE_NUM_VIEW_TYPES] =
|
||||
{
|
||||
Hlp_USERS_Students_course_record_card, // Rec_CRS_MY_RECORD_AS_STUDENT_FORM
|
||||
|
@ -1877,7 +1877,7 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
|
|||
if (ICanEdit)
|
||||
{
|
||||
/* End table, send button and end box */
|
||||
Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save);
|
||||
Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save_changes);
|
||||
|
||||
/* End form */
|
||||
Frm_EndForm ();
|
||||
|
|
|
@ -1782,7 +1782,7 @@ void Svy_RequestCreatOrEditSvy (void)
|
|||
extern const char *Txt_Description;
|
||||
extern const char *Txt_Users;
|
||||
extern const char *Txt_Create_survey;
|
||||
extern const char *Txt_Save;
|
||||
extern const char *Txt_Save_changes;
|
||||
struct Survey Svy;
|
||||
struct SurveyQuestion SvyQst;
|
||||
bool ItsANewSurvey;
|
||||
|
@ -1922,7 +1922,7 @@ void Svy_RequestCreatOrEditSvy (void)
|
|||
if (ItsANewSurvey)
|
||||
Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_survey);
|
||||
else
|
||||
Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save);
|
||||
Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save_changes);
|
||||
|
||||
/***** End form *****/
|
||||
Frm_EndForm ();
|
||||
|
@ -2602,7 +2602,7 @@ static void Svy_ShowFormEditOneQst (long SvyCod,struct SurveyQuestion *SvyQst,
|
|||
extern const char *Txt_Stem;
|
||||
extern const char *Txt_Type;
|
||||
extern const char *Txt_SURVEY_STR_ANSWER_TYPES[Svy_NUM_ANS_TYPES];
|
||||
extern const char *Txt_Save;
|
||||
extern const char *Txt_Save_changes;
|
||||
extern const char *Txt_Create_question;
|
||||
MYSQL_RES *mysql_res;
|
||||
MYSQL_ROW row;
|
||||
|
@ -2763,7 +2763,7 @@ static void Svy_ShowFormEditOneQst (long SvyCod,struct SurveyQuestion *SvyQst,
|
|||
|
||||
/***** Send button *****/
|
||||
if (SvyQst->QstCod > 0) // If the question already has assigned a code
|
||||
Btn_PutConfirmButton (Txt_Save);
|
||||
Btn_PutConfirmButton (Txt_Save_changes);
|
||||
else
|
||||
Btn_PutCreateButton (Txt_Create_question);
|
||||
|
||||
|
|
|
@ -1901,7 +1901,7 @@ static void Tst_ShowFormConfigTst (void)
|
|||
extern const char *Txt_Minimum_time_seconds_per_question_between_two_tests;
|
||||
extern const char *Txt_Feedback_to_students;
|
||||
extern const char *Txt_TST_STR_FEEDBACK[Tst_NUM_TYPES_FEEDBACK];
|
||||
extern const char *Txt_Save;
|
||||
extern const char *Txt_Save_changes;
|
||||
Tst_Pluggable_t Pluggable;
|
||||
Tst_Feedback_t Feedback;
|
||||
|
||||
|
@ -2004,7 +2004,7 @@ static void Tst_ShowFormConfigTst (void)
|
|||
Tbl_EndTable ();
|
||||
|
||||
/***** Send button *****/
|
||||
Btn_PutConfirmButton (Txt_Save);
|
||||
Btn_PutConfirmButton (Txt_Save_changes);
|
||||
|
||||
/***** End form *****/
|
||||
Frm_EndForm ();
|
||||
|
@ -4963,7 +4963,7 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
|
|||
extern const char *Txt_Shuffle;
|
||||
extern const char *Txt_Expand;
|
||||
extern const char *Txt_Contract;
|
||||
extern const char *Txt_Save;
|
||||
extern const char *Txt_Save_changes;
|
||||
extern const char *Txt_Create_question;
|
||||
MYSQL_RES *mysql_res;
|
||||
MYSQL_ROW row;
|
||||
|
@ -5333,7 +5333,7 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
|
|||
|
||||
/***** Send button *****/
|
||||
if (Gbl.Test.QstCod > 0) // The question already has assigned a code
|
||||
Btn_PutConfirmButton (Txt_Save);
|
||||
Btn_PutConfirmButton (Txt_Save_changes);
|
||||
else
|
||||
Btn_PutCreateButton (Txt_Create_question);
|
||||
|
||||
|
|
134
swad_text.c
134
swad_text.c
|
@ -2083,50 +2083,7 @@ const char *Txt_Assignment =
|
|||
#elif L==9 // pt
|
||||
"Atividade";
|
||||
#endif
|
||||
/*
|
||||
const char *Txt_ASSIGNMENT_TYPES[Asg_NUM_TYPES_SEND_WORK] =
|
||||
{
|
||||
#if L==1 // ca
|
||||
"No cal enviar treballs (fitxers)"
|
||||
#elif L==2 // de
|
||||
"Keine Hausarbeiten vorgesehen (Dateien)"
|
||||
#elif L==3 // en
|
||||
"No homework to be submitted (files)"
|
||||
#elif L==4 // es
|
||||
"No hay que enviar trabajos (archivos)"
|
||||
#elif L==5 // fr
|
||||
"Ne soumettez pas de travail (fichiers)"
|
||||
#elif L==6 // gn
|
||||
"No hay que enviar trabajos (archivos)" // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Non ci sono lavori da presentare (files)"
|
||||
#elif L==8 // pl
|
||||
"Nie ma pracy domowej, które nalezy przedlozyc (pliki)"
|
||||
#elif L==9 // pt
|
||||
"Não submeter trabalhos (arquivos)"
|
||||
#endif
|
||||
,
|
||||
#if L==1 // ca
|
||||
"Es obligatori enviar treballs (fitxers)"
|
||||
#elif L==2 // de
|
||||
"Hausarbeiten vorgesehen (files)"
|
||||
#elif L==3 // en
|
||||
"It is mandatory to submit homework (files)"
|
||||
#elif L==4 // es
|
||||
"Es obligatorio enviar trabajos (archivos)"
|
||||
#elif L==5 // fr
|
||||
"Il est obligatoire de soumetter le travail (fichiers)"
|
||||
#elif L==6 // gn
|
||||
"Es obligatorio enviar trabajos (archivos)"// Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"E' obbligatorio presentare il lavoro (files)"
|
||||
#elif L==8 // pl
|
||||
"Jest to obowiazkowe do przedstawienia prac domowych (pliki)"
|
||||
#elif L==9 // pt
|
||||
"É obrigatória a apresentação de trabalhos (arquivos)"
|
||||
#endif
|
||||
};
|
||||
*/
|
||||
|
||||
const char *Txt_Assignment_X_is_now_hidden = // Warning: it is very important to include %s in the following sentences
|
||||
#if L==1 // ca
|
||||
"La activitat <strong>%s</strong> ara està oculta.";
|
||||
|
@ -10379,28 +10336,7 @@ const char *Txt_Email_X_removed = // Warning: it is very important to include %s
|
|||
#elif L==9 // pt
|
||||
"Email <strong>%s</strong> removido.";
|
||||
#endif
|
||||
/*
|
||||
const char *Txt_Email_unconfirmed =
|
||||
#if L==1 // ca
|
||||
"Correo no confirmado"; // Necessita traduccio
|
||||
#elif L==2 // de
|
||||
"Email unconfirmed"; // Need Übersetzung
|
||||
#elif L==3 // en
|
||||
"Email unconfirmed";
|
||||
#elif L==4 // es
|
||||
"Correo no confirmado";
|
||||
#elif L==5 // fr
|
||||
"Email unconfirmed"; // Besoin de traduction
|
||||
#elif L==6 // gn
|
||||
"Correo no confirmado"; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"Email unconfirmed"; // Bisogno di traduzione
|
||||
#elif L==8 // pl
|
||||
"Email unconfirmed"; // Potrzebujesz tlumaczenie
|
||||
#elif L==9 // pt
|
||||
"Email não confirmado";
|
||||
#endif
|
||||
*/
|
||||
|
||||
const char *Txt_End_date =
|
||||
#if L==1 // ca
|
||||
"Data final";
|
||||
|
@ -37011,27 +36947,6 @@ const char *Txt_ROOT_FOLDER_EXTERNAL_NAMES[Brw_NUM_TYPES_FILE_BROWSER] =
|
|||
#endif
|
||||
};
|
||||
|
||||
const char *Txt_Save =
|
||||
#if L==1 // ca
|
||||
"Guardar";
|
||||
#elif L==2 // de
|
||||
"Speichern";
|
||||
#elif L==3 // en
|
||||
"Save";
|
||||
#elif L==4 // es
|
||||
"Guardar";
|
||||
#elif L==5 // fr
|
||||
"Enregistrer";
|
||||
#elif L==6 // gn
|
||||
"Ñongatu";
|
||||
#elif L==7 // it
|
||||
"Salvare";
|
||||
#elif L==8 // pl
|
||||
"Zapisać";
|
||||
#elif L==9 // pt
|
||||
"Salvar";
|
||||
#endif
|
||||
|
||||
const char *Txt_Save_as =
|
||||
#if L==1 // ca
|
||||
"Guardar com";
|
||||
|
@ -42296,28 +42211,6 @@ const char *Txt_TABS_TXT[Tab_NUM_TABS] =
|
|||
"Mensagens"
|
||||
#endif
|
||||
,
|
||||
// TabAna
|
||||
/*
|
||||
#if L==1 // ca
|
||||
"Estadístiques"
|
||||
#elif L==2 // de
|
||||
"Statistik"
|
||||
#elif L==3 // en
|
||||
"Statistics"
|
||||
#elif L==4 // es
|
||||
"Estadísticas"
|
||||
#elif L==5 // fr
|
||||
"Statistiques"
|
||||
#elif L==6 // gn
|
||||
"Papy'aporeko"
|
||||
#elif L==7 // it
|
||||
"Statistiche"
|
||||
#elif L==8 // pl
|
||||
"Statystyki"
|
||||
#elif L==9 // pt
|
||||
"Estatísticas"
|
||||
#endif
|
||||
*/
|
||||
#if L==1 // ca
|
||||
"Anàlisi"
|
||||
#elif L==2 // de
|
||||
|
@ -46893,28 +46786,7 @@ const char *Txt_The_search_text_must_be_longer =
|
|||
#elif L==9 // pt
|
||||
"O texto de pesquisa deve ser mais longo.";
|
||||
#endif
|
||||
/*
|
||||
const char *Txt_The_session_has_been_closed = // Closed by user
|
||||
#if L==1 // ca
|
||||
"La sessió ha finalitzat.";
|
||||
#elif L==2 // de
|
||||
"Die Sitzung wurde beendet.";
|
||||
#elif L==3 // en
|
||||
"The session has been closed.";
|
||||
#elif L==4 // es
|
||||
"La sesión ha finalizado.";
|
||||
#elif L==5 // fr
|
||||
"La session a été fermée.";
|
||||
#elif L==6 // gn
|
||||
"La sesión ha finalizado."; // Okoteve traducción
|
||||
#elif L==7 // it
|
||||
"La sessione è stata chiusa.";
|
||||
#elif L==8 // pl
|
||||
"Sesja wygasła.";
|
||||
#elif L==9 // pt
|
||||
"A sessão foi encerrada.";
|
||||
#endif
|
||||
*/
|
||||
|
||||
const char *Txt_The_session_has_expired =
|
||||
#if L==1 // ca
|
||||
"La sessió ha expirat.";
|
||||
|
|
Loading…
Reference in New Issue
Block a user