mirror of https://github.com/acanas/swad-core.git
Version 15.201
This commit is contained in:
parent
8fc14d3d46
commit
7db412b60b
|
@ -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));
|
||||
|
||||
|
||||
|
||||
|
|
1923
swad_action.c
1923
swad_action.c
File diff suppressed because it is too large
Load Diff
447
swad_action.h
447
swad_action.h
|
@ -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 ********************************/
|
||||
|
|
|
@ -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 á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 á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
|
@ -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);
|
||||
|
|
|
@ -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++;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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 */
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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);
|
||||
|
|
416
swad_statistic.c
416
swad_statistic.c
|
@ -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"
|
||||
|
|
|
@ -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 *****************************/
|
||||
|
|
221
swad_text.c
221
swad_text.c
|
@ -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ó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é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ów"
|
||||
#elif L==9
|
||||
"Documentos"
|
||||
#endif
|
||||
,
|
||||
// ActAdmTchCrsGrp
|
||||
#if L==1
|
||||
"Arxius privats, només per als professors de l'assignatura"
|
||||
#elif L==2
|
||||
"Privat-Dateien, nur fü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é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é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é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 (grp.)"
|
||||
#endif
|
||||
,
|
||||
#if L==1 // Brw_ADMI_TEACH_CRS
|
||||
"Professors (ass.)"
|
||||
#elif L==2
|
||||
"Lehrkräfte (Ver.)"
|
||||
#elif L==3
|
||||
"Teachers (crs.)"
|
||||
#elif L==4
|
||||
"Profesores (asg.)"
|
||||
#elif L==5
|
||||
"Enseignants (mat.)"
|
||||
#elif L==6
|
||||
"Profesores (asg.)" // Okoteve traducción
|
||||
#elif L==7
|
||||
"Professori (crs.)"
|
||||
#elif L==8
|
||||
"Nauczycieli (kurs)"
|
||||
#elif L==9
|
||||
"Professores (crs.)"
|
||||
#endif
|
||||
,
|
||||
#if L==1 // Brw_ADMI_TEACH_GRP
|
||||
"Professors (grp.)"
|
||||
#elif L==2
|
||||
"Lehrkräfte (Grp.)"
|
||||
#elif L==3
|
||||
"Teachers (grp.)"
|
||||
#elif L==4
|
||||
"Profesores (grp.)"
|
||||
#elif L==5
|
||||
"Enseignants (grp.)"
|
||||
#elif L==6
|
||||
"Profesores (grp.)" // Okoteve traducción
|
||||
#elif L==7
|
||||
"Professori (grp.)"
|
||||
#elif L==8
|
||||
"Nauczycieli (grp.)"
|
||||
#elif L==9
|
||||
"Professores (grp.)"
|
||||
#endif
|
||||
,
|
||||
#if L==1 // Brw_ADMI_SHARE_CRS
|
||||
"Compartits (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ępnionych plikó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ępnionych plików";
|
||||
#elif L==9
|
||||
"zona de arquivos dos professores";
|
||||
#endif
|
||||
|
||||
const char *Txt_Temporary_private_storage_area =
|
||||
#if L==1
|
||||
"Zona d'emmagatzematge privada";
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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:
|
||||
|
|
Loading…
Reference in New Issue