Version 15.201

This commit is contained in:
Antonio Cañas Vargas 2016-04-22 09:47:25 +02:00
parent 8fc14d3d46
commit 7db412b60b
19 changed files with 2401 additions and 1353 deletions

View File

@ -11521,3 +11521,22 @@ SELECT COUNT(*) FROM social_notes WHERE NoteType='10';
----- SWAD 15.199 (2016/04/16) -----
SELECT degrees.DegCod,degrees.CtrCod,degrees.DegTypCod,degrees.Status,degrees.RequesterUsrCod,degrees.ShortName,degrees.FullName,degrees.WWW FROM degrees,courses,crs_usr WHERE degrees.DegCod=courses.CrsCod AND courses.CrsCod=crs_usr.CrsCod AND crs_usr.Role='3' ORDER BY degrees.ShortName;
----- SWAD 15.201 (2016/04/21) -----
CREATE TABLE notif_backup LIKE notif;
INSERT INTO notif_backup SELECT * FROM notif;
CREATE TABLE sta_notif_backup LIKE sta_notif;
INSERT INTO sta_notif_backup SELECT * FROM sta_notif;
CREATE TABLE usr_data_backup LIKE usr_data;
INSERT INTO usr_data_backup SELECT * FROM usr_data;
UPDATE notif SET NotifyEvent=NotifyEvent+1 WHERE NotifyEvent>=2;
UPDATE sta_notif SET NotifyEvent=NotifyEvent+1 WHERE NotifyEvent>=2;
UPDATE usr_data SET NotifNtfEvents = (((NotifNtfEvents & ~0x3) << 1) | (NotifNtfEvents & 0x3) | 0x04);
UPDATE usr_data SET EmailNtfEvents = (((EmailNtfEvents & ~0x3) << 1) | (EmailNtfEvents & 0x3));

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

View File

@ -137,13 +137,70 @@
/****************************** Public constants *****************************/
/*****************************************************************************/
#define Log_PLATFORM_VERSION "SWAD 15.200.5 (2016-04-18)"
#define Log_PLATFORM_VERSION "SWAD 15.201 (2016-04-21)"
#define CSS_FILE "swad15.198.css"
#define JS_FILE "swad15.197.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.201: Apr 21, 2016 New private file zone for the teachers who belong to a course. (200768 lines)
50 changes necessary in database:
CREATE TABLE notif_backup LIKE notif;
INSERT INTO notif_backup SELECT * FROM notif;
CREATE TABLE sta_notif_backup LIKE sta_notif;
INSERT INTO sta_notif_backup SELECT * FROM sta_notif;
CREATE TABLE usr_data_backup LIKE usr_data;
INSERT INTO usr_data_backup SELECT * FROM usr_data;
UPDATE notif SET NotifyEvent=NotifyEvent+1 WHERE NotifyEvent>=2;
UPDATE sta_notif SET NotifyEvent=NotifyEvent+1 WHERE NotifyEvent>=2;
UPDATE usr_data SET NotifNtfEvents = (((NotifNtfEvents & ~0x3) << 1) | (NotifNtfEvents & 0x3) | 0x04);
UPDATE usr_data SET EmailNtfEvents = (((EmailNtfEvents & ~0x3) << 1) | (EmailNtfEvents & 0x3));
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1525','es','N','Administrar zona de profesores');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1526','es','N','Cambiar a admin. archivos prof.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1527','es','N','Administrar archivos prof. asg.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1528','es','N','Solicitar elim. arch. prof. asg.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1529','es','N','Eliminar archivo prof. asg.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1530','es','N','Eliminar carpeta prof. asg.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1531','es','N','Copiar de zona prof. asg.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1532','es','N','Pegar en zona prof. asg.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1533','es','N','Eliminar &aacute;rbol prof. asg.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1534','es','N','Solic.nuevo arch/carp prof. asg.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1535','es','N','Crear carpeta prof. asg.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1536','es','N','Crear enlace prof. asg.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1537','es','N','Renombrar carpeta prof. asg.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1538','es','N','Subir archivo prof. asg.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1539','es','N','Subir archivo prof. asg. (ant.)');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1540','es','N','Expandir carpeta prof. asg.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1541','es','N','Contraer carpeta prof. asg.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1542','es','N','Crear ZIP prof. asg.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1543','es','N','Ver metadatos arch. prof. asg.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1544','es','N','Cambiar metadatos arch. prof. asg.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1545','es','N','Descargar arch. prof. asg.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1546','es','N','Administrar archivos prof. grp.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1547','es','N','Solicitar elim. arch. prof. grp.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1548','es','N','Eliminar archivo prof. grp.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1549','es','N','Eliminar carpeta prof. grp.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1550','es','N','Copiar de zona prof. grp.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1551','es','N','Pegar en zona prof. grp.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1552','es','N','Eliminar &aacute;rbol prof. grp.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1553','es','N','Solic.nuevo arch/carp prof. grp.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1554','es','N','Crear carpeta prof. grp.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1555','es','N','Crear enlace prof. grp.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1556','es','N','Renombrar carpeta prof. grp.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1557','es','N','Subir archivo prof. grp.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1558','es','N','Subir archivo prof. asg. (grp.)');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1559','es','N','Expandir carpeta prof. grp.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1560','es','N','Contraer carpeta prof. grp.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1561','es','N','Crear ZIP prof. grp.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1562','es','N','Ver metadatos arch. prof. grp.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1563','es','N','Cambiar metadatos arch. prof. grp.');
INSERT INTO actions (ActCod,Language,Obsolete,Txt) VALUES ('1564','es','N','Descargar arch. prof. grp.');
Version 15.200.5: Apr 18, 2016 Removed link to enter from external service. (199764 lines)
Version 15.200.4: Apr 18, 2016 Changes in configuration. (199785 lines)
Version 15.200.3: Apr 18, 2016 Fixed bug in tests, reported by Miguel Damas Hermoso. (199788 lines)

File diff suppressed because it is too large Load Diff

View File

@ -35,8 +35,9 @@
/******************************* Public types ********************************/
/*****************************************************************************/
#define Brw_NUM_TYPES_FILE_BROWSER 25
// The following types are stored in clipboard, expanded_folders, file_browser_size tables as numeric fields, so don't change numbers!
#define Brw_NUM_TYPES_FILE_BROWSER 27
// The following types are stored in several database tables as numeric fields,
// so don't change numbers!
typedef enum
{
Brw_UNKNOWN = 0,
@ -64,6 +65,8 @@ typedef enum
Brw_ADMI_SHARE_DEG = 22,
Brw_ADMI_SHARE_CTR = 23,
Brw_ADMI_SHARE_INS = 24,
Brw_ADMI_TEACH_CRS = 25,
Brw_ADMI_TEACH_GRP = 26,
} Brw_FileBrowser_t;
// The following types are stored in files and clipboard tables as numeric fields, so don't change numbers!
@ -131,6 +134,7 @@ struct FileMetadata
#define Brw_INTERNAL_NAME_ROOT_FOLDER_DOCUMENTS "doc"
#define Brw_INTERNAL_NAME_ROOT_FOLDER_SHARED_FILES "sha"
#define Brw_INTERNAL_NAME_ROOT_FOLDER_DOWNLOAD "descarga" // TODO: It should be "doc"
#define Brw_INTERNAL_NAME_ROOT_FOLDER_TEACHERS "tch"
#define Brw_INTERNAL_NAME_ROOT_FOLDER_SHARED "comun" // TODO: It should be "sha"
#define Brw_INTERNAL_NAME_ROOT_FOLDER_ASSIGNMENTS "actividades" // TODO: It should be "asg"
#define Brw_INTERNAL_NAME_ROOT_FOLDER_WORKS "trabajos" // TODO: It should be "wrk"
@ -226,8 +230,8 @@ void Brw_RemoveGrpZones (long CrsCod,long GrpCod);
void Brw_RemoveUsrWorksInCrs (struct UsrData *UsrDat,struct Course *Crs,Cns_QuietOrVerbose_t QuietOrVerbose);
void Brw_RemoveUsrWorksInAllCrss (struct UsrData *UsrDat,Cns_QuietOrVerbose_t QuietOrVerbose);
void Brw_GetSummaryAndContentOrSharedFile (char *SummaryStr,char **ContentStr,
long FilCod,unsigned MaxChars,bool GetContent);
void Brw_GetSummaryAndContentOfFile (char *SummaryStr,char **ContentStr,
long FilCod,unsigned MaxChars,bool GetContent);
unsigned Brw_ListDocsFound (const char *Query,
const char *TitleSingular,const char *TitlePlural);

View File

@ -1139,14 +1139,14 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat
"DAT_SMALL_RED",Gbl.RowEvenOdd,
Indicators.ThereAreMaterials ? "" :
Txt_NO,
(Indicators.NumFilesInDownloadZones != 0) ? "DAT_SMALL_GREEN" :
(Indicators.NumFilesInDocumentZones != 0) ? "DAT_SMALL_GREEN" :
"DAT_SMALL_RED",
Gbl.RowEvenOdd,
Indicators.NumFilesInDownloadZones,
(Indicators.NumFilesInCommonZones != 0) ? "DAT_SMALL_GREEN" :
Indicators.NumFilesInDocumentZones,
(Indicators.NumFilesInSharedZones != 0) ? "DAT_SMALL_GREEN" :
"DAT_SMALL_RED",
Gbl.RowEvenOdd,
Indicators.NumFilesInCommonZones,
Indicators.NumFilesInSharedZones,
"DAT_SMALL_GREEN",Gbl.RowEvenOdd,
Indicators.ThereIsAssessment ? Txt_YES :
@ -1225,12 +1225,14 @@ void Ind_GetIndicatorsCrs (long CrsCod,struct Ind_IndicatorsCrs *Indicators)
Indicators->CountIndicators = 0;
/* Get whether download zones are empty or not */
Indicators->NumFilesInDownloadZonesCrs = Ind_GetNumFilesOfCrsFileZoneFromDB (Brw_ADMI_DOCUM_CRS,CrsCod);
Indicators->NumFilesInDownloadZonesGrp = Ind_GetNumFilesOfCrsFileZoneFromDB (Brw_ADMI_DOCUM_GRP,CrsCod);
Indicators->NumFilesInDownloadZones = Indicators->NumFilesInDownloadZonesCrs + Indicators->NumFilesInDownloadZonesGrp;
Indicators->NumFilesInCommonZonesCrs = Ind_GetNumFilesOfCrsFileZoneFromDB (Brw_ADMI_SHARE_CRS,CrsCod);
Indicators->NumFilesInCommonZonesGrp = Ind_GetNumFilesOfCrsFileZoneFromDB (Brw_ADMI_SHARE_GRP,CrsCod);
Indicators->NumFilesInCommonZones = Indicators->NumFilesInCommonZonesCrs + Indicators->NumFilesInCommonZonesGrp;
Indicators->NumFilesInDocumentZonesCrs = Ind_GetNumFilesOfCrsFileZoneFromDB (Brw_ADMI_DOCUM_CRS,CrsCod);
Indicators->NumFilesInDocumentZonesGrp = Ind_GetNumFilesOfCrsFileZoneFromDB (Brw_ADMI_DOCUM_GRP,CrsCod);
Indicators->NumFilesInDocumentZones = Indicators->NumFilesInDocumentZonesCrs +
Indicators->NumFilesInDocumentZonesGrp;
Indicators->NumFilesInSharedZonesCrs = Ind_GetNumFilesOfCrsFileZoneFromDB (Brw_ADMI_SHARE_CRS,CrsCod);
Indicators->NumFilesInSharedZonesGrp = Ind_GetNumFilesOfCrsFileZoneFromDB (Brw_ADMI_SHARE_GRP,CrsCod);
Indicators->NumFilesInSharedZones = Indicators->NumFilesInSharedZonesCrs +
Indicators->NumFilesInSharedZonesGrp;
/* Indicator #1: information about syllabus */
Inf_GetInfoSrcFromDB (CrsCod,Inf_LECTURES ,&(Indicators->SyllabusLecSrc ),&MustBeRead);
@ -1263,8 +1265,8 @@ void Ind_GetIndicatorsCrs (long CrsCod,struct Ind_IndicatorsCrs *Indicators)
Indicators->CountIndicators++;
/* Indicator #4: information about materials */
Indicators->ThereAreMaterials = (Indicators->NumFilesInDownloadZones != 0) ||
(Indicators->NumFilesInCommonZones != 0);
Indicators->ThereAreMaterials = (Indicators->NumFilesInDocumentZones != 0) ||
(Indicators->NumFilesInSharedZones != 0);
if (Indicators->ThereAreMaterials)
Indicators->CountIndicators++;

View File

@ -34,12 +34,12 @@
#define Ind_NUM_INDICATORS 5
struct Ind_IndicatorsCrs
{
unsigned long NumFilesInDownloadZones;
unsigned long NumFilesInDownloadZonesCrs;
unsigned long NumFilesInDownloadZonesGrp;
unsigned long NumFilesInCommonZones;
unsigned long NumFilesInCommonZonesCrs;
unsigned long NumFilesInCommonZonesGrp;
unsigned long NumFilesInDocumentZones;
unsigned long NumFilesInDocumentZonesCrs;
unsigned long NumFilesInDocumentZonesGrp;
unsigned long NumFilesInSharedZones;
unsigned long NumFilesInSharedZonesCrs;
unsigned long NumFilesInSharedZonesGrp;
bool ThereIsSyllabus;
Inf_InfoSrc_t TeachingGuideSrc;
Inf_InfoSrc_t SyllabusLecSrc;

View File

@ -201,6 +201,8 @@ void Lay_WriteStartOfPage (void)
Gbl.Action.Act == ActFrmCreShaDeg || // Brw_ADMI_SHARE_DEG
Gbl.Action.Act == ActFrmCreDocCrs || // Brw_ADMI_DOCUM_CRS
Gbl.Action.Act == ActFrmCreDocGrp || // Brw_ADMI_DOCUM_GRP
Gbl.Action.Act == ActFrmCreTchCrs || // Brw_ADMI_TEACH_CRS
Gbl.Action.Act == ActFrmCreTchGrp || // Brw_ADMI_TEACH_GRP
Gbl.Action.Act == ActFrmCreShaCrs || // Brw_ADMI_SHARE_CRS
Gbl.Action.Act == ActFrmCreShaGrp || // Brw_ADMI_SHARE_GRP
Gbl.Action.Act == ActFrmCreAsgUsr || // Brw_ADMI_ASSIG_USR
@ -539,6 +541,8 @@ static void Lay_WriteScripts (void)
case ActFrmCreShaDeg: // Brw_ADMI_SHARE_DEG
case ActFrmCreDocCrs: // Brw_ADMI_DOCUM_CRS
case ActFrmCreDocGrp: // Brw_ADMI_DOCUM_GRP
case ActFrmCreTchCrs: // Brw_ADMI_TEACH_CRS
case ActFrmCreTchGrp: // Brw_ADMI_TEACH_GRP
case ActFrmCreShaCrs: // Brw_ADMI_SHARE_CRS
case ActFrmCreShaGrp: // Brw_ADMI_SHARE_GRP
case ActFrmCreAsgUsr: // Brw_ADMI_ASSIG_USR

View File

@ -125,6 +125,7 @@ const Act_Action_t Mnu_MenuActions[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB
ActSeeTchGui,
ActSeeSyl,
ActSeeAdmDocCrsGrp,
ActAdmTchCrsGrp,
ActAdmShaCrsGrp,
ActSeeCrsTT,
ActSeeBib,

View File

@ -61,6 +61,7 @@ const char *Ntf_WSNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] =
/* Course tab */
"documentFile", // Ntf_EVENT_DOCUMENT_FILE
"teachersFile", // Ntf_EVENT_TEACHERS_FILE
"sharedFile", // Ntf_EVENT_SHARED_FILE
/* Assessment tab */
@ -98,6 +99,7 @@ static const Act_Action_t Ntf_DefaultActions[Ntf_NUM_NOTIFY_EVENTS] =
/* Course tab */
ActSeeAdmDocCrsGrp, // Ntf_EVENT_DOCUMENT_FILE
ActAdmTchCrsGrp, // Ntf_EVENT_TEACHERS_FILE
ActAdmShaCrsGrp, // Ntf_EVENT_SHARED_FILE
/* Assessment tab */
@ -140,6 +142,7 @@ static const char *Ntf_ParamNotifMeAboutNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] =
/* Course tab */
"NotifyNtfEventDocumentFile", // Ntf_EVENT_DOCUMENT_FILE
"NotifyNtfEventTeachersFile", // Ntf_EVENT_TEACHERS_FILE
"NotifyNtfEventSharedFile", // Ntf_EVENT_SHARED_FILE
/* Assessment tab */
@ -178,6 +181,7 @@ static const char *Ntf_ParamEmailMeAboutNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] =
/* Course tab */
"EmailNtfEventDocumentFile", // Ntf_EVENT_DOCUMENT_FILE
"EmailNtfEventTeachersFile", // Ntf_EVENT_TEACHERS_FILE
"EmailNtfEventSharedFile", // Ntf_EVENT_SHARED_FILE
/* Assessment tab */
@ -216,6 +220,7 @@ static const char *Ntf_Icons[Ntf_NUM_NOTIFY_EVENTS] =
/* Course tab */
"file64x64.gif", // Ntf_EVENT_DOCUMENT_FILE
"file64x64.gif", // Ntf_EVENT_TEACHERS_FILE
"file64x64.gif", // Ntf_EVENT_SHARED_FILE
/* Assessment tab */
@ -683,6 +688,7 @@ static bool Ntf_StartFormGoToAction (Ntf_NotifyEvent_t NotifyEvent,
switch (NotifyEvent)
{
case Ntf_EVENT_DOCUMENT_FILE:
case Ntf_EVENT_TEACHERS_FILE:
case Ntf_EVENT_SHARED_FILE:
case Ntf_EVENT_MARKS_FILE:
Action = ActUnk;
@ -702,6 +708,10 @@ static bool Ntf_StartFormGoToAction (Ntf_NotifyEvent_t NotifyEvent,
(CtrCod > 0 ? ActReqDatSeeDocCtr :
ActReqDatSeeDocIns))));
break;
case Ntf_EVENT_TEACHERS_FILE:
Action = (GrpCod > 0 ? ActReqDatTchGrp :
ActReqDatTchCrs);
break;
case Ntf_EVENT_SHARED_FILE:
Action = (GrpCod > 0 ? ActReqDatShaGrp :
(CrsCod > 0 ? ActReqDatShaCrs :
@ -854,8 +864,9 @@ void Ntf_GetNotifSummaryAndContent (char *SummaryStr,char **ContentStr,
case Ntf_EVENT_UNKNOWN:
break;
case Ntf_EVENT_DOCUMENT_FILE:
case Ntf_EVENT_TEACHERS_FILE:
case Ntf_EVENT_SHARED_FILE:
Brw_GetSummaryAndContentOrSharedFile (SummaryStr,ContentStr,Cod,MaxChars,GetContent);
Brw_GetSummaryAndContentOfFile (SummaryStr,ContentStr,Cod,MaxChars,GetContent);
break;
case Ntf_EVENT_ASSIGNMENT:
Asg_GetNotifAssignment (SummaryStr,ContentStr,Cod,MaxChars,GetContent);
@ -1012,6 +1023,8 @@ void Ntf_MarkNotifOneFileAsRemoved (const char *Path)
{
case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_DOCUM_GRP:
case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_CRS:
@ -1027,6 +1040,10 @@ void Ntf_MarkNotifOneFileAsRemoved (const char *Path)
case Brw_ADMI_DOCUM_GRP:
NotifyEvent = Ntf_EVENT_DOCUMENT_FILE;
break;
case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_TEACH_GRP:
NotifyEvent = Ntf_EVENT_TEACHERS_FILE;
break;
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_SHARE_GRP:
NotifyEvent = Ntf_EVENT_SHARED_FILE;
@ -1062,6 +1079,8 @@ void Ntf_MarkNotifChildrenOfFolderAsRemoved (const char *Path)
{
case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_DOCUM_GRP:
case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_CRS:
@ -1073,6 +1092,10 @@ void Ntf_MarkNotifChildrenOfFolderAsRemoved (const char *Path)
case Brw_ADMI_DOCUM_GRP:
NotifyEvent = Ntf_EVENT_DOCUMENT_FILE;
break;
case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_TEACH_GRP:
NotifyEvent = Ntf_EVENT_TEACHERS_FILE;
break;
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_SHARE_GRP:
NotifyEvent = Ntf_EVENT_SHARED_FILE;
@ -1110,14 +1133,16 @@ void Ntf_MarkNotifFilesInGroupAsRemoved (long GrpCod)
/***** Set notifications as removed *****/
sprintf (Query,"UPDATE notif SET Status=(Status | %u)"
" WHERE NotifyEvent IN ('%u','%u','%u') AND Cod IN"
" WHERE NotifyEvent IN ('%u','%u','%u','%u') AND Cod IN"
" (SELECT FilCod FROM files"
" WHERE FileBrowser IN ('%u','%u','%u') AND Cod='%ld')",
" WHERE FileBrowser IN ('%u','%u','%u','%u') AND Cod='%ld')",
(unsigned) Ntf_STATUS_BIT_REMOVED,
(unsigned) Ntf_EVENT_DOCUMENT_FILE,
(unsigned) Ntf_EVENT_TEACHERS_FILE,
(unsigned) Ntf_EVENT_SHARED_FILE,
(unsigned) Ntf_EVENT_MARKS_FILE,
(unsigned) Brw_ADMI_DOCUM_GRP,
(unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP,
GrpCod);
@ -1147,28 +1172,50 @@ unsigned Ntf_StoreNotifyEventsToAllUsrs (Ntf_NotifyEvent_t NotifyEvent,long Cod)
case Ntf_EVENT_UNKNOWN: // This function should not be called in this case
return 0;
case Ntf_EVENT_DOCUMENT_FILE:
case Ntf_EVENT_TEACHERS_FILE:
case Ntf_EVENT_SHARED_FILE:
case Ntf_EVENT_MARKS_FILE:
switch (Gbl.FileBrowser.Type)
{
case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_MARKS_CRS:
case Brw_ADMI_MARKS_CRS: // Notify all users in course except me
sprintf (Query,"SELECT UsrCod FROM crs_usr"
" WHERE CrsCod='%ld'"
" AND UsrCod<>'%ld'",
Gbl.CurrentCrs.Crs.CrsCod,
Gbl.Usrs.Me.UsrDat.UsrCod);
break;
case Brw_ADMI_TEACH_CRS: // Notify all teachers in course except me
sprintf (Query,"SELECT UsrCod FROM crs_usr"
" WHERE CrsCod='%ld'"
" AND UsrCod<>'%ld'"
" AND Role='%u'", // Notify teachers only
Gbl.CurrentCrs.Crs.CrsCod,
Gbl.Usrs.Me.UsrDat.UsrCod,
(unsigned) Rol_TEACHER);
break;
case Brw_ADMI_DOCUM_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
case Brw_ADMI_MARKS_GRP: // Notify all users in group except me
sprintf (Query,"SELECT UsrCod FROM crs_grp_usr"
" WHERE crs_grp_usr.GrpCod='%ld'"
" AND crs_grp_usr.UsrCod<>'%ld'",
Gbl.CurrentCrs.Grps.GrpCod,
Gbl.Usrs.Me.UsrDat.UsrCod);
break;
case Brw_ADMI_TEACH_GRP: // Notify all teachers in group except me
sprintf (Query,"SELECT crs_grp_usr.UsrCod"
" FROM crs_grp_usr,crs_grp,crs_usr"
" WHERE crs_grp_usr.GrpCod='%ld'"
" AND crs_grp_usr.UsrCod<>'%ld'"
" AND crs_grp_usr.GrpCod=crs_grp.GrpCod"
" AND crs_grp.CrsCod=crs_usr.CrsCod"
" AND crs_usr.Role='%u'", // Notify teachers only
Gbl.CurrentCrs.Grps.GrpCod,
Gbl.Usrs.Me.UsrDat.UsrCod,
(unsigned) Rol_TEACHER);
break;
default: // This function should not be called in other cases
return 0;
}
@ -1207,7 +1254,8 @@ unsigned Ntf_StoreNotifyEventsToAllUsrs (Ntf_NotifyEvent_t NotifyEvent,long Cod)
if (Gbl.CurrentCrs.Crs.NumTchs)
// If this course has teachers ==> send notification to teachers
sprintf (Query,"SELECT UsrCod FROM crs_usr"
" WHERE CrsCod='%ld' AND UsrCod<>'%ld'"
" WHERE CrsCod='%ld'"
" AND UsrCod<>'%ld'"
" AND Role='%u'", // Notify teachers only
Gbl.CurrentCrs.Crs.CrsCod,
Gbl.Usrs.Me.UsrDat.UsrCod,
@ -1593,6 +1641,7 @@ static void Ntf_SendPendingNotifByEMailToOneUsr (struct UsrData *ToUsrDat,unsign
case Ntf_EVENT_FOLLOWER:
break;
case Ntf_EVENT_DOCUMENT_FILE:
case Ntf_EVENT_TEACHERS_FILE:
case Ntf_EVENT_SHARED_FILE:
case Ntf_EVENT_ASSIGNMENT:
case Ntf_EVENT_EXAM_ANNOUNCEMENT:

View File

@ -37,42 +37,44 @@
/******************************** Public types *******************************/
/*****************************************************************************/
#define Ntf_NUM_NOTIFY_EVENTS (1+18)
#define Ntf_NUM_NOTIFY_EVENTS (1+19)
// If the numbers assigned to each event type change,
// it is necessary to change old numbers to new ones in database tables notif and sta_notif
// it is necessary to change old numbers to new ones
// in database tables notif, sta_notif and usr_data
typedef enum
{
Ntf_EVENT_UNKNOWN = 0,
/* Course tab */
Ntf_EVENT_DOCUMENT_FILE = 1,
Ntf_EVENT_SHARED_FILE = 2,
Ntf_EVENT_TEACHERS_FILE = 2, // TODO: Change all the numbers >= 2
Ntf_EVENT_SHARED_FILE = 3, // Old 2
/* Assessment tab */
Ntf_EVENT_ASSIGNMENT = 3,
Ntf_EVENT_EXAM_ANNOUNCEMENT = 4,
Ntf_EVENT_MARKS_FILE = 5,
Ntf_EVENT_ASSIGNMENT = 4, // Old 3
Ntf_EVENT_EXAM_ANNOUNCEMENT = 5, // Old 4
Ntf_EVENT_MARKS_FILE = 6, // Old 5
/* Users tab */
Ntf_EVENT_ENROLLMENT_STUDENT = 6,
Ntf_EVENT_ENROLLMENT_TEACHER = 7,
Ntf_EVENT_ENROLLMENT_REQUEST = 8,
Ntf_EVENT_ENROLLMENT_STUDENT = 7, // Old 6
Ntf_EVENT_ENROLLMENT_TEACHER = 8, // Old 7
Ntf_EVENT_ENROLLMENT_REQUEST = 9, // Old 8
/* Social tab */
Ntf_EVENT_TIMELINE_COMMENT = 9, // Old 10 // New comment to one of my social publishings (notes or comments)
Ntf_EVENT_TIMELINE_FAV = 10, // Old 11 // New fav of one of my social publishings (notes or comments)
Ntf_EVENT_TIMELINE_SHARE = 11, // Old 12 // New sharing of one of my social notes
Ntf_EVENT_TIMELINE_MENTION = 12, // Old 13 // New mention
Ntf_EVENT_FOLLOWER = 13, // Old 14
Ntf_EVENT_FORUM_POST_COURSE = 14, // Old 15 // New post in forums of my courses
Ntf_EVENT_FORUM_REPLY = 15, // Old 16 // New reply to one of my posts in any forum
Ntf_EVENT_TIMELINE_COMMENT = 10, // Old 9 // New comment to one of my social publishings (notes or comments)
Ntf_EVENT_TIMELINE_FAV = 11, // Old 10 // New fav of one of my social publishings (notes or comments)
Ntf_EVENT_TIMELINE_SHARE = 12, // Old 11 // New sharing of one of my social notes
Ntf_EVENT_TIMELINE_MENTION = 13, // Old 12 // New mention
Ntf_EVENT_FOLLOWER = 14, // Old 13
Ntf_EVENT_FORUM_POST_COURSE = 15, // Old 14 // New post in forums of my courses
Ntf_EVENT_FORUM_REPLY = 16, // Old 15 // New reply to one of my posts in any forum
/* Messages tab */
Ntf_EVENT_NOTICE = 16, // Old 17
Ntf_EVENT_MESSAGE = 17, // Old 18
Ntf_EVENT_NOTICE = 17, // Old 16
Ntf_EVENT_MESSAGE = 18, // Old 17
/* Statistics tab */
Ntf_EVENT_SURVEY = 18, // Old 19
Ntf_EVENT_SURVEY = 19, // Old 18
/* Profile tab */

View File

@ -875,7 +875,7 @@ static unsigned Sch_SearchDocumentsInMyCoursesInDB (const char *RangeQuery)
extern const char *Txt_document_in_my_courses;
extern const char *Txt_documents_in_my_courses;
char SearchQuery[Sch_MAX_LENGTH_SEARCH_QUERY+1];
char Query[(512+Sch_MAX_LENGTH_SEARCH_QUERY)*2];
char Query[(1024+Sch_MAX_LENGTH_SEARCH_QUERY)*2];
unsigned NumDocs;
/***** Check user's permission *****/
@ -890,25 +890,31 @@ static unsigned Sch_SearchDocumentsInMyCoursesInDB (const char *RangeQuery)
if (mysql_query (&Gbl.mysql,Query))
DB_ExitOnMySQLError ("can not remove temporary table");
sprintf (Query,"CREATE TEMPORARY TABLE my_files_crs (FilCod INT NOT NULL,UNIQUE INDEX(FilCod)) ENGINE=MEMORY"
sprintf (Query,"CREATE TEMPORARY TABLE my_files_crs"
" (FilCod INT NOT NULL,UNIQUE INDEX(FilCod))"
" ENGINE=MEMORY"
" SELECT files.FilCod FROM crs_usr,files"
" WHERE crs_usr.UsrCod='%ld'"
" AND crs_usr.CrsCod=files.Cod"
" AND files.FileBrowser IN ('%u','%u','%u')",
" AND files.FileBrowser IN ('%u','%u','%u','%u')",
Gbl.Usrs.Me.UsrDat.UsrCod,
(unsigned) Brw_ADMI_DOCUM_CRS,
(unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_MARKS_CRS);
if (mysql_query (&Gbl.mysql,Query))
DB_ExitOnMySQLError ("can not create temporary table");
sprintf (Query,"CREATE TEMPORARY TABLE my_files_grp (FilCod INT NOT NULL,UNIQUE INDEX(FilCod)) ENGINE=MEMORY"
sprintf (Query,"CREATE TEMPORARY TABLE my_files_grp"
" (FilCod INT NOT NULL,UNIQUE INDEX(FilCod))"
" ENGINE=MEMORY"
" SELECT files.FilCod FROM crs_grp_usr,files"
" WHERE crs_grp_usr.UsrCod='%ld'"
" AND crs_grp_usr.GrpCod=files.Cod"
" AND files.FileBrowser IN ('%u','%u','%u')",
" AND files.FileBrowser IN ('%u','%u','%u','%u')",
Gbl.Usrs.Me.UsrDat.UsrCod,
(unsigned) Brw_ADMI_DOCUM_GRP,
(unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP);
/* if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM)
@ -928,7 +934,7 @@ static unsigned Sch_SearchDocumentsInMyCoursesInDB (const char *RangeQuery)
"'-1' AS GrpCod"
" FROM files,courses,degrees,centres,institutions,countries"
" WHERE files.FilCod IN (SELECT FilCod FROM my_files_crs) AND %s"
" AND files.FileBrowser IN ('%u','%u','%u')"
" AND files.FileBrowser IN ('%u','%u','%u','%u')"
" AND files.Cod=courses.CrsCod"
" AND courses.DegCod=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
@ -945,7 +951,7 @@ static unsigned Sch_SearchDocumentsInMyCoursesInDB (const char *RangeQuery)
"crs_grp.GrpCod"
" FROM files,crs_grp,crs_grp_types,courses,degrees,centres,institutions,countries"
" WHERE files.FilCod IN (SELECT FilCod FROM my_files_grp) AND %s"
" AND files.FileBrowser IN ('%u','%u','%u')"
" AND files.FileBrowser IN ('%u','%u','%u','%u')"
" AND files.Cod=crs_grp.GrpCod"
" AND crs_grp.GrpTypCod=crs_grp_types.GrpTypCod"
" AND crs_grp_types.CrsCod=courses.CrsCod"
@ -959,11 +965,13 @@ static unsigned Sch_SearchDocumentsInMyCoursesInDB (const char *RangeQuery)
" ORDER BY InsShortName,CtrShortName,DegShortName,CrsShortName,PathFromRoot",
SearchQuery,
(unsigned) Brw_ADMI_DOCUM_CRS,
(unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_MARKS_CRS,
RangeQuery,
SearchQuery,
(unsigned) Brw_ADMI_DOCUM_GRP,
(unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP,
RangeQuery);
@ -1060,7 +1068,7 @@ static unsigned Sch_SearchMyDocumentsInDB (const char *RangeQuery)
"'-1' AS GrpCod"
" FROM files,courses,degrees,centres,institutions,countries"
" WHERE files.PublisherUsrCod='%ld' AND %s"
" AND files.FileBrowser IN ('%u','%u','%u')"
" AND files.FileBrowser IN ('%u','%u','%u','%u')"
" AND files.Cod=courses.CrsCod"
" AND courses.DegCod=degrees.DegCod"
" AND degrees.CtrCod=centres.CtrCod"
@ -1077,7 +1085,7 @@ static unsigned Sch_SearchMyDocumentsInDB (const char *RangeQuery)
"crs_grp.GrpCod"
" FROM files,crs_grp,crs_grp_types,courses,degrees,centres,institutions,countries"
" WHERE files.PublisherUsrCod='%ld' AND %s"
" AND files.FileBrowser IN ('%u','%u','%u')"
" AND files.FileBrowser IN ('%u','%u','%u','%u')"
" AND files.Cod=crs_grp.GrpCod"
" AND crs_grp.GrpTypCod=crs_grp_types.GrpTypCod"
" AND crs_grp_types.CrsCod=courses.CrsCod"
@ -1114,11 +1122,13 @@ static unsigned Sch_SearchMyDocumentsInDB (const char *RangeQuery)
RangeQuery,
Gbl.Usrs.Me.UsrDat.UsrCod,SearchQuery,
(unsigned) Brw_ADMI_DOCUM_CRS,
(unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_MARKS_CRS,
RangeQuery,
Gbl.Usrs.Me.UsrDat.UsrCod,SearchQuery,
(unsigned) Brw_ADMI_DOCUM_GRP,
(unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP,
RangeQuery,

View File

@ -275,6 +275,7 @@ void Soc_ShowTimelineGbl (void)
/* Course tab */
Soc_TOP_MESSAGE_NONE, // Ntf_EVENT_DOCUMENT_FILE
Soc_TOP_MESSAGE_NONE, // Ntf_EVENT_TEACHERS_FILE
Soc_TOP_MESSAGE_NONE, // Ntf_EVENT_SHARED_FILE
/* Assessment tab */
@ -1689,7 +1690,7 @@ static void Soc_GetNoteSummary (const struct SocialNote *SocNot,
case Soc_NOTE_DEG_SHA_PUB_FILE:
case Soc_NOTE_CRS_DOC_PUB_FILE:
case Soc_NOTE_CRS_SHA_PUB_FILE:
Brw_GetSummaryAndContentOrSharedFile (SummaryStr,NULL,SocNot->Cod,MaxChars,false);
Brw_GetSummaryAndContentOfFile (SummaryStr,NULL,SocNot->Cod,MaxChars,false);
break;
case Soc_NOTE_EXAM_ANNOUNCEMENT:
Exa_GetSummaryAndContentExamAnnouncement (SummaryStr,NULL,SocNot->Cod,MaxChars,false);

View File

@ -5226,6 +5226,8 @@ static void Sta_GetAndShowFileBrowsersStats (void)
{
Brw_ADMI_DOCUM_CRS,
Brw_ADMI_DOCUM_GRP,
Brw_ADMI_TEACH_CRS,
Brw_ADMI_TEACH_GRP,
Brw_ADMI_SHARE_CRS,
Brw_ADMI_SHARE_GRP,
Brw_ADMI_MARKS_CRS,
@ -5486,45 +5488,72 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
switch (FileBrowser)
{
case Brw_UNKNOWN:
sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),COUNT(DISTINCT GrpCod)-1,'-1',"
"MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),"
"COUNT(DISTINCT GrpCod)-1,"
"'-1',"
"MAX(NumLevels),"
"SUM(NumFolders),"
"SUM(NumFiles),"
"SUM(TotalSize)"
" FROM "
"("
"SELECT Cod AS CrsCod,'-1' AS GrpCod,"
"NumLevels,NumFolders,NumFiles,TotalSize"
"SELECT Cod AS CrsCod,"
"'-1' AS GrpCod,"
"NumLevels,"
"NumFolders,"
"NumFiles,"
"TotalSize"
" FROM file_browser_size"
" WHERE FileBrowser IN ('%u','%u','%u','%u','%u')"
" WHERE FileBrowser IN ('%u','%u','%u','%u','%u','%u')"
" UNION "
"SELECT crs_grp_types.CrsCod,file_browser_size.Cod AS GrpCod,"
"file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
"SELECT crs_grp_types.CrsCod,"
"file_browser_size.Cod AS GrpCod,"
"file_browser_size.NumLevels,"
"file_browser_size.NumFolders,"
"file_browser_size.NumFiles,"
"file_browser_size.TotalSize"
" FROM crs_grp_types,crs_grp,file_browser_size"
" WHERE crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
" AND crs_grp.GrpCod=file_browser_size.Cod"
" AND file_browser_size.FileBrowser IN ('%u','%u','%u')"
" AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u')"
") AS sizes",
(unsigned) Brw_ADMI_DOCUM_CRS,
(unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_ASSIG_USR,
(unsigned) Brw_ADMI_WORKS_USR,
(unsigned) Brw_ADMI_MARKS_CRS,
(unsigned) Brw_ADMI_DOCUM_GRP,
(unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP);
break;
case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_MARKS_CRS:
sprintf (Query,"SELECT COUNT(DISTINCT Cod),'-1','-1',"
"MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
sprintf (Query,"SELECT COUNT(DISTINCT Cod),"
"'-1',"
"'-1',"
"MAX(NumLevels),"
"SUM(NumFolders),"
"SUM(NumFiles),"
"SUM(TotalSize)"
" FROM file_browser_size"
" WHERE FileBrowser='%u'",
(unsigned) FileBrowser);
break;
case Brw_ADMI_DOCUM_GRP:
case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),COUNT(DISTINCT file_browser_size.Cod),'-1',"
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),"
"COUNT(DISTINCT file_browser_size.Cod),"
"'-1',"
"MAX(file_browser_size.NumLevels),"
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM crs_grp_types,crs_grp,file_browser_size"
" WHERE crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
" AND crs_grp.GrpCod=file_browser_size.Cod"
@ -5533,15 +5562,25 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
break;
case Brw_ADMI_ASSIG_USR:
case Brw_ADMI_WORKS_USR:
sprintf (Query,"SELECT COUNT(DISTINCT Cod),'-1',COUNT(DISTINCT ZoneUsrCod),"
"MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
sprintf (Query,"SELECT COUNT(DISTINCT Cod),"
"'-1',"
"COUNT(DISTINCT ZoneUsrCod),"
"MAX(NumLevels),"
"SUM(NumFolders),"
"SUM(NumFiles),"
"SUM(TotalSize)"
" FROM file_browser_size"
" WHERE FileBrowser='%u'",
(unsigned) FileBrowser);
break;
case Brw_ADMI_BRIEF_USR:
sprintf (Query,"SELECT '-1','-1',COUNT(DISTINCT ZoneUsrCod),"
"MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
sprintf (Query,"SELECT '-1',"
"'-1',"
"COUNT(DISTINCT ZoneUsrCod),"
"MAX(NumLevels),"
"SUM(NumFolders),"
"SUM(NumFiles),"
"SUM(TotalSize)"
" FROM file_browser_size"
" WHERE FileBrowser='%u'",
(unsigned) FileBrowser);
@ -5556,22 +5595,35 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
switch (FileBrowser)
{
case Brw_UNKNOWN:
sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),COUNT(DISTINCT GrpCod)-1,'-1',"
"MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),"
"COUNT(DISTINCT GrpCod)-1,"
"'-1',"
"MAX(NumLevels),"
"SUM(NumFolders),"
"SUM(NumFiles),"
"SUM(TotalSize)"
" FROM "
"("
"SELECT file_browser_size.Cod AS CrsCod,'-1' AS GrpCod," // Course zones
"file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
"SELECT file_browser_size.Cod AS CrsCod,"
"'-1' AS GrpCod," // Course zones
"file_browser_size.NumLevels,"
"file_browser_size.NumFolders,"
"file_browser_size.NumFiles,"
"file_browser_size.TotalSize"
" FROM institutions,centres,degrees,courses,file_browser_size"
" WHERE institutions.CtyCod='%ld'"
" AND institutions.InsCod=centres.InsCod"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=file_browser_size.Cod"
" AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u','%u')"
" AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u','%u','%u')"
" UNION "
"SELECT crs_grp_types.CrsCod,file_browser_size.Cod AS GrpCod," // Group zones
"file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
"SELECT crs_grp_types.CrsCod,"
"file_browser_size.Cod AS GrpCod," // Group zones
"file_browser_size.NumLevels,"
"file_browser_size.NumFolders,"
"file_browser_size.NumFiles,"
"file_browser_size.TotalSize"
" FROM institutions,centres,degrees,courses,crs_grp_types,crs_grp,file_browser_size"
" WHERE institutions.CtyCod='%ld'"
" AND institutions.InsCod=centres.InsCod"
@ -5580,24 +5632,32 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
" AND courses.CrsCod=crs_grp_types.CrsCod"
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
" AND crs_grp.GrpCod=file_browser_size.Cod"
" AND file_browser_size.FileBrowser IN ('%u','%u','%u')"
" AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u')"
") AS sizes",
Gbl.CurrentCty.Cty.CtyCod,
(unsigned) Brw_ADMI_DOCUM_CRS,
(unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_ASSIG_USR,
(unsigned) Brw_ADMI_WORKS_USR,
(unsigned) Brw_ADMI_MARKS_CRS,
Gbl.CurrentCty.Cty.CtyCod,
(unsigned) Brw_ADMI_DOCUM_GRP,
(unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP);
break;
case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_MARKS_CRS:
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),'-1','-1',"
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),"
"'-1',"
"'-1',"
"MAX(file_browser_size.NumLevels),"
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM institutions,centres,degrees,courses,file_browser_size"
" WHERE institutions.CtyCod='%ld'"
" AND institutions.InsCod=centres.InsCod"
@ -5608,10 +5668,16 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
Gbl.CurrentCty.Cty.CtyCod,(unsigned) FileBrowser);
break;
case Brw_ADMI_DOCUM_GRP:
case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),COUNT(DISTINCT file_browser_size.Cod),'-1',"
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),"
"COUNT(DISTINCT file_browser_size.Cod),"
"'-1',"
"MAX(file_browser_size.NumLevels),"
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM institutions,centres,degrees,courses,crs_grp_types,crs_grp,file_browser_size"
" WHERE institutions.CtyCod='%ld'"
" AND institutions.InsCod=centres.InsCod"
@ -5625,8 +5691,13 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
break;
case Brw_ADMI_ASSIG_USR:
case Brw_ADMI_WORKS_USR:
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),'-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),"
"'-1',"
"COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
"MAX(file_browser_size.NumLevels),"
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM institutions,centres,degrees,courses,file_browser_size"
" WHERE institutions.CtyCod='%ld'"
" AND institutions.InsCod=centres.InsCod"
@ -5637,8 +5708,13 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
Gbl.CurrentCty.Cty.CtyCod,(unsigned) FileBrowser);
break;
case Brw_ADMI_BRIEF_USR:
sprintf (Query,"SELECT '-1','-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
sprintf (Query,"SELECT '-1',"
"'-1',"
"COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
"MAX(file_browser_size.NumLevels),"
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM institutions,centres,degrees,courses,crs_usr,file_browser_size"
" WHERE institutions.CtyCod='%ld'"
" AND institutions.InsCod=centres.InsCod"
@ -5659,21 +5735,34 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
switch (FileBrowser)
{
case Brw_UNKNOWN:
sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),COUNT(DISTINCT GrpCod)-1,'-1',"
"MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),"
"COUNT(DISTINCT GrpCod)-1,"
"'-1',"
"MAX(NumLevels),"
"SUM(NumFolders),"
"SUM(NumFiles),"
"SUM(TotalSize)"
" FROM "
"("
"SELECT file_browser_size.Cod AS CrsCod,'-1' AS GrpCod," // Course zones
"file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
"SELECT file_browser_size.Cod AS CrsCod,"
"'-1' AS GrpCod," // Course zones
"file_browser_size.NumLevels,"
"file_browser_size.NumFolders,"
"file_browser_size.NumFiles,"
"file_browser_size.TotalSize"
" FROM centres,degrees,courses,file_browser_size"
" WHERE centres.InsCod='%ld'"
" AND centres.CtrCod=degrees.CtrCod"
" AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=file_browser_size.Cod"
" AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u','%u')"
" AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u','%u','%u')"
" UNION "
"SELECT crs_grp_types.CrsCod,file_browser_size.Cod AS GrpCod," // Group zones
"file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
"SELECT crs_grp_types.CrsCod,"
"file_browser_size.Cod AS GrpCod," // Group zones
"file_browser_size.NumLevels,"
"file_browser_size.NumFolders,"
"file_browser_size.NumFiles,"
"file_browser_size.TotalSize"
" FROM centres,degrees,courses,crs_grp_types,crs_grp,file_browser_size"
" WHERE centres.InsCod='%ld'"
" AND centres.CtrCod=degrees.CtrCod"
@ -5681,24 +5770,32 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
" AND courses.CrsCod=crs_grp_types.CrsCod"
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
" AND crs_grp.GrpCod=file_browser_size.Cod"
" AND file_browser_size.FileBrowser IN ('%u','%u','%u')"
" AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u')"
") AS sizes",
Gbl.CurrentIns.Ins.InsCod,
(unsigned) Brw_ADMI_DOCUM_CRS,
(unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_ASSIG_USR,
(unsigned) Brw_ADMI_WORKS_USR,
(unsigned) Brw_ADMI_MARKS_CRS,
Gbl.CurrentIns.Ins.InsCod,
(unsigned) Brw_ADMI_DOCUM_GRP,
(unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP);
break;
case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_MARKS_CRS:
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),'-1','-1',"
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),"
"'-1',"
"'-1',"
"MAX(file_browser_size.NumLevels),"
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM centres,degrees,courses,file_browser_size"
" WHERE centres.InsCod='%ld'"
" AND centres.CtrCod=degrees.CtrCod"
@ -5708,10 +5805,16 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
Gbl.CurrentIns.Ins.InsCod,(unsigned) FileBrowser);
break;
case Brw_ADMI_DOCUM_GRP:
case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),COUNT(DISTINCT file_browser_size.Cod),'-1',"
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),"
"COUNT(DISTINCT file_browser_size.Cod),"
"'-1',"
"MAX(file_browser_size.NumLevels),"
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM centres,degrees,courses,crs_grp_types,crs_grp,file_browser_size"
" WHERE centres.InsCod='%ld'"
" AND centres.CtrCod=degrees.CtrCod"
@ -5724,8 +5827,13 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
break;
case Brw_ADMI_ASSIG_USR:
case Brw_ADMI_WORKS_USR:
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),'-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),"
"'-1',"
"COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
"MAX(file_browser_size.NumLevels),"
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM centres,degrees,courses,file_browser_size"
" WHERE centres.InsCod='%ld'"
" AND centres.CtrCod=degrees.CtrCod"
@ -5735,8 +5843,13 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
Gbl.CurrentIns.Ins.InsCod,(unsigned) FileBrowser);
break;
case Brw_ADMI_BRIEF_USR:
sprintf (Query,"SELECT '-1','-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
sprintf (Query,"SELECT '-1',"
"'-1',"
"COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
"MAX(file_browser_size.NumLevels),"
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM centres,degrees,courses,crs_usr,file_browser_size"
" WHERE centres.InsCod='%ld'"
" AND centres.CtrCod=degrees.CtrCod"
@ -5756,44 +5869,65 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
switch (FileBrowser)
{
case Brw_UNKNOWN:
sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),COUNT(DISTINCT GrpCod)-1,'-1',"
"MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),"
"COUNT(DISTINCT GrpCod)-1,"
"'-1',"
"MAX(NumLevels),"
"SUM(NumFolders),"
"SUM(NumFiles),"
"SUM(TotalSize)"
" FROM "
"("
"SELECT file_browser_size.Cod AS CrsCod,'-1' AS GrpCod," // Course zones
"file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
"SELECT file_browser_size.Cod AS CrsCod,"
"'-1' AS GrpCod," // Course zones
"file_browser_size.NumLevels,"
"file_browser_size.NumFolders,"
"file_browser_size.NumFiles,"
"file_browser_size.TotalSize"
" FROM degrees,courses,file_browser_size"
" WHERE degrees.CtrCod='%ld'"
" AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=file_browser_size.Cod"
" AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u','%u')"
" AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u','%u','%u')"
" UNION "
"SELECT crs_grp_types.CrsCod,file_browser_size.Cod AS GrpCod," // Group zones
"file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
"SELECT crs_grp_types.CrsCod,"
"file_browser_size.Cod AS GrpCod," // Group zones
"file_browser_size.NumLevels,"
"file_browser_size.NumFolders,"
"file_browser_size.NumFiles,"
"file_browser_size.TotalSize"
" FROM degrees,courses,crs_grp_types,crs_grp,file_browser_size"
" WHERE degrees.CtrCod='%ld'"
" AND degrees.DegCod=courses.DegCod"
" AND courses.CrsCod=crs_grp_types.CrsCod"
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
" AND crs_grp.GrpCod=file_browser_size.Cod"
" AND file_browser_size.FileBrowser IN ('%u','%u','%u')"
" AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u')"
") AS sizes",
Gbl.CurrentCtr.Ctr.CtrCod,
(unsigned) Brw_ADMI_DOCUM_CRS,
(unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_ASSIG_USR,
(unsigned) Brw_ADMI_WORKS_USR,
(unsigned) Brw_ADMI_MARKS_CRS,
Gbl.CurrentCtr.Ctr.CtrCod,
(unsigned) Brw_ADMI_DOCUM_GRP,
(unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP);
break;
case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_MARKS_CRS:
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),'-1','-1',"
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),"
"'-1',"
"'-1',"
"MAX(file_browser_size.NumLevels),"
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM degrees,courses,file_browser_size"
" WHERE degrees.CtrCod='%ld'"
" AND degrees.DegCod=courses.DegCod"
@ -5802,10 +5936,16 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
Gbl.CurrentCtr.Ctr.CtrCod,(unsigned) FileBrowser);
break;
case Brw_ADMI_DOCUM_GRP:
case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),COUNT(DISTINCT file_browser_size.Cod),'-1',"
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),"
"COUNT(DISTINCT file_browser_size.Cod),"
"'-1',"
"MAX(file_browser_size.NumLevels),"
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM degrees,courses,crs_grp_types,crs_grp,file_browser_size"
" WHERE degrees.CtrCod='%ld'"
" AND degrees.DegCod=courses.DegCod"
@ -5817,8 +5957,13 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
break;
case Brw_ADMI_ASSIG_USR:
case Brw_ADMI_WORKS_USR:
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),'-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),"
"'-1',"
"COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
"MAX(file_browser_size.NumLevels),"
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM degrees,courses,file_browser_size"
" WHERE degrees.CtrCod='%ld'"
" AND degrees.DegCod=courses.DegCod"
@ -5827,8 +5972,13 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
Gbl.CurrentCtr.Ctr.CtrCod,(unsigned) FileBrowser);
break;
case Brw_ADMI_BRIEF_USR:
sprintf (Query,"SELECT '-1','-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
sprintf (Query,"SELECT '-1',"
"'-1',"
"COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
"MAX(file_browser_size.NumLevels),"
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM degrees,courses,crs_usr,file_browser_size"
" WHERE degrees.CtrCod='%ld'"
" AND degrees.DegCod=courses.DegCod"
@ -5847,42 +5997,63 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
switch (FileBrowser)
{
case Brw_UNKNOWN:
sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),COUNT(DISTINCT GrpCod)-1,'-1',"
"MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),"
"COUNT(DISTINCT GrpCod)-1,"
"'-1',"
"MAX(NumLevels),"
"SUM(NumFolders),"
"SUM(NumFiles),"
"SUM(TotalSize)"
" FROM "
"("
"SELECT file_browser_size.Cod AS CrsCod,'-1' AS GrpCod," // Course zones
"file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
"SELECT file_browser_size.Cod AS CrsCod,"
"'-1' AS GrpCod," // Course zones
"file_browser_size.NumLevels,"
"file_browser_size.NumFolders,"
"file_browser_size.NumFiles,"
"file_browser_size.TotalSize"
" FROM courses,file_browser_size"
" WHERE courses.DegCod='%ld'"
" AND courses.CrsCod=file_browser_size.Cod"
" AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u','%u')"
" AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u','%u','%u')"
" UNION "
"SELECT crs_grp_types.CrsCod,file_browser_size.Cod AS GrpCod," // Group zones
"file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
"SELECT crs_grp_types.CrsCod,"
"file_browser_size.Cod AS GrpCod," // Group zones
"file_browser_size.NumLevels,"
"file_browser_size.NumFolders,"
"file_browser_size.NumFiles,"
"file_browser_size.TotalSize"
" FROM courses,crs_grp_types,crs_grp,file_browser_size"
" WHERE courses.DegCod='%ld'"
" AND courses.CrsCod=crs_grp_types.CrsCod"
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
" AND crs_grp.GrpCod=file_browser_size.Cod"
" AND file_browser_size.FileBrowser IN ('%u','%u','%u')"
" AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u')"
") AS sizes",
Gbl.CurrentDeg.Deg.DegCod,
(unsigned) Brw_ADMI_DOCUM_CRS,
(unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_ASSIG_USR,
(unsigned) Brw_ADMI_WORKS_USR,
(unsigned) Brw_ADMI_MARKS_CRS,
Gbl.CurrentDeg.Deg.DegCod,
(unsigned) Brw_ADMI_DOCUM_GRP,
(unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP);
break;
case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_MARKS_CRS:
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),'-1','-1',"
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),"
"'-1',"
"'-1',"
"MAX(file_browser_size.NumLevels),"
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM courses,file_browser_size"
" WHERE courses.DegCod='%ld'"
" AND courses.CrsCod=file_browser_size.Cod"
@ -5890,10 +6061,16 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
Gbl.CurrentDeg.Deg.DegCod,(unsigned) FileBrowser);
break;
case Brw_ADMI_DOCUM_GRP:
case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),COUNT(DISTINCT file_browser_size.Cod),'-1',"
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),"
"COUNT(DISTINCT file_browser_size.Cod),"
"'-1',"
"MAX(file_browser_size.NumLevels),"
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM courses,crs_grp_types,crs_grp,file_browser_size"
" WHERE courses.DegCod='%ld'"
" AND courses.CrsCod=crs_grp_types.CrsCod"
@ -5904,8 +6081,13 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
break;
case Brw_ADMI_ASSIG_USR:
case Brw_ADMI_WORKS_USR:
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),'-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),"
"'-1',"
"COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
"MAX(file_browser_size.NumLevels),"
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM courses,file_browser_size"
" WHERE courses.DegCod='%ld'"
" AND courses.CrsCod=file_browser_size.Cod"
@ -5913,8 +6095,13 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
Gbl.CurrentDeg.Deg.DegCod,(unsigned) FileBrowser);
break;
case Brw_ADMI_BRIEF_USR:
sprintf (Query,"SELECT '-1','-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
sprintf (Query,"SELECT '-1',"
"'-1',"
"COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
"MAX(file_browser_size.NumLevels),"
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM courses,crs_usr,file_browser_size"
" WHERE courses.DegCod='%ld'"
" AND courses.CrsCod=crs_usr.CrsCod"
@ -5932,49 +6119,76 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
switch (FileBrowser)
{
case Brw_UNKNOWN:
sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),COUNT(DISTINCT GrpCod)-1,'-1',"
"MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),"
"COUNT(DISTINCT GrpCod)-1,"
"'-1',"
"MAX(NumLevels),"
"SUM(NumFolders),"
"SUM(NumFiles),"
"SUM(TotalSize)"
" FROM "
"("
"SELECT Cod AS CrsCod,'-1' AS GrpCod," // Course zones
"NumLevels,NumFolders,NumFiles,TotalSize"
"SELECT Cod AS CrsCod,"
"'-1' AS GrpCod," // Course zones
"NumLevels,"
"NumFolders,"
"NumFiles,"
"TotalSize"
" FROM file_browser_size"
" WHERE Cod='%ld'"
" AND FileBrowser IN ('%u','%u','%u','%u','%u')"
" AND FileBrowser IN ('%u','%u','%u','%u','%u','%u')"
" UNION "
"SELECT crs_grp_types.CrsCod,file_browser_size.Cod AS GrpCod," // Group zones
"file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
"SELECT crs_grp_types.CrsCod,"
"file_browser_size.Cod AS GrpCod," // Group zones
"file_browser_size.NumLevels,"
"file_browser_size.NumFolders,"
"file_browser_size.NumFiles,"
"file_browser_size.TotalSize"
" FROM crs_grp_types,crs_grp,file_browser_size"
" WHERE crs_grp_types.CrsCod='%ld'"
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
" AND crs_grp.GrpCod=file_browser_size.Cod"
" AND file_browser_size.FileBrowser IN ('%u','%u','%u')"
" AND file_browser_size.FileBrowser IN ('%u','%u','%u','%u')"
") AS sizes",
Gbl.CurrentCrs.Crs.CrsCod,
(unsigned) Brw_ADMI_DOCUM_CRS,
(unsigned) Brw_ADMI_TEACH_CRS,
(unsigned) Brw_ADMI_SHARE_CRS,
(unsigned) Brw_ADMI_ASSIG_USR,
(unsigned) Brw_ADMI_WORKS_USR,
(unsigned) Brw_ADMI_MARKS_CRS,
Gbl.CurrentCrs.Crs.CrsCod,
(unsigned) Brw_ADMI_DOCUM_GRP,
(unsigned) Brw_ADMI_TEACH_GRP,
(unsigned) Brw_ADMI_SHARE_GRP,
(unsigned) Brw_ADMI_MARKS_GRP);
break;
case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_TEACH_CRS:
case Brw_ADMI_SHARE_CRS:
case Brw_ADMI_MARKS_CRS:
sprintf (Query,"SELECT '1','-1','-1',"
"MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
sprintf (Query,"SELECT '1',"
"'-1',"
"'-1',"
"MAX(NumLevels),"
"SUM(NumFolders),"
"SUM(NumFiles),"
"SUM(TotalSize)"
" FROM file_browser_size"
" WHERE Cod='%ld' AND FileBrowser='%u'",
Gbl.CurrentCrs.Crs.CrsCod,(unsigned) FileBrowser);
break;
case Brw_ADMI_DOCUM_GRP:
case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_ADMI_MARKS_GRP:
sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),COUNT(DISTINCT file_browser_size.Cod),'-1',"
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),"
"COUNT(DISTINCT file_browser_size.Cod),"
"'-1',"
"MAX(file_browser_size.NumLevels),"
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM crs_grp_types,crs_grp,file_browser_size"
" WHERE crs_grp_types.CrsCod='%ld'"
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
@ -5984,15 +6198,25 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
break;
case Brw_ADMI_ASSIG_USR:
case Brw_ADMI_WORKS_USR:
sprintf (Query,"SELECT '1','-1',COUNT(DISTINCT ZoneUsrCod),"
"MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
sprintf (Query,"SELECT '1',"
"'-1',"
"COUNT(DISTINCT ZoneUsrCod),"
"MAX(NumLevels),"
"SUM(NumFolders),"
"SUM(NumFiles),"
"SUM(TotalSize)"
" FROM file_browser_size"
" WHERE Cod='%ld' AND FileBrowser='%u'",
Gbl.CurrentCrs.Crs.CrsCod,(unsigned) FileBrowser);
break;
case Brw_ADMI_BRIEF_USR:
sprintf (Query,"SELECT '-1','-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
sprintf (Query,"SELECT '-1',"
"'-1',"
"COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
"MAX(file_browser_size.NumLevels),"
"SUM(file_browser_size.NumFolders),"
"SUM(file_browser_size.NumFiles),"
"SUM(file_browser_size.TotalSize)"
" FROM crs_usr,file_browser_size"
" WHERE crs_usr.CrsCod='%ld'"
" AND crs_usr.UsrCod=file_browser_size.ZoneUsrCod"

View File

@ -133,7 +133,7 @@ typedef enum
Sta_WHITE_TO_BLACK,
} Sta_ColorType_t;
#define Sta_NUM_STAT_CRS_FILE_ZONES 9
#define Sta_NUM_STAT_CRS_FILE_ZONES 11
/*****************************************************************************/
/***************************** Public prototypes *****************************/

View File

@ -572,6 +572,19 @@ const char *Txt_NOTIFY_EVENTS_SINGULAR_NO_HTML[Ntf_NUM_NOTIFY_EVENTS][1+Txt_NUM_
"Novo arquivo de documento",
},
{
// Ntf_EVENT_TEACHERS_FILE
"",
"Nou arxiu de professors",
"Neue Lehrer Datei",
"New teachers' file",
"Nuevo archivo de profesores",
"Nouveau fichier d'enseignants",
"Nuevo archivo de profesores", // Okoteve traducción
"Nuovo file di professori",
"Nowy Nauczyciela plik",
"Novo arquivo dos professores",
},
{
// Ntf_EVENT_SHARED_FILE
"",
"Nou arxiu compartit",
@ -17869,6 +17882,27 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Dokument&oacute;w"
#elif L==9
"Documentos"
#endif
,
// ActAdmTchCrsGrp
#if L==1
"Privats"
#elif L==2
"Private"
#elif L==3
"Private"
#elif L==4
"Privados"
#elif L==5
"Priv&eacute;s"
#elif L==6
"Privados" // Okoteve traducción
#elif L==7
"Privati"
#elif L==8
"Prywatne"
#elif L==9
"Privados"
#endif
,
// ActAdmShaCrsGrp
@ -17984,7 +18018,6 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
NULL,
NULL,
NULL,
NULL,
},
{
// TabAss *****************************************************
@ -19822,6 +19855,27 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
"Obszar Dokument&oacute;w"
#elif L==9
"Documentos"
#endif
,
// ActAdmTchCrsGrp
#if L==1
"Arxius privats, nom&eacute;s per als professors de l'assignatura"
#elif L==2
"Privat-Dateien, nur f&uuml;r die Lehrer des Kurses"
#elif L==3
"Private files, only for teachers of the course"
#elif L==4
"Archivos privados, solo para los profesores de la asignatura"
#elif L==5
"Fichiers priv&eacute;s, seulement pour les enseignants du cours"
#elif L==6
"Archivos privados, solo para los profesores de la asignatura"// Okoteve traducción
#elif L==7
"File privati, solo per gli insegnanti del corso"
#elif L==8
"Pliki prywatne, tylko dla nauczycieli przedmiotu"
#elif L==9
"Arquivos privados, apenas para os professores do curso"
#endif
,
// ActAdmShaCrsGrp
@ -19941,7 +19995,6 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
NULL,
NULL,
NULL,
NULL,
},
{
// TabAss *****************************************************
@ -25515,6 +25568,26 @@ const char *Txt_NOTIFY_EVENTS_PLURAL[Ntf_NUM_NOTIFY_EVENTS] =
"Novos arquivos de documento"
#endif
,
#if L==1 // Ntf_EVENT_TEACHERS_FILE
"Nous arxiu de professors"
#elif L==2
"New Lehrer Dateien"
#elif L==3
"New teachers' files"
#elif L==4
"Nuevos archivos de profesores"
#elif L==5
"Nouveaux fichiers d'enseignants"
#elif L==6
"Nuevos archivos de profesores" // Okoteve traducción
#elif L==7
"Nuovi file di professori"
#elif L==8
"Nowy Nauczyciela plik"
#elif L==9
"Novos arquivos dos professores"
#endif
,
#if L==1 // Ntf_EVENT_SHARED_FILE
"Nous arxiu compartit"
#elif L==2
@ -25898,6 +25971,26 @@ const char *Txt_NOTIFY_EVENTS_SINGULAR[Ntf_NUM_NOTIFY_EVENTS] =
"Arquivo de documento"
#endif
,
#if L==1 // Ntf_EVENT_TEACHERS_FILE
"Arxiu de professors"
#elif L==2
"Lehrer Datei"
#elif L==3
"Teachers' file"
#elif L==4
"Archivo de profesores"
#elif L==5
"Fichier d'enseignants"
#elif L==6
"Archivo de profesores" // Okoteve traducción
#elif L==7
"File di professori"
#elif L==8
"Nauczyciela plik"
#elif L==9
"Arquivo dos professores"
#endif
,
#if L==1 // Ntf_EVENT_SHARED_FILE
"Arxiu compartit"
#elif L==2
@ -34509,6 +34602,48 @@ const char *Txt_ROOT_FOLDER_EXTERNAL_NAMES[Brw_NUM_TYPES_FILE_BROWSER] =
"shared" // Potrzebujesz tlumaczenie
#elif L==9
"comum"
#endif
,
// Brw_ADMI_TEACH_CRS
#if L==1
"privats"
#elif L==2
"Private"
#elif L==3
"private"
#elif L==4
"privados"
#elif L==5
"priv&eacute;s"
#elif L==6
"privados" // Okoteve traducción
#elif L==7
"privati"
#elif L==8
"prywatne"
#elif L==9
"privados"
#endif
,
// Brw_ADMI_TEACH_GRP
#if L==1
"privats"
#elif L==2
"Private"
#elif L==3
"private"
#elif L==4
"privados"
#elif L==5
"priv&eacute;s"
#elif L==6
"privados" // Okoteve traducción
#elif L==7
"privati"
#elif L==8
"prywatne"
#elif L==9
"privados"
#endif
};
@ -37584,6 +37719,46 @@ const char *Txt_STAT_COURSE_FILE_ZONES[Sta_NUM_STAT_CRS_FILE_ZONES] = // Use &nb
"Documentos&nbsp;(grp.)"
#endif
,
#if L==1 // Brw_ADMI_TEACH_CRS
"Professors&nbsp;(ass.)"
#elif L==2
"Lehrkr&auml;fte&nbsp;(Ver.)"
#elif L==3
"Teachers&nbsp;(crs.)"
#elif L==4
"Profesores&nbsp;(asg.)"
#elif L==5
"Enseignants&nbsp;(mat.)"
#elif L==6
"Profesores&nbsp;(asg.)" // Okoteve traducción
#elif L==7
"Professori&nbsp;(crs.)"
#elif L==8
"Nauczycieli&nbsp;(kurs)"
#elif L==9
"Professores&nbsp;(crs.)"
#endif
,
#if L==1 // Brw_ADMI_TEACH_GRP
"Professors&nbsp;(grp.)"
#elif L==2
"Lehrkr&auml;fte&nbsp;(Grp.)"
#elif L==3
"Teachers&nbsp;(grp.)"
#elif L==4
"Profesores&nbsp;(grp.)"
#elif L==5
"Enseignants&nbsp;(grp.)"
#elif L==6
"Profesores&nbsp;(grp.)" // Okoteve traducción
#elif L==7
"Professori&nbsp;(grp.)"
#elif L==8
"Nauczycieli&nbsp;(grp.)"
#elif L==9
"Professores&nbsp;(grp.)"
#endif
,
#if L==1 // Brw_ADMI_SHARE_CRS
"Compartits&nbsp;(asg.)"
#elif L==2
@ -40367,6 +40542,48 @@ const char *Txt_teachers_ABBREVIATION = // Abbreviation of "Teachers"
"prof.";
#endif
const char *Txt_Teachers_files_area =
#if L==1
"Zona d'arxius de professors";
#elif L==2
"Lehrer Dateien-Bereich";
#elif L==3
"Teachers' files area";
#elif L==4
"Zona de archivos de profesores";
#elif L==5
"Zone de fichiers d'enseignants";
#elif L==6
"Zona de archivos de profesores"; // Okoteve traducción
#elif L==7
"Zona di file di professori";
#elif L==8
"Nauczyciela udost&eogon;pnionych plik&oacute;w";
#elif L==9
"Zona de arquivos dos professores";
#endif
const char *Txt_teachers_files_area =
#if L==1
"zona d'arxius de professors";
#elif L==2
"Lehrer Dateien-Bereich";
#elif L==3
"teachers' files area";
#elif L==4
"zona de archivos de profesores";
#elif L==5
"zone de fichiers d'enseignants";
#elif L==6
"zona de archivos de profesores"; // Okoteve traducción
#elif L==7
"zona di file di professori";
#elif L==8
"nauczyciela udost&eogon;pnionych plik&oacute;w";
#elif L==9
"zona de arquivos dos professores";
#endif
const char *Txt_Temporary_private_storage_area =
#if L==1
"Zona d'emmagatzematge privada";

View File

@ -3946,7 +3946,6 @@ int swad__getDirectoryTree (struct soap *soap,
"Tree code must be 1 (documents), 2 (shared files) or 3 (marks)");
/***** Return directory tree *****/
/* Get directory tree into XML file */
if (courseCode > 0)
{
@ -4256,8 +4255,6 @@ int swad__getFile (struct soap *soap,
/***** Check if file is in a valid zone *****/
switch ((Gbl.FileBrowser.Type = FileMetadata.FileBrowser))
{
// case Brw_SHOW_DOCUM_CRS: // This type of file browser is not in database
// case Brw_SHOW_DOCUM_GRP: // This type of file browser is not in database
case Brw_ADMI_DOCUM_CRS:
case Brw_ADMI_DOCUM_GRP:
case Brw_ADMI_SHARE_CRS:

View File

@ -80,6 +80,8 @@ const Act_Action_t ZIP_ActZIPFolder[Brw_NUM_TYPES_FILE_BROWSER] =
ActZIPShaDeg, // Brw_ADMI_SHARE_DEG
ActZIPShaCtr, // Brw_ADMI_SHARE_CTR
ActZIPShaIns, // Brw_ADMI_SHARE_INS
ActZIPTchCrs, // Brw_ADMI_TEACH_CRS
ActZIPTchGrp, // Brw_ADMI_TEACH_GRP
};
/*****************************************************************************/
@ -316,6 +318,7 @@ void ZIP_PutButtonToDownloadZIPOfAFolder (const char *PathInTree,const char *Fil
{
case Brw_SHOW_DOCUM_GRP:
case Brw_ADMI_DOCUM_GRP:
case Brw_ADMI_TEACH_GRP:
case Brw_ADMI_SHARE_GRP:
case Brw_SHOW_MARKS_GRP:
case Brw_ADMI_MARKS_GRP: