mirror of https://github.com/acanas/swad-core.git
Version 16.96
This commit is contained in:
parent
fee40c4ef6
commit
7954f4bd80
|
@ -837,6 +837,7 @@ Assessment:
|
|||
686. ActEdiExaAnn Edit an exam announcement
|
||||
687. ActRcvExaAnn Receive an exam announcement
|
||||
688. ActPrnExaAnn Show an exam announcement ready to be printed
|
||||
NEW. ActReqRemExaAnn Request the removal of an exam announcement
|
||||
689. ActRemExaAnn Remove an exam announcement
|
||||
|
||||
690. ActChgToSeeMrk Change to see marks in course/group
|
||||
|
@ -2127,7 +2128,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
|||
/* ActEdiOneAsg */{ 814,-1,TabUnk,ActSeeAsg ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_RequestCreatOrEditAsg ,NULL},
|
||||
/* ActNewAsg */{ 803,-1,TabUnk,ActSeeAsg ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_RecFormAssignment ,NULL},
|
||||
/* ActChgAsg */{ 815,-1,TabUnk,ActSeeAsg ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_RecFormAssignment ,NULL},
|
||||
/* ActReqRemAsg */{ 813,-1,TabUnk,ActSeeAsg ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_AskRemAssignment ,NULL},
|
||||
/* ActReqRemAsg */{ 813,-1,TabUnk,ActSeeAsg ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_ReqRemAssignment ,NULL},
|
||||
/* ActRemAsg */{ 806,-1,TabUnk,ActSeeAsg ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_RemoveAssignment ,NULL},
|
||||
/* ActHidAsg */{ 964,-1,TabUnk,ActSeeAsg ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_HideAssignment ,NULL},
|
||||
/* ActShoAsg */{ 965,-1,TabUnk,ActSeeAsg ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Asg_ShowAssignment ,NULL},
|
||||
|
@ -2244,6 +2245,7 @@ struct Act_Actions Act_Actions[Act_NUM_ACTIONS] =
|
|||
/* ActEdiExaAnn */{ 91,-1,TabUnk,ActSeeAllExaAnn ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Exa_PutFrmEditAExamAnnouncement,NULL},
|
||||
/* ActRcvExaAnn */{ 110,-1,TabUnk,ActSeeAllExaAnn ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Exa_ReceiveExamAnnouncement ,NULL},
|
||||
/* ActPrnExaAnn */{ 179,-1,TabUnk,ActSeeAllExaAnn ,0x1FF,0x1FF,0x000,Act_CONT_NORM,Act_BLNK_WINDOW,NULL ,Exa_PrintExamAnnouncement ,NULL},
|
||||
/* ActReqRemExaAnn */{1619,-1,TabUnk,ActSeeAllExaAnn ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Exa_ReqRemoveExamAnnouncement ,NULL},
|
||||
/* ActRemExaAnn */{ 187,-1,TabUnk,ActSeeAllExaAnn ,0x110,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Exa_RemoveExamAnnouncement ,NULL},
|
||||
|
||||
/* ActChgToSeeMrk */{1198,-1,TabUnk,ActSeeAdmMrk ,0x118,0x100,0x000,Act_CONT_NORM,Act_THIS_WINDOW,NULL ,Brw_ShowFileBrowserOrWorks ,NULL},
|
||||
|
@ -3982,7 +3984,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
|
|||
ActSeeLstStdAtt, // #1074
|
||||
ActPrnLstStdAtt, // #1075
|
||||
ActRecAttMe, // #1076
|
||||
ActLogInLan, // #1077
|
||||
ActLogInLan, // #1077
|
||||
ActSeeDocCrs, // #1078
|
||||
ActSeeMrkCrs, // #1079
|
||||
ActReqSeeUsrTstRes, // #1080
|
||||
|
@ -4155,7 +4157,6 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
|
|||
ActSeeAdmDocDeg, // #1247
|
||||
ActSeeAdmDocCtr, // #1248
|
||||
ActSeeAdmDocIns, // #1249
|
||||
|
||||
ActChgToSeeDocDeg, // #1250
|
||||
ActSeeDocDeg, // #1251
|
||||
ActExpSeeDocDeg, // #1252
|
||||
|
@ -4185,7 +4186,6 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
|
|||
ActReqDatAdmDocDeg, // #1276
|
||||
ActChgDatAdmDocDeg, // #1277
|
||||
ActDowAdmDocDeg, // #1278
|
||||
|
||||
ActChgToSeeDocCtr, // #1279
|
||||
ActSeeDocCtr, // #1280
|
||||
ActExpSeeDocCtr, // #1281
|
||||
|
@ -4215,7 +4215,6 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
|
|||
ActReqDatAdmDocCtr, // #1305
|
||||
ActChgDatAdmDocCtr, // #1306
|
||||
ActDowAdmDocCtr, // #1307
|
||||
|
||||
ActChgToSeeDocIns, // #1308
|
||||
ActSeeDocIns, // #1309
|
||||
ActExpSeeDocIns, // #1310
|
||||
|
@ -4527,6 +4526,7 @@ Act_Action_t Act_FromActCodToAction[1+Act_MAX_ACTION_COD] = // Do not reuse uniq
|
|||
ActLogInUsrAgdLan, // #1616
|
||||
ActSeeMyPubAgd, // #1617
|
||||
ActPrnAgdQR, // #1618
|
||||
ActReqRemExaAnn, // #1619
|
||||
};
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
119
swad_action.h
119
swad_action.h
|
@ -55,9 +55,9 @@ typedef enum
|
|||
|
||||
typedef int Act_Action_t; // Must be a signed type, because -1 is used to indicate obsolete action
|
||||
|
||||
#define Act_NUM_ACTIONS (1+9+51+14+93+73+70+249+186+159+172+36+31+97)
|
||||
#define Act_NUM_ACTIONS (1+9+51+14+93+73+70+249+187+159+172+36+31+97)
|
||||
|
||||
#define Act_MAX_ACTION_COD 1618
|
||||
#define Act_MAX_ACTION_COD 1619
|
||||
|
||||
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 11
|
||||
|
||||
|
@ -847,69 +847,70 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
|
|||
#define ActEdiExaAnn (ActRcvRchTxtCrsLnk+127)
|
||||
#define ActRcvExaAnn (ActRcvRchTxtCrsLnk+128)
|
||||
#define ActPrnExaAnn (ActRcvRchTxtCrsLnk+129)
|
||||
#define ActRemExaAnn (ActRcvRchTxtCrsLnk+130)
|
||||
#define ActReqRemExaAnn (ActRcvRchTxtCrsLnk+130)
|
||||
#define ActRemExaAnn (ActRcvRchTxtCrsLnk+131)
|
||||
|
||||
#define ActChgToSeeMrk (ActRcvRchTxtCrsLnk+131)
|
||||
#define ActChgToSeeMrk (ActRcvRchTxtCrsLnk+132)
|
||||
|
||||
#define ActSeeMrkCrs (ActRcvRchTxtCrsLnk+132)
|
||||
#define ActExpSeeMrkCrs (ActRcvRchTxtCrsLnk+133)
|
||||
#define ActConSeeMrkCrs (ActRcvRchTxtCrsLnk+134)
|
||||
#define ActReqDatSeeMrkCrs (ActRcvRchTxtCrsLnk+135)
|
||||
#define ActSeeMyMrkCrs (ActRcvRchTxtCrsLnk+136)
|
||||
#define ActSeeMrkCrs (ActRcvRchTxtCrsLnk+133)
|
||||
#define ActExpSeeMrkCrs (ActRcvRchTxtCrsLnk+134)
|
||||
#define ActConSeeMrkCrs (ActRcvRchTxtCrsLnk+135)
|
||||
#define ActReqDatSeeMrkCrs (ActRcvRchTxtCrsLnk+136)
|
||||
#define ActSeeMyMrkCrs (ActRcvRchTxtCrsLnk+137)
|
||||
|
||||
#define ActSeeMrkGrp (ActRcvRchTxtCrsLnk+137)
|
||||
#define ActExpSeeMrkGrp (ActRcvRchTxtCrsLnk+138)
|
||||
#define ActConSeeMrkGrp (ActRcvRchTxtCrsLnk+139)
|
||||
#define ActReqDatSeeMrkGrp (ActRcvRchTxtCrsLnk+140)
|
||||
#define ActSeeMyMrkGrp (ActRcvRchTxtCrsLnk+141)
|
||||
#define ActSeeMrkGrp (ActRcvRchTxtCrsLnk+138)
|
||||
#define ActExpSeeMrkGrp (ActRcvRchTxtCrsLnk+139)
|
||||
#define ActConSeeMrkGrp (ActRcvRchTxtCrsLnk+140)
|
||||
#define ActReqDatSeeMrkGrp (ActRcvRchTxtCrsLnk+141)
|
||||
#define ActSeeMyMrkGrp (ActRcvRchTxtCrsLnk+142)
|
||||
|
||||
#define ActChgToAdmMrk (ActRcvRchTxtCrsLnk+142)
|
||||
#define ActChgToAdmMrk (ActRcvRchTxtCrsLnk+143)
|
||||
|
||||
#define ActAdmMrkCrs (ActRcvRchTxtCrsLnk+143)
|
||||
#define ActReqRemFilMrkCrs (ActRcvRchTxtCrsLnk+144)
|
||||
#define ActRemFilMrkCrs (ActRcvRchTxtCrsLnk+145)
|
||||
#define ActRemFolMrkCrs (ActRcvRchTxtCrsLnk+146)
|
||||
#define ActCopMrkCrs (ActRcvRchTxtCrsLnk+147)
|
||||
#define ActPasMrkCrs (ActRcvRchTxtCrsLnk+148)
|
||||
#define ActRemTreMrkCrs (ActRcvRchTxtCrsLnk+149)
|
||||
#define ActFrmCreMrkCrs (ActRcvRchTxtCrsLnk+150)
|
||||
#define ActCreFolMrkCrs (ActRcvRchTxtCrsLnk+151)
|
||||
#define ActRenFolMrkCrs (ActRcvRchTxtCrsLnk+152)
|
||||
#define ActRcvFilMrkCrsDZ (ActRcvRchTxtCrsLnk+153)
|
||||
#define ActRcvFilMrkCrsCla (ActRcvRchTxtCrsLnk+154)
|
||||
#define ActExpAdmMrkCrs (ActRcvRchTxtCrsLnk+155)
|
||||
#define ActConAdmMrkCrs (ActRcvRchTxtCrsLnk+156)
|
||||
#define ActZIPAdmMrkCrs (ActRcvRchTxtCrsLnk+157)
|
||||
#define ActShoMrkCrs (ActRcvRchTxtCrsLnk+158)
|
||||
#define ActHidMrkCrs (ActRcvRchTxtCrsLnk+159)
|
||||
#define ActReqDatAdmMrkCrs (ActRcvRchTxtCrsLnk+160)
|
||||
#define ActChgDatAdmMrkCrs (ActRcvRchTxtCrsLnk+161)
|
||||
#define ActDowAdmMrkCrs (ActRcvRchTxtCrsLnk+162)
|
||||
#define ActChgNumRowHeaCrs (ActRcvRchTxtCrsLnk+163)
|
||||
#define ActChgNumRowFooCrs (ActRcvRchTxtCrsLnk+164)
|
||||
#define ActAdmMrkCrs (ActRcvRchTxtCrsLnk+144)
|
||||
#define ActReqRemFilMrkCrs (ActRcvRchTxtCrsLnk+145)
|
||||
#define ActRemFilMrkCrs (ActRcvRchTxtCrsLnk+146)
|
||||
#define ActRemFolMrkCrs (ActRcvRchTxtCrsLnk+147)
|
||||
#define ActCopMrkCrs (ActRcvRchTxtCrsLnk+148)
|
||||
#define ActPasMrkCrs (ActRcvRchTxtCrsLnk+149)
|
||||
#define ActRemTreMrkCrs (ActRcvRchTxtCrsLnk+150)
|
||||
#define ActFrmCreMrkCrs (ActRcvRchTxtCrsLnk+151)
|
||||
#define ActCreFolMrkCrs (ActRcvRchTxtCrsLnk+152)
|
||||
#define ActRenFolMrkCrs (ActRcvRchTxtCrsLnk+153)
|
||||
#define ActRcvFilMrkCrsDZ (ActRcvRchTxtCrsLnk+154)
|
||||
#define ActRcvFilMrkCrsCla (ActRcvRchTxtCrsLnk+155)
|
||||
#define ActExpAdmMrkCrs (ActRcvRchTxtCrsLnk+156)
|
||||
#define ActConAdmMrkCrs (ActRcvRchTxtCrsLnk+157)
|
||||
#define ActZIPAdmMrkCrs (ActRcvRchTxtCrsLnk+158)
|
||||
#define ActShoMrkCrs (ActRcvRchTxtCrsLnk+159)
|
||||
#define ActHidMrkCrs (ActRcvRchTxtCrsLnk+160)
|
||||
#define ActReqDatAdmMrkCrs (ActRcvRchTxtCrsLnk+161)
|
||||
#define ActChgDatAdmMrkCrs (ActRcvRchTxtCrsLnk+162)
|
||||
#define ActDowAdmMrkCrs (ActRcvRchTxtCrsLnk+163)
|
||||
#define ActChgNumRowHeaCrs (ActRcvRchTxtCrsLnk+164)
|
||||
#define ActChgNumRowFooCrs (ActRcvRchTxtCrsLnk+165)
|
||||
|
||||
#define ActAdmMrkGrp (ActRcvRchTxtCrsLnk+165)
|
||||
#define ActReqRemFilMrkGrp (ActRcvRchTxtCrsLnk+166)
|
||||
#define ActRemFilMrkGrp (ActRcvRchTxtCrsLnk+167)
|
||||
#define ActRemFolMrkGrp (ActRcvRchTxtCrsLnk+168)
|
||||
#define ActCopMrkGrp (ActRcvRchTxtCrsLnk+169)
|
||||
#define ActPasMrkGrp (ActRcvRchTxtCrsLnk+170)
|
||||
#define ActRemTreMrkGrp (ActRcvRchTxtCrsLnk+171)
|
||||
#define ActFrmCreMrkGrp (ActRcvRchTxtCrsLnk+172)
|
||||
#define ActCreFolMrkGrp (ActRcvRchTxtCrsLnk+173)
|
||||
#define ActRenFolMrkGrp (ActRcvRchTxtCrsLnk+174)
|
||||
#define ActRcvFilMrkGrpDZ (ActRcvRchTxtCrsLnk+175)
|
||||
#define ActRcvFilMrkGrpCla (ActRcvRchTxtCrsLnk+176)
|
||||
#define ActExpAdmMrkGrp (ActRcvRchTxtCrsLnk+177)
|
||||
#define ActConAdmMrkGrp (ActRcvRchTxtCrsLnk+178)
|
||||
#define ActZIPAdmMrkGrp (ActRcvRchTxtCrsLnk+179)
|
||||
#define ActShoMrkGrp (ActRcvRchTxtCrsLnk+180)
|
||||
#define ActHidMrkGrp (ActRcvRchTxtCrsLnk+181)
|
||||
#define ActReqDatAdmMrkGrp (ActRcvRchTxtCrsLnk+182)
|
||||
#define ActChgDatAdmMrkGrp (ActRcvRchTxtCrsLnk+183)
|
||||
#define ActDowAdmMrkGrp (ActRcvRchTxtCrsLnk+184)
|
||||
#define ActChgNumRowHeaGrp (ActRcvRchTxtCrsLnk+185)
|
||||
#define ActChgNumRowFooGrp (ActRcvRchTxtCrsLnk+186)
|
||||
#define ActAdmMrkGrp (ActRcvRchTxtCrsLnk+166)
|
||||
#define ActReqRemFilMrkGrp (ActRcvRchTxtCrsLnk+167)
|
||||
#define ActRemFilMrkGrp (ActRcvRchTxtCrsLnk+168)
|
||||
#define ActRemFolMrkGrp (ActRcvRchTxtCrsLnk+169)
|
||||
#define ActCopMrkGrp (ActRcvRchTxtCrsLnk+170)
|
||||
#define ActPasMrkGrp (ActRcvRchTxtCrsLnk+171)
|
||||
#define ActRemTreMrkGrp (ActRcvRchTxtCrsLnk+172)
|
||||
#define ActFrmCreMrkGrp (ActRcvRchTxtCrsLnk+173)
|
||||
#define ActCreFolMrkGrp (ActRcvRchTxtCrsLnk+174)
|
||||
#define ActRenFolMrkGrp (ActRcvRchTxtCrsLnk+175)
|
||||
#define ActRcvFilMrkGrpDZ (ActRcvRchTxtCrsLnk+176)
|
||||
#define ActRcvFilMrkGrpCla (ActRcvRchTxtCrsLnk+177)
|
||||
#define ActExpAdmMrkGrp (ActRcvRchTxtCrsLnk+178)
|
||||
#define ActConAdmMrkGrp (ActRcvRchTxtCrsLnk+179)
|
||||
#define ActZIPAdmMrkGrp (ActRcvRchTxtCrsLnk+180)
|
||||
#define ActShoMrkGrp (ActRcvRchTxtCrsLnk+181)
|
||||
#define ActHidMrkGrp (ActRcvRchTxtCrsLnk+182)
|
||||
#define ActReqDatAdmMrkGrp (ActRcvRchTxtCrsLnk+183)
|
||||
#define ActChgDatAdmMrkGrp (ActRcvRchTxtCrsLnk+184)
|
||||
#define ActDowAdmMrkGrp (ActRcvRchTxtCrsLnk+185)
|
||||
#define ActChgNumRowHeaGrp (ActRcvRchTxtCrsLnk+186)
|
||||
#define ActChgNumRowFooGrp (ActRcvRchTxtCrsLnk+187)
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************************* Users tab ***********************************/
|
||||
|
|
|
@ -894,10 +894,10 @@ long Asg_GetParamAsgCod (void)
|
|||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/************ Ask for confirmation of removing of an assignment **************/
|
||||
/************* Ask for confirmation of removing an assignment ****************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Asg_AskRemAssignment (void)
|
||||
void Asg_ReqRemAssignment (void)
|
||||
{
|
||||
extern const char *Txt_Do_you_really_want_to_remove_the_assignment_X;
|
||||
extern const char *Txt_Remove_assignment;
|
||||
|
|
|
@ -91,7 +91,7 @@ void Asg_FreeListAssignments (void);
|
|||
void Asg_GetNotifAssignment (char *SummaryStr,char **ContentStr,long AsgCod,unsigned MaxChars,bool GetContent);
|
||||
|
||||
long Asg_GetParamAsgCod (void);
|
||||
void Asg_AskRemAssignment (void);
|
||||
void Asg_ReqRemAssignment (void);
|
||||
void Asg_RemoveAssignment (void);
|
||||
void Asg_HideAssignment (void);
|
||||
void Asg_ShowAssignment (void);
|
||||
|
|
|
@ -185,16 +185,16 @@
|
|||
/****************************** Public constants *****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
#define Log_PLATFORM_VERSION "SWAD 16.95.2 (2016-12-11)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 16.96 (2016-12-11)"
|
||||
#define CSS_FILE "swad16.94.1.css"
|
||||
#define JS_FILE "swad16.90.2.js"
|
||||
|
||||
// Number of lines (includes comments but not blank lines) has been got with the following command:
|
||||
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1
|
||||
/*
|
||||
Version 16.96: Dec 11, 2016 Now removing an announcement of exam requires confirmation. (? lines)
|
||||
Version 16.96: Dec 11, 2016 Now removing an announcement of exam requires confirmation. (210563 lines)
|
||||
1 change necessary in database:
|
||||
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1619','es','N','');
|
||||
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1619','es','N','Solicitar eliminación de convocatoria');
|
||||
|
||||
Version 16.95.2: Dec 11, 2016 Code refactoring related with notices. (210514 lines)
|
||||
Version 16.95.1: Dec 11, 2016 Code refactoring related with global announcements. (210534 lines)
|
||||
|
|
32
swad_exam.c
32
swad_exam.c
|
@ -365,6 +365,36 @@ void Exa_PrintExamAnnouncement (void)
|
|||
/************************ Remove an exam announcement ************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Exa_ReqRemoveExamAnnouncement (void)
|
||||
{
|
||||
extern const char *Txt_Do_you_really_want_to_remove_the_following_announcement_of_exam;
|
||||
extern const char *Txt_Remove;
|
||||
long ExaCod;
|
||||
|
||||
/***** Get the code of the exam announcement *****/
|
||||
if ((ExaCod = Exa_GetParamExaCod ()) <= 0)
|
||||
Lay_ShowErrorAndExit ("Code of exam announcement is missing.");
|
||||
|
||||
/***** Message *****/
|
||||
Lay_ShowAlert (Lay_WARNING,Txt_Do_you_really_want_to_remove_the_following_announcement_of_exam);
|
||||
|
||||
/***** View announcement *****/
|
||||
Exa_AllocMemExamAnnouncement ();
|
||||
Exa_GetDataExamAnnouncementFromDB (ExaCod);
|
||||
Exa_ShowExamAnnouncement (ExaCod,Exa_NORMAL_VIEW);
|
||||
Exa_FreeMemExamAnnouncement ();
|
||||
|
||||
/***** Button of confirmation of removing *****/
|
||||
Act_FormStart (ActRemExaAnn);
|
||||
Exa_PutHiddenParamExaCod (ExaCod);
|
||||
Lay_PutRemoveButton (Txt_Remove);
|
||||
Act_FormEnd ();
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/************************ Remove an exam announcement ************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Exa_RemoveExamAnnouncement (void)
|
||||
{
|
||||
extern const char *Txt_Announcement_of_exam_removed;
|
||||
|
@ -1371,7 +1401,7 @@ static void Exa_PutIconsExamAnnouncement (void)
|
|||
Gbl.Usrs.Me.LoggedRole == Rol_SYS_ADM)
|
||||
{
|
||||
/***** Link to remove this exam announcement *****/
|
||||
Lay_PutContextualLink (ActRemExaAnn,Exa_PutParamExaCodToEdit,
|
||||
Lay_PutContextualLink (ActReqRemExaAnn,Exa_PutParamExaCodToEdit,
|
||||
"remove-on64x64.png",
|
||||
Txt_Remove,NULL,
|
||||
NULL);
|
||||
|
|
|
@ -54,6 +54,7 @@ typedef enum
|
|||
void Exa_PutFrmEditAExamAnnouncement (void);
|
||||
void Exa_ReceiveExamAnnouncement (void);
|
||||
void Exa_PrintExamAnnouncement (void);
|
||||
void Exa_ReqRemoveExamAnnouncement (void);
|
||||
void Exa_RemoveExamAnnouncement (void);
|
||||
void Exa_FreeMemExamAnnouncement (void);
|
||||
void Exa_FreeListExamAnnouncements (void);
|
||||
|
|
|
@ -255,7 +255,7 @@ void TsI_CreateXML (unsigned long NumRows,MYSQL_RES *mysql_res)
|
|||
fclose (Gbl.Test.XML.FileXML);
|
||||
|
||||
/***** Return to start of query result *****/
|
||||
mysql_data_seek (mysql_res, 0);
|
||||
mysql_data_seek (mysql_res,0);
|
||||
|
||||
/***** Write the link to XML file *****/
|
||||
fprintf (Gbl.F.Out,"<a href=\"%s/%s/%s/test.xml\" class=\"%s\" target=\"_blank\">",
|
||||
|
|
21
swad_text.c
21
swad_text.c
|
@ -8845,6 +8845,27 @@ const char *Txt_Do_you_really_want_to_remove_the_folder_X = // Warning: it is ve
|
|||
" o diretório <strong>%s</strong> e todo o seu conteúdo?";
|
||||
#endif
|
||||
|
||||
const char *Txt_Do_you_really_want_to_remove_the_following_announcement_of_exam =
|
||||
#if L==1
|
||||
"De veres voleu eliminar la següent convocatòria d'examen?";
|
||||
#elif L==2
|
||||
"Wollen Sie wirklich, um die folgende Aufruf für Prüfung?";
|
||||
#elif L==3
|
||||
"Do you really want to remove the following announcement of exam?";
|
||||
#elif L==4
|
||||
"¿Realmente desea eliminar la siguiente convocatoria de examen?";
|
||||
#elif L==5
|
||||
"Voulez-vous vraiment supprimer la convocation à un examen suivante?";
|
||||
#elif L==6
|
||||
"¿Realmente desea eliminar la siguiente convocatoria de examen?"; // Okoteve traducción
|
||||
#elif L==7
|
||||
"Vuoi realmente rimuovere il seguente appello d'esame?";
|
||||
#elif L==8
|
||||
"Czy na pewno chcesz usunąć następującą zapowiedź egzaminu?";
|
||||
#elif L==9
|
||||
"Você realmente deseja remover a seguinte chamada para exame?";
|
||||
#endif
|
||||
|
||||
const char *Txt_Do_you_really_want_to_remove_the_following_notice =
|
||||
#if L==1
|
||||
"De veres voleu eliminar el següent avís?";
|
||||
|
|
Loading…
Reference in New Issue