Version 15.223

This commit is contained in:
Antonio Cañas Vargas 2016-06-12 01:18:35 +02:00
parent 47159b00fa
commit 3989031fce
6 changed files with 1276 additions and 1215 deletions

File diff suppressed because it is too large Load Diff

View File

@ -72,9 +72,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+15+90+70+67+245+186+150+172+36+28+83)
#define Act_NUM_ACTIONS (1+9+51+15+90+70+67+246+186+150+172+36+28+83)
#define Act_MAX_ACTION_COD 1572
#define Act_MAX_ACTION_COD 1573
#define Act_MAX_OPTIONS_IN_MENU_PER_TAB 20
@ -461,252 +461,253 @@ typedef int Act_Action_t; // Must be a signed type, because -1 is used to indica
// Secondary actions
#define ActCrsSch (ActDowShaDeg+ 12)
#define ActPrnCrsInf (ActDowShaDeg+ 13)
#define ActChgCrsLog (ActDowShaDeg+ 14)
#define ActEdiCrsInf (ActDowShaDeg+ 15)
#define ActEdiTchGui (ActDowShaDeg+ 16)
#define ActPrnCrsTT (ActDowShaDeg+ 17)
#define ActEdiCrsTT (ActDowShaDeg+ 18)
#define ActChgCrsTT (ActDowShaDeg+ 19)
#define ActChgCrsTT1stDay (ActDowShaDeg+ 20)
#define ActSeeSylLec (ActDowShaDeg+ 21)
#define ActSeeSylPra (ActDowShaDeg+ 22)
#define ActEdiSylLec (ActDowShaDeg+ 23)
#define ActEdiSylPra (ActDowShaDeg+ 24)
#define ActDelItmSylLec (ActDowShaDeg+ 25)
#define ActDelItmSylPra (ActDowShaDeg+ 26)
#define ActUp_IteSylLec (ActDowShaDeg+ 27)
#define ActUp_IteSylPra (ActDowShaDeg+ 28)
#define ActDwnIteSylLec (ActDowShaDeg+ 29)
#define ActDwnIteSylPra (ActDowShaDeg+ 30)
#define ActRgtIteSylLec (ActDowShaDeg+ 31)
#define ActRgtIteSylPra (ActDowShaDeg+ 32)
#define ActLftIteSylLec (ActDowShaDeg+ 33)
#define ActLftIteSylPra (ActDowShaDeg+ 34)
#define ActInsIteSylLec (ActDowShaDeg+ 35)
#define ActInsIteSylPra (ActDowShaDeg+ 36)
#define ActModIteSylLec (ActDowShaDeg+ 37)
#define ActModIteSylPra (ActDowShaDeg+ 38)
#define ActChgInsCrsCodCfg (ActDowShaDeg+ 14)
#define ActChgCrsYeaCfg (ActDowShaDeg+ 15)
#define ActEdiCrsInf (ActDowShaDeg+ 16)
#define ActEdiTchGui (ActDowShaDeg+ 17)
#define ActPrnCrsTT (ActDowShaDeg+ 18)
#define ActEdiCrsTT (ActDowShaDeg+ 19)
#define ActChgCrsTT (ActDowShaDeg+ 20)
#define ActChgCrsTT1stDay (ActDowShaDeg+ 21)
#define ActSeeSylLec (ActDowShaDeg+ 22)
#define ActSeeSylPra (ActDowShaDeg+ 23)
#define ActEdiSylLec (ActDowShaDeg+ 24)
#define ActEdiSylPra (ActDowShaDeg+ 25)
#define ActDelItmSylLec (ActDowShaDeg+ 26)
#define ActDelItmSylPra (ActDowShaDeg+ 27)
#define ActUp_IteSylLec (ActDowShaDeg+ 28)
#define ActUp_IteSylPra (ActDowShaDeg+ 29)
#define ActDwnIteSylLec (ActDowShaDeg+ 30)
#define ActDwnIteSylPra (ActDowShaDeg+ 31)
#define ActRgtIteSylLec (ActDowShaDeg+ 32)
#define ActRgtIteSylPra (ActDowShaDeg+ 33)
#define ActLftIteSylLec (ActDowShaDeg+ 34)
#define ActLftIteSylPra (ActDowShaDeg+ 35)
#define ActInsIteSylLec (ActDowShaDeg+ 36)
#define ActInsIteSylPra (ActDowShaDeg+ 37)
#define ActModIteSylLec (ActDowShaDeg+ 38)
#define ActModIteSylPra (ActDowShaDeg+ 39)
#define ActChgToSeeDocCrs (ActDowShaDeg+ 39)
#define ActSeeDocCrs (ActDowShaDeg+ 40)
#define ActExpSeeDocCrs (ActDowShaDeg+ 41)
#define ActConSeeDocCrs (ActDowShaDeg+ 42)
#define ActZIPSeeDocCrs (ActDowShaDeg+ 43)
#define ActReqDatSeeDocCrs (ActDowShaDeg+ 44)
#define ActDowSeeDocCrs (ActDowShaDeg+ 45)
#define ActChgToSeeDocCrs (ActDowShaDeg+ 40)
#define ActSeeDocCrs (ActDowShaDeg+ 41)
#define ActExpSeeDocCrs (ActDowShaDeg+ 42)
#define ActConSeeDocCrs (ActDowShaDeg+ 43)
#define ActZIPSeeDocCrs (ActDowShaDeg+ 44)
#define ActReqDatSeeDocCrs (ActDowShaDeg+ 45)
#define ActDowSeeDocCrs (ActDowShaDeg+ 46)
#define ActSeeDocGrp (ActDowShaDeg+ 46)
#define ActExpSeeDocGrp (ActDowShaDeg+ 47)
#define ActConSeeDocGrp (ActDowShaDeg+ 48)
#define ActZIPSeeDocGrp (ActDowShaDeg+ 49)
#define ActReqDatSeeDocGrp (ActDowShaDeg+ 50)
#define ActDowSeeDocGrp (ActDowShaDeg+ 51)
#define ActSeeDocGrp (ActDowShaDeg+ 47)
#define ActExpSeeDocGrp (ActDowShaDeg+ 48)
#define ActConSeeDocGrp (ActDowShaDeg+ 49)
#define ActZIPSeeDocGrp (ActDowShaDeg+ 50)
#define ActReqDatSeeDocGrp (ActDowShaDeg+ 51)
#define ActDowSeeDocGrp (ActDowShaDeg+ 52)
#define ActChgToAdmDocCrs (ActDowShaDeg+ 52)
#define ActAdmDocCrs (ActDowShaDeg+ 53)
#define ActReqRemFilDocCrs (ActDowShaDeg+ 54)
#define ActRemFilDocCrs (ActDowShaDeg+ 55)
#define ActRemFolDocCrs (ActDowShaDeg+ 56)
#define ActCopDocCrs (ActDowShaDeg+ 57)
#define ActPasDocCrs (ActDowShaDeg+ 58)
#define ActRemTreDocCrs (ActDowShaDeg+ 59)
#define ActFrmCreDocCrs (ActDowShaDeg+ 60)
#define ActCreFolDocCrs (ActDowShaDeg+ 61)
#define ActCreLnkDocCrs (ActDowShaDeg+ 62)
#define ActRenFolDocCrs (ActDowShaDeg+ 63)
#define ActRcvFilDocCrsDZ (ActDowShaDeg+ 64)
#define ActRcvFilDocCrsCla (ActDowShaDeg+ 65)
#define ActExpAdmDocCrs (ActDowShaDeg+ 66)
#define ActConAdmDocCrs (ActDowShaDeg+ 67)
#define ActZIPAdmDocCrs (ActDowShaDeg+ 68)
#define ActShoDocCrs (ActDowShaDeg+ 69)
#define ActHidDocCrs (ActDowShaDeg+ 70)
#define ActReqDatAdmDocCrs (ActDowShaDeg+ 71)
#define ActChgDatAdmDocCrs (ActDowShaDeg+ 72)
#define ActDowAdmDocCrs (ActDowShaDeg+ 73)
#define ActChgToAdmDocCrs (ActDowShaDeg+ 53)
#define ActAdmDocCrs (ActDowShaDeg+ 54)
#define ActReqRemFilDocCrs (ActDowShaDeg+ 55)
#define ActRemFilDocCrs (ActDowShaDeg+ 56)
#define ActRemFolDocCrs (ActDowShaDeg+ 57)
#define ActCopDocCrs (ActDowShaDeg+ 58)
#define ActPasDocCrs (ActDowShaDeg+ 59)
#define ActRemTreDocCrs (ActDowShaDeg+ 60)
#define ActFrmCreDocCrs (ActDowShaDeg+ 61)
#define ActCreFolDocCrs (ActDowShaDeg+ 62)
#define ActCreLnkDocCrs (ActDowShaDeg+ 63)
#define ActRenFolDocCrs (ActDowShaDeg+ 64)
#define ActRcvFilDocCrsDZ (ActDowShaDeg+ 65)
#define ActRcvFilDocCrsCla (ActDowShaDeg+ 66)
#define ActExpAdmDocCrs (ActDowShaDeg+ 67)
#define ActConAdmDocCrs (ActDowShaDeg+ 68)
#define ActZIPAdmDocCrs (ActDowShaDeg+ 69)
#define ActShoDocCrs (ActDowShaDeg+ 70)
#define ActHidDocCrs (ActDowShaDeg+ 71)
#define ActReqDatAdmDocCrs (ActDowShaDeg+ 72)
#define ActChgDatAdmDocCrs (ActDowShaDeg+ 73)
#define ActDowAdmDocCrs (ActDowShaDeg+ 74)
#define ActAdmDocGrp (ActDowShaDeg+ 74)
#define ActReqRemFilDocGrp (ActDowShaDeg+ 75)
#define ActRemFilDocGrp (ActDowShaDeg+ 76)
#define ActRemFolDocGrp (ActDowShaDeg+ 77)
#define ActCopDocGrp (ActDowShaDeg+ 78)
#define ActPasDocGrp (ActDowShaDeg+ 79)
#define ActRemTreDocGrp (ActDowShaDeg+ 80)
#define ActFrmCreDocGrp (ActDowShaDeg+ 81)
#define ActCreFolDocGrp (ActDowShaDeg+ 82)
#define ActCreLnkDocGrp (ActDowShaDeg+ 83)
#define ActRenFolDocGrp (ActDowShaDeg+ 84)
#define ActRcvFilDocGrpDZ (ActDowShaDeg+ 85)
#define ActRcvFilDocGrpCla (ActDowShaDeg+ 86)
#define ActExpAdmDocGrp (ActDowShaDeg+ 87)
#define ActConAdmDocGrp (ActDowShaDeg+ 88)
#define ActZIPAdmDocGrp (ActDowShaDeg+ 89)
#define ActShoDocGrp (ActDowShaDeg+ 90)
#define ActHidDocGrp (ActDowShaDeg+ 91)
#define ActReqDatAdmDocGrp (ActDowShaDeg+ 92)
#define ActChgDatAdmDocGrp (ActDowShaDeg+ 93)
#define ActDowAdmDocGrp (ActDowShaDeg+ 94)
#define ActAdmDocGrp (ActDowShaDeg+ 75)
#define ActReqRemFilDocGrp (ActDowShaDeg+ 76)
#define ActRemFilDocGrp (ActDowShaDeg+ 77)
#define ActRemFolDocGrp (ActDowShaDeg+ 78)
#define ActCopDocGrp (ActDowShaDeg+ 79)
#define ActPasDocGrp (ActDowShaDeg+ 80)
#define ActRemTreDocGrp (ActDowShaDeg+ 81)
#define ActFrmCreDocGrp (ActDowShaDeg+ 82)
#define ActCreFolDocGrp (ActDowShaDeg+ 83)
#define ActCreLnkDocGrp (ActDowShaDeg+ 84)
#define ActRenFolDocGrp (ActDowShaDeg+ 85)
#define ActRcvFilDocGrpDZ (ActDowShaDeg+ 86)
#define ActRcvFilDocGrpCla (ActDowShaDeg+ 87)
#define ActExpAdmDocGrp (ActDowShaDeg+ 88)
#define ActConAdmDocGrp (ActDowShaDeg+ 89)
#define ActZIPAdmDocGrp (ActDowShaDeg+ 90)
#define ActShoDocGrp (ActDowShaDeg+ 91)
#define ActHidDocGrp (ActDowShaDeg+ 92)
#define ActReqDatAdmDocGrp (ActDowShaDeg+ 93)
#define ActChgDatAdmDocGrp (ActDowShaDeg+ 94)
#define ActDowAdmDocGrp (ActDowShaDeg+ 95)
#define ActChgToAdmTch (ActDowShaDeg+ 95)
#define ActChgToAdmTch (ActDowShaDeg+ 96)
#define ActAdmTchCrs (ActDowShaDeg+ 96)
#define ActReqRemFilTchCrs (ActDowShaDeg+ 97)
#define ActRemFilTchCrs (ActDowShaDeg+ 98)
#define ActRemFolTchCrs (ActDowShaDeg+ 99)
#define ActCopTchCrs (ActDowShaDeg+100)
#define ActPasTchCrs (ActDowShaDeg+101)
#define ActRemTreTchCrs (ActDowShaDeg+102)
#define ActFrmCreTchCrs (ActDowShaDeg+103)
#define ActCreFolTchCrs (ActDowShaDeg+104)
#define ActCreLnkTchCrs (ActDowShaDeg+105)
#define ActRenFolTchCrs (ActDowShaDeg+106)
#define ActRcvFilTchCrsDZ (ActDowShaDeg+107)
#define ActRcvFilTchCrsCla (ActDowShaDeg+108)
#define ActExpTchCrs (ActDowShaDeg+109)
#define ActConTchCrs (ActDowShaDeg+110)
#define ActZIPTchCrs (ActDowShaDeg+111)
#define ActReqDatTchCrs (ActDowShaDeg+112)
#define ActChgDatTchCrs (ActDowShaDeg+113)
#define ActDowTchCrs (ActDowShaDeg+114)
#define ActAdmTchCrs (ActDowShaDeg+ 97)
#define ActReqRemFilTchCrs (ActDowShaDeg+ 98)
#define ActRemFilTchCrs (ActDowShaDeg+ 99)
#define ActRemFolTchCrs (ActDowShaDeg+100)
#define ActCopTchCrs (ActDowShaDeg+101)
#define ActPasTchCrs (ActDowShaDeg+102)
#define ActRemTreTchCrs (ActDowShaDeg+103)
#define ActFrmCreTchCrs (ActDowShaDeg+104)
#define ActCreFolTchCrs (ActDowShaDeg+105)
#define ActCreLnkTchCrs (ActDowShaDeg+106)
#define ActRenFolTchCrs (ActDowShaDeg+107)
#define ActRcvFilTchCrsDZ (ActDowShaDeg+108)
#define ActRcvFilTchCrsCla (ActDowShaDeg+109)
#define ActExpTchCrs (ActDowShaDeg+110)
#define ActConTchCrs (ActDowShaDeg+111)
#define ActZIPTchCrs (ActDowShaDeg+112)
#define ActReqDatTchCrs (ActDowShaDeg+113)
#define ActChgDatTchCrs (ActDowShaDeg+114)
#define ActDowTchCrs (ActDowShaDeg+115)
#define ActAdmTchGrp (ActDowShaDeg+115)
#define ActReqRemFilTchGrp (ActDowShaDeg+116)
#define ActRemFilTchGrp (ActDowShaDeg+117)
#define ActRemFolTchGrp (ActDowShaDeg+118)
#define ActCopTchGrp (ActDowShaDeg+119)
#define ActPasTchGrp (ActDowShaDeg+120)
#define ActRemTreTchGrp (ActDowShaDeg+121)
#define ActFrmCreTchGrp (ActDowShaDeg+122)
#define ActCreFolTchGrp (ActDowShaDeg+123)
#define ActCreLnkTchGrp (ActDowShaDeg+124)
#define ActRenFolTchGrp (ActDowShaDeg+125)
#define ActRcvFilTchGrpDZ (ActDowShaDeg+126)
#define ActRcvFilTchGrpCla (ActDowShaDeg+127)
#define ActExpTchGrp (ActDowShaDeg+128)
#define ActConTchGrp (ActDowShaDeg+129)
#define ActZIPTchGrp (ActDowShaDeg+130)
#define ActReqDatTchGrp (ActDowShaDeg+131)
#define ActChgDatTchGrp (ActDowShaDeg+132)
#define ActDowTchGrp (ActDowShaDeg+133)
#define ActAdmTchGrp (ActDowShaDeg+116)
#define ActReqRemFilTchGrp (ActDowShaDeg+117)
#define ActRemFilTchGrp (ActDowShaDeg+118)
#define ActRemFolTchGrp (ActDowShaDeg+119)
#define ActCopTchGrp (ActDowShaDeg+120)
#define ActPasTchGrp (ActDowShaDeg+121)
#define ActRemTreTchGrp (ActDowShaDeg+122)
#define ActFrmCreTchGrp (ActDowShaDeg+123)
#define ActCreFolTchGrp (ActDowShaDeg+124)
#define ActCreLnkTchGrp (ActDowShaDeg+125)
#define ActRenFolTchGrp (ActDowShaDeg+126)
#define ActRcvFilTchGrpDZ (ActDowShaDeg+127)
#define ActRcvFilTchGrpCla (ActDowShaDeg+128)
#define ActExpTchGrp (ActDowShaDeg+129)
#define ActConTchGrp (ActDowShaDeg+130)
#define ActZIPTchGrp (ActDowShaDeg+131)
#define ActReqDatTchGrp (ActDowShaDeg+132)
#define ActChgDatTchGrp (ActDowShaDeg+133)
#define ActDowTchGrp (ActDowShaDeg+134)
#define ActChgToAdmSha (ActDowShaDeg+134)
#define ActChgToAdmSha (ActDowShaDeg+135)
#define ActAdmShaCrs (ActDowShaDeg+135)
#define ActReqRemFilShaCrs (ActDowShaDeg+136)
#define ActRemFilShaCrs (ActDowShaDeg+137)
#define ActRemFolShaCrs (ActDowShaDeg+138)
#define ActCopShaCrs (ActDowShaDeg+139)
#define ActPasShaCrs (ActDowShaDeg+140)
#define ActRemTreShaCrs (ActDowShaDeg+141)
#define ActFrmCreShaCrs (ActDowShaDeg+142)
#define ActCreFolShaCrs (ActDowShaDeg+143)
#define ActCreLnkShaCrs (ActDowShaDeg+144)
#define ActRenFolShaCrs (ActDowShaDeg+145)
#define ActRcvFilShaCrsDZ (ActDowShaDeg+146)
#define ActRcvFilShaCrsCla (ActDowShaDeg+147)
#define ActExpShaCrs (ActDowShaDeg+148)
#define ActConShaCrs (ActDowShaDeg+149)
#define ActZIPShaCrs (ActDowShaDeg+150)
#define ActReqDatShaCrs (ActDowShaDeg+151)
#define ActChgDatShaCrs (ActDowShaDeg+152)
#define ActDowShaCrs (ActDowShaDeg+153)
#define ActAdmShaCrs (ActDowShaDeg+136)
#define ActReqRemFilShaCrs (ActDowShaDeg+137)
#define ActRemFilShaCrs (ActDowShaDeg+138)
#define ActRemFolShaCrs (ActDowShaDeg+139)
#define ActCopShaCrs (ActDowShaDeg+140)
#define ActPasShaCrs (ActDowShaDeg+141)
#define ActRemTreShaCrs (ActDowShaDeg+142)
#define ActFrmCreShaCrs (ActDowShaDeg+143)
#define ActCreFolShaCrs (ActDowShaDeg+144)
#define ActCreLnkShaCrs (ActDowShaDeg+145)
#define ActRenFolShaCrs (ActDowShaDeg+146)
#define ActRcvFilShaCrsDZ (ActDowShaDeg+147)
#define ActRcvFilShaCrsCla (ActDowShaDeg+148)
#define ActExpShaCrs (ActDowShaDeg+149)
#define ActConShaCrs (ActDowShaDeg+150)
#define ActZIPShaCrs (ActDowShaDeg+151)
#define ActReqDatShaCrs (ActDowShaDeg+152)
#define ActChgDatShaCrs (ActDowShaDeg+153)
#define ActDowShaCrs (ActDowShaDeg+154)
#define ActAdmShaGrp (ActDowShaDeg+154)
#define ActReqRemFilShaGrp (ActDowShaDeg+155)
#define ActRemFilShaGrp (ActDowShaDeg+156)
#define ActRemFolShaGrp (ActDowShaDeg+157)
#define ActCopShaGrp (ActDowShaDeg+158)
#define ActPasShaGrp (ActDowShaDeg+159)
#define ActRemTreShaGrp (ActDowShaDeg+160)
#define ActFrmCreShaGrp (ActDowShaDeg+161)
#define ActCreFolShaGrp (ActDowShaDeg+162)
#define ActCreLnkShaGrp (ActDowShaDeg+163)
#define ActRenFolShaGrp (ActDowShaDeg+164)
#define ActRcvFilShaGrpDZ (ActDowShaDeg+165)
#define ActRcvFilShaGrpCla (ActDowShaDeg+166)
#define ActExpShaGrp (ActDowShaDeg+167)
#define ActConShaGrp (ActDowShaDeg+168)
#define ActZIPShaGrp (ActDowShaDeg+169)
#define ActReqDatShaGrp (ActDowShaDeg+170)
#define ActChgDatShaGrp (ActDowShaDeg+171)
#define ActDowShaGrp (ActDowShaDeg+172)
#define ActAdmShaGrp (ActDowShaDeg+155)
#define ActReqRemFilShaGrp (ActDowShaDeg+156)
#define ActRemFilShaGrp (ActDowShaDeg+157)
#define ActRemFolShaGrp (ActDowShaDeg+158)
#define ActCopShaGrp (ActDowShaDeg+159)
#define ActPasShaGrp (ActDowShaDeg+160)
#define ActRemTreShaGrp (ActDowShaDeg+161)
#define ActFrmCreShaGrp (ActDowShaDeg+162)
#define ActCreFolShaGrp (ActDowShaDeg+163)
#define ActCreLnkShaGrp (ActDowShaDeg+164)
#define ActRenFolShaGrp (ActDowShaDeg+165)
#define ActRcvFilShaGrpDZ (ActDowShaDeg+166)
#define ActRcvFilShaGrpCla (ActDowShaDeg+167)
#define ActExpShaGrp (ActDowShaDeg+168)
#define ActConShaGrp (ActDowShaDeg+169)
#define ActZIPShaGrp (ActDowShaDeg+170)
#define ActReqDatShaGrp (ActDowShaDeg+171)
#define ActChgDatShaGrp (ActDowShaDeg+172)
#define ActDowShaGrp (ActDowShaDeg+173)
#define ActEdiBib (ActDowShaDeg+173)
#define ActEdiFAQ (ActDowShaDeg+174)
#define ActEdiCrsLnk (ActDowShaDeg+175)
#define ActEdiBib (ActDowShaDeg+174)
#define ActEdiFAQ (ActDowShaDeg+175)
#define ActEdiCrsLnk (ActDowShaDeg+176)
#define ActChgFrcReaCrsInf (ActDowShaDeg+176)
#define ActChgFrcReaTchGui (ActDowShaDeg+177)
#define ActChgFrcReaSylLec (ActDowShaDeg+178)
#define ActChgFrcReaSylPra (ActDowShaDeg+179)
#define ActChgFrcReaBib (ActDowShaDeg+180)
#define ActChgFrcReaFAQ (ActDowShaDeg+181)
#define ActChgFrcReaCrsLnk (ActDowShaDeg+182)
#define ActChgFrcReaCrsInf (ActDowShaDeg+177)
#define ActChgFrcReaTchGui (ActDowShaDeg+178)
#define ActChgFrcReaSylLec (ActDowShaDeg+179)
#define ActChgFrcReaSylPra (ActDowShaDeg+180)
#define ActChgFrcReaBib (ActDowShaDeg+181)
#define ActChgFrcReaFAQ (ActDowShaDeg+182)
#define ActChgFrcReaCrsLnk (ActDowShaDeg+183)
#define ActChgHavReaCrsInf (ActDowShaDeg+183)
#define ActChgHavReaTchGui (ActDowShaDeg+184)
#define ActChgHavReaSylLec (ActDowShaDeg+185)
#define ActChgHavReaSylPra (ActDowShaDeg+186)
#define ActChgHavReaBib (ActDowShaDeg+187)
#define ActChgHavReaFAQ (ActDowShaDeg+188)
#define ActChgHavReaCrsLnk (ActDowShaDeg+189)
#define ActChgHavReaCrsInf (ActDowShaDeg+184)
#define ActChgHavReaTchGui (ActDowShaDeg+185)
#define ActChgHavReaSylLec (ActDowShaDeg+186)
#define ActChgHavReaSylPra (ActDowShaDeg+187)
#define ActChgHavReaBib (ActDowShaDeg+188)
#define ActChgHavReaFAQ (ActDowShaDeg+189)
#define ActChgHavReaCrsLnk (ActDowShaDeg+190)
#define ActSelInfSrcCrsInf (ActDowShaDeg+190)
#define ActSelInfSrcTchGui (ActDowShaDeg+191)
#define ActSelInfSrcSylLec (ActDowShaDeg+192)
#define ActSelInfSrcSylPra (ActDowShaDeg+193)
#define ActSelInfSrcBib (ActDowShaDeg+194)
#define ActSelInfSrcFAQ (ActDowShaDeg+195)
#define ActSelInfSrcCrsLnk (ActDowShaDeg+196)
#define ActRcvURLCrsInf (ActDowShaDeg+197)
#define ActRcvURLTchGui (ActDowShaDeg+198)
#define ActRcvURLSylLec (ActDowShaDeg+199)
#define ActRcvURLSylPra (ActDowShaDeg+200)
#define ActRcvURLBib (ActDowShaDeg+201)
#define ActRcvURLFAQ (ActDowShaDeg+202)
#define ActRcvURLCrsLnk (ActDowShaDeg+203)
#define ActRcvPagCrsInf (ActDowShaDeg+204)
#define ActRcvPagTchGui (ActDowShaDeg+205)
#define ActRcvPagSylLec (ActDowShaDeg+206)
#define ActRcvPagSylPra (ActDowShaDeg+207)
#define ActRcvPagBib (ActDowShaDeg+208)
#define ActRcvPagFAQ (ActDowShaDeg+209)
#define ActRcvPagCrsLnk (ActDowShaDeg+210)
#define ActEditorCrsInf (ActDowShaDeg+211)
#define ActEditorTchGui (ActDowShaDeg+212)
#define ActEditorSylLec (ActDowShaDeg+213)
#define ActEditorSylPra (ActDowShaDeg+214)
#define ActEditorBib (ActDowShaDeg+215)
#define ActEditorFAQ (ActDowShaDeg+216)
#define ActEditorCrsLnk (ActDowShaDeg+217)
#define ActPlaTxtEdiCrsInf (ActDowShaDeg+218)
#define ActPlaTxtEdiTchGui (ActDowShaDeg+219)
#define ActPlaTxtEdiSylLec (ActDowShaDeg+220)
#define ActPlaTxtEdiSylPra (ActDowShaDeg+221)
#define ActPlaTxtEdiBib (ActDowShaDeg+222)
#define ActPlaTxtEdiFAQ (ActDowShaDeg+223)
#define ActPlaTxtEdiCrsLnk (ActDowShaDeg+224)
#define ActRchTxtEdiCrsInf (ActDowShaDeg+225)
#define ActRchTxtEdiTchGui (ActDowShaDeg+226)
#define ActRchTxtEdiSylLec (ActDowShaDeg+227)
#define ActRchTxtEdiSylPra (ActDowShaDeg+228)
#define ActRchTxtEdiBib (ActDowShaDeg+229)
#define ActRchTxtEdiFAQ (ActDowShaDeg+230)
#define ActRchTxtEdiCrsLnk (ActDowShaDeg+231)
#define ActRcvPlaTxtCrsInf (ActDowShaDeg+232)
#define ActRcvPlaTxtTchGui (ActDowShaDeg+233)
#define ActRcvPlaTxtSylLec (ActDowShaDeg+234)
#define ActRcvPlaTxtSylPra (ActDowShaDeg+235)
#define ActRcvPlaTxtBib (ActDowShaDeg+236)
#define ActRcvPlaTxtFAQ (ActDowShaDeg+237)
#define ActRcvPlaTxtCrsLnk (ActDowShaDeg+238)
#define ActRcvRchTxtCrsInf (ActDowShaDeg+239)
#define ActRcvRchTxtTchGui (ActDowShaDeg+240)
#define ActRcvRchTxtSylLec (ActDowShaDeg+241)
#define ActRcvRchTxtSylPra (ActDowShaDeg+242)
#define ActRcvRchTxtBib (ActDowShaDeg+243)
#define ActRcvRchTxtFAQ (ActDowShaDeg+244)
#define ActRcvRchTxtCrsLnk (ActDowShaDeg+245)
#define ActSelInfSrcCrsInf (ActDowShaDeg+191)
#define ActSelInfSrcTchGui (ActDowShaDeg+192)
#define ActSelInfSrcSylLec (ActDowShaDeg+193)
#define ActSelInfSrcSylPra (ActDowShaDeg+194)
#define ActSelInfSrcBib (ActDowShaDeg+195)
#define ActSelInfSrcFAQ (ActDowShaDeg+196)
#define ActSelInfSrcCrsLnk (ActDowShaDeg+197)
#define ActRcvURLCrsInf (ActDowShaDeg+198)
#define ActRcvURLTchGui (ActDowShaDeg+199)
#define ActRcvURLSylLec (ActDowShaDeg+200)
#define ActRcvURLSylPra (ActDowShaDeg+201)
#define ActRcvURLBib (ActDowShaDeg+202)
#define ActRcvURLFAQ (ActDowShaDeg+203)
#define ActRcvURLCrsLnk (ActDowShaDeg+204)
#define ActRcvPagCrsInf (ActDowShaDeg+205)
#define ActRcvPagTchGui (ActDowShaDeg+206)
#define ActRcvPagSylLec (ActDowShaDeg+207)
#define ActRcvPagSylPra (ActDowShaDeg+208)
#define ActRcvPagBib (ActDowShaDeg+209)
#define ActRcvPagFAQ (ActDowShaDeg+210)
#define ActRcvPagCrsLnk (ActDowShaDeg+211)
#define ActEditorCrsInf (ActDowShaDeg+212)
#define ActEditorTchGui (ActDowShaDeg+213)
#define ActEditorSylLec (ActDowShaDeg+214)
#define ActEditorSylPra (ActDowShaDeg+215)
#define ActEditorBib (ActDowShaDeg+216)
#define ActEditorFAQ (ActDowShaDeg+217)
#define ActEditorCrsLnk (ActDowShaDeg+218)
#define ActPlaTxtEdiCrsInf (ActDowShaDeg+219)
#define ActPlaTxtEdiTchGui (ActDowShaDeg+220)
#define ActPlaTxtEdiSylLec (ActDowShaDeg+221)
#define ActPlaTxtEdiSylPra (ActDowShaDeg+222)
#define ActPlaTxtEdiBib (ActDowShaDeg+223)
#define ActPlaTxtEdiFAQ (ActDowShaDeg+224)
#define ActPlaTxtEdiCrsLnk (ActDowShaDeg+225)
#define ActRchTxtEdiCrsInf (ActDowShaDeg+226)
#define ActRchTxtEdiTchGui (ActDowShaDeg+227)
#define ActRchTxtEdiSylLec (ActDowShaDeg+228)
#define ActRchTxtEdiSylPra (ActDowShaDeg+229)
#define ActRchTxtEdiBib (ActDowShaDeg+230)
#define ActRchTxtEdiFAQ (ActDowShaDeg+231)
#define ActRchTxtEdiCrsLnk (ActDowShaDeg+232)
#define ActRcvPlaTxtCrsInf (ActDowShaDeg+233)
#define ActRcvPlaTxtTchGui (ActDowShaDeg+234)
#define ActRcvPlaTxtSylLec (ActDowShaDeg+235)
#define ActRcvPlaTxtSylPra (ActDowShaDeg+236)
#define ActRcvPlaTxtBib (ActDowShaDeg+237)
#define ActRcvPlaTxtFAQ (ActDowShaDeg+238)
#define ActRcvPlaTxtCrsLnk (ActDowShaDeg+239)
#define ActRcvRchTxtCrsInf (ActDowShaDeg+240)
#define ActRcvRchTxtTchGui (ActDowShaDeg+241)
#define ActRcvRchTxtSylLec (ActDowShaDeg+242)
#define ActRcvRchTxtSylPra (ActDowShaDeg+243)
#define ActRcvRchTxtBib (ActDowShaDeg+244)
#define ActRcvRchTxtFAQ (ActDowShaDeg+245)
#define ActRcvRchTxtCrsLnk (ActDowShaDeg+246)
/*****************************************************************************/
/***************************** Assessment tab ********************************/

View File

@ -135,13 +135,20 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 15.222.6 (2016-06-11)"
#define Log_PLATFORM_VERSION "SWAD 15.223 (2016-06-12)"
#define CSS_FILE "swad15.218.css"
#define JS_FILE "swad15.216.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 15.223: Jun 12, 2016 New forms to change course configuration. (202268 lines)
4 changes necessary in database:
UPDATE actions SET Txt='Cambiar cód. institucional asignatura' WHERE ActCod='1024' AND Language='es';
UPDATE actions SET Txt='Cambiar cód. institucional asignatura' WHERE ActCod='1025' AND Language='es';
UPDATE actions SET Txt='Cambiar año/semestre asignatura' WHERE ActCod='561' AND Language='es';
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1573','es','N','Cambiar año/semestre asignatura');
Version 15.222.6: Jun 11, 2016 Fixed layout in students column in result of search of teachers. (202214 lines)
Version 15.222.5: Jun 10, 2016 Indicators of a course are always calculated and stored in course configuration. (202214 lines)
Version 15.222.4: Jun 09, 2016 Code refactoring in indicators. (202208 lines)

View File

@ -95,6 +95,9 @@ static void Crs_GetParamsNewCourse (struct Course *Crs);
static bool Crs_CheckIfCourseNameExistsInCourses (long DegCod,unsigned Year,const char *FieldName,const char *Name,long CrsCod);
static void Crs_CreateCourse (struct Course *Crs,unsigned Status);
static void Crs_GetDataOfCourseFromRow (struct Course *Crs,MYSQL_ROW row);
static void Crs_UpdateCrsYear (struct Course *Crs,unsigned NewYear);
static void Crs_EmptyCourseCompletely (long CrsCod);
static bool Crs_RenameCourse (struct Course *Crs,Cns_ShortOrFullName_t ShortOrFullName);
static void Crs_PutButtonToGoToCrs (struct Course *Crs);
@ -141,7 +144,7 @@ void Crs_PrintConfiguration (void)
static void Crs_Configuration (bool PrintView)
{
extern struct Act_Actions Act_Actions[Act_NUM_ACTIONS];
// extern struct Act_Actions Act_Actions[Act_NUM_ACTIONS];
extern const char *The_ClassForm[The_NUM_THEMES];
extern const char *Txt_Course;
extern const char *Txt_Short_name;
@ -156,7 +159,6 @@ static void Crs_Configuration (bool PrintView)
extern const char *Txt_ROLES_PLURAL_Abc[Rol_NUM_ROLES][Usr_NUM_SEXS];
extern const char *Txt_Indicators;
extern const char *Txt_of_PART_OF_A_TOTAL;
extern const char *Txt_Save;
unsigned Year;
int NumIndicatorsFromDB;
struct Ind_IndicatorsCrs Indicators;
@ -195,10 +197,6 @@ static void Crs_Configuration (bool PrintView)
"</div>",
Gbl.CurrentCrs.Crs.FullName);
/***** Start form *****/
if (IsForm)
Act_FormStart (ActChgCrsLog);
/***** Start table *****/
fprintf (Gbl.F.Out,"<table class=\"FRAME_TABLE CELLS_PAD_2\">");
@ -238,7 +236,10 @@ static void Crs_Configuration (bool PrintView)
Txt_Year_OF_A_DEGREE);
if (IsForm)
{
fprintf (Gbl.F.Out,"<select name=\"OthCrsYear\">");
Act_FormStart (ActChgCrsYeaCfg);
fprintf (Gbl.F.Out,"<select name=\"OthCrsYear\""
" onchange=\"document.getElementById('%s').submit();\">",
Gbl.Form.Id);
for (Year = 0;
Year <= Deg_MAX_YEARS_PER_DEGREE;
Year++)
@ -248,6 +249,7 @@ static void Crs_Configuration (bool PrintView)
"",
Txt_YEAR_OF_DEGREE[Year]);
fprintf (Gbl.F.Out,"</select>");
Act_FormEnd ();
}
else
fprintf (Gbl.F.Out,"%s",
@ -267,11 +269,17 @@ static void Crs_Configuration (bool PrintView)
The_ClassForm[Gbl.Prefs.Theme],
Txt_Institutional_code);
if (IsForm)
{
Act_FormStart (ActChgInsCrsCodCfg);
fprintf (Gbl.F.Out,"<input type=\"text\" name=\"InsCrsCod\""
" size=\"%u\" maxlength=\"%u\" value=\"%s\" />",
" size=\"%u\" maxlength=\"%u\" value=\"%s\""
" onchange=\"document.getElementById('%s').submit();\" />",
Crs_LENGTH_INSTITUTIONAL_CRS_COD,
Crs_LENGTH_INSTITUTIONAL_CRS_COD,
Gbl.CurrentCrs.Crs.InstitutionalCrsCod);
Gbl.CurrentCrs.Crs.InstitutionalCrsCod,
Gbl.Form.Id);
Act_FormEnd ();
}
else
fprintf (Gbl.F.Out,"%s",Gbl.CurrentCrs.Crs.InstitutionalCrsCod);
fprintf (Gbl.F.Out,"</td>"
@ -358,36 +366,29 @@ static void Crs_Configuration (bool PrintView)
"<td class=\"%s RIGHT_MIDDLE\">"
"%s:"
"</td>"
"<td class=\"DAT LEFT_MIDDLE\">"
"<a href=\"%s/?crs=%ld&amp;act=%ld\" target=\"_blank\" class=\"DAT\">"
"%u %s %u "
"<img src=\"%s/%s16x16.gif\""
" alt=\"%u %s %u\" title=\"%u %s %u\""
" class=\"ICON20x20\" />"
"</a>"
"</td>"
"</tr>",
"<td class=\"LEFT_MIDDLE\">",
The_ClassForm[Gbl.Prefs.Theme],
Txt_Indicators,
Cfg_HTTPS_URL_SWAD_CGI,Gbl.CurrentCrs.Crs.CrsCod,Act_Actions[ActReqStaCrs].ActCod,
Indicators.NumIndicators,Txt_of_PART_OF_A_TOTAL,Ind_NUM_INDICATORS,
Txt_Indicators);
Act_FormStart (ActReqStaCrs);
sprintf (Gbl.Title,"%u %s %u",
Indicators.NumIndicators,Txt_of_PART_OF_A_TOTAL,Ind_NUM_INDICATORS);
Act_LinkFormSubmit (Gbl.Title,"DAT");
fprintf (Gbl.F.Out,"%s "
"<img src=\"%s/%s16x16.gif\" alt=\"%s\""
" class=\"ICON20x20\" />",
Gbl.Title,
Gbl.Prefs.IconsURL,
(Indicators.NumIndicators == Ind_NUM_INDICATORS) ? "ok_green" :
"warning",
Indicators.NumIndicators,Txt_of_PART_OF_A_TOTAL,Ind_NUM_INDICATORS,
Indicators.NumIndicators,Txt_of_PART_OF_A_TOTAL,Ind_NUM_INDICATORS);
Gbl.Title);
Act_FormEnd ();
fprintf (Gbl.F.Out,"</td>"
"</tr>");
}
/***** End table *****/
fprintf (Gbl.F.Out,"</table>");
/***** Send button and end form *****/
if (IsForm)
{
Lay_PutConfirmButton (Txt_Save);
Act_FormEnd ();
}
/***** End frame *****/
Lay_EndRoundFrame ();
}
@ -403,41 +404,6 @@ static void Crs_PutIconToPrint (void)
Lay_PutContextualLink (ActPrnCrsInf,NULL,"print64x64.png",Txt_Print,NULL);
}
/*****************************************************************************/
/******************** Change the configuration of a course *******************/
/*****************************************************************************/
void Crs_ChangeCourseConfig (void)
{
extern const char *Txt_The_configuration_of_the_course_X_has_been_updated;
char Query[512];
char YearStr[2+1];
/***** Get parameters from form *****/
/* Get institutional code */
Par_GetParToText ("InsCrsCod",Gbl.CurrentCrs.Crs.InstitutionalCrsCod,Crs_LENGTH_INSTITUTIONAL_CRS_COD);
/* Get year */
Par_GetParToText ("OthCrsYear",YearStr,2);
Gbl.CurrentCrs.Crs.Year = Deg_ConvStrToYear (YearStr);
/***** Update table of degree types *****/
sprintf (Query,"UPDATE courses SET InsCrsCod='%s',Year='%u'"
" WHERE CrsCod='%ld'",
Gbl.CurrentCrs.Crs.InstitutionalCrsCod,
Gbl.CurrentCrs.Crs.Year,
Gbl.CurrentCrs.Crs.CrsCod);
DB_QueryUPDATE (Query,"can not update the configuration of a course");
/***** Write message to show the change made *****/
sprintf (Gbl.Message,Txt_The_configuration_of_the_course_X_has_been_updated,
Gbl.CurrentCrs.Crs.ShortName);
Lay_ShowAlert (Lay_SUCCESS,Gbl.Message);
/***** Show the form again *****/
Crs_ShowIntroduction ();
}
/*****************************************************************************/
/************************ Write menu with my courses *************************/
/*****************************************************************************/
@ -738,6 +704,21 @@ static void Crs_WriteListMyCoursesToSelectOne (void)
Lay_EndRoundFrame ();
}
/*****************************************************************************/
/** Show message of success after changing a course in course configuration **/
/*****************************************************************************/
void Crs_ContEditAfterChgCrsInConfig (void)
{
/***** Write error/success message *****/
Lay_ShowAlert (Gbl.Error ? Lay_WARNING :
Lay_SUCCESS,
Gbl.Message);
/***** Show the form again *****/
Crs_ShowIntroduction ();
}
/*****************************************************************************/
/*********************** Get total number of courses *************************/
/*****************************************************************************/
@ -2291,6 +2272,33 @@ static void Crs_EmptyCourseCompletely (long CrsCod)
Brw_RemoveTree (PathRelCrs);
}
/*****************************************************************************/
/***** Change the institutional code of a course in course configuration *****/
/*****************************************************************************/
void Crs_ChangeInsCrsCodInConfig (void)
{
extern const char *Txt_The_institutional_code_of_the_course_X_has_changed_to_Y;
extern const char *Txt_The_institutional_code_of_the_course_X_has_not_changed;
extern const char *Txt_You_dont_have_permission_to_edit_this_course;
char NewInstitutionalCrsCod[Crs_LENGTH_INSTITUTIONAL_CRS_COD+1];
/***** Get institutional code from form *****/
Par_GetParToText ("InsCrsCod",NewInstitutionalCrsCod,Crs_LENGTH_INSTITUTIONAL_CRS_COD);
/***** Change the institutional course code *****/
if (strcmp (NewInstitutionalCrsCod,Gbl.CurrentCrs.Crs.InstitutionalCrsCod))
{
Crs_UpdateInstitutionalCrsCod (&Gbl.CurrentCrs.Crs,NewInstitutionalCrsCod);
sprintf (Gbl.Message,Txt_The_institutional_code_of_the_course_X_has_changed_to_Y,
Gbl.CurrentCrs.Crs.ShortName,NewInstitutionalCrsCod);
}
else // The same institutional code
sprintf (Gbl.Message,Txt_The_institutional_code_of_the_course_X_has_not_changed,
Gbl.CurrentCrs.Crs.ShortName);
}
/*****************************************************************************/
/************** Change the institutional code of a course ********************/
/*****************************************************************************/
@ -2423,6 +2431,55 @@ void Crs_ChangeCrsDegree (void)
}
}
/*****************************************************************************/
/*********** Change the year of a course in course configuration *************/
/*****************************************************************************/
void Crs_ChangeCrsYearInConfig (void)
{
extern const char *Txt_The_course_X_already_exists_in_year_Y;
extern const char *Txt_YEAR_OF_DEGREE[1+Deg_MAX_YEARS_PER_DEGREE];
extern const char *Txt_The_year_of_the_course_X_has_changed;
extern const char *Txt_The_year_X_is_not_allowed;
char YearStr[2+1];
unsigned NewYear;
/***** Get parameter with year/semester *****/
Par_GetParToText ("OthCrsYear",YearStr,2);
NewYear = Deg_ConvStrToYear (YearStr);
if (NewYear <= Deg_MAX_YEARS_PER_DEGREE) // If year is valid
{
/***** If name of course was in database in the new year... *****/
if (Crs_CheckIfCourseNameExistsInCourses (Gbl.CurrentCrs.Crs.DegCod,NewYear,"ShortName",Gbl.CurrentCrs.Crs.ShortName,-1L))
{
sprintf (Gbl.Message,Txt_The_course_X_already_exists_in_year_Y,
Gbl.CurrentCrs.Crs.ShortName,Txt_YEAR_OF_DEGREE[NewYear]);
Gbl.Error = true;
}
else if (Crs_CheckIfCourseNameExistsInCourses (Gbl.CurrentCrs.Crs.DegCod,NewYear,"FullName",Gbl.CurrentCrs.Crs.FullName,-1L))
{
sprintf (Gbl.Message,Txt_The_course_X_already_exists_in_year_Y,
Gbl.CurrentCrs.Crs.FullName,Txt_YEAR_OF_DEGREE[NewYear]);
Gbl.Error = true;
}
else // Update year in database
{
/***** Update year in table of courses *****/
Crs_UpdateCrsYear (&Gbl.CurrentCrs.Crs,NewYear);
/***** Create message to show the change made *****/
sprintf (Gbl.Message,Txt_The_year_of_the_course_X_has_changed,
Gbl.CurrentCrs.Crs.ShortName);
}
}
else // Year not valid
{
sprintf (Gbl.Message,Txt_The_year_X_is_not_allowed,NewYear);
Gbl.Error = true;
}
}
/*****************************************************************************/
/************************ Change the year of a course ************************/
/*****************************************************************************/
@ -2436,7 +2493,6 @@ void Crs_ChangeCrsYear (void)
extern const char *Txt_You_dont_have_permission_to_edit_this_course;
struct Course *Crs;
struct Degree Deg;
char Query[512];
char YearStr[2+1];
unsigned NewYear;
@ -2476,11 +2532,7 @@ void Crs_ChangeCrsYear (void)
else // Update year in database
{
/***** Update year in table of courses *****/
sprintf (Query,"UPDATE courses SET Year='%u' WHERE CrsCod='%ld'",
NewYear,Crs->CrsCod);
DB_QueryUPDATE (Query,"can not update the year of a course");
Crs->Year = NewYear;
Crs_UpdateCrsYear (Crs,NewYear);
/***** Create message to show the change made *****/
sprintf (Gbl.Message,Txt_The_year_of_the_course_X_has_changed,
@ -2500,6 +2552,23 @@ void Crs_ChangeCrsYear (void)
}
}
/*****************************************************************************/
/****************** Change the year/semester of a course *********************/
/*****************************************************************************/
static void Crs_UpdateCrsYear (struct Course *Crs,unsigned NewYear)
{
char Query[128];
/***** Update year/semester in table of courses *****/
sprintf (Query,"UPDATE courses SET Year='%u' WHERE CrsCod='%ld'",
NewYear,Gbl.CurrentCrs.Crs.CrsCod);
DB_QueryUPDATE (Query,"can not update the year of a course");
/***** Copy couese year/semester *****/
Crs->Year = NewYear;
}
/*****************************************************************************/
/************* Change the institutional course code of a course **************/
/*****************************************************************************/

View File

@ -93,7 +93,7 @@ struct Course
void Crs_ShowIntroduction (void);
void Crs_PrintConfiguration (void);
void Crs_ChangeCourseConfig (void);
void Crs_ContEditAfterChgCrsInConfig (void);
unsigned Crs_GetNumCrssTotal (void);
unsigned Crs_GetNumCrssInCty (long CtyCod);
@ -116,8 +116,10 @@ void Crs_RemoveCourse (void);
bool Crs_GetDataOfCourseByCod (struct Course *Crs);
void Crs_GetShortNamesByCod (long CrsCod,char *CrsShortName,char *DegShortName);
void Crs_RemoveCourseCompletely (long CrsCod);
void Crs_ChangeInsCrsCodInConfig (void);
void Crs_ChangeInsCrsCod (void);
void Crs_ChangeCrsDegree (void);
void Crs_ChangeCrsYearInConfig (void);
void Crs_ChangeCrsYear (void);
void Crs_UpdateInstitutionalCrsCod (struct Course *Crs,const char *NewInstitutionalCrsCod);
void Crs_RenameCourseShort (void);

View File

@ -41199,27 +41199,6 @@ const char *Txt_The_centre_X_has_been_renamed_as_Y = // Warning: it is very impo
"The centre <strong>%s</strong> has been renamed as <strong>%s</strong>."; // Necessita de tradução
#endif
const char *Txt_The_configuration_of_the_course_X_has_been_updated = // Warning: it is very important to include %s in the following sentences
#if L==1
"La configuraci&oacute;n de la asignatura <strong>%s</strong> se ha actualizado."; // Necessita traduccio
#elif L==2
"The configuration of the course <strong>%s</strong> has been updated."; // Need Übersetzung
#elif L==3
"The configuration of the course <strong>%s</strong> has been updated.";
#elif L==4
"La configuraci&oacute;n de la asignatura <strong>%s</strong> se ha actualizado.";
#elif L==5
"The configuration of the course <strong>%s</strong> has been updated."; // Besoin de traduction
#elif L==6
"La configuraci&oacute;n de la asignatura <strong>%s</strong> se ha actualizado."; // Okoteve traducción
#elif L==7
"La configurazione del corso <strong>%s</strong> &egrave; stata aggiornata.";
#elif L==8
"The configuration of the course <strong>%s</strong> has been updated."; // Potrzebujesz tlumaczenie
#elif L==9
"The configuration of the course <strong>%s</strong> has been updated."; // Necessita de tradução
#endif
const char *Txt_The_contents_of_the_folder_are_too_big =
#if L==1
"El contingut de la carpeta &eacute;s massa gran.";