Version 18.49.2

This commit is contained in:
Antonio Cañas Vargas 2019-02-18 18:27:45 +01:00
parent 0a9f354212
commit 64513f64f2
15 changed files with 79 additions and 199 deletions

View File

@ -465,14 +465,14 @@ void Acc_ShowFormChgMyAccount (void)
/***** Start container for this user *****/ /***** Start container for this user *****/
fprintf (Gbl.F.Out,"<div class=\"REC_USR\">"); 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\">"); fprintf (Gbl.F.Out,"<div class=\"REC_LEFT\">");
Pwd_ShowFormChgMyPwd (); Pwd_ShowFormChgMyPwd ();
Nck_ShowFormChangeMyNickname (IMustCreateMyNicknameNow);
fprintf (Gbl.F.Out,"</div>"); 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\">"); fprintf (Gbl.F.Out,"<div class=\"REC_RIGHT\">");
Nck_ShowFormChangeMyNickname (IMustCreateMyNicknameNow);
Mai_ShowFormChangeMyEmail (IMustFillInMyEmailNow,IShouldConfirmMyEmailNow); Mai_ShowFormChangeMyEmail (IMustFillInMyEmailNow,IShouldConfirmMyEmailNow);
ID_ShowFormChangeMyID (IShouldFillInMyIDNow); ID_ShowFormChangeMyID (IShouldFillInMyIDNow);
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
@ -504,16 +504,16 @@ void Acc_ShowFormChgOtherUsrAccount (void)
/***** Start container for this user *****/ /***** Start container for this user *****/
fprintf (Gbl.F.Out,"<div class=\"REC_USR\">"); 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\">"); fprintf (Gbl.F.Out,"<div class=\"REC_LEFT\">");
Pwd_ShowFormChgOtherUsrPwd ();
Nck_ShowFormChangeOtherUsrNickname (); Nck_ShowFormChangeOtherUsrNickname ();
Mai_ShowFormChangeOtherUsrEmail ();
fprintf (Gbl.F.Out,"</div>"); 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\">"); fprintf (Gbl.F.Out,"<div class=\"REC_RIGHT\">");
Mai_ShowFormChangeOtherUsrEmail ();
ID_ShowFormChangeOtherUsrID (); ID_ShowFormChangeOtherUsrID ();
Pwd_ShowFormChgOtherUsrPwd ();
fprintf (Gbl.F.Out,"</div>"); fprintf (Gbl.F.Out,"</div>");
/***** Start container for this user *****/ /***** Start container for this user *****/

View File

@ -5129,19 +5129,19 @@ void Act_AdjustCurrentAction (void)
Gbl.Action.Act == ActLogInLan || Gbl.Action.Act == ActLogInLan ||
Gbl.Action.Act == ActAnnSee; 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 /***** Don't adjust anything when current action is not a menu option
(except some actions just after login) *****/ (except some actions just after login) *****/
if (!JustAfterLogin && // Not just after login if (!JustAfterLogin && // Not just after login
Gbl.Action.Act != Act_GetSuperAction (Gbl.Action.Act)) // It is not a menu option Gbl.Action.Act != Act_GetSuperAction (Gbl.Action.Act)) // It is not a menu option
return; return;
/***** Don't adjust anything when:
- refreshing users
- web service *****/
if (Gbl.Action.UsesAJAX ||
Gbl.WebService.IsWebService)
return;
/***** Adjustment 1: /***** Adjustment 1:
------------- -------------
If I have no password in database, If I have no password in database,
@ -5257,23 +5257,19 @@ void Act_AdjustCurrentAction (void)
switch (Gbl.Usrs.Me.Role.Logged) switch (Gbl.Usrs.Me.Role.Logged)
{ {
case Rol_STD: case Rol_STD:
/* Action allowed for students to see/print
the timetable before registering in groups */
if (Gbl.Action.Act == ActSeeCrsTT)
return;
/***** Adjustment 7: /***** Adjustment 7:
------------- -------------
If there are some group types If there are some group types
with available groups in which I must register, with available groups in which I must register,
the only action possible the only action possible
is show a form to register in groups *****/ is show a form to register in groups *****/
if (Grp_GetIfAvailableGrpTyp (-1L)) // This query may be slow 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 (); Gbl.Action.Act = ActReqSelGrp;
return; Tab_SetCurrentTab ();
} return;
}
/***** Adjustment 8: /***** Adjustment 8:
------------- -------------

View File

@ -1451,7 +1451,7 @@ void Agd_RequestCreatOrEditEvent (void)
extern const char *Txt_Event; extern const char *Txt_Event;
extern const char *Txt_Description; extern const char *Txt_Description;
extern const char *Txt_Create_event; extern const char *Txt_Create_event;
extern const char *Txt_Save; extern const char *Txt_Save_changes;
struct AgendaEvent AgdEvent; struct AgendaEvent AgdEvent;
bool ItsANewEvent; bool ItsANewEvent;
char Txt[Cns_MAX_BYTES_TEXT + 1]; char Txt[Cns_MAX_BYTES_TEXT + 1];
@ -1558,7 +1558,7 @@ void Agd_RequestCreatOrEditEvent (void)
if (ItsANewEvent) if (ItsANewEvent)
Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_event); Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_event);
else else
Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save); Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save_changes);
/***** End form *****/ /***** End form *****/
Frm_EndForm (); Frm_EndForm ();

View File

@ -1081,7 +1081,7 @@ void Asg_RequestCreatOrEditAsg (void)
extern const char *Txt_Folder; extern const char *Txt_Folder;
extern const char *Txt_Description; extern const char *Txt_Description;
extern const char *Txt_Create_assignment; extern const char *Txt_Create_assignment;
extern const char *Txt_Save; extern const char *Txt_Save_changes;
struct Assignment Asg; struct Assignment Asg;
bool ItsANewAssignment; bool ItsANewAssignment;
char Txt[Cns_MAX_BYTES_TEXT + 1]; char Txt[Cns_MAX_BYTES_TEXT + 1];
@ -1197,7 +1197,7 @@ void Asg_RequestCreatOrEditAsg (void)
if (ItsANewAssignment) if (ItsANewAssignment)
Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_assignment); Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_assignment);
else else
Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save); Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save_changes);
/***** End form *****/ /***** End form *****/
Frm_EndForm (); Frm_EndForm ();

View File

@ -1042,7 +1042,7 @@ void Att_RequestCreatOrEditAttEvent (void)
extern const char *Txt_Visible_MALE_PLURAL; extern const char *Txt_Visible_MALE_PLURAL;
extern const char *Txt_Description; extern const char *Txt_Description;
extern const char *Txt_Create_event; extern const char *Txt_Create_event;
extern const char *Txt_Save; extern const char *Txt_Save_changes;
struct AttendanceEvent Att; struct AttendanceEvent Att;
bool ItsANewAttEvent; bool ItsANewAttEvent;
char Description[Cns_MAX_BYTES_TEXT + 1]; char Description[Cns_MAX_BYTES_TEXT + 1];
@ -1166,7 +1166,7 @@ void Att_RequestCreatOrEditAttEvent (void)
if (ItsANewAttEvent) if (ItsANewAttEvent)
Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_event); Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_event);
else else
Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save); Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save_changes);
/***** End form *****/ /***** End form *****/
Frm_EndForm (); Frm_EndForm ();
@ -1862,10 +1862,11 @@ void Att_SeeOneAttEvent (void)
static void Att_ListAttOnlyMeAsStudent (struct AttendanceEvent *Att) static void Att_ListAttOnlyMeAsStudent (struct AttendanceEvent *Att)
{ {
extern const char *Hlp_USERS_Attendance; extern const char *Hlp_USERS_Attendance;
extern const char *Txt_Attendance;
extern const char *Txt_Student_comment; extern const char *Txt_Student_comment;
extern const char *Txt_Teachers_comment; extern const char *Txt_Teachers_comment;
extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; 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 *****/ /***** Get my preference about photos in users' list for current course *****/
Usr_GetMyPrefAboutListWithPhotosFromDB (); Usr_GetMyPrefAboutListWithPhotosFromDB ();
@ -1877,10 +1878,15 @@ static void Att_ListAttOnlyMeAsStudent (struct AttendanceEvent *Att)
Att_PutParamAttCod (Att->AttCod); Att_PutParamAttCod (Att->AttCod);
} }
/***** List students' data *****/ /***** List students (only me) *****/
/* Start box and table */ /* Start box */
Box_StartBoxTable (NULL,NULL,NULL, Box_StartBox (NULL,Txt_Attendance,NULL,
Hlp_USERS_Attendance,Box_NOT_CLOSABLE,2); Hlp_USERS_Attendance,Box_NOT_CLOSABLE);
/* Start table */
Tbl_StartTableWideMargin (2);
/* Header */
fprintf (Gbl.F.Out,"<tr>" fprintf (Gbl.F.Out,"<tr>"
"<th></th>" "<th></th>"
"<th></th>" "<th></th>"
@ -1904,15 +1910,18 @@ static void Att_ListAttOnlyMeAsStudent (struct AttendanceEvent *Att)
/* List of students (only me) */ /* List of students (only me) */
Att_WriteRowStdToCallTheRoll (1,&Gbl.Usrs.Me.UsrDat,Att); Att_WriteRowStdToCallTheRoll (1,&Gbl.Usrs.Me.UsrDat,Att);
/* End table and box */ /* End table */
Box_EndBoxTable (); Tbl_EndTable ();
/* Send button */
if (Att->Open) if (Att->Open)
{ {
/***** Send button *****/ Btn_PutConfirmButton (Txt_Save_changes);
Btn_PutConfirmButton (Txt_Save);
Frm_EndForm (); 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_Student_comment;
extern const char *Txt_Teachers_comment; extern const char *Txt_Teachers_comment;
extern const char *Txt_ROLES_SINGUL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS]; 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; unsigned NumStd;
struct UsrData UsrDat; struct UsrData UsrDat;
@ -1955,14 +1964,15 @@ static void Att_ListAttStudents (struct AttendanceEvent *Att)
/***** Initialize structure with user's data *****/ /***** Initialize structure with user's data *****/
Usr_UsrDataConstructor (&UsrDat); Usr_UsrDataConstructor (&UsrDat);
/***** Start form *****/ /* Start form */
Frm_StartForm (ActRecAttStd); Frm_StartForm (ActRecAttStd);
Att_PutParamAttCod (Att->AttCod); Att_PutParamAttCod (Att->AttCod);
Grp_PutParamsCodGrps (); Grp_PutParamsCodGrps ();
/***** List students' data *****/ /* Start table */
Tbl_StartTableWideMargin (2); Tbl_StartTableWideMargin (2);
/* Header */
fprintf (Gbl.F.Out,"<tr>" fprintf (Gbl.F.Out,"<tr>"
"<th></th>" "<th></th>"
"<th></th>" "<th></th>"
@ -1997,10 +2007,11 @@ static void Att_ListAttStudents (struct AttendanceEvent *Att)
Att_WriteRowStdToCallTheRoll (NumStd + 1,&UsrDat,Att); Att_WriteRowStdToCallTheRoll (NumStd + 1,&UsrDat,Att);
} }
/* End table */
Tbl_EndTable (); Tbl_EndTable ();
/* Send button */ /* Send button */
Btn_PutConfirmButton (Txt_Save); Btn_PutConfirmButton (Txt_Save_changes);
/***** End form *****/ /***** End form *****/
Frm_EndForm (); Frm_EndForm ();

View File

@ -382,7 +382,6 @@ OPTIMIZE TABLE debug;
*/ */
// TODO: Editar todas mis webs al mismo tiempo poniendo al final un botón "Guardar cambios" // 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 *****************************/ /****************************** Public constants *****************************/
@ -403,10 +402,12 @@ En OpenSWAD:
ps2pdf source.ps destination.pdf 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 CSS_FILE "swad18.41.1.css"
#define JS_FILE "swad18.32.1.js" #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.1: Feb 18, 2019 Optimization in query about available mandatory group types. (237381 lines)
Version 18.49: Feb 18, 2019 Optimizations adjusting actions. Version 18.49: Feb 18, 2019 Optimizations adjusting actions.
Fixed bug in query about available mandatory group types. (237378 lines) Fixed bug in query about available mandatory group types. (237378 lines)

View File

@ -1737,7 +1737,7 @@ void Gam_RequestCreatOrEditGame (void)
extern const char *Txt_Description; extern const char *Txt_Description;
extern const char *Txt_Users; extern const char *Txt_Users;
extern const char *Txt_Create_game; extern const char *Txt_Create_game;
extern const char *Txt_Save; extern const char *Txt_Save_changes;
struct Game Game; struct Game Game;
bool ItsANewGame; bool ItsANewGame;
char Txt[Cns_MAX_BYTES_TEXT + 1]; char Txt[Cns_MAX_BYTES_TEXT + 1];
@ -1873,7 +1873,7 @@ void Gam_RequestCreatOrEditGame (void)
if (ItsANewGame) if (ItsANewGame)
Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_game); Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_game);
else else
Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save); Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save_changes);
/***** End form *****/ /***** End form *****/
Frm_EndForm (); Frm_EndForm ();

View File

@ -2044,7 +2044,7 @@ int Inf_WritePlainTextIntoHTMLBuffer (char **HTMLBuffer)
void Inf_EditPlainTxtInfo (void) void Inf_EditPlainTxtInfo (void)
{ {
extern const char *Txt_INFO_TITLE[Inf_NUM_INFO_TYPES]; 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]; char TxtHTML[Cns_MAX_BYTES_LONG_TEXT + 1];
const char *HelpEdit[Inf_NUM_INFO_TYPES] = const char *HelpEdit[Inf_NUM_INFO_TYPES] =
{ {
@ -2084,7 +2084,7 @@ void Inf_EditPlainTxtInfo (void)
TxtHTML); TxtHTML);
/***** Send button and end box *****/ /***** Send button and end box *****/
Box_EndBoxWithButton (Btn_CONFIRM_BUTTON,Txt_Save); Box_EndBoxWithButton (Btn_CONFIRM_BUTTON,Txt_Save_changes);
Frm_EndForm (); Frm_EndForm ();
} }
@ -2095,7 +2095,7 @@ void Inf_EditPlainTxtInfo (void)
void Inf_EditRichTxtInfo (void) void Inf_EditRichTxtInfo (void)
{ {
extern const char *Txt_INFO_TITLE[Inf_NUM_INFO_TYPES]; 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]; char TxtHTML[Cns_MAX_BYTES_LONG_TEXT + 1];
const char *HelpEdit[Inf_NUM_INFO_TYPES] = const char *HelpEdit[Inf_NUM_INFO_TYPES] =
{ {
@ -2135,7 +2135,7 @@ void Inf_EditRichTxtInfo (void)
TxtHTML); TxtHTML);
/***** Send button and end box *****/ /***** Send button and end box *****/
Box_EndBoxWithButton (Btn_CONFIRM_BUTTON,Txt_Save); Box_EndBoxWithButton (Btn_CONFIRM_BUTTON,Txt_Save_changes);
Frm_EndForm (); Frm_EndForm ();
} }

View File

@ -1207,7 +1207,7 @@ static void Mai_ShowFormChangeUsrEmail (const struct UsrData *UsrDat,bool ItsMe,
extern const char *Txt_New_email; extern const char *Txt_New_email;
extern const char *Txt_Email; extern const char *Txt_Email;
extern const char *Txt_Change_email; extern const char *Txt_Change_email;
extern const char *Txt_Save; extern const char *Txt_Save_changes;
MYSQL_RES *mysql_res; MYSQL_RES *mysql_res;
MYSQL_ROW row; MYSQL_ROW row;
unsigned NumEmails; unsigned NumEmails;
@ -1387,7 +1387,7 @@ static void Mai_ShowFormChangeUsrEmail (const struct UsrData *UsrDat,bool ItsMe,
Cns_MAX_CHARS_EMAIL_ADDRESS, Cns_MAX_CHARS_EMAIL_ADDRESS,
Gbl.Usrs.Me.UsrDat.Email); Gbl.Usrs.Me.UsrDat.Email);
Btn_PutCreateButtonInline (NumEmails ? Txt_Change_email : // User already has an email address 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 (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>"
"</tr>"); "</tr>");

View File

@ -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_Use_this_nickname;
extern const char *Txt_New_nickname; extern const char *Txt_New_nickname;
extern const char *Txt_Change_nickname; extern const char *Txt_Change_nickname;
extern const char *Txt_Save; extern const char *Txt_Save_changes;
MYSQL_RES *mysql_res; MYSQL_RES *mysql_res;
MYSQL_ROW row; MYSQL_ROW row;
char StrRecordWidth[10 + 1]; 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, 1 + Nck_MAX_CHARS_NICKNAME_WITHOUT_ARROBA,
Gbl.Usrs.Me.UsrDat.Nickname); Gbl.Usrs.Me.UsrDat.Nickname);
Btn_PutCreateButtonInline (NumNicks ? Txt_Change_nickname : // I already have a 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 (); Frm_EndForm ();
fprintf (Gbl.F.Out,"</td>" fprintf (Gbl.F.Out,"</td>"
"</tr>"); "</tr>");

View File

@ -2916,7 +2916,7 @@ static void Prj_PutFormProject (struct Project *Prj,bool ItsANewProject)
extern const char *Txt_No; extern const char *Txt_No;
extern const char *Txt_Yes; extern const char *Txt_Yes;
extern const char *Txt_Create_project; extern const char *Txt_Create_project;
extern const char *Txt_Save; extern const char *Txt_Save_changes;
extern const char *Txt_Members; extern const char *Txt_Members;
Prj_Proposal_t Proposal; Prj_Proposal_t Proposal;
unsigned NumRoleToShow; unsigned NumRoleToShow;
@ -3083,7 +3083,7 @@ static void Prj_PutFormProject (struct Project *Prj,bool ItsANewProject)
if (ItsANewProject) if (ItsANewProject)
Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_project); Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_project);
else else
Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save); Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save_changes);
/* End data form */ /* End data form */
Frm_EndForm (); Frm_EndForm ();

View File

@ -1680,7 +1680,7 @@ static void Rec_ShowCrsRecord (Rec_CourseRecordViewType_t TypeOfView,
extern const char *Hlp_USERS_Students_course_record_card; extern const char *Hlp_USERS_Students_course_record_card;
extern const char *The_ClassForm[The_NUM_THEMES]; extern const char *The_ClassForm[The_NUM_THEMES];
extern const char *Txt_RECORD_FIELD_VISIBILITY_RECORD[Rec_NUM_TYPES_VISIBILITY]; 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] = const char *Rec_RecordHelp[Rec_COURSE_NUM_VIEW_TYPES] =
{ {
Hlp_USERS_Students_course_record_card, // Rec_CRS_MY_RECORD_AS_STUDENT_FORM 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) if (ICanEdit)
{ {
/* End table, send button and end box */ /* End table, send button and end box */
Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save); Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save_changes);
/* End form */ /* End form */
Frm_EndForm (); Frm_EndForm ();

View File

@ -1782,7 +1782,7 @@ void Svy_RequestCreatOrEditSvy (void)
extern const char *Txt_Description; extern const char *Txt_Description;
extern const char *Txt_Users; extern const char *Txt_Users;
extern const char *Txt_Create_survey; extern const char *Txt_Create_survey;
extern const char *Txt_Save; extern const char *Txt_Save_changes;
struct Survey Svy; struct Survey Svy;
struct SurveyQuestion SvyQst; struct SurveyQuestion SvyQst;
bool ItsANewSurvey; bool ItsANewSurvey;
@ -1922,7 +1922,7 @@ void Svy_RequestCreatOrEditSvy (void)
if (ItsANewSurvey) if (ItsANewSurvey)
Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_survey); Box_EndBoxTableWithButton (Btn_CREATE_BUTTON,Txt_Create_survey);
else else
Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save); Box_EndBoxTableWithButton (Btn_CONFIRM_BUTTON,Txt_Save_changes);
/***** End form *****/ /***** End form *****/
Frm_EndForm (); Frm_EndForm ();
@ -2602,7 +2602,7 @@ static void Svy_ShowFormEditOneQst (long SvyCod,struct SurveyQuestion *SvyQst,
extern const char *Txt_Stem; extern const char *Txt_Stem;
extern const char *Txt_Type; extern const char *Txt_Type;
extern const char *Txt_SURVEY_STR_ANSWER_TYPES[Svy_NUM_ANS_TYPES]; 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; extern const char *Txt_Create_question;
MYSQL_RES *mysql_res; MYSQL_RES *mysql_res;
MYSQL_ROW row; MYSQL_ROW row;
@ -2763,7 +2763,7 @@ static void Svy_ShowFormEditOneQst (long SvyCod,struct SurveyQuestion *SvyQst,
/***** Send button *****/ /***** Send button *****/
if (SvyQst->QstCod > 0) // If the question already has assigned a code if (SvyQst->QstCod > 0) // If the question already has assigned a code
Btn_PutConfirmButton (Txt_Save); Btn_PutConfirmButton (Txt_Save_changes);
else else
Btn_PutCreateButton (Txt_Create_question); Btn_PutCreateButton (Txt_Create_question);

View File

@ -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_Minimum_time_seconds_per_question_between_two_tests;
extern const char *Txt_Feedback_to_students; extern const char *Txt_Feedback_to_students;
extern const char *Txt_TST_STR_FEEDBACK[Tst_NUM_TYPES_FEEDBACK]; 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_Pluggable_t Pluggable;
Tst_Feedback_t Feedback; Tst_Feedback_t Feedback;
@ -2004,7 +2004,7 @@ static void Tst_ShowFormConfigTst (void)
Tbl_EndTable (); Tbl_EndTable ();
/***** Send button *****/ /***** Send button *****/
Btn_PutConfirmButton (Txt_Save); Btn_PutConfirmButton (Txt_Save_changes);
/***** End form *****/ /***** End form *****/
Frm_EndForm (); 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_Shuffle;
extern const char *Txt_Expand; extern const char *Txt_Expand;
extern const char *Txt_Contract; extern const char *Txt_Contract;
extern const char *Txt_Save; extern const char *Txt_Save_changes;
extern const char *Txt_Create_question; extern const char *Txt_Create_question;
MYSQL_RES *mysql_res; MYSQL_RES *mysql_res;
MYSQL_ROW row; MYSQL_ROW row;
@ -5333,7 +5333,7 @@ static void Tst_PutFormEditOneQst (char Stem[Cns_MAX_BYTES_TEXT + 1],
/***** Send button *****/ /***** Send button *****/
if (Gbl.Test.QstCod > 0) // The question already has assigned a code if (Gbl.Test.QstCod > 0) // The question already has assigned a code
Btn_PutConfirmButton (Txt_Save); Btn_PutConfirmButton (Txt_Save_changes);
else else
Btn_PutCreateButton (Txt_Create_question); Btn_PutCreateButton (Txt_Create_question);

View File

@ -2083,50 +2083,7 @@ const char *Txt_Assignment =
#elif L==9 // pt #elif L==9 // pt
"Atividade"; "Atividade";
#endif #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&oacute;re nalezy przedlozyc (pliki)"
#elif L==9 // pt
"N&atilde;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
"&Eacute; obrigat&oacute;ria a apresenta&ccedil;&atilde;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 const char *Txt_Assignment_X_is_now_hidden = // Warning: it is very important to include %s in the following sentences
#if L==1 // ca #if L==1 // ca
"La activitat <strong>%s</strong> ara est&agrave; oculta."; "La activitat <strong>%s</strong> ara est&agrave; oculta.";
@ -10379,28 +10336,7 @@ const char *Txt_Email_X_removed = // Warning: it is very important to include %s
#elif L==9 // pt #elif L==9 // pt
"Email <strong>%s</strong> removido."; "Email <strong>%s</strong> removido.";
#endif #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&atilde;o confirmado";
#endif
*/
const char *Txt_End_date = const char *Txt_End_date =
#if L==1 // ca #if L==1 // ca
"Data final"; "Data final";
@ -37011,27 +36947,6 @@ const char *Txt_ROOT_FOLDER_EXTERNAL_NAMES[Brw_NUM_TYPES_FILE_BROWSER] =
#endif #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
"&Ntilde;ongatu";
#elif L==7 // it
"Salvare";
#elif L==8 // pl
"Zapisa&cacute;";
#elif L==9 // pt
"Salvar";
#endif
const char *Txt_Save_as = const char *Txt_Save_as =
#if L==1 // ca #if L==1 // ca
"Guardar com"; "Guardar com";
@ -42296,28 +42211,6 @@ const char *Txt_TABS_TXT[Tab_NUM_TABS] =
"Mensagens" "Mensagens"
#endif #endif
, ,
// TabAna
/*
#if L==1 // ca
"Estad&iacute;stiques"
#elif L==2 // de
"Statistik"
#elif L==3 // en
"Statistics"
#elif L==4 // es
"Estad&iacute;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&iacute;sticas"
#endif
*/
#if L==1 // ca #if L==1 // ca
"An&agrave;lisi" "An&agrave;lisi"
#elif L==2 // de #elif L==2 // de
@ -46893,28 +46786,7 @@ const char *Txt_The_search_text_must_be_longer =
#elif L==9 // pt #elif L==9 // pt
"O texto de pesquisa deve ser mais longo."; "O texto de pesquisa deve ser mais longo.";
#endif #endif
/*
const char *Txt_The_session_has_been_closed = // Closed by user
#if L==1 // ca
"La sessi&oacute; 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&oacute;n ha finalizado.";
#elif L==5 // fr
"La session a &eacute;t&eacute; ferm&eacute;e.";
#elif L==6 // gn
"La sesi&oacute;n ha finalizado."; // Okoteve traducción
#elif L==7 // it
"La sessione &egrave; stata chiusa.";
#elif L==8 // pl
"Sesja wygas&lstrok;a.";
#elif L==9 // pt
"A sess&atilde;o foi encerrada.";
#endif
*/
const char *Txt_The_session_has_expired = const char *Txt_The_session_has_expired =
#if L==1 // ca #if L==1 // ca
"La sessi&oacute; ha expirat."; "La sessi&oacute; ha expirat.";