mirror of
https://github.com/acanas/swad-core.git
synced 2024-09-20 00:02:42 +02:00
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) -----
|
----- 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;
|
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
|
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
|
#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 ActSeeTchGui (ActDowShaDeg+ 3)
|
||||||
#define ActSeeSyl (ActDowShaDeg+ 4)
|
#define ActSeeSyl (ActDowShaDeg+ 4)
|
||||||
#define ActSeeAdmDocCrsGrp (ActDowShaDeg+ 5)
|
#define ActSeeAdmDocCrsGrp (ActDowShaDeg+ 5)
|
||||||
#define ActAdmShaCrsGrp (ActDowShaDeg+ 6)
|
#define ActAdmTchCrsGrp (ActDowShaDeg+ 6)
|
||||||
#define ActSeeCrsTT (ActDowShaDeg+ 7)
|
#define ActAdmShaCrsGrp (ActDowShaDeg+ 7)
|
||||||
#define ActSeeBib (ActDowShaDeg+ 8)
|
#define ActSeeCrsTT (ActDowShaDeg+ 8)
|
||||||
#define ActSeeFAQ (ActDowShaDeg+ 9)
|
#define ActSeeBib (ActDowShaDeg+ 9)
|
||||||
#define ActSeeCrsLnk (ActDowShaDeg+ 10)
|
#define ActSeeFAQ (ActDowShaDeg+ 10)
|
||||||
|
#define ActSeeCrsLnk (ActDowShaDeg+ 11)
|
||||||
// Secondary actions
|
// Secondary actions
|
||||||
#define ActCrsSch (ActDowShaDeg+ 11)
|
#define ActCrsSch (ActDowShaDeg+ 12)
|
||||||
#define ActPrnCrsInf (ActDowShaDeg+ 12)
|
#define ActPrnCrsInf (ActDowShaDeg+ 13)
|
||||||
#define ActChgCrsLog (ActDowShaDeg+ 13)
|
#define ActChgCrsLog (ActDowShaDeg+ 14)
|
||||||
#define ActEdiCrsInf (ActDowShaDeg+ 14)
|
#define ActEdiCrsInf (ActDowShaDeg+ 15)
|
||||||
#define ActEdiTchGui (ActDowShaDeg+ 15)
|
#define ActEdiTchGui (ActDowShaDeg+ 16)
|
||||||
#define ActPrnCrsTT (ActDowShaDeg+ 16)
|
#define ActPrnCrsTT (ActDowShaDeg+ 17)
|
||||||
#define ActEdiCrsTT (ActDowShaDeg+ 17)
|
#define ActEdiCrsTT (ActDowShaDeg+ 18)
|
||||||
#define ActChgCrsTT (ActDowShaDeg+ 18)
|
#define ActChgCrsTT (ActDowShaDeg+ 19)
|
||||||
#define ActChgCrsTT1stDay (ActDowShaDeg+ 19)
|
#define ActChgCrsTT1stDay (ActDowShaDeg+ 20)
|
||||||
#define ActSeeSylLec (ActDowShaDeg+ 20)
|
#define ActSeeSylLec (ActDowShaDeg+ 21)
|
||||||
#define ActSeeSylPra (ActDowShaDeg+ 21)
|
#define ActSeeSylPra (ActDowShaDeg+ 22)
|
||||||
#define ActEdiSylLec (ActDowShaDeg+ 22)
|
#define ActEdiSylLec (ActDowShaDeg+ 23)
|
||||||
#define ActEdiSylPra (ActDowShaDeg+ 23)
|
#define ActEdiSylPra (ActDowShaDeg+ 24)
|
||||||
#define ActDelItmSylLec (ActDowShaDeg+ 24)
|
#define ActDelItmSylLec (ActDowShaDeg+ 25)
|
||||||
#define ActDelItmSylPra (ActDowShaDeg+ 25)
|
#define ActDelItmSylPra (ActDowShaDeg+ 26)
|
||||||
#define ActUp_IteSylLec (ActDowShaDeg+ 26)
|
#define ActUp_IteSylLec (ActDowShaDeg+ 27)
|
||||||
#define ActUp_IteSylPra (ActDowShaDeg+ 27)
|
#define ActUp_IteSylPra (ActDowShaDeg+ 28)
|
||||||
#define ActDwnIteSylLec (ActDowShaDeg+ 28)
|
#define ActDwnIteSylLec (ActDowShaDeg+ 29)
|
||||||
#define ActDwnIteSylPra (ActDowShaDeg+ 29)
|
#define ActDwnIteSylPra (ActDowShaDeg+ 30)
|
||||||
#define ActRgtIteSylLec (ActDowShaDeg+ 30)
|
#define ActRgtIteSylLec (ActDowShaDeg+ 31)
|
||||||
#define ActRgtIteSylPra (ActDowShaDeg+ 31)
|
#define ActRgtIteSylPra (ActDowShaDeg+ 32)
|
||||||
#define ActLftIteSylLec (ActDowShaDeg+ 32)
|
#define ActLftIteSylLec (ActDowShaDeg+ 33)
|
||||||
#define ActLftIteSylPra (ActDowShaDeg+ 33)
|
#define ActLftIteSylPra (ActDowShaDeg+ 34)
|
||||||
#define ActInsIteSylLec (ActDowShaDeg+ 34)
|
#define ActInsIteSylLec (ActDowShaDeg+ 35)
|
||||||
#define ActInsIteSylPra (ActDowShaDeg+ 35)
|
#define ActInsIteSylPra (ActDowShaDeg+ 36)
|
||||||
#define ActModIteSylLec (ActDowShaDeg+ 36)
|
#define ActModIteSylLec (ActDowShaDeg+ 37)
|
||||||
#define ActModIteSylPra (ActDowShaDeg+ 37)
|
#define ActModIteSylPra (ActDowShaDeg+ 38)
|
||||||
|
|
||||||
#define ActChgToSeeDocCrs (ActDowShaDeg+ 38)
|
#define ActChgToSeeDocCrs (ActDowShaDeg+ 39)
|
||||||
#define ActSeeDocCrs (ActDowShaDeg+ 39)
|
#define ActSeeDocCrs (ActDowShaDeg+ 40)
|
||||||
#define ActExpSeeDocCrs (ActDowShaDeg+ 40)
|
#define ActExpSeeDocCrs (ActDowShaDeg+ 41)
|
||||||
#define ActConSeeDocCrs (ActDowShaDeg+ 41)
|
#define ActConSeeDocCrs (ActDowShaDeg+ 42)
|
||||||
#define ActZIPSeeDocCrs (ActDowShaDeg+ 42)
|
#define ActZIPSeeDocCrs (ActDowShaDeg+ 43)
|
||||||
#define ActReqDatSeeDocCrs (ActDowShaDeg+ 43)
|
#define ActReqDatSeeDocCrs (ActDowShaDeg+ 44)
|
||||||
#define ActDowSeeDocCrs (ActDowShaDeg+ 44)
|
#define ActDowSeeDocCrs (ActDowShaDeg+ 45)
|
||||||
|
|
||||||
#define ActSeeDocGrp (ActDowShaDeg+ 45)
|
#define ActSeeDocGrp (ActDowShaDeg+ 46)
|
||||||
#define ActExpSeeDocGrp (ActDowShaDeg+ 46)
|
#define ActExpSeeDocGrp (ActDowShaDeg+ 47)
|
||||||
#define ActConSeeDocGrp (ActDowShaDeg+ 47)
|
#define ActConSeeDocGrp (ActDowShaDeg+ 48)
|
||||||
#define ActZIPSeeDocGrp (ActDowShaDeg+ 48)
|
#define ActZIPSeeDocGrp (ActDowShaDeg+ 49)
|
||||||
#define ActReqDatSeeDocGrp (ActDowShaDeg+ 49)
|
#define ActReqDatSeeDocGrp (ActDowShaDeg+ 50)
|
||||||
#define ActDowSeeDocGrp (ActDowShaDeg+ 50)
|
#define ActDowSeeDocGrp (ActDowShaDeg+ 51)
|
||||||
|
|
||||||
#define ActChgToAdmDocCrs (ActDowShaDeg+ 51)
|
#define ActChgToAdmDocCrs (ActDowShaDeg+ 52)
|
||||||
#define ActAdmDocCrs (ActDowShaDeg+ 52)
|
#define ActAdmDocCrs (ActDowShaDeg+ 53)
|
||||||
#define ActReqRemFilDocCrs (ActDowShaDeg+ 53)
|
#define ActReqRemFilDocCrs (ActDowShaDeg+ 54)
|
||||||
#define ActRemFilDocCrs (ActDowShaDeg+ 54)
|
#define ActRemFilDocCrs (ActDowShaDeg+ 55)
|
||||||
#define ActRemFolDocCrs (ActDowShaDeg+ 55)
|
#define ActRemFolDocCrs (ActDowShaDeg+ 56)
|
||||||
#define ActCopDocCrs (ActDowShaDeg+ 56)
|
#define ActCopDocCrs (ActDowShaDeg+ 57)
|
||||||
#define ActPasDocCrs (ActDowShaDeg+ 57)
|
#define ActPasDocCrs (ActDowShaDeg+ 58)
|
||||||
#define ActRemTreDocCrs (ActDowShaDeg+ 58)
|
#define ActRemTreDocCrs (ActDowShaDeg+ 59)
|
||||||
#define ActFrmCreDocCrs (ActDowShaDeg+ 59)
|
#define ActFrmCreDocCrs (ActDowShaDeg+ 60)
|
||||||
#define ActCreFolDocCrs (ActDowShaDeg+ 60)
|
#define ActCreFolDocCrs (ActDowShaDeg+ 61)
|
||||||
#define ActCreLnkDocCrs (ActDowShaDeg+ 61)
|
#define ActCreLnkDocCrs (ActDowShaDeg+ 62)
|
||||||
#define ActRenFolDocCrs (ActDowShaDeg+ 62)
|
#define ActRenFolDocCrs (ActDowShaDeg+ 63)
|
||||||
#define ActRcvFilDocCrsDZ (ActDowShaDeg+ 63)
|
#define ActRcvFilDocCrsDZ (ActDowShaDeg+ 64)
|
||||||
#define ActRcvFilDocCrsCla (ActDowShaDeg+ 64)
|
#define ActRcvFilDocCrsCla (ActDowShaDeg+ 65)
|
||||||
#define ActExpAdmDocCrs (ActDowShaDeg+ 65)
|
#define ActExpAdmDocCrs (ActDowShaDeg+ 66)
|
||||||
#define ActConAdmDocCrs (ActDowShaDeg+ 66)
|
#define ActConAdmDocCrs (ActDowShaDeg+ 67)
|
||||||
#define ActZIPAdmDocCrs (ActDowShaDeg+ 67)
|
#define ActZIPAdmDocCrs (ActDowShaDeg+ 68)
|
||||||
#define ActShoDocCrs (ActDowShaDeg+ 68)
|
#define ActShoDocCrs (ActDowShaDeg+ 69)
|
||||||
#define ActHidDocCrs (ActDowShaDeg+ 69)
|
#define ActHidDocCrs (ActDowShaDeg+ 70)
|
||||||
#define ActReqDatAdmDocCrs (ActDowShaDeg+ 70)
|
#define ActReqDatAdmDocCrs (ActDowShaDeg+ 71)
|
||||||
#define ActChgDatAdmDocCrs (ActDowShaDeg+ 71)
|
#define ActChgDatAdmDocCrs (ActDowShaDeg+ 72)
|
||||||
#define ActDowAdmDocCrs (ActDowShaDeg+ 72)
|
#define ActDowAdmDocCrs (ActDowShaDeg+ 73)
|
||||||
|
|
||||||
#define ActAdmDocGrp (ActDowShaDeg+ 73)
|
#define ActAdmDocGrp (ActDowShaDeg+ 74)
|
||||||
#define ActReqRemFilDocGrp (ActDowShaDeg+ 74)
|
#define ActReqRemFilDocGrp (ActDowShaDeg+ 75)
|
||||||
#define ActRemFilDocGrp (ActDowShaDeg+ 75)
|
#define ActRemFilDocGrp (ActDowShaDeg+ 76)
|
||||||
#define ActRemFolDocGrp (ActDowShaDeg+ 76)
|
#define ActRemFolDocGrp (ActDowShaDeg+ 77)
|
||||||
#define ActCopDocGrp (ActDowShaDeg+ 77)
|
#define ActCopDocGrp (ActDowShaDeg+ 78)
|
||||||
#define ActPasDocGrp (ActDowShaDeg+ 78)
|
#define ActPasDocGrp (ActDowShaDeg+ 79)
|
||||||
#define ActRemTreDocGrp (ActDowShaDeg+ 79)
|
#define ActRemTreDocGrp (ActDowShaDeg+ 80)
|
||||||
#define ActFrmCreDocGrp (ActDowShaDeg+ 80)
|
#define ActFrmCreDocGrp (ActDowShaDeg+ 81)
|
||||||
#define ActCreFolDocGrp (ActDowShaDeg+ 81)
|
#define ActCreFolDocGrp (ActDowShaDeg+ 82)
|
||||||
#define ActCreLnkDocGrp (ActDowShaDeg+ 82)
|
#define ActCreLnkDocGrp (ActDowShaDeg+ 83)
|
||||||
#define ActRenFolDocGrp (ActDowShaDeg+ 83)
|
#define ActRenFolDocGrp (ActDowShaDeg+ 84)
|
||||||
#define ActRcvFilDocGrpDZ (ActDowShaDeg+ 84)
|
#define ActRcvFilDocGrpDZ (ActDowShaDeg+ 85)
|
||||||
#define ActRcvFilDocGrpCla (ActDowShaDeg+ 85)
|
#define ActRcvFilDocGrpCla (ActDowShaDeg+ 86)
|
||||||
#define ActExpAdmDocGrp (ActDowShaDeg+ 86)
|
#define ActExpAdmDocGrp (ActDowShaDeg+ 87)
|
||||||
#define ActConAdmDocGrp (ActDowShaDeg+ 87)
|
#define ActConAdmDocGrp (ActDowShaDeg+ 88)
|
||||||
#define ActZIPAdmDocGrp (ActDowShaDeg+ 88)
|
#define ActZIPAdmDocGrp (ActDowShaDeg+ 89)
|
||||||
#define ActShoDocGrp (ActDowShaDeg+ 89)
|
#define ActShoDocGrp (ActDowShaDeg+ 90)
|
||||||
#define ActHidDocGrp (ActDowShaDeg+ 90)
|
#define ActHidDocGrp (ActDowShaDeg+ 91)
|
||||||
#define ActReqDatAdmDocGrp (ActDowShaDeg+ 91)
|
#define ActReqDatAdmDocGrp (ActDowShaDeg+ 92)
|
||||||
#define ActChgDatAdmDocGrp (ActDowShaDeg+ 92)
|
#define ActChgDatAdmDocGrp (ActDowShaDeg+ 93)
|
||||||
#define ActDowAdmDocGrp (ActDowShaDeg+ 93)
|
#define ActDowAdmDocGrp (ActDowShaDeg+ 94)
|
||||||
|
|
||||||
#define ActChgToAdmSha (ActDowShaDeg+ 94)
|
#define ActChgToAdmTch (ActDowShaDeg+ 95)
|
||||||
|
|
||||||
#define ActAdmShaCrs (ActDowShaDeg+ 95)
|
#define ActAdmTchCrs (ActDowShaDeg+ 96)
|
||||||
#define ActReqRemFilShaCrs (ActDowShaDeg+ 96)
|
#define ActReqRemFilTchCrs (ActDowShaDeg+ 97)
|
||||||
#define ActRemFilShaCrs (ActDowShaDeg+ 97)
|
#define ActRemFilTchCrs (ActDowShaDeg+ 98)
|
||||||
#define ActRemFolShaCrs (ActDowShaDeg+ 98)
|
#define ActRemFolTchCrs (ActDowShaDeg+ 99)
|
||||||
#define ActCopShaCrs (ActDowShaDeg+ 99)
|
#define ActCopTchCrs (ActDowShaDeg+100)
|
||||||
#define ActPasShaCrs (ActDowShaDeg+100)
|
#define ActPasTchCrs (ActDowShaDeg+101)
|
||||||
#define ActRemTreShaCrs (ActDowShaDeg+101)
|
#define ActRemTreTchCrs (ActDowShaDeg+102)
|
||||||
#define ActFrmCreShaCrs (ActDowShaDeg+102)
|
#define ActFrmCreTchCrs (ActDowShaDeg+103)
|
||||||
#define ActCreFolShaCrs (ActDowShaDeg+103)
|
#define ActCreFolTchCrs (ActDowShaDeg+104)
|
||||||
#define ActCreLnkShaCrs (ActDowShaDeg+104)
|
#define ActCreLnkTchCrs (ActDowShaDeg+105)
|
||||||
#define ActRenFolShaCrs (ActDowShaDeg+105)
|
#define ActRenFolTchCrs (ActDowShaDeg+106)
|
||||||
#define ActRcvFilShaCrsDZ (ActDowShaDeg+106)
|
#define ActRcvFilTchCrsDZ (ActDowShaDeg+107)
|
||||||
#define ActRcvFilShaCrsCla (ActDowShaDeg+107)
|
#define ActRcvFilTchCrsCla (ActDowShaDeg+108)
|
||||||
#define ActExpShaCrs (ActDowShaDeg+108)
|
#define ActExpTchCrs (ActDowShaDeg+109)
|
||||||
#define ActConShaCrs (ActDowShaDeg+109)
|
#define ActConTchCrs (ActDowShaDeg+110)
|
||||||
#define ActZIPShaCrs (ActDowShaDeg+110)
|
#define ActZIPTchCrs (ActDowShaDeg+111)
|
||||||
#define ActReqDatShaCrs (ActDowShaDeg+111)
|
#define ActReqDatTchCrs (ActDowShaDeg+112)
|
||||||
#define ActChgDatShaCrs (ActDowShaDeg+112)
|
#define ActChgDatTchCrs (ActDowShaDeg+113)
|
||||||
#define ActDowShaCrs (ActDowShaDeg+113)
|
#define ActDowTchCrs (ActDowShaDeg+114)
|
||||||
|
|
||||||
#define ActAdmShaGrp (ActDowShaDeg+114)
|
#define ActAdmTchGrp (ActDowShaDeg+115)
|
||||||
#define ActReqRemFilShaGrp (ActDowShaDeg+115)
|
#define ActReqRemFilTchGrp (ActDowShaDeg+116)
|
||||||
#define ActRemFilShaGrp (ActDowShaDeg+116)
|
#define ActRemFilTchGrp (ActDowShaDeg+117)
|
||||||
#define ActRemFolShaGrp (ActDowShaDeg+117)
|
#define ActRemFolTchGrp (ActDowShaDeg+118)
|
||||||
#define ActCopShaGrp (ActDowShaDeg+118)
|
#define ActCopTchGrp (ActDowShaDeg+119)
|
||||||
#define ActPasShaGrp (ActDowShaDeg+119)
|
#define ActPasTchGrp (ActDowShaDeg+120)
|
||||||
#define ActRemTreShaGrp (ActDowShaDeg+120)
|
#define ActRemTreTchGrp (ActDowShaDeg+121)
|
||||||
#define ActFrmCreShaGrp (ActDowShaDeg+121)
|
#define ActFrmCreTchGrp (ActDowShaDeg+122)
|
||||||
#define ActCreFolShaGrp (ActDowShaDeg+122)
|
#define ActCreFolTchGrp (ActDowShaDeg+123)
|
||||||
#define ActCreLnkShaGrp (ActDowShaDeg+123)
|
#define ActCreLnkTchGrp (ActDowShaDeg+124)
|
||||||
#define ActRenFolShaGrp (ActDowShaDeg+124)
|
#define ActRenFolTchGrp (ActDowShaDeg+125)
|
||||||
#define ActRcvFilShaGrpDZ (ActDowShaDeg+125)
|
#define ActRcvFilTchGrpDZ (ActDowShaDeg+126)
|
||||||
#define ActRcvFilShaGrpCla (ActDowShaDeg+126)
|
#define ActRcvFilTchGrpCla (ActDowShaDeg+127)
|
||||||
#define ActExpShaGrp (ActDowShaDeg+127)
|
#define ActExpTchGrp (ActDowShaDeg+128)
|
||||||
#define ActConShaGrp (ActDowShaDeg+128)
|
#define ActConTchGrp (ActDowShaDeg+129)
|
||||||
#define ActZIPShaGrp (ActDowShaDeg+129)
|
#define ActZIPTchGrp (ActDowShaDeg+130)
|
||||||
#define ActReqDatShaGrp (ActDowShaDeg+130)
|
#define ActReqDatTchGrp (ActDowShaDeg+131)
|
||||||
#define ActChgDatShaGrp (ActDowShaDeg+131)
|
#define ActChgDatTchGrp (ActDowShaDeg+132)
|
||||||
#define ActDowShaGrp (ActDowShaDeg+132)
|
#define ActDowTchGrp (ActDowShaDeg+133)
|
||||||
|
|
||||||
#define ActEdiBib (ActDowShaDeg+133)
|
#define ActChgToAdmSha (ActDowShaDeg+134)
|
||||||
#define ActEdiFAQ (ActDowShaDeg+134)
|
|
||||||
#define ActEdiCrsLnk (ActDowShaDeg+135)
|
|
||||||
|
|
||||||
#define ActChgFrcReaCrsInf (ActDowShaDeg+136)
|
#define ActAdmShaCrs (ActDowShaDeg+135)
|
||||||
#define ActChgFrcReaTchGui (ActDowShaDeg+137)
|
#define ActReqRemFilShaCrs (ActDowShaDeg+136)
|
||||||
#define ActChgFrcReaSylLec (ActDowShaDeg+138)
|
#define ActRemFilShaCrs (ActDowShaDeg+137)
|
||||||
#define ActChgFrcReaSylPra (ActDowShaDeg+139)
|
#define ActRemFolShaCrs (ActDowShaDeg+138)
|
||||||
#define ActChgFrcReaBib (ActDowShaDeg+140)
|
#define ActCopShaCrs (ActDowShaDeg+139)
|
||||||
#define ActChgFrcReaFAQ (ActDowShaDeg+141)
|
#define ActPasShaCrs (ActDowShaDeg+140)
|
||||||
#define ActChgFrcReaCrsLnk (ActDowShaDeg+142)
|
#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 ActAdmShaGrp (ActDowShaDeg+154)
|
||||||
#define ActChgHavReaTchGui (ActDowShaDeg+144)
|
#define ActReqRemFilShaGrp (ActDowShaDeg+155)
|
||||||
#define ActChgHavReaSylLec (ActDowShaDeg+145)
|
#define ActRemFilShaGrp (ActDowShaDeg+156)
|
||||||
#define ActChgHavReaSylPra (ActDowShaDeg+146)
|
#define ActRemFolShaGrp (ActDowShaDeg+157)
|
||||||
#define ActChgHavReaBib (ActDowShaDeg+147)
|
#define ActCopShaGrp (ActDowShaDeg+158)
|
||||||
#define ActChgHavReaFAQ (ActDowShaDeg+148)
|
#define ActPasShaGrp (ActDowShaDeg+159)
|
||||||
#define ActChgHavReaCrsLnk (ActDowShaDeg+149)
|
#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 ActEdiBib (ActDowShaDeg+173)
|
||||||
#define ActSelInfSrcTchGui (ActDowShaDeg+151)
|
#define ActEdiFAQ (ActDowShaDeg+174)
|
||||||
#define ActSelInfSrcSylLec (ActDowShaDeg+152)
|
#define ActEdiCrsLnk (ActDowShaDeg+175)
|
||||||
#define ActSelInfSrcSylPra (ActDowShaDeg+153)
|
|
||||||
#define ActSelInfSrcBib (ActDowShaDeg+154)
|
#define ActChgFrcReaCrsInf (ActDowShaDeg+176)
|
||||||
#define ActSelInfSrcFAQ (ActDowShaDeg+155)
|
#define ActChgFrcReaTchGui (ActDowShaDeg+177)
|
||||||
#define ActSelInfSrcCrsLnk (ActDowShaDeg+156)
|
#define ActChgFrcReaSylLec (ActDowShaDeg+178)
|
||||||
#define ActRcvURLCrsInf (ActDowShaDeg+157)
|
#define ActChgFrcReaSylPra (ActDowShaDeg+179)
|
||||||
#define ActRcvURLTchGui (ActDowShaDeg+158)
|
#define ActChgFrcReaBib (ActDowShaDeg+180)
|
||||||
#define ActRcvURLSylLec (ActDowShaDeg+159)
|
#define ActChgFrcReaFAQ (ActDowShaDeg+181)
|
||||||
#define ActRcvURLSylPra (ActDowShaDeg+160)
|
#define ActChgFrcReaCrsLnk (ActDowShaDeg+182)
|
||||||
#define ActRcvURLBib (ActDowShaDeg+161)
|
|
||||||
#define ActRcvURLFAQ (ActDowShaDeg+162)
|
#define ActChgHavReaCrsInf (ActDowShaDeg+183)
|
||||||
#define ActRcvURLCrsLnk (ActDowShaDeg+163)
|
#define ActChgHavReaTchGui (ActDowShaDeg+184)
|
||||||
#define ActRcvPagCrsInf (ActDowShaDeg+164)
|
#define ActChgHavReaSylLec (ActDowShaDeg+185)
|
||||||
#define ActRcvPagTchGui (ActDowShaDeg+165)
|
#define ActChgHavReaSylPra (ActDowShaDeg+186)
|
||||||
#define ActRcvPagSylLec (ActDowShaDeg+166)
|
#define ActChgHavReaBib (ActDowShaDeg+187)
|
||||||
#define ActRcvPagSylPra (ActDowShaDeg+167)
|
#define ActChgHavReaFAQ (ActDowShaDeg+188)
|
||||||
#define ActRcvPagBib (ActDowShaDeg+168)
|
#define ActChgHavReaCrsLnk (ActDowShaDeg+189)
|
||||||
#define ActRcvPagFAQ (ActDowShaDeg+169)
|
|
||||||
#define ActRcvPagCrsLnk (ActDowShaDeg+170)
|
#define ActSelInfSrcCrsInf (ActDowShaDeg+190)
|
||||||
#define ActEditorCrsInf (ActDowShaDeg+171)
|
#define ActSelInfSrcTchGui (ActDowShaDeg+191)
|
||||||
#define ActEditorTchGui (ActDowShaDeg+172)
|
#define ActSelInfSrcSylLec (ActDowShaDeg+192)
|
||||||
#define ActEditorSylLec (ActDowShaDeg+173)
|
#define ActSelInfSrcSylPra (ActDowShaDeg+193)
|
||||||
#define ActEditorSylPra (ActDowShaDeg+174)
|
#define ActSelInfSrcBib (ActDowShaDeg+194)
|
||||||
#define ActEditorBib (ActDowShaDeg+175)
|
#define ActSelInfSrcFAQ (ActDowShaDeg+195)
|
||||||
#define ActEditorFAQ (ActDowShaDeg+176)
|
#define ActSelInfSrcCrsLnk (ActDowShaDeg+196)
|
||||||
#define ActEditorCrsLnk (ActDowShaDeg+177)
|
#define ActRcvURLCrsInf (ActDowShaDeg+197)
|
||||||
#define ActPlaTxtEdiCrsInf (ActDowShaDeg+178)
|
#define ActRcvURLTchGui (ActDowShaDeg+198)
|
||||||
#define ActPlaTxtEdiTchGui (ActDowShaDeg+179)
|
#define ActRcvURLSylLec (ActDowShaDeg+199)
|
||||||
#define ActPlaTxtEdiSylLec (ActDowShaDeg+180)
|
#define ActRcvURLSylPra (ActDowShaDeg+200)
|
||||||
#define ActPlaTxtEdiSylPra (ActDowShaDeg+181)
|
#define ActRcvURLBib (ActDowShaDeg+201)
|
||||||
#define ActPlaTxtEdiBib (ActDowShaDeg+182)
|
#define ActRcvURLFAQ (ActDowShaDeg+202)
|
||||||
#define ActPlaTxtEdiFAQ (ActDowShaDeg+183)
|
#define ActRcvURLCrsLnk (ActDowShaDeg+203)
|
||||||
#define ActPlaTxtEdiCrsLnk (ActDowShaDeg+184)
|
#define ActRcvPagCrsInf (ActDowShaDeg+204)
|
||||||
#define ActRchTxtEdiCrsInf (ActDowShaDeg+185)
|
#define ActRcvPagTchGui (ActDowShaDeg+205)
|
||||||
#define ActRchTxtEdiTchGui (ActDowShaDeg+186)
|
#define ActRcvPagSylLec (ActDowShaDeg+206)
|
||||||
#define ActRchTxtEdiSylLec (ActDowShaDeg+187)
|
#define ActRcvPagSylPra (ActDowShaDeg+207)
|
||||||
#define ActRchTxtEdiSylPra (ActDowShaDeg+188)
|
#define ActRcvPagBib (ActDowShaDeg+208)
|
||||||
#define ActRchTxtEdiBib (ActDowShaDeg+189)
|
#define ActRcvPagFAQ (ActDowShaDeg+209)
|
||||||
#define ActRchTxtEdiFAQ (ActDowShaDeg+190)
|
#define ActRcvPagCrsLnk (ActDowShaDeg+210)
|
||||||
#define ActRchTxtEdiCrsLnk (ActDowShaDeg+191)
|
#define ActEditorCrsInf (ActDowShaDeg+211)
|
||||||
#define ActRcvPlaTxtCrsInf (ActDowShaDeg+192)
|
#define ActEditorTchGui (ActDowShaDeg+212)
|
||||||
#define ActRcvPlaTxtTchGui (ActDowShaDeg+193)
|
#define ActEditorSylLec (ActDowShaDeg+213)
|
||||||
#define ActRcvPlaTxtSylLec (ActDowShaDeg+194)
|
#define ActEditorSylPra (ActDowShaDeg+214)
|
||||||
#define ActRcvPlaTxtSylPra (ActDowShaDeg+195)
|
#define ActEditorBib (ActDowShaDeg+215)
|
||||||
#define ActRcvPlaTxtBib (ActDowShaDeg+196)
|
#define ActEditorFAQ (ActDowShaDeg+216)
|
||||||
#define ActRcvPlaTxtFAQ (ActDowShaDeg+197)
|
#define ActEditorCrsLnk (ActDowShaDeg+217)
|
||||||
#define ActRcvPlaTxtCrsLnk (ActDowShaDeg+198)
|
#define ActPlaTxtEdiCrsInf (ActDowShaDeg+218)
|
||||||
#define ActRcvRchTxtCrsInf (ActDowShaDeg+199)
|
#define ActPlaTxtEdiTchGui (ActDowShaDeg+219)
|
||||||
#define ActRcvRchTxtTchGui (ActDowShaDeg+200)
|
#define ActPlaTxtEdiSylLec (ActDowShaDeg+220)
|
||||||
#define ActRcvRchTxtSylLec (ActDowShaDeg+201)
|
#define ActPlaTxtEdiSylPra (ActDowShaDeg+221)
|
||||||
#define ActRcvRchTxtSylPra (ActDowShaDeg+202)
|
#define ActPlaTxtEdiBib (ActDowShaDeg+222)
|
||||||
#define ActRcvRchTxtBib (ActDowShaDeg+203)
|
#define ActPlaTxtEdiFAQ (ActDowShaDeg+223)
|
||||||
#define ActRcvRchTxtFAQ (ActDowShaDeg+204)
|
#define ActPlaTxtEdiCrsLnk (ActDowShaDeg+224)
|
||||||
#define ActRcvRchTxtCrsLnk (ActDowShaDeg+205)
|
#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 ********************************/
|
/***************************** Assessment tab ********************************/
|
||||||
|
|
|
@ -137,13 +137,70 @@
|
||||||
/****************************** Public constants *****************************/
|
/****************************** 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 CSS_FILE "swad15.198.css"
|
||||||
#define JS_FILE "swad15.197.js"
|
#define JS_FILE "swad15.197.js"
|
||||||
|
|
||||||
// Number of lines (includes comments but not blank lines) has been got with the following command:
|
// 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
|
// 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.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.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)
|
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 ********************************/
|
/******************************* Public types ********************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#define Brw_NUM_TYPES_FILE_BROWSER 25
|
#define Brw_NUM_TYPES_FILE_BROWSER 27
|
||||||
// The following types are stored in clipboard, expanded_folders, file_browser_size tables as numeric fields, so don't change numbers!
|
// The following types are stored in several database tables as numeric fields,
|
||||||
|
// so don't change numbers!
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
Brw_UNKNOWN = 0,
|
Brw_UNKNOWN = 0,
|
||||||
|
@ -64,6 +65,8 @@ typedef enum
|
||||||
Brw_ADMI_SHARE_DEG = 22,
|
Brw_ADMI_SHARE_DEG = 22,
|
||||||
Brw_ADMI_SHARE_CTR = 23,
|
Brw_ADMI_SHARE_CTR = 23,
|
||||||
Brw_ADMI_SHARE_INS = 24,
|
Brw_ADMI_SHARE_INS = 24,
|
||||||
|
Brw_ADMI_TEACH_CRS = 25,
|
||||||
|
Brw_ADMI_TEACH_GRP = 26,
|
||||||
} Brw_FileBrowser_t;
|
} Brw_FileBrowser_t;
|
||||||
|
|
||||||
// The following types are stored in files and clipboard tables as numeric fields, so don't change numbers!
|
// 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_DOCUMENTS "doc"
|
||||||
#define Brw_INTERNAL_NAME_ROOT_FOLDER_SHARED_FILES "sha"
|
#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_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_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_ASSIGNMENTS "actividades" // TODO: It should be "asg"
|
||||||
#define Brw_INTERNAL_NAME_ROOT_FOLDER_WORKS "trabajos" // TODO: It should be "wrk"
|
#define Brw_INTERNAL_NAME_ROOT_FOLDER_WORKS "trabajos" // TODO: It should be "wrk"
|
||||||
|
@ -226,7 +230,7 @@ void Brw_RemoveGrpZones (long CrsCod,long GrpCod);
|
||||||
void Brw_RemoveUsrWorksInCrs (struct UsrData *UsrDat,struct Course *Crs,Cns_QuietOrVerbose_t QuietOrVerbose);
|
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_RemoveUsrWorksInAllCrss (struct UsrData *UsrDat,Cns_QuietOrVerbose_t QuietOrVerbose);
|
||||||
|
|
||||||
void Brw_GetSummaryAndContentOrSharedFile (char *SummaryStr,char **ContentStr,
|
void Brw_GetSummaryAndContentOfFile (char *SummaryStr,char **ContentStr,
|
||||||
long FilCod,unsigned MaxChars,bool GetContent);
|
long FilCod,unsigned MaxChars,bool GetContent);
|
||||||
|
|
||||||
unsigned Brw_ListDocsFound (const char *Query,
|
unsigned Brw_ListDocsFound (const char *Query,
|
||||||
|
|
|
@ -1139,14 +1139,14 @@ static void Ind_ShowTableOfCoursesWithIndicators (Ind_IndicatorsLayout_t Indicat
|
||||||
"DAT_SMALL_RED",Gbl.RowEvenOdd,
|
"DAT_SMALL_RED",Gbl.RowEvenOdd,
|
||||||
Indicators.ThereAreMaterials ? "" :
|
Indicators.ThereAreMaterials ? "" :
|
||||||
Txt_NO,
|
Txt_NO,
|
||||||
(Indicators.NumFilesInDownloadZones != 0) ? "DAT_SMALL_GREEN" :
|
(Indicators.NumFilesInDocumentZones != 0) ? "DAT_SMALL_GREEN" :
|
||||||
"DAT_SMALL_RED",
|
"DAT_SMALL_RED",
|
||||||
Gbl.RowEvenOdd,
|
Gbl.RowEvenOdd,
|
||||||
Indicators.NumFilesInDownloadZones,
|
Indicators.NumFilesInDocumentZones,
|
||||||
(Indicators.NumFilesInCommonZones != 0) ? "DAT_SMALL_GREEN" :
|
(Indicators.NumFilesInSharedZones != 0) ? "DAT_SMALL_GREEN" :
|
||||||
"DAT_SMALL_RED",
|
"DAT_SMALL_RED",
|
||||||
Gbl.RowEvenOdd,
|
Gbl.RowEvenOdd,
|
||||||
Indicators.NumFilesInCommonZones,
|
Indicators.NumFilesInSharedZones,
|
||||||
|
|
||||||
"DAT_SMALL_GREEN",Gbl.RowEvenOdd,
|
"DAT_SMALL_GREEN",Gbl.RowEvenOdd,
|
||||||
Indicators.ThereIsAssessment ? Txt_YES :
|
Indicators.ThereIsAssessment ? Txt_YES :
|
||||||
|
@ -1225,12 +1225,14 @@ void Ind_GetIndicatorsCrs (long CrsCod,struct Ind_IndicatorsCrs *Indicators)
|
||||||
Indicators->CountIndicators = 0;
|
Indicators->CountIndicators = 0;
|
||||||
|
|
||||||
/* Get whether download zones are empty or not */
|
/* Get whether download zones are empty or not */
|
||||||
Indicators->NumFilesInDownloadZonesCrs = Ind_GetNumFilesOfCrsFileZoneFromDB (Brw_ADMI_DOCUM_CRS,CrsCod);
|
Indicators->NumFilesInDocumentZonesCrs = Ind_GetNumFilesOfCrsFileZoneFromDB (Brw_ADMI_DOCUM_CRS,CrsCod);
|
||||||
Indicators->NumFilesInDownloadZonesGrp = Ind_GetNumFilesOfCrsFileZoneFromDB (Brw_ADMI_DOCUM_GRP,CrsCod);
|
Indicators->NumFilesInDocumentZonesGrp = Ind_GetNumFilesOfCrsFileZoneFromDB (Brw_ADMI_DOCUM_GRP,CrsCod);
|
||||||
Indicators->NumFilesInDownloadZones = Indicators->NumFilesInDownloadZonesCrs + Indicators->NumFilesInDownloadZonesGrp;
|
Indicators->NumFilesInDocumentZones = Indicators->NumFilesInDocumentZonesCrs +
|
||||||
Indicators->NumFilesInCommonZonesCrs = Ind_GetNumFilesOfCrsFileZoneFromDB (Brw_ADMI_SHARE_CRS,CrsCod);
|
Indicators->NumFilesInDocumentZonesGrp;
|
||||||
Indicators->NumFilesInCommonZonesGrp = Ind_GetNumFilesOfCrsFileZoneFromDB (Brw_ADMI_SHARE_GRP,CrsCod);
|
Indicators->NumFilesInSharedZonesCrs = Ind_GetNumFilesOfCrsFileZoneFromDB (Brw_ADMI_SHARE_CRS,CrsCod);
|
||||||
Indicators->NumFilesInCommonZones = Indicators->NumFilesInCommonZonesCrs + Indicators->NumFilesInCommonZonesGrp;
|
Indicators->NumFilesInSharedZonesGrp = Ind_GetNumFilesOfCrsFileZoneFromDB (Brw_ADMI_SHARE_GRP,CrsCod);
|
||||||
|
Indicators->NumFilesInSharedZones = Indicators->NumFilesInSharedZonesCrs +
|
||||||
|
Indicators->NumFilesInSharedZonesGrp;
|
||||||
|
|
||||||
/* Indicator #1: information about syllabus */
|
/* Indicator #1: information about syllabus */
|
||||||
Inf_GetInfoSrcFromDB (CrsCod,Inf_LECTURES ,&(Indicators->SyllabusLecSrc ),&MustBeRead);
|
Inf_GetInfoSrcFromDB (CrsCod,Inf_LECTURES ,&(Indicators->SyllabusLecSrc ),&MustBeRead);
|
||||||
|
@ -1263,8 +1265,8 @@ void Ind_GetIndicatorsCrs (long CrsCod,struct Ind_IndicatorsCrs *Indicators)
|
||||||
Indicators->CountIndicators++;
|
Indicators->CountIndicators++;
|
||||||
|
|
||||||
/* Indicator #4: information about materials */
|
/* Indicator #4: information about materials */
|
||||||
Indicators->ThereAreMaterials = (Indicators->NumFilesInDownloadZones != 0) ||
|
Indicators->ThereAreMaterials = (Indicators->NumFilesInDocumentZones != 0) ||
|
||||||
(Indicators->NumFilesInCommonZones != 0);
|
(Indicators->NumFilesInSharedZones != 0);
|
||||||
if (Indicators->ThereAreMaterials)
|
if (Indicators->ThereAreMaterials)
|
||||||
Indicators->CountIndicators++;
|
Indicators->CountIndicators++;
|
||||||
|
|
||||||
|
|
|
@ -34,12 +34,12 @@
|
||||||
#define Ind_NUM_INDICATORS 5
|
#define Ind_NUM_INDICATORS 5
|
||||||
struct Ind_IndicatorsCrs
|
struct Ind_IndicatorsCrs
|
||||||
{
|
{
|
||||||
unsigned long NumFilesInDownloadZones;
|
unsigned long NumFilesInDocumentZones;
|
||||||
unsigned long NumFilesInDownloadZonesCrs;
|
unsigned long NumFilesInDocumentZonesCrs;
|
||||||
unsigned long NumFilesInDownloadZonesGrp;
|
unsigned long NumFilesInDocumentZonesGrp;
|
||||||
unsigned long NumFilesInCommonZones;
|
unsigned long NumFilesInSharedZones;
|
||||||
unsigned long NumFilesInCommonZonesCrs;
|
unsigned long NumFilesInSharedZonesCrs;
|
||||||
unsigned long NumFilesInCommonZonesGrp;
|
unsigned long NumFilesInSharedZonesGrp;
|
||||||
bool ThereIsSyllabus;
|
bool ThereIsSyllabus;
|
||||||
Inf_InfoSrc_t TeachingGuideSrc;
|
Inf_InfoSrc_t TeachingGuideSrc;
|
||||||
Inf_InfoSrc_t SyllabusLecSrc;
|
Inf_InfoSrc_t SyllabusLecSrc;
|
||||||
|
|
|
@ -201,6 +201,8 @@ void Lay_WriteStartOfPage (void)
|
||||||
Gbl.Action.Act == ActFrmCreShaDeg || // Brw_ADMI_SHARE_DEG
|
Gbl.Action.Act == ActFrmCreShaDeg || // Brw_ADMI_SHARE_DEG
|
||||||
Gbl.Action.Act == ActFrmCreDocCrs || // Brw_ADMI_DOCUM_CRS
|
Gbl.Action.Act == ActFrmCreDocCrs || // Brw_ADMI_DOCUM_CRS
|
||||||
Gbl.Action.Act == ActFrmCreDocGrp || // Brw_ADMI_DOCUM_GRP
|
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 == ActFrmCreShaCrs || // Brw_ADMI_SHARE_CRS
|
||||||
Gbl.Action.Act == ActFrmCreShaGrp || // Brw_ADMI_SHARE_GRP
|
Gbl.Action.Act == ActFrmCreShaGrp || // Brw_ADMI_SHARE_GRP
|
||||||
Gbl.Action.Act == ActFrmCreAsgUsr || // Brw_ADMI_ASSIG_USR
|
Gbl.Action.Act == ActFrmCreAsgUsr || // Brw_ADMI_ASSIG_USR
|
||||||
|
@ -539,6 +541,8 @@ static void Lay_WriteScripts (void)
|
||||||
case ActFrmCreShaDeg: // Brw_ADMI_SHARE_DEG
|
case ActFrmCreShaDeg: // Brw_ADMI_SHARE_DEG
|
||||||
case ActFrmCreDocCrs: // Brw_ADMI_DOCUM_CRS
|
case ActFrmCreDocCrs: // Brw_ADMI_DOCUM_CRS
|
||||||
case ActFrmCreDocGrp: // Brw_ADMI_DOCUM_GRP
|
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 ActFrmCreShaCrs: // Brw_ADMI_SHARE_CRS
|
||||||
case ActFrmCreShaGrp: // Brw_ADMI_SHARE_GRP
|
case ActFrmCreShaGrp: // Brw_ADMI_SHARE_GRP
|
||||||
case ActFrmCreAsgUsr: // Brw_ADMI_ASSIG_USR
|
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,
|
ActSeeTchGui,
|
||||||
ActSeeSyl,
|
ActSeeSyl,
|
||||||
ActSeeAdmDocCrsGrp,
|
ActSeeAdmDocCrsGrp,
|
||||||
|
ActAdmTchCrsGrp,
|
||||||
ActAdmShaCrsGrp,
|
ActAdmShaCrsGrp,
|
||||||
ActSeeCrsTT,
|
ActSeeCrsTT,
|
||||||
ActSeeBib,
|
ActSeeBib,
|
||||||
|
|
|
@ -61,6 +61,7 @@ const char *Ntf_WSNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] =
|
||||||
|
|
||||||
/* Course tab */
|
/* Course tab */
|
||||||
"documentFile", // Ntf_EVENT_DOCUMENT_FILE
|
"documentFile", // Ntf_EVENT_DOCUMENT_FILE
|
||||||
|
"teachersFile", // Ntf_EVENT_TEACHERS_FILE
|
||||||
"sharedFile", // Ntf_EVENT_SHARED_FILE
|
"sharedFile", // Ntf_EVENT_SHARED_FILE
|
||||||
|
|
||||||
/* Assessment tab */
|
/* Assessment tab */
|
||||||
|
@ -98,6 +99,7 @@ static const Act_Action_t Ntf_DefaultActions[Ntf_NUM_NOTIFY_EVENTS] =
|
||||||
|
|
||||||
/* Course tab */
|
/* Course tab */
|
||||||
ActSeeAdmDocCrsGrp, // Ntf_EVENT_DOCUMENT_FILE
|
ActSeeAdmDocCrsGrp, // Ntf_EVENT_DOCUMENT_FILE
|
||||||
|
ActAdmTchCrsGrp, // Ntf_EVENT_TEACHERS_FILE
|
||||||
ActAdmShaCrsGrp, // Ntf_EVENT_SHARED_FILE
|
ActAdmShaCrsGrp, // Ntf_EVENT_SHARED_FILE
|
||||||
|
|
||||||
/* Assessment tab */
|
/* Assessment tab */
|
||||||
|
@ -140,6 +142,7 @@ static const char *Ntf_ParamNotifMeAboutNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] =
|
||||||
|
|
||||||
/* Course tab */
|
/* Course tab */
|
||||||
"NotifyNtfEventDocumentFile", // Ntf_EVENT_DOCUMENT_FILE
|
"NotifyNtfEventDocumentFile", // Ntf_EVENT_DOCUMENT_FILE
|
||||||
|
"NotifyNtfEventTeachersFile", // Ntf_EVENT_TEACHERS_FILE
|
||||||
"NotifyNtfEventSharedFile", // Ntf_EVENT_SHARED_FILE
|
"NotifyNtfEventSharedFile", // Ntf_EVENT_SHARED_FILE
|
||||||
|
|
||||||
/* Assessment tab */
|
/* Assessment tab */
|
||||||
|
@ -178,6 +181,7 @@ static const char *Ntf_ParamEmailMeAboutNotifyEvents[Ntf_NUM_NOTIFY_EVENTS] =
|
||||||
|
|
||||||
/* Course tab */
|
/* Course tab */
|
||||||
"EmailNtfEventDocumentFile", // Ntf_EVENT_DOCUMENT_FILE
|
"EmailNtfEventDocumentFile", // Ntf_EVENT_DOCUMENT_FILE
|
||||||
|
"EmailNtfEventTeachersFile", // Ntf_EVENT_TEACHERS_FILE
|
||||||
"EmailNtfEventSharedFile", // Ntf_EVENT_SHARED_FILE
|
"EmailNtfEventSharedFile", // Ntf_EVENT_SHARED_FILE
|
||||||
|
|
||||||
/* Assessment tab */
|
/* Assessment tab */
|
||||||
|
@ -216,6 +220,7 @@ static const char *Ntf_Icons[Ntf_NUM_NOTIFY_EVENTS] =
|
||||||
|
|
||||||
/* Course tab */
|
/* Course tab */
|
||||||
"file64x64.gif", // Ntf_EVENT_DOCUMENT_FILE
|
"file64x64.gif", // Ntf_EVENT_DOCUMENT_FILE
|
||||||
|
"file64x64.gif", // Ntf_EVENT_TEACHERS_FILE
|
||||||
"file64x64.gif", // Ntf_EVENT_SHARED_FILE
|
"file64x64.gif", // Ntf_EVENT_SHARED_FILE
|
||||||
|
|
||||||
/* Assessment tab */
|
/* Assessment tab */
|
||||||
|
@ -683,6 +688,7 @@ static bool Ntf_StartFormGoToAction (Ntf_NotifyEvent_t NotifyEvent,
|
||||||
switch (NotifyEvent)
|
switch (NotifyEvent)
|
||||||
{
|
{
|
||||||
case Ntf_EVENT_DOCUMENT_FILE:
|
case Ntf_EVENT_DOCUMENT_FILE:
|
||||||
|
case Ntf_EVENT_TEACHERS_FILE:
|
||||||
case Ntf_EVENT_SHARED_FILE:
|
case Ntf_EVENT_SHARED_FILE:
|
||||||
case Ntf_EVENT_MARKS_FILE:
|
case Ntf_EVENT_MARKS_FILE:
|
||||||
Action = ActUnk;
|
Action = ActUnk;
|
||||||
|
@ -702,6 +708,10 @@ static bool Ntf_StartFormGoToAction (Ntf_NotifyEvent_t NotifyEvent,
|
||||||
(CtrCod > 0 ? ActReqDatSeeDocCtr :
|
(CtrCod > 0 ? ActReqDatSeeDocCtr :
|
||||||
ActReqDatSeeDocIns))));
|
ActReqDatSeeDocIns))));
|
||||||
break;
|
break;
|
||||||
|
case Ntf_EVENT_TEACHERS_FILE:
|
||||||
|
Action = (GrpCod > 0 ? ActReqDatTchGrp :
|
||||||
|
ActReqDatTchCrs);
|
||||||
|
break;
|
||||||
case Ntf_EVENT_SHARED_FILE:
|
case Ntf_EVENT_SHARED_FILE:
|
||||||
Action = (GrpCod > 0 ? ActReqDatShaGrp :
|
Action = (GrpCod > 0 ? ActReqDatShaGrp :
|
||||||
(CrsCod > 0 ? ActReqDatShaCrs :
|
(CrsCod > 0 ? ActReqDatShaCrs :
|
||||||
|
@ -854,8 +864,9 @@ void Ntf_GetNotifSummaryAndContent (char *SummaryStr,char **ContentStr,
|
||||||
case Ntf_EVENT_UNKNOWN:
|
case Ntf_EVENT_UNKNOWN:
|
||||||
break;
|
break;
|
||||||
case Ntf_EVENT_DOCUMENT_FILE:
|
case Ntf_EVENT_DOCUMENT_FILE:
|
||||||
|
case Ntf_EVENT_TEACHERS_FILE:
|
||||||
case Ntf_EVENT_SHARED_FILE:
|
case Ntf_EVENT_SHARED_FILE:
|
||||||
Brw_GetSummaryAndContentOrSharedFile (SummaryStr,ContentStr,Cod,MaxChars,GetContent);
|
Brw_GetSummaryAndContentOfFile (SummaryStr,ContentStr,Cod,MaxChars,GetContent);
|
||||||
break;
|
break;
|
||||||
case Ntf_EVENT_ASSIGNMENT:
|
case Ntf_EVENT_ASSIGNMENT:
|
||||||
Asg_GetNotifAssignment (SummaryStr,ContentStr,Cod,MaxChars,GetContent);
|
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_CRS:
|
||||||
case Brw_ADMI_DOCUM_GRP:
|
case Brw_ADMI_DOCUM_GRP:
|
||||||
|
case Brw_ADMI_TEACH_CRS:
|
||||||
|
case Brw_ADMI_TEACH_GRP:
|
||||||
case Brw_ADMI_SHARE_CRS:
|
case Brw_ADMI_SHARE_CRS:
|
||||||
case Brw_ADMI_SHARE_GRP:
|
case Brw_ADMI_SHARE_GRP:
|
||||||
case Brw_ADMI_MARKS_CRS:
|
case Brw_ADMI_MARKS_CRS:
|
||||||
|
@ -1027,6 +1040,10 @@ void Ntf_MarkNotifOneFileAsRemoved (const char *Path)
|
||||||
case Brw_ADMI_DOCUM_GRP:
|
case Brw_ADMI_DOCUM_GRP:
|
||||||
NotifyEvent = Ntf_EVENT_DOCUMENT_FILE;
|
NotifyEvent = Ntf_EVENT_DOCUMENT_FILE;
|
||||||
break;
|
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_CRS:
|
||||||
case Brw_ADMI_SHARE_GRP:
|
case Brw_ADMI_SHARE_GRP:
|
||||||
NotifyEvent = Ntf_EVENT_SHARED_FILE;
|
NotifyEvent = Ntf_EVENT_SHARED_FILE;
|
||||||
|
@ -1062,6 +1079,8 @@ void Ntf_MarkNotifChildrenOfFolderAsRemoved (const char *Path)
|
||||||
{
|
{
|
||||||
case Brw_ADMI_DOCUM_CRS:
|
case Brw_ADMI_DOCUM_CRS:
|
||||||
case Brw_ADMI_DOCUM_GRP:
|
case Brw_ADMI_DOCUM_GRP:
|
||||||
|
case Brw_ADMI_TEACH_CRS:
|
||||||
|
case Brw_ADMI_TEACH_GRP:
|
||||||
case Brw_ADMI_SHARE_CRS:
|
case Brw_ADMI_SHARE_CRS:
|
||||||
case Brw_ADMI_SHARE_GRP:
|
case Brw_ADMI_SHARE_GRP:
|
||||||
case Brw_ADMI_MARKS_CRS:
|
case Brw_ADMI_MARKS_CRS:
|
||||||
|
@ -1073,6 +1092,10 @@ void Ntf_MarkNotifChildrenOfFolderAsRemoved (const char *Path)
|
||||||
case Brw_ADMI_DOCUM_GRP:
|
case Brw_ADMI_DOCUM_GRP:
|
||||||
NotifyEvent = Ntf_EVENT_DOCUMENT_FILE;
|
NotifyEvent = Ntf_EVENT_DOCUMENT_FILE;
|
||||||
break;
|
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_CRS:
|
||||||
case Brw_ADMI_SHARE_GRP:
|
case Brw_ADMI_SHARE_GRP:
|
||||||
NotifyEvent = Ntf_EVENT_SHARED_FILE;
|
NotifyEvent = Ntf_EVENT_SHARED_FILE;
|
||||||
|
@ -1110,14 +1133,16 @@ void Ntf_MarkNotifFilesInGroupAsRemoved (long GrpCod)
|
||||||
|
|
||||||
/***** Set notifications as removed *****/
|
/***** Set notifications as removed *****/
|
||||||
sprintf (Query,"UPDATE notif SET Status=(Status | %u)"
|
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"
|
" (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_STATUS_BIT_REMOVED,
|
||||||
(unsigned) Ntf_EVENT_DOCUMENT_FILE,
|
(unsigned) Ntf_EVENT_DOCUMENT_FILE,
|
||||||
|
(unsigned) Ntf_EVENT_TEACHERS_FILE,
|
||||||
(unsigned) Ntf_EVENT_SHARED_FILE,
|
(unsigned) Ntf_EVENT_SHARED_FILE,
|
||||||
(unsigned) Ntf_EVENT_MARKS_FILE,
|
(unsigned) Ntf_EVENT_MARKS_FILE,
|
||||||
(unsigned) Brw_ADMI_DOCUM_GRP,
|
(unsigned) Brw_ADMI_DOCUM_GRP,
|
||||||
|
(unsigned) Brw_ADMI_TEACH_GRP,
|
||||||
(unsigned) Brw_ADMI_SHARE_GRP,
|
(unsigned) Brw_ADMI_SHARE_GRP,
|
||||||
(unsigned) Brw_ADMI_MARKS_GRP,
|
(unsigned) Brw_ADMI_MARKS_GRP,
|
||||||
GrpCod);
|
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
|
case Ntf_EVENT_UNKNOWN: // This function should not be called in this case
|
||||||
return 0;
|
return 0;
|
||||||
case Ntf_EVENT_DOCUMENT_FILE:
|
case Ntf_EVENT_DOCUMENT_FILE:
|
||||||
|
case Ntf_EVENT_TEACHERS_FILE:
|
||||||
case Ntf_EVENT_SHARED_FILE:
|
case Ntf_EVENT_SHARED_FILE:
|
||||||
case Ntf_EVENT_MARKS_FILE:
|
case Ntf_EVENT_MARKS_FILE:
|
||||||
switch (Gbl.FileBrowser.Type)
|
switch (Gbl.FileBrowser.Type)
|
||||||
{
|
{
|
||||||
case Brw_ADMI_DOCUM_CRS:
|
case Brw_ADMI_DOCUM_CRS:
|
||||||
case Brw_ADMI_SHARE_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"
|
sprintf (Query,"SELECT UsrCod FROM crs_usr"
|
||||||
" WHERE CrsCod='%ld'"
|
" WHERE CrsCod='%ld'"
|
||||||
" AND UsrCod<>'%ld'",
|
" AND UsrCod<>'%ld'",
|
||||||
Gbl.CurrentCrs.Crs.CrsCod,
|
Gbl.CurrentCrs.Crs.CrsCod,
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod);
|
Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||||
break;
|
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_DOCUM_GRP:
|
||||||
case Brw_ADMI_SHARE_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"
|
sprintf (Query,"SELECT UsrCod FROM crs_grp_usr"
|
||||||
" WHERE crs_grp_usr.GrpCod='%ld'"
|
" WHERE crs_grp_usr.GrpCod='%ld'"
|
||||||
" AND crs_grp_usr.UsrCod<>'%ld'",
|
" AND crs_grp_usr.UsrCod<>'%ld'",
|
||||||
Gbl.CurrentCrs.Grps.GrpCod,
|
Gbl.CurrentCrs.Grps.GrpCod,
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod);
|
Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||||
break;
|
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
|
default: // This function should not be called in other cases
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -1207,7 +1254,8 @@ unsigned Ntf_StoreNotifyEventsToAllUsrs (Ntf_NotifyEvent_t NotifyEvent,long Cod)
|
||||||
if (Gbl.CurrentCrs.Crs.NumTchs)
|
if (Gbl.CurrentCrs.Crs.NumTchs)
|
||||||
// If this course has teachers ==> send notification to teachers
|
// If this course has teachers ==> send notification to teachers
|
||||||
sprintf (Query,"SELECT UsrCod FROM crs_usr"
|
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
|
" AND Role='%u'", // Notify teachers only
|
||||||
Gbl.CurrentCrs.Crs.CrsCod,
|
Gbl.CurrentCrs.Crs.CrsCod,
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
|
@ -1593,6 +1641,7 @@ static void Ntf_SendPendingNotifByEMailToOneUsr (struct UsrData *ToUsrDat,unsign
|
||||||
case Ntf_EVENT_FOLLOWER:
|
case Ntf_EVENT_FOLLOWER:
|
||||||
break;
|
break;
|
||||||
case Ntf_EVENT_DOCUMENT_FILE:
|
case Ntf_EVENT_DOCUMENT_FILE:
|
||||||
|
case Ntf_EVENT_TEACHERS_FILE:
|
||||||
case Ntf_EVENT_SHARED_FILE:
|
case Ntf_EVENT_SHARED_FILE:
|
||||||
case Ntf_EVENT_ASSIGNMENT:
|
case Ntf_EVENT_ASSIGNMENT:
|
||||||
case Ntf_EVENT_EXAM_ANNOUNCEMENT:
|
case Ntf_EVENT_EXAM_ANNOUNCEMENT:
|
||||||
|
|
|
@ -37,42 +37,44 @@
|
||||||
/******************************** Public types *******************************/
|
/******************************** 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,
|
// 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
|
typedef enum
|
||||||
{
|
{
|
||||||
Ntf_EVENT_UNKNOWN = 0,
|
Ntf_EVENT_UNKNOWN = 0,
|
||||||
|
|
||||||
/* Course tab */
|
/* Course tab */
|
||||||
Ntf_EVENT_DOCUMENT_FILE = 1,
|
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 */
|
/* Assessment tab */
|
||||||
Ntf_EVENT_ASSIGNMENT = 3,
|
Ntf_EVENT_ASSIGNMENT = 4, // Old 3
|
||||||
Ntf_EVENT_EXAM_ANNOUNCEMENT = 4,
|
Ntf_EVENT_EXAM_ANNOUNCEMENT = 5, // Old 4
|
||||||
Ntf_EVENT_MARKS_FILE = 5,
|
Ntf_EVENT_MARKS_FILE = 6, // Old 5
|
||||||
|
|
||||||
/* Users tab */
|
/* Users tab */
|
||||||
Ntf_EVENT_ENROLLMENT_STUDENT = 6,
|
Ntf_EVENT_ENROLLMENT_STUDENT = 7, // Old 6
|
||||||
Ntf_EVENT_ENROLLMENT_TEACHER = 7,
|
Ntf_EVENT_ENROLLMENT_TEACHER = 8, // Old 7
|
||||||
Ntf_EVENT_ENROLLMENT_REQUEST = 8,
|
Ntf_EVENT_ENROLLMENT_REQUEST = 9, // Old 8
|
||||||
|
|
||||||
/* Social tab */
|
/* Social tab */
|
||||||
Ntf_EVENT_TIMELINE_COMMENT = 9, // Old 10 // New comment to one of my social publishings (notes or comments)
|
Ntf_EVENT_TIMELINE_COMMENT = 10, // Old 9 // 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_FAV = 11, // Old 10 // 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_SHARE = 12, // Old 11 // New sharing of one of my social notes
|
||||||
Ntf_EVENT_TIMELINE_MENTION = 12, // Old 13 // New mention
|
Ntf_EVENT_TIMELINE_MENTION = 13, // Old 12 // New mention
|
||||||
Ntf_EVENT_FOLLOWER = 13, // Old 14
|
Ntf_EVENT_FOLLOWER = 14, // Old 13
|
||||||
Ntf_EVENT_FORUM_POST_COURSE = 14, // Old 15 // New post in forums of my courses
|
Ntf_EVENT_FORUM_POST_COURSE = 15, // Old 14 // 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_FORUM_REPLY = 16, // Old 15 // New reply to one of my posts in any forum
|
||||||
|
|
||||||
/* Messages tab */
|
/* Messages tab */
|
||||||
Ntf_EVENT_NOTICE = 16, // Old 17
|
Ntf_EVENT_NOTICE = 17, // Old 16
|
||||||
Ntf_EVENT_MESSAGE = 17, // Old 18
|
Ntf_EVENT_MESSAGE = 18, // Old 17
|
||||||
|
|
||||||
/* Statistics tab */
|
/* Statistics tab */
|
||||||
Ntf_EVENT_SURVEY = 18, // Old 19
|
Ntf_EVENT_SURVEY = 19, // Old 18
|
||||||
|
|
||||||
/* Profile tab */
|
/* 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_document_in_my_courses;
|
||||||
extern const char *Txt_documents_in_my_courses;
|
extern const char *Txt_documents_in_my_courses;
|
||||||
char SearchQuery[Sch_MAX_LENGTH_SEARCH_QUERY+1];
|
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;
|
unsigned NumDocs;
|
||||||
|
|
||||||
/***** Check user's permission *****/
|
/***** Check user's permission *****/
|
||||||
|
@ -890,25 +890,31 @@ static unsigned Sch_SearchDocumentsInMyCoursesInDB (const char *RangeQuery)
|
||||||
if (mysql_query (&Gbl.mysql,Query))
|
if (mysql_query (&Gbl.mysql,Query))
|
||||||
DB_ExitOnMySQLError ("can not remove temporary table");
|
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"
|
" SELECT files.FilCod FROM crs_usr,files"
|
||||||
" WHERE crs_usr.UsrCod='%ld'"
|
" WHERE crs_usr.UsrCod='%ld'"
|
||||||
" AND crs_usr.CrsCod=files.Cod"
|
" 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,
|
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
(unsigned) Brw_ADMI_DOCUM_CRS,
|
(unsigned) Brw_ADMI_DOCUM_CRS,
|
||||||
|
(unsigned) Brw_ADMI_TEACH_CRS,
|
||||||
(unsigned) Brw_ADMI_SHARE_CRS,
|
(unsigned) Brw_ADMI_SHARE_CRS,
|
||||||
(unsigned) Brw_ADMI_MARKS_CRS);
|
(unsigned) Brw_ADMI_MARKS_CRS);
|
||||||
if (mysql_query (&Gbl.mysql,Query))
|
if (mysql_query (&Gbl.mysql,Query))
|
||||||
DB_ExitOnMySQLError ("can not create temporary table");
|
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"
|
" SELECT files.FilCod FROM crs_grp_usr,files"
|
||||||
" WHERE crs_grp_usr.UsrCod='%ld'"
|
" WHERE crs_grp_usr.UsrCod='%ld'"
|
||||||
" AND crs_grp_usr.GrpCod=files.Cod"
|
" 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,
|
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
(unsigned) Brw_ADMI_DOCUM_GRP,
|
(unsigned) Brw_ADMI_DOCUM_GRP,
|
||||||
|
(unsigned) Brw_ADMI_TEACH_GRP,
|
||||||
(unsigned) Brw_ADMI_SHARE_GRP,
|
(unsigned) Brw_ADMI_SHARE_GRP,
|
||||||
(unsigned) Brw_ADMI_MARKS_GRP);
|
(unsigned) Brw_ADMI_MARKS_GRP);
|
||||||
/* if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM)
|
/* if (Gbl.Usrs.Me.LoggedRole == Rol_ROLE_SYS_ADM)
|
||||||
|
@ -928,7 +934,7 @@ static unsigned Sch_SearchDocumentsInMyCoursesInDB (const char *RangeQuery)
|
||||||
"'-1' AS GrpCod"
|
"'-1' AS GrpCod"
|
||||||
" FROM files,courses,degrees,centres,institutions,countries"
|
" FROM files,courses,degrees,centres,institutions,countries"
|
||||||
" WHERE files.FilCod IN (SELECT FilCod FROM my_files_crs) AND %s"
|
" 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 files.Cod=courses.CrsCod"
|
||||||
" AND courses.DegCod=degrees.DegCod"
|
" AND courses.DegCod=degrees.DegCod"
|
||||||
" AND degrees.CtrCod=centres.CtrCod"
|
" AND degrees.CtrCod=centres.CtrCod"
|
||||||
|
@ -945,7 +951,7 @@ static unsigned Sch_SearchDocumentsInMyCoursesInDB (const char *RangeQuery)
|
||||||
"crs_grp.GrpCod"
|
"crs_grp.GrpCod"
|
||||||
" FROM files,crs_grp,crs_grp_types,courses,degrees,centres,institutions,countries"
|
" FROM files,crs_grp,crs_grp_types,courses,degrees,centres,institutions,countries"
|
||||||
" WHERE files.FilCod IN (SELECT FilCod FROM my_files_grp) AND %s"
|
" 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 files.Cod=crs_grp.GrpCod"
|
||||||
" AND crs_grp.GrpTypCod=crs_grp_types.GrpTypCod"
|
" AND crs_grp.GrpTypCod=crs_grp_types.GrpTypCod"
|
||||||
" AND crs_grp_types.CrsCod=courses.CrsCod"
|
" 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",
|
" ORDER BY InsShortName,CtrShortName,DegShortName,CrsShortName,PathFromRoot",
|
||||||
SearchQuery,
|
SearchQuery,
|
||||||
(unsigned) Brw_ADMI_DOCUM_CRS,
|
(unsigned) Brw_ADMI_DOCUM_CRS,
|
||||||
|
(unsigned) Brw_ADMI_TEACH_CRS,
|
||||||
(unsigned) Brw_ADMI_SHARE_CRS,
|
(unsigned) Brw_ADMI_SHARE_CRS,
|
||||||
(unsigned) Brw_ADMI_MARKS_CRS,
|
(unsigned) Brw_ADMI_MARKS_CRS,
|
||||||
RangeQuery,
|
RangeQuery,
|
||||||
SearchQuery,
|
SearchQuery,
|
||||||
(unsigned) Brw_ADMI_DOCUM_GRP,
|
(unsigned) Brw_ADMI_DOCUM_GRP,
|
||||||
|
(unsigned) Brw_ADMI_TEACH_GRP,
|
||||||
(unsigned) Brw_ADMI_SHARE_GRP,
|
(unsigned) Brw_ADMI_SHARE_GRP,
|
||||||
(unsigned) Brw_ADMI_MARKS_GRP,
|
(unsigned) Brw_ADMI_MARKS_GRP,
|
||||||
RangeQuery);
|
RangeQuery);
|
||||||
|
@ -1060,7 +1068,7 @@ static unsigned Sch_SearchMyDocumentsInDB (const char *RangeQuery)
|
||||||
"'-1' AS GrpCod"
|
"'-1' AS GrpCod"
|
||||||
" FROM files,courses,degrees,centres,institutions,countries"
|
" FROM files,courses,degrees,centres,institutions,countries"
|
||||||
" WHERE files.PublisherUsrCod='%ld' AND %s"
|
" 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 files.Cod=courses.CrsCod"
|
||||||
" AND courses.DegCod=degrees.DegCod"
|
" AND courses.DegCod=degrees.DegCod"
|
||||||
" AND degrees.CtrCod=centres.CtrCod"
|
" AND degrees.CtrCod=centres.CtrCod"
|
||||||
|
@ -1077,7 +1085,7 @@ static unsigned Sch_SearchMyDocumentsInDB (const char *RangeQuery)
|
||||||
"crs_grp.GrpCod"
|
"crs_grp.GrpCod"
|
||||||
" FROM files,crs_grp,crs_grp_types,courses,degrees,centres,institutions,countries"
|
" FROM files,crs_grp,crs_grp_types,courses,degrees,centres,institutions,countries"
|
||||||
" WHERE files.PublisherUsrCod='%ld' AND %s"
|
" 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 files.Cod=crs_grp.GrpCod"
|
||||||
" AND crs_grp.GrpTypCod=crs_grp_types.GrpTypCod"
|
" AND crs_grp.GrpTypCod=crs_grp_types.GrpTypCod"
|
||||||
" AND crs_grp_types.CrsCod=courses.CrsCod"
|
" AND crs_grp_types.CrsCod=courses.CrsCod"
|
||||||
|
@ -1114,11 +1122,13 @@ static unsigned Sch_SearchMyDocumentsInDB (const char *RangeQuery)
|
||||||
RangeQuery,
|
RangeQuery,
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,SearchQuery,
|
Gbl.Usrs.Me.UsrDat.UsrCod,SearchQuery,
|
||||||
(unsigned) Brw_ADMI_DOCUM_CRS,
|
(unsigned) Brw_ADMI_DOCUM_CRS,
|
||||||
|
(unsigned) Brw_ADMI_TEACH_CRS,
|
||||||
(unsigned) Brw_ADMI_SHARE_CRS,
|
(unsigned) Brw_ADMI_SHARE_CRS,
|
||||||
(unsigned) Brw_ADMI_MARKS_CRS,
|
(unsigned) Brw_ADMI_MARKS_CRS,
|
||||||
RangeQuery,
|
RangeQuery,
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,SearchQuery,
|
Gbl.Usrs.Me.UsrDat.UsrCod,SearchQuery,
|
||||||
(unsigned) Brw_ADMI_DOCUM_GRP,
|
(unsigned) Brw_ADMI_DOCUM_GRP,
|
||||||
|
(unsigned) Brw_ADMI_TEACH_GRP,
|
||||||
(unsigned) Brw_ADMI_SHARE_GRP,
|
(unsigned) Brw_ADMI_SHARE_GRP,
|
||||||
(unsigned) Brw_ADMI_MARKS_GRP,
|
(unsigned) Brw_ADMI_MARKS_GRP,
|
||||||
RangeQuery,
|
RangeQuery,
|
||||||
|
|
|
@ -275,6 +275,7 @@ void Soc_ShowTimelineGbl (void)
|
||||||
|
|
||||||
/* Course tab */
|
/* Course tab */
|
||||||
Soc_TOP_MESSAGE_NONE, // Ntf_EVENT_DOCUMENT_FILE
|
Soc_TOP_MESSAGE_NONE, // Ntf_EVENT_DOCUMENT_FILE
|
||||||
|
Soc_TOP_MESSAGE_NONE, // Ntf_EVENT_TEACHERS_FILE
|
||||||
Soc_TOP_MESSAGE_NONE, // Ntf_EVENT_SHARED_FILE
|
Soc_TOP_MESSAGE_NONE, // Ntf_EVENT_SHARED_FILE
|
||||||
|
|
||||||
/* Assessment tab */
|
/* Assessment tab */
|
||||||
|
@ -1689,7 +1690,7 @@ static void Soc_GetNoteSummary (const struct SocialNote *SocNot,
|
||||||
case Soc_NOTE_DEG_SHA_PUB_FILE:
|
case Soc_NOTE_DEG_SHA_PUB_FILE:
|
||||||
case Soc_NOTE_CRS_DOC_PUB_FILE:
|
case Soc_NOTE_CRS_DOC_PUB_FILE:
|
||||||
case Soc_NOTE_CRS_SHA_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;
|
break;
|
||||||
case Soc_NOTE_EXAM_ANNOUNCEMENT:
|
case Soc_NOTE_EXAM_ANNOUNCEMENT:
|
||||||
Exa_GetSummaryAndContentExamAnnouncement (SummaryStr,NULL,SocNot->Cod,MaxChars,false);
|
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_CRS,
|
||||||
Brw_ADMI_DOCUM_GRP,
|
Brw_ADMI_DOCUM_GRP,
|
||||||
|
Brw_ADMI_TEACH_CRS,
|
||||||
|
Brw_ADMI_TEACH_GRP,
|
||||||
Brw_ADMI_SHARE_CRS,
|
Brw_ADMI_SHARE_CRS,
|
||||||
Brw_ADMI_SHARE_GRP,
|
Brw_ADMI_SHARE_GRP,
|
||||||
Brw_ADMI_MARKS_CRS,
|
Brw_ADMI_MARKS_CRS,
|
||||||
|
@ -5486,45 +5488,72 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
|
||||||
switch (FileBrowser)
|
switch (FileBrowser)
|
||||||
{
|
{
|
||||||
case Brw_UNKNOWN:
|
case Brw_UNKNOWN:
|
||||||
sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),COUNT(DISTINCT GrpCod)-1,'-1',"
|
sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),"
|
||||||
"MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
|
"COUNT(DISTINCT GrpCod)-1,"
|
||||||
|
"'-1',"
|
||||||
|
"MAX(NumLevels),"
|
||||||
|
"SUM(NumFolders),"
|
||||||
|
"SUM(NumFiles),"
|
||||||
|
"SUM(TotalSize)"
|
||||||
" FROM "
|
" FROM "
|
||||||
"("
|
"("
|
||||||
"SELECT Cod AS CrsCod,'-1' AS GrpCod,"
|
"SELECT Cod AS CrsCod,"
|
||||||
"NumLevels,NumFolders,NumFiles,TotalSize"
|
"'-1' AS GrpCod,"
|
||||||
|
"NumLevels,"
|
||||||
|
"NumFolders,"
|
||||||
|
"NumFiles,"
|
||||||
|
"TotalSize"
|
||||||
" FROM file_browser_size"
|
" FROM file_browser_size"
|
||||||
" WHERE FileBrowser IN ('%u','%u','%u','%u','%u')"
|
" WHERE FileBrowser IN ('%u','%u','%u','%u','%u','%u')"
|
||||||
" UNION "
|
" UNION "
|
||||||
"SELECT crs_grp_types.CrsCod,file_browser_size.Cod AS GrpCod,"
|
"SELECT crs_grp_types.CrsCod,"
|
||||||
"file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
|
"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"
|
" FROM crs_grp_types,crs_grp,file_browser_size"
|
||||||
" WHERE crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
|
" WHERE crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
|
||||||
" AND crs_grp.GrpCod=file_browser_size.Cod"
|
" 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",
|
") AS sizes",
|
||||||
(unsigned) Brw_ADMI_DOCUM_CRS,
|
(unsigned) Brw_ADMI_DOCUM_CRS,
|
||||||
|
(unsigned) Brw_ADMI_TEACH_CRS,
|
||||||
(unsigned) Brw_ADMI_SHARE_CRS,
|
(unsigned) Brw_ADMI_SHARE_CRS,
|
||||||
(unsigned) Brw_ADMI_ASSIG_USR,
|
(unsigned) Brw_ADMI_ASSIG_USR,
|
||||||
(unsigned) Brw_ADMI_WORKS_USR,
|
(unsigned) Brw_ADMI_WORKS_USR,
|
||||||
(unsigned) Brw_ADMI_MARKS_CRS,
|
(unsigned) Brw_ADMI_MARKS_CRS,
|
||||||
(unsigned) Brw_ADMI_DOCUM_GRP,
|
(unsigned) Brw_ADMI_DOCUM_GRP,
|
||||||
|
(unsigned) Brw_ADMI_TEACH_GRP,
|
||||||
(unsigned) Brw_ADMI_SHARE_GRP,
|
(unsigned) Brw_ADMI_SHARE_GRP,
|
||||||
(unsigned) Brw_ADMI_MARKS_GRP);
|
(unsigned) Brw_ADMI_MARKS_GRP);
|
||||||
break;
|
break;
|
||||||
case Brw_ADMI_DOCUM_CRS:
|
case Brw_ADMI_DOCUM_CRS:
|
||||||
|
case Brw_ADMI_TEACH_CRS:
|
||||||
case Brw_ADMI_SHARE_CRS:
|
case Brw_ADMI_SHARE_CRS:
|
||||||
case Brw_ADMI_MARKS_CRS:
|
case Brw_ADMI_MARKS_CRS:
|
||||||
sprintf (Query,"SELECT COUNT(DISTINCT Cod),'-1','-1',"
|
sprintf (Query,"SELECT COUNT(DISTINCT Cod),"
|
||||||
"MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
|
"'-1',"
|
||||||
|
"'-1',"
|
||||||
|
"MAX(NumLevels),"
|
||||||
|
"SUM(NumFolders),"
|
||||||
|
"SUM(NumFiles),"
|
||||||
|
"SUM(TotalSize)"
|
||||||
" FROM file_browser_size"
|
" FROM file_browser_size"
|
||||||
" WHERE FileBrowser='%u'",
|
" WHERE FileBrowser='%u'",
|
||||||
(unsigned) FileBrowser);
|
(unsigned) FileBrowser);
|
||||||
break;
|
break;
|
||||||
case Brw_ADMI_DOCUM_GRP:
|
case Brw_ADMI_DOCUM_GRP:
|
||||||
|
case Brw_ADMI_TEACH_GRP:
|
||||||
case Brw_ADMI_SHARE_GRP:
|
case Brw_ADMI_SHARE_GRP:
|
||||||
case Brw_ADMI_MARKS_GRP:
|
case Brw_ADMI_MARKS_GRP:
|
||||||
sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),COUNT(DISTINCT file_browser_size.Cod),'-1',"
|
sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),"
|
||||||
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
|
"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"
|
" FROM crs_grp_types,crs_grp,file_browser_size"
|
||||||
" WHERE crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
|
" WHERE crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
|
||||||
" AND crs_grp.GrpCod=file_browser_size.Cod"
|
" AND crs_grp.GrpCod=file_browser_size.Cod"
|
||||||
|
@ -5533,15 +5562,25 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
|
||||||
break;
|
break;
|
||||||
case Brw_ADMI_ASSIG_USR:
|
case Brw_ADMI_ASSIG_USR:
|
||||||
case Brw_ADMI_WORKS_USR:
|
case Brw_ADMI_WORKS_USR:
|
||||||
sprintf (Query,"SELECT COUNT(DISTINCT Cod),'-1',COUNT(DISTINCT ZoneUsrCod),"
|
sprintf (Query,"SELECT COUNT(DISTINCT Cod),"
|
||||||
"MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
|
"'-1',"
|
||||||
|
"COUNT(DISTINCT ZoneUsrCod),"
|
||||||
|
"MAX(NumLevels),"
|
||||||
|
"SUM(NumFolders),"
|
||||||
|
"SUM(NumFiles),"
|
||||||
|
"SUM(TotalSize)"
|
||||||
" FROM file_browser_size"
|
" FROM file_browser_size"
|
||||||
" WHERE FileBrowser='%u'",
|
" WHERE FileBrowser='%u'",
|
||||||
(unsigned) FileBrowser);
|
(unsigned) FileBrowser);
|
||||||
break;
|
break;
|
||||||
case Brw_ADMI_BRIEF_USR:
|
case Brw_ADMI_BRIEF_USR:
|
||||||
sprintf (Query,"SELECT '-1','-1',COUNT(DISTINCT ZoneUsrCod),"
|
sprintf (Query,"SELECT '-1',"
|
||||||
"MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
|
"'-1',"
|
||||||
|
"COUNT(DISTINCT ZoneUsrCod),"
|
||||||
|
"MAX(NumLevels),"
|
||||||
|
"SUM(NumFolders),"
|
||||||
|
"SUM(NumFiles),"
|
||||||
|
"SUM(TotalSize)"
|
||||||
" FROM file_browser_size"
|
" FROM file_browser_size"
|
||||||
" WHERE FileBrowser='%u'",
|
" WHERE FileBrowser='%u'",
|
||||||
(unsigned) FileBrowser);
|
(unsigned) FileBrowser);
|
||||||
|
@ -5556,22 +5595,35 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
|
||||||
switch (FileBrowser)
|
switch (FileBrowser)
|
||||||
{
|
{
|
||||||
case Brw_UNKNOWN:
|
case Brw_UNKNOWN:
|
||||||
sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),COUNT(DISTINCT GrpCod)-1,'-1',"
|
sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),"
|
||||||
"MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
|
"COUNT(DISTINCT GrpCod)-1,"
|
||||||
|
"'-1',"
|
||||||
|
"MAX(NumLevels),"
|
||||||
|
"SUM(NumFolders),"
|
||||||
|
"SUM(NumFiles),"
|
||||||
|
"SUM(TotalSize)"
|
||||||
" FROM "
|
" FROM "
|
||||||
"("
|
"("
|
||||||
"SELECT file_browser_size.Cod AS CrsCod,'-1' AS GrpCod," // Course zones
|
"SELECT file_browser_size.Cod AS CrsCod,"
|
||||||
"file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
|
"'-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"
|
" FROM institutions,centres,degrees,courses,file_browser_size"
|
||||||
" WHERE institutions.CtyCod='%ld'"
|
" WHERE institutions.CtyCod='%ld'"
|
||||||
" AND institutions.InsCod=centres.InsCod"
|
" AND institutions.InsCod=centres.InsCod"
|
||||||
" AND centres.CtrCod=degrees.CtrCod"
|
" AND centres.CtrCod=degrees.CtrCod"
|
||||||
" AND degrees.DegCod=courses.DegCod"
|
" AND degrees.DegCod=courses.DegCod"
|
||||||
" AND courses.CrsCod=file_browser_size.Cod"
|
" 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 "
|
" UNION "
|
||||||
"SELECT crs_grp_types.CrsCod,file_browser_size.Cod AS GrpCod," // Group zones
|
"SELECT crs_grp_types.CrsCod,"
|
||||||
"file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
|
"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"
|
" FROM institutions,centres,degrees,courses,crs_grp_types,crs_grp,file_browser_size"
|
||||||
" WHERE institutions.CtyCod='%ld'"
|
" WHERE institutions.CtyCod='%ld'"
|
||||||
" AND institutions.InsCod=centres.InsCod"
|
" 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 courses.CrsCod=crs_grp_types.CrsCod"
|
||||||
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
|
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
|
||||||
" AND crs_grp.GrpCod=file_browser_size.Cod"
|
" 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",
|
") AS sizes",
|
||||||
Gbl.CurrentCty.Cty.CtyCod,
|
Gbl.CurrentCty.Cty.CtyCod,
|
||||||
(unsigned) Brw_ADMI_DOCUM_CRS,
|
(unsigned) Brw_ADMI_DOCUM_CRS,
|
||||||
|
(unsigned) Brw_ADMI_TEACH_CRS,
|
||||||
(unsigned) Brw_ADMI_SHARE_CRS,
|
(unsigned) Brw_ADMI_SHARE_CRS,
|
||||||
(unsigned) Brw_ADMI_ASSIG_USR,
|
(unsigned) Brw_ADMI_ASSIG_USR,
|
||||||
(unsigned) Brw_ADMI_WORKS_USR,
|
(unsigned) Brw_ADMI_WORKS_USR,
|
||||||
(unsigned) Brw_ADMI_MARKS_CRS,
|
(unsigned) Brw_ADMI_MARKS_CRS,
|
||||||
Gbl.CurrentCty.Cty.CtyCod,
|
Gbl.CurrentCty.Cty.CtyCod,
|
||||||
(unsigned) Brw_ADMI_DOCUM_GRP,
|
(unsigned) Brw_ADMI_DOCUM_GRP,
|
||||||
|
(unsigned) Brw_ADMI_TEACH_GRP,
|
||||||
(unsigned) Brw_ADMI_SHARE_GRP,
|
(unsigned) Brw_ADMI_SHARE_GRP,
|
||||||
(unsigned) Brw_ADMI_MARKS_GRP);
|
(unsigned) Brw_ADMI_MARKS_GRP);
|
||||||
break;
|
break;
|
||||||
case Brw_ADMI_DOCUM_CRS:
|
case Brw_ADMI_DOCUM_CRS:
|
||||||
|
case Brw_ADMI_TEACH_CRS:
|
||||||
case Brw_ADMI_SHARE_CRS:
|
case Brw_ADMI_SHARE_CRS:
|
||||||
case Brw_ADMI_MARKS_CRS:
|
case Brw_ADMI_MARKS_CRS:
|
||||||
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),'-1','-1',"
|
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),"
|
||||||
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
|
"'-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"
|
" FROM institutions,centres,degrees,courses,file_browser_size"
|
||||||
" WHERE institutions.CtyCod='%ld'"
|
" WHERE institutions.CtyCod='%ld'"
|
||||||
" AND institutions.InsCod=centres.InsCod"
|
" AND institutions.InsCod=centres.InsCod"
|
||||||
|
@ -5608,10 +5668,16 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
|
||||||
Gbl.CurrentCty.Cty.CtyCod,(unsigned) FileBrowser);
|
Gbl.CurrentCty.Cty.CtyCod,(unsigned) FileBrowser);
|
||||||
break;
|
break;
|
||||||
case Brw_ADMI_DOCUM_GRP:
|
case Brw_ADMI_DOCUM_GRP:
|
||||||
|
case Brw_ADMI_TEACH_GRP:
|
||||||
case Brw_ADMI_SHARE_GRP:
|
case Brw_ADMI_SHARE_GRP:
|
||||||
case Brw_ADMI_MARKS_GRP:
|
case Brw_ADMI_MARKS_GRP:
|
||||||
sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),COUNT(DISTINCT file_browser_size.Cod),'-1',"
|
sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),"
|
||||||
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
|
"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"
|
" FROM institutions,centres,degrees,courses,crs_grp_types,crs_grp,file_browser_size"
|
||||||
" WHERE institutions.CtyCod='%ld'"
|
" WHERE institutions.CtyCod='%ld'"
|
||||||
" AND institutions.InsCod=centres.InsCod"
|
" AND institutions.InsCod=centres.InsCod"
|
||||||
|
@ -5625,8 +5691,13 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
|
||||||
break;
|
break;
|
||||||
case Brw_ADMI_ASSIG_USR:
|
case Brw_ADMI_ASSIG_USR:
|
||||||
case Brw_ADMI_WORKS_USR:
|
case Brw_ADMI_WORKS_USR:
|
||||||
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),'-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
|
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),"
|
||||||
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
|
"'-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"
|
" FROM institutions,centres,degrees,courses,file_browser_size"
|
||||||
" WHERE institutions.CtyCod='%ld'"
|
" WHERE institutions.CtyCod='%ld'"
|
||||||
" AND institutions.InsCod=centres.InsCod"
|
" AND institutions.InsCod=centres.InsCod"
|
||||||
|
@ -5637,8 +5708,13 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
|
||||||
Gbl.CurrentCty.Cty.CtyCod,(unsigned) FileBrowser);
|
Gbl.CurrentCty.Cty.CtyCod,(unsigned) FileBrowser);
|
||||||
break;
|
break;
|
||||||
case Brw_ADMI_BRIEF_USR:
|
case Brw_ADMI_BRIEF_USR:
|
||||||
sprintf (Query,"SELECT '-1','-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
|
sprintf (Query,"SELECT '-1',"
|
||||||
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
|
"'-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"
|
" FROM institutions,centres,degrees,courses,crs_usr,file_browser_size"
|
||||||
" WHERE institutions.CtyCod='%ld'"
|
" WHERE institutions.CtyCod='%ld'"
|
||||||
" AND institutions.InsCod=centres.InsCod"
|
" AND institutions.InsCod=centres.InsCod"
|
||||||
|
@ -5659,21 +5735,34 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
|
||||||
switch (FileBrowser)
|
switch (FileBrowser)
|
||||||
{
|
{
|
||||||
case Brw_UNKNOWN:
|
case Brw_UNKNOWN:
|
||||||
sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),COUNT(DISTINCT GrpCod)-1,'-1',"
|
sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),"
|
||||||
"MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
|
"COUNT(DISTINCT GrpCod)-1,"
|
||||||
|
"'-1',"
|
||||||
|
"MAX(NumLevels),"
|
||||||
|
"SUM(NumFolders),"
|
||||||
|
"SUM(NumFiles),"
|
||||||
|
"SUM(TotalSize)"
|
||||||
" FROM "
|
" FROM "
|
||||||
"("
|
"("
|
||||||
"SELECT file_browser_size.Cod AS CrsCod,'-1' AS GrpCod," // Course zones
|
"SELECT file_browser_size.Cod AS CrsCod,"
|
||||||
"file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
|
"'-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"
|
" FROM centres,degrees,courses,file_browser_size"
|
||||||
" WHERE centres.InsCod='%ld'"
|
" WHERE centres.InsCod='%ld'"
|
||||||
" AND centres.CtrCod=degrees.CtrCod"
|
" AND centres.CtrCod=degrees.CtrCod"
|
||||||
" AND degrees.DegCod=courses.DegCod"
|
" AND degrees.DegCod=courses.DegCod"
|
||||||
" AND courses.CrsCod=file_browser_size.Cod"
|
" 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 "
|
" UNION "
|
||||||
"SELECT crs_grp_types.CrsCod,file_browser_size.Cod AS GrpCod," // Group zones
|
"SELECT crs_grp_types.CrsCod,"
|
||||||
"file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
|
"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"
|
" FROM centres,degrees,courses,crs_grp_types,crs_grp,file_browser_size"
|
||||||
" WHERE centres.InsCod='%ld'"
|
" WHERE centres.InsCod='%ld'"
|
||||||
" AND centres.CtrCod=degrees.CtrCod"
|
" 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 courses.CrsCod=crs_grp_types.CrsCod"
|
||||||
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
|
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
|
||||||
" AND crs_grp.GrpCod=file_browser_size.Cod"
|
" 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",
|
") AS sizes",
|
||||||
Gbl.CurrentIns.Ins.InsCod,
|
Gbl.CurrentIns.Ins.InsCod,
|
||||||
(unsigned) Brw_ADMI_DOCUM_CRS,
|
(unsigned) Brw_ADMI_DOCUM_CRS,
|
||||||
|
(unsigned) Brw_ADMI_TEACH_CRS,
|
||||||
(unsigned) Brw_ADMI_SHARE_CRS,
|
(unsigned) Brw_ADMI_SHARE_CRS,
|
||||||
(unsigned) Brw_ADMI_ASSIG_USR,
|
(unsigned) Brw_ADMI_ASSIG_USR,
|
||||||
(unsigned) Brw_ADMI_WORKS_USR,
|
(unsigned) Brw_ADMI_WORKS_USR,
|
||||||
(unsigned) Brw_ADMI_MARKS_CRS,
|
(unsigned) Brw_ADMI_MARKS_CRS,
|
||||||
Gbl.CurrentIns.Ins.InsCod,
|
Gbl.CurrentIns.Ins.InsCod,
|
||||||
(unsigned) Brw_ADMI_DOCUM_GRP,
|
(unsigned) Brw_ADMI_DOCUM_GRP,
|
||||||
|
(unsigned) Brw_ADMI_TEACH_GRP,
|
||||||
(unsigned) Brw_ADMI_SHARE_GRP,
|
(unsigned) Brw_ADMI_SHARE_GRP,
|
||||||
(unsigned) Brw_ADMI_MARKS_GRP);
|
(unsigned) Brw_ADMI_MARKS_GRP);
|
||||||
break;
|
break;
|
||||||
case Brw_ADMI_DOCUM_CRS:
|
case Brw_ADMI_DOCUM_CRS:
|
||||||
|
case Brw_ADMI_TEACH_CRS:
|
||||||
case Brw_ADMI_SHARE_CRS:
|
case Brw_ADMI_SHARE_CRS:
|
||||||
case Brw_ADMI_MARKS_CRS:
|
case Brw_ADMI_MARKS_CRS:
|
||||||
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),'-1','-1',"
|
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),"
|
||||||
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
|
"'-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"
|
" FROM centres,degrees,courses,file_browser_size"
|
||||||
" WHERE centres.InsCod='%ld'"
|
" WHERE centres.InsCod='%ld'"
|
||||||
" AND centres.CtrCod=degrees.CtrCod"
|
" AND centres.CtrCod=degrees.CtrCod"
|
||||||
|
@ -5708,10 +5805,16 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
|
||||||
Gbl.CurrentIns.Ins.InsCod,(unsigned) FileBrowser);
|
Gbl.CurrentIns.Ins.InsCod,(unsigned) FileBrowser);
|
||||||
break;
|
break;
|
||||||
case Brw_ADMI_DOCUM_GRP:
|
case Brw_ADMI_DOCUM_GRP:
|
||||||
|
case Brw_ADMI_TEACH_GRP:
|
||||||
case Brw_ADMI_SHARE_GRP:
|
case Brw_ADMI_SHARE_GRP:
|
||||||
case Brw_ADMI_MARKS_GRP:
|
case Brw_ADMI_MARKS_GRP:
|
||||||
sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),COUNT(DISTINCT file_browser_size.Cod),'-1',"
|
sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),"
|
||||||
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
|
"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"
|
" FROM centres,degrees,courses,crs_grp_types,crs_grp,file_browser_size"
|
||||||
" WHERE centres.InsCod='%ld'"
|
" WHERE centres.InsCod='%ld'"
|
||||||
" AND centres.CtrCod=degrees.CtrCod"
|
" AND centres.CtrCod=degrees.CtrCod"
|
||||||
|
@ -5724,8 +5827,13 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
|
||||||
break;
|
break;
|
||||||
case Brw_ADMI_ASSIG_USR:
|
case Brw_ADMI_ASSIG_USR:
|
||||||
case Brw_ADMI_WORKS_USR:
|
case Brw_ADMI_WORKS_USR:
|
||||||
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),'-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
|
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),"
|
||||||
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
|
"'-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"
|
" FROM centres,degrees,courses,file_browser_size"
|
||||||
" WHERE centres.InsCod='%ld'"
|
" WHERE centres.InsCod='%ld'"
|
||||||
" AND centres.CtrCod=degrees.CtrCod"
|
" AND centres.CtrCod=degrees.CtrCod"
|
||||||
|
@ -5735,8 +5843,13 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
|
||||||
Gbl.CurrentIns.Ins.InsCod,(unsigned) FileBrowser);
|
Gbl.CurrentIns.Ins.InsCod,(unsigned) FileBrowser);
|
||||||
break;
|
break;
|
||||||
case Brw_ADMI_BRIEF_USR:
|
case Brw_ADMI_BRIEF_USR:
|
||||||
sprintf (Query,"SELECT '-1','-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
|
sprintf (Query,"SELECT '-1',"
|
||||||
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
|
"'-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"
|
" FROM centres,degrees,courses,crs_usr,file_browser_size"
|
||||||
" WHERE centres.InsCod='%ld'"
|
" WHERE centres.InsCod='%ld'"
|
||||||
" AND centres.CtrCod=degrees.CtrCod"
|
" AND centres.CtrCod=degrees.CtrCod"
|
||||||
|
@ -5756,44 +5869,65 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
|
||||||
switch (FileBrowser)
|
switch (FileBrowser)
|
||||||
{
|
{
|
||||||
case Brw_UNKNOWN:
|
case Brw_UNKNOWN:
|
||||||
sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),COUNT(DISTINCT GrpCod)-1,'-1',"
|
sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),"
|
||||||
"MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
|
"COUNT(DISTINCT GrpCod)-1,"
|
||||||
|
"'-1',"
|
||||||
|
"MAX(NumLevels),"
|
||||||
|
"SUM(NumFolders),"
|
||||||
|
"SUM(NumFiles),"
|
||||||
|
"SUM(TotalSize)"
|
||||||
" FROM "
|
" FROM "
|
||||||
"("
|
"("
|
||||||
"SELECT file_browser_size.Cod AS CrsCod,'-1' AS GrpCod," // Course zones
|
"SELECT file_browser_size.Cod AS CrsCod,"
|
||||||
"file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
|
"'-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"
|
" FROM degrees,courses,file_browser_size"
|
||||||
" WHERE degrees.CtrCod='%ld'"
|
" WHERE degrees.CtrCod='%ld'"
|
||||||
" AND degrees.DegCod=courses.DegCod"
|
" AND degrees.DegCod=courses.DegCod"
|
||||||
" AND courses.CrsCod=file_browser_size.Cod"
|
" 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 "
|
" UNION "
|
||||||
"SELECT crs_grp_types.CrsCod,file_browser_size.Cod AS GrpCod," // Group zones
|
"SELECT crs_grp_types.CrsCod,"
|
||||||
"file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
|
"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"
|
" FROM degrees,courses,crs_grp_types,crs_grp,file_browser_size"
|
||||||
" WHERE degrees.CtrCod='%ld'"
|
" WHERE degrees.CtrCod='%ld'"
|
||||||
" AND degrees.DegCod=courses.DegCod"
|
" AND degrees.DegCod=courses.DegCod"
|
||||||
" AND courses.CrsCod=crs_grp_types.CrsCod"
|
" AND courses.CrsCod=crs_grp_types.CrsCod"
|
||||||
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
|
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
|
||||||
" AND crs_grp.GrpCod=file_browser_size.Cod"
|
" 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",
|
") AS sizes",
|
||||||
Gbl.CurrentCtr.Ctr.CtrCod,
|
Gbl.CurrentCtr.Ctr.CtrCod,
|
||||||
(unsigned) Brw_ADMI_DOCUM_CRS,
|
(unsigned) Brw_ADMI_DOCUM_CRS,
|
||||||
|
(unsigned) Brw_ADMI_TEACH_CRS,
|
||||||
(unsigned) Brw_ADMI_SHARE_CRS,
|
(unsigned) Brw_ADMI_SHARE_CRS,
|
||||||
(unsigned) Brw_ADMI_ASSIG_USR,
|
(unsigned) Brw_ADMI_ASSIG_USR,
|
||||||
(unsigned) Brw_ADMI_WORKS_USR,
|
(unsigned) Brw_ADMI_WORKS_USR,
|
||||||
(unsigned) Brw_ADMI_MARKS_CRS,
|
(unsigned) Brw_ADMI_MARKS_CRS,
|
||||||
Gbl.CurrentCtr.Ctr.CtrCod,
|
Gbl.CurrentCtr.Ctr.CtrCod,
|
||||||
(unsigned) Brw_ADMI_DOCUM_GRP,
|
(unsigned) Brw_ADMI_DOCUM_GRP,
|
||||||
|
(unsigned) Brw_ADMI_TEACH_GRP,
|
||||||
(unsigned) Brw_ADMI_SHARE_GRP,
|
(unsigned) Brw_ADMI_SHARE_GRP,
|
||||||
(unsigned) Brw_ADMI_MARKS_GRP);
|
(unsigned) Brw_ADMI_MARKS_GRP);
|
||||||
break;
|
break;
|
||||||
case Brw_ADMI_DOCUM_CRS:
|
case Brw_ADMI_DOCUM_CRS:
|
||||||
|
case Brw_ADMI_TEACH_CRS:
|
||||||
case Brw_ADMI_SHARE_CRS:
|
case Brw_ADMI_SHARE_CRS:
|
||||||
case Brw_ADMI_MARKS_CRS:
|
case Brw_ADMI_MARKS_CRS:
|
||||||
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),'-1','-1',"
|
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),"
|
||||||
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
|
"'-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"
|
" FROM degrees,courses,file_browser_size"
|
||||||
" WHERE degrees.CtrCod='%ld'"
|
" WHERE degrees.CtrCod='%ld'"
|
||||||
" AND degrees.DegCod=courses.DegCod"
|
" AND degrees.DegCod=courses.DegCod"
|
||||||
|
@ -5802,10 +5936,16 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
|
||||||
Gbl.CurrentCtr.Ctr.CtrCod,(unsigned) FileBrowser);
|
Gbl.CurrentCtr.Ctr.CtrCod,(unsigned) FileBrowser);
|
||||||
break;
|
break;
|
||||||
case Brw_ADMI_DOCUM_GRP:
|
case Brw_ADMI_DOCUM_GRP:
|
||||||
|
case Brw_ADMI_TEACH_GRP:
|
||||||
case Brw_ADMI_SHARE_GRP:
|
case Brw_ADMI_SHARE_GRP:
|
||||||
case Brw_ADMI_MARKS_GRP:
|
case Brw_ADMI_MARKS_GRP:
|
||||||
sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),COUNT(DISTINCT file_browser_size.Cod),'-1',"
|
sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),"
|
||||||
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
|
"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"
|
" FROM degrees,courses,crs_grp_types,crs_grp,file_browser_size"
|
||||||
" WHERE degrees.CtrCod='%ld'"
|
" WHERE degrees.CtrCod='%ld'"
|
||||||
" AND degrees.DegCod=courses.DegCod"
|
" AND degrees.DegCod=courses.DegCod"
|
||||||
|
@ -5817,8 +5957,13 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
|
||||||
break;
|
break;
|
||||||
case Brw_ADMI_ASSIG_USR:
|
case Brw_ADMI_ASSIG_USR:
|
||||||
case Brw_ADMI_WORKS_USR:
|
case Brw_ADMI_WORKS_USR:
|
||||||
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),'-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
|
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),"
|
||||||
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
|
"'-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"
|
" FROM degrees,courses,file_browser_size"
|
||||||
" WHERE degrees.CtrCod='%ld'"
|
" WHERE degrees.CtrCod='%ld'"
|
||||||
" AND degrees.DegCod=courses.DegCod"
|
" AND degrees.DegCod=courses.DegCod"
|
||||||
|
@ -5827,8 +5972,13 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
|
||||||
Gbl.CurrentCtr.Ctr.CtrCod,(unsigned) FileBrowser);
|
Gbl.CurrentCtr.Ctr.CtrCod,(unsigned) FileBrowser);
|
||||||
break;
|
break;
|
||||||
case Brw_ADMI_BRIEF_USR:
|
case Brw_ADMI_BRIEF_USR:
|
||||||
sprintf (Query,"SELECT '-1','-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
|
sprintf (Query,"SELECT '-1',"
|
||||||
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
|
"'-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"
|
" FROM degrees,courses,crs_usr,file_browser_size"
|
||||||
" WHERE degrees.CtrCod='%ld'"
|
" WHERE degrees.CtrCod='%ld'"
|
||||||
" AND degrees.DegCod=courses.DegCod"
|
" AND degrees.DegCod=courses.DegCod"
|
||||||
|
@ -5847,42 +5997,63 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
|
||||||
switch (FileBrowser)
|
switch (FileBrowser)
|
||||||
{
|
{
|
||||||
case Brw_UNKNOWN:
|
case Brw_UNKNOWN:
|
||||||
sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),COUNT(DISTINCT GrpCod)-1,'-1',"
|
sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),"
|
||||||
"MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
|
"COUNT(DISTINCT GrpCod)-1,"
|
||||||
|
"'-1',"
|
||||||
|
"MAX(NumLevels),"
|
||||||
|
"SUM(NumFolders),"
|
||||||
|
"SUM(NumFiles),"
|
||||||
|
"SUM(TotalSize)"
|
||||||
" FROM "
|
" FROM "
|
||||||
"("
|
"("
|
||||||
"SELECT file_browser_size.Cod AS CrsCod,'-1' AS GrpCod," // Course zones
|
"SELECT file_browser_size.Cod AS CrsCod,"
|
||||||
"file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
|
"'-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"
|
" FROM courses,file_browser_size"
|
||||||
" WHERE courses.DegCod='%ld'"
|
" WHERE courses.DegCod='%ld'"
|
||||||
" AND courses.CrsCod=file_browser_size.Cod"
|
" 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 "
|
" UNION "
|
||||||
"SELECT crs_grp_types.CrsCod,file_browser_size.Cod AS GrpCod," // Group zones
|
"SELECT crs_grp_types.CrsCod,"
|
||||||
"file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
|
"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"
|
" FROM courses,crs_grp_types,crs_grp,file_browser_size"
|
||||||
" WHERE courses.DegCod='%ld'"
|
" WHERE courses.DegCod='%ld'"
|
||||||
" AND courses.CrsCod=crs_grp_types.CrsCod"
|
" AND courses.CrsCod=crs_grp_types.CrsCod"
|
||||||
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
|
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
|
||||||
" AND crs_grp.GrpCod=file_browser_size.Cod"
|
" 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",
|
") AS sizes",
|
||||||
Gbl.CurrentDeg.Deg.DegCod,
|
Gbl.CurrentDeg.Deg.DegCod,
|
||||||
(unsigned) Brw_ADMI_DOCUM_CRS,
|
(unsigned) Brw_ADMI_DOCUM_CRS,
|
||||||
|
(unsigned) Brw_ADMI_TEACH_CRS,
|
||||||
(unsigned) Brw_ADMI_SHARE_CRS,
|
(unsigned) Brw_ADMI_SHARE_CRS,
|
||||||
(unsigned) Brw_ADMI_ASSIG_USR,
|
(unsigned) Brw_ADMI_ASSIG_USR,
|
||||||
(unsigned) Brw_ADMI_WORKS_USR,
|
(unsigned) Brw_ADMI_WORKS_USR,
|
||||||
(unsigned) Brw_ADMI_MARKS_CRS,
|
(unsigned) Brw_ADMI_MARKS_CRS,
|
||||||
Gbl.CurrentDeg.Deg.DegCod,
|
Gbl.CurrentDeg.Deg.DegCod,
|
||||||
(unsigned) Brw_ADMI_DOCUM_GRP,
|
(unsigned) Brw_ADMI_DOCUM_GRP,
|
||||||
|
(unsigned) Brw_ADMI_TEACH_GRP,
|
||||||
(unsigned) Brw_ADMI_SHARE_GRP,
|
(unsigned) Brw_ADMI_SHARE_GRP,
|
||||||
(unsigned) Brw_ADMI_MARKS_GRP);
|
(unsigned) Brw_ADMI_MARKS_GRP);
|
||||||
break;
|
break;
|
||||||
case Brw_ADMI_DOCUM_CRS:
|
case Brw_ADMI_DOCUM_CRS:
|
||||||
|
case Brw_ADMI_TEACH_CRS:
|
||||||
case Brw_ADMI_SHARE_CRS:
|
case Brw_ADMI_SHARE_CRS:
|
||||||
case Brw_ADMI_MARKS_CRS:
|
case Brw_ADMI_MARKS_CRS:
|
||||||
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),'-1','-1',"
|
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),"
|
||||||
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
|
"'-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"
|
" FROM courses,file_browser_size"
|
||||||
" WHERE courses.DegCod='%ld'"
|
" WHERE courses.DegCod='%ld'"
|
||||||
" AND courses.CrsCod=file_browser_size.Cod"
|
" 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);
|
Gbl.CurrentDeg.Deg.DegCod,(unsigned) FileBrowser);
|
||||||
break;
|
break;
|
||||||
case Brw_ADMI_DOCUM_GRP:
|
case Brw_ADMI_DOCUM_GRP:
|
||||||
|
case Brw_ADMI_TEACH_GRP:
|
||||||
case Brw_ADMI_SHARE_GRP:
|
case Brw_ADMI_SHARE_GRP:
|
||||||
case Brw_ADMI_MARKS_GRP:
|
case Brw_ADMI_MARKS_GRP:
|
||||||
sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),COUNT(DISTINCT file_browser_size.Cod),'-1',"
|
sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),"
|
||||||
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
|
"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"
|
" FROM courses,crs_grp_types,crs_grp,file_browser_size"
|
||||||
" WHERE courses.DegCod='%ld'"
|
" WHERE courses.DegCod='%ld'"
|
||||||
" AND courses.CrsCod=crs_grp_types.CrsCod"
|
" AND courses.CrsCod=crs_grp_types.CrsCod"
|
||||||
|
@ -5904,8 +6081,13 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
|
||||||
break;
|
break;
|
||||||
case Brw_ADMI_ASSIG_USR:
|
case Brw_ADMI_ASSIG_USR:
|
||||||
case Brw_ADMI_WORKS_USR:
|
case Brw_ADMI_WORKS_USR:
|
||||||
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),'-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
|
sprintf (Query,"SELECT COUNT(DISTINCT file_browser_size.Cod),"
|
||||||
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
|
"'-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"
|
" FROM courses,file_browser_size"
|
||||||
" WHERE courses.DegCod='%ld'"
|
" WHERE courses.DegCod='%ld'"
|
||||||
" AND courses.CrsCod=file_browser_size.Cod"
|
" 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);
|
Gbl.CurrentDeg.Deg.DegCod,(unsigned) FileBrowser);
|
||||||
break;
|
break;
|
||||||
case Brw_ADMI_BRIEF_USR:
|
case Brw_ADMI_BRIEF_USR:
|
||||||
sprintf (Query,"SELECT '-1','-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
|
sprintf (Query,"SELECT '-1',"
|
||||||
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
|
"'-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"
|
" FROM courses,crs_usr,file_browser_size"
|
||||||
" WHERE courses.DegCod='%ld'"
|
" WHERE courses.DegCod='%ld'"
|
||||||
" AND courses.CrsCod=crs_usr.CrsCod"
|
" AND courses.CrsCod=crs_usr.CrsCod"
|
||||||
|
@ -5932,49 +6119,76 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
|
||||||
switch (FileBrowser)
|
switch (FileBrowser)
|
||||||
{
|
{
|
||||||
case Brw_UNKNOWN:
|
case Brw_UNKNOWN:
|
||||||
sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),COUNT(DISTINCT GrpCod)-1,'-1',"
|
sprintf (Query,"SELECT COUNT(DISTINCT CrsCod),"
|
||||||
"MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
|
"COUNT(DISTINCT GrpCod)-1,"
|
||||||
|
"'-1',"
|
||||||
|
"MAX(NumLevels),"
|
||||||
|
"SUM(NumFolders),"
|
||||||
|
"SUM(NumFiles),"
|
||||||
|
"SUM(TotalSize)"
|
||||||
" FROM "
|
" FROM "
|
||||||
"("
|
"("
|
||||||
"SELECT Cod AS CrsCod,'-1' AS GrpCod," // Course zones
|
"SELECT Cod AS CrsCod,"
|
||||||
"NumLevels,NumFolders,NumFiles,TotalSize"
|
"'-1' AS GrpCod," // Course zones
|
||||||
|
"NumLevels,"
|
||||||
|
"NumFolders,"
|
||||||
|
"NumFiles,"
|
||||||
|
"TotalSize"
|
||||||
" FROM file_browser_size"
|
" FROM file_browser_size"
|
||||||
" WHERE Cod='%ld'"
|
" WHERE Cod='%ld'"
|
||||||
" AND FileBrowser IN ('%u','%u','%u','%u','%u')"
|
" AND FileBrowser IN ('%u','%u','%u','%u','%u','%u')"
|
||||||
" UNION "
|
" UNION "
|
||||||
"SELECT crs_grp_types.CrsCod,file_browser_size.Cod AS GrpCod," // Group zones
|
"SELECT crs_grp_types.CrsCod,"
|
||||||
"file_browser_size.NumLevels,file_browser_size.NumFolders,file_browser_size.NumFiles,file_browser_size.TotalSize"
|
"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"
|
" FROM crs_grp_types,crs_grp,file_browser_size"
|
||||||
" WHERE crs_grp_types.CrsCod='%ld'"
|
" WHERE crs_grp_types.CrsCod='%ld'"
|
||||||
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
|
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
|
||||||
" AND crs_grp.GrpCod=file_browser_size.Cod"
|
" 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",
|
") AS sizes",
|
||||||
Gbl.CurrentCrs.Crs.CrsCod,
|
Gbl.CurrentCrs.Crs.CrsCod,
|
||||||
(unsigned) Brw_ADMI_DOCUM_CRS,
|
(unsigned) Brw_ADMI_DOCUM_CRS,
|
||||||
|
(unsigned) Brw_ADMI_TEACH_CRS,
|
||||||
(unsigned) Brw_ADMI_SHARE_CRS,
|
(unsigned) Brw_ADMI_SHARE_CRS,
|
||||||
(unsigned) Brw_ADMI_ASSIG_USR,
|
(unsigned) Brw_ADMI_ASSIG_USR,
|
||||||
(unsigned) Brw_ADMI_WORKS_USR,
|
(unsigned) Brw_ADMI_WORKS_USR,
|
||||||
(unsigned) Brw_ADMI_MARKS_CRS,
|
(unsigned) Brw_ADMI_MARKS_CRS,
|
||||||
Gbl.CurrentCrs.Crs.CrsCod,
|
Gbl.CurrentCrs.Crs.CrsCod,
|
||||||
(unsigned) Brw_ADMI_DOCUM_GRP,
|
(unsigned) Brw_ADMI_DOCUM_GRP,
|
||||||
|
(unsigned) Brw_ADMI_TEACH_GRP,
|
||||||
(unsigned) Brw_ADMI_SHARE_GRP,
|
(unsigned) Brw_ADMI_SHARE_GRP,
|
||||||
(unsigned) Brw_ADMI_MARKS_GRP);
|
(unsigned) Brw_ADMI_MARKS_GRP);
|
||||||
break;
|
break;
|
||||||
case Brw_ADMI_DOCUM_CRS:
|
case Brw_ADMI_DOCUM_CRS:
|
||||||
|
case Brw_ADMI_TEACH_CRS:
|
||||||
case Brw_ADMI_SHARE_CRS:
|
case Brw_ADMI_SHARE_CRS:
|
||||||
case Brw_ADMI_MARKS_CRS:
|
case Brw_ADMI_MARKS_CRS:
|
||||||
sprintf (Query,"SELECT '1','-1','-1',"
|
sprintf (Query,"SELECT '1',"
|
||||||
"MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
|
"'-1',"
|
||||||
|
"'-1',"
|
||||||
|
"MAX(NumLevels),"
|
||||||
|
"SUM(NumFolders),"
|
||||||
|
"SUM(NumFiles),"
|
||||||
|
"SUM(TotalSize)"
|
||||||
" FROM file_browser_size"
|
" FROM file_browser_size"
|
||||||
" WHERE Cod='%ld' AND FileBrowser='%u'",
|
" WHERE Cod='%ld' AND FileBrowser='%u'",
|
||||||
Gbl.CurrentCrs.Crs.CrsCod,(unsigned) FileBrowser);
|
Gbl.CurrentCrs.Crs.CrsCod,(unsigned) FileBrowser);
|
||||||
break;
|
break;
|
||||||
case Brw_ADMI_DOCUM_GRP:
|
case Brw_ADMI_DOCUM_GRP:
|
||||||
|
case Brw_ADMI_TEACH_GRP:
|
||||||
case Brw_ADMI_SHARE_GRP:
|
case Brw_ADMI_SHARE_GRP:
|
||||||
case Brw_ADMI_MARKS_GRP:
|
case Brw_ADMI_MARKS_GRP:
|
||||||
sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),COUNT(DISTINCT file_browser_size.Cod),'-1',"
|
sprintf (Query,"SELECT COUNT(DISTINCT crs_grp_types.CrsCod),"
|
||||||
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
|
"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"
|
" FROM crs_grp_types,crs_grp,file_browser_size"
|
||||||
" WHERE crs_grp_types.CrsCod='%ld'"
|
" WHERE crs_grp_types.CrsCod='%ld'"
|
||||||
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
|
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod"
|
||||||
|
@ -5984,15 +6198,25 @@ static void Sta_GetSizeOfFileZoneFromDB (Sco_Scope_t Scope,
|
||||||
break;
|
break;
|
||||||
case Brw_ADMI_ASSIG_USR:
|
case Brw_ADMI_ASSIG_USR:
|
||||||
case Brw_ADMI_WORKS_USR:
|
case Brw_ADMI_WORKS_USR:
|
||||||
sprintf (Query,"SELECT '1','-1',COUNT(DISTINCT ZoneUsrCod),"
|
sprintf (Query,"SELECT '1',"
|
||||||
"MAX(NumLevels),SUM(NumFolders),SUM(NumFiles),SUM(TotalSize)"
|
"'-1',"
|
||||||
|
"COUNT(DISTINCT ZoneUsrCod),"
|
||||||
|
"MAX(NumLevels),"
|
||||||
|
"SUM(NumFolders),"
|
||||||
|
"SUM(NumFiles),"
|
||||||
|
"SUM(TotalSize)"
|
||||||
" FROM file_browser_size"
|
" FROM file_browser_size"
|
||||||
" WHERE Cod='%ld' AND FileBrowser='%u'",
|
" WHERE Cod='%ld' AND FileBrowser='%u'",
|
||||||
Gbl.CurrentCrs.Crs.CrsCod,(unsigned) FileBrowser);
|
Gbl.CurrentCrs.Crs.CrsCod,(unsigned) FileBrowser);
|
||||||
break;
|
break;
|
||||||
case Brw_ADMI_BRIEF_USR:
|
case Brw_ADMI_BRIEF_USR:
|
||||||
sprintf (Query,"SELECT '-1','-1',COUNT(DISTINCT file_browser_size.ZoneUsrCod),"
|
sprintf (Query,"SELECT '-1',"
|
||||||
"MAX(file_browser_size.NumLevels),SUM(file_browser_size.NumFolders),SUM(file_browser_size.NumFiles),SUM(file_browser_size.TotalSize)"
|
"'-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"
|
" FROM crs_usr,file_browser_size"
|
||||||
" WHERE crs_usr.CrsCod='%ld'"
|
" WHERE crs_usr.CrsCod='%ld'"
|
||||||
" AND crs_usr.UsrCod=file_browser_size.ZoneUsrCod"
|
" AND crs_usr.UsrCod=file_browser_size.ZoneUsrCod"
|
||||||
|
|
|
@ -133,7 +133,7 @@ typedef enum
|
||||||
Sta_WHITE_TO_BLACK,
|
Sta_WHITE_TO_BLACK,
|
||||||
} Sta_ColorType_t;
|
} Sta_ColorType_t;
|
||||||
|
|
||||||
#define Sta_NUM_STAT_CRS_FILE_ZONES 9
|
#define Sta_NUM_STAT_CRS_FILE_ZONES 11
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
/***************************** Public prototypes *****************************/
|
/***************************** 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",
|
"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
|
// Ntf_EVENT_SHARED_FILE
|
||||||
"",
|
"",
|
||||||
"Nou arxiu compartit",
|
"Nou arxiu compartit",
|
||||||
|
@ -17869,6 +17882,27 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
|
||||||
"Dokumentów"
|
"Dokumentów"
|
||||||
#elif L==9
|
#elif L==9
|
||||||
"Documentos"
|
"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
|
#endif
|
||||||
,
|
,
|
||||||
// ActAdmShaCrsGrp
|
// ActAdmShaCrsGrp
|
||||||
|
@ -17984,7 +18018,6 @@ const char *Txt_MENU_TITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
// TabAss *****************************************************
|
// TabAss *****************************************************
|
||||||
|
@ -19822,6 +19855,27 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
|
||||||
"Obszar Dokumentów"
|
"Obszar Dokumentów"
|
||||||
#elif L==9
|
#elif L==9
|
||||||
"Documentos"
|
"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
|
#endif
|
||||||
,
|
,
|
||||||
// ActAdmShaCrsGrp
|
// ActAdmShaCrsGrp
|
||||||
|
@ -19941,7 +19995,6 @@ const char *Txt_MENU_SUBTITLE[Tab_NUM_TABS][Act_MAX_OPTIONS_IN_MENU_PER_TAB] =
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
// TabAss *****************************************************
|
// TabAss *****************************************************
|
||||||
|
@ -25515,6 +25568,26 @@ const char *Txt_NOTIFY_EVENTS_PLURAL[Ntf_NUM_NOTIFY_EVENTS] =
|
||||||
"Novos arquivos de documento"
|
"Novos arquivos de documento"
|
||||||
#endif
|
#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
|
#if L==1 // Ntf_EVENT_SHARED_FILE
|
||||||
"Nous arxiu compartit"
|
"Nous arxiu compartit"
|
||||||
#elif L==2
|
#elif L==2
|
||||||
|
@ -25898,6 +25971,26 @@ const char *Txt_NOTIFY_EVENTS_SINGULAR[Ntf_NUM_NOTIFY_EVENTS] =
|
||||||
"Arquivo de documento"
|
"Arquivo de documento"
|
||||||
#endif
|
#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
|
#if L==1 // Ntf_EVENT_SHARED_FILE
|
||||||
"Arxiu compartit"
|
"Arxiu compartit"
|
||||||
#elif L==2
|
#elif L==2
|
||||||
|
@ -34509,6 +34602,48 @@ const char *Txt_ROOT_FOLDER_EXTERNAL_NAMES[Brw_NUM_TYPES_FILE_BROWSER] =
|
||||||
"shared" // Potrzebujesz tlumaczenie
|
"shared" // Potrzebujesz tlumaczenie
|
||||||
#elif L==9
|
#elif L==9
|
||||||
"comum"
|
"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
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -37584,6 +37719,46 @@ const char *Txt_STAT_COURSE_FILE_ZONES[Sta_NUM_STAT_CRS_FILE_ZONES] = // Use &nb
|
||||||
"Documentos (grp.)"
|
"Documentos (grp.)"
|
||||||
#endif
|
#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
|
#if L==1 // Brw_ADMI_SHARE_CRS
|
||||||
"Compartits (asg.)"
|
"Compartits (asg.)"
|
||||||
#elif L==2
|
#elif L==2
|
||||||
|
@ -40367,6 +40542,48 @@ const char *Txt_teachers_ABBREVIATION = // Abbreviation of "Teachers"
|
||||||
"prof.";
|
"prof.";
|
||||||
#endif
|
#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 =
|
const char *Txt_Temporary_private_storage_area =
|
||||||
#if L==1
|
#if L==1
|
||||||
"Zona d'emmagatzematge privada";
|
"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)");
|
"Tree code must be 1 (documents), 2 (shared files) or 3 (marks)");
|
||||||
|
|
||||||
/***** Return directory tree *****/
|
/***** Return directory tree *****/
|
||||||
|
|
||||||
/* Get directory tree into XML file */
|
/* Get directory tree into XML file */
|
||||||
if (courseCode > 0)
|
if (courseCode > 0)
|
||||||
{
|
{
|
||||||
|
@ -4256,8 +4255,6 @@ int swad__getFile (struct soap *soap,
|
||||||
/***** Check if file is in a valid zone *****/
|
/***** Check if file is in a valid zone *****/
|
||||||
switch ((Gbl.FileBrowser.Type = FileMetadata.FileBrowser))
|
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_CRS:
|
||||||
case Brw_ADMI_DOCUM_GRP:
|
case Brw_ADMI_DOCUM_GRP:
|
||||||
case Brw_ADMI_SHARE_CRS:
|
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
|
ActZIPShaDeg, // Brw_ADMI_SHARE_DEG
|
||||||
ActZIPShaCtr, // Brw_ADMI_SHARE_CTR
|
ActZIPShaCtr, // Brw_ADMI_SHARE_CTR
|
||||||
ActZIPShaIns, // Brw_ADMI_SHARE_INS
|
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_SHOW_DOCUM_GRP:
|
||||||
case Brw_ADMI_DOCUM_GRP:
|
case Brw_ADMI_DOCUM_GRP:
|
||||||
|
case Brw_ADMI_TEACH_GRP:
|
||||||
case Brw_ADMI_SHARE_GRP:
|
case Brw_ADMI_SHARE_GRP:
|
||||||
case Brw_SHOW_MARKS_GRP:
|
case Brw_SHOW_MARKS_GRP:
|
||||||
case Brw_ADMI_MARKS_GRP:
|
case Brw_ADMI_MARKS_GRP:
|
||||||
|
|
Loading…
Reference in New Issue
Block a user