mirror of
https://github.com/acanas/swad-core.git
synced 2024-06-16 05:34:12 +02:00
Version 14.64
This commit is contained in:
parent
4e4d86cf35
commit
5e2be20223
|
@ -281,9 +281,6 @@ CREATE TABLE IF NOT EXISTS crs_grp_types (
|
||||||
CREATE TABLE IF NOT EXISTS crs_grp_usr (
|
CREATE TABLE IF NOT EXISTS crs_grp_usr (
|
||||||
GrpCod INT NOT NULL,
|
GrpCod INT NOT NULL,
|
||||||
UsrCod INT NOT NULL,
|
UsrCod INT NOT NULL,
|
||||||
LastAccDownloadGrp DATETIME NOT NULL,
|
|
||||||
LastAccCommonGrp DATETIME NOT NULL,
|
|
||||||
LastAccMarksGrp DATETIME NOT NULL,
|
|
||||||
UNIQUE INDEX(GrpCod,UsrCod),
|
UNIQUE INDEX(GrpCod,UsrCod),
|
||||||
INDEX(GrpCod),
|
INDEX(GrpCod),
|
||||||
INDEX(UsrCod));
|
INDEX(UsrCod));
|
||||||
|
@ -347,11 +344,6 @@ CREATE TABLE IF NOT EXISTS crs_usr (
|
||||||
UsrCod INT NOT NULL,
|
UsrCod INT NOT NULL,
|
||||||
Role TINYINT NOT NULL DEFAULT 0,
|
Role TINYINT NOT NULL DEFAULT 0,
|
||||||
Accepted ENUM('N','Y') NOT NULL DEFAULT 'N',
|
Accepted ENUM('N','Y') NOT NULL DEFAULT 'N',
|
||||||
LastAccDownloadCrs DATETIME NOT NULL,
|
|
||||||
LastAccCommonCrs DATETIME NOT NULL,
|
|
||||||
LastAccMyWorks DATETIME NOT NULL,
|
|
||||||
LastAccCrsWorks DATETIME NOT NULL,
|
|
||||||
LastAccMarksCrs DATETIME NOT NULL,
|
|
||||||
LastDowGrpCod INT NOT NULL DEFAULT -1,
|
LastDowGrpCod INT NOT NULL DEFAULT -1,
|
||||||
LastComGrpCod INT NOT NULL DEFAULT -1,
|
LastComGrpCod INT NOT NULL DEFAULT -1,
|
||||||
LastAssGrpCod INT NOT NULL DEFAULT -1,
|
LastAssGrpCod INT NOT NULL DEFAULT -1,
|
||||||
|
|
|
@ -39,12 +39,34 @@
|
||||||
/****************************** Public constants *****************************/
|
/****************************** Public constants *****************************/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
#define Log_PLATFORM_VERSION "SWAD 14.63.5 (2015/01/22)"
|
#define Log_PLATFORM_VERSION "SWAD 14.64 (2015/01/22)"
|
||||||
|
|
||||||
// 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 | tail -1
|
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*.h | tail -1
|
||||||
/*
|
/*
|
||||||
Version 14.63.5: Jan 22, 2015 Changes in last accesses to file browser (briefcases). (? lines)
|
Version 14.64: Jan 22, 2015 Changes in last accesses to group file browsers. (175510 lines)
|
||||||
|
6 changes necessary in database:
|
||||||
|
INSERT INTO file_browser_last (UsrCod,FileBrowser,Cod,LastClick) SELECT UsrCod,'11',GrpCod,LastAccDownloadGrp FROM crs_grp_usr WHERE LastAccDownloadGrp>0;
|
||||||
|
INSERT INTO file_browser_last (UsrCod,FileBrowser,Cod,LastClick) SELECT UsrCod,'5',GrpCod,LastAccCommonGrp FROM crs_grp_usr WHERE LastAccCommonGrp>0;
|
||||||
|
INSERT INTO file_browser_last (UsrCod,FileBrowser,Cod,LastClick) SELECT UsrCod,'13',GrpCod,LastAccCommonGrp FROM crs_grp_usr WHERE LastAccMarksGrp>0;
|
||||||
|
ALTER TABLE crs_grp_usr DROP COLUMN LastAccDownloadGrp;
|
||||||
|
ALTER TABLE crs_grp_usr DROP COLUMN LastAccCommonGrp;
|
||||||
|
ALTER TABLE crs_grp_usr DROP COLUMN LastAccMarksGrp;
|
||||||
|
|
||||||
|
Version 14.63.6: Jan 22, 2015 Changes in last accesses to course file browsers. (175588 lines)
|
||||||
|
10 changes necessary in database:
|
||||||
|
INSERT INTO file_browser_last (UsrCod,FileBrowser,Cod,LastClick) SELECT UsrCod,'3',CrsCod,LastAccDownloadCrs FROM crs_usr WHERE LastAccDownloadCrs>0;
|
||||||
|
INSERT INTO file_browser_last (UsrCod,FileBrowser,Cod,LastClick) SELECT UsrCod,'4',CrsCod,LastAccCommonCrs FROM crs_usr WHERE LastAccCommonCrs>0;
|
||||||
|
INSERT INTO file_browser_last (UsrCod,FileBrowser,Cod,LastClick) SELECT UsrCod,'8',CrsCod,LastAccMarksCrs FROM crs_usr WHERE LastAccMarksCrs>0;
|
||||||
|
INSERT INTO file_browser_last (UsrCod,FileBrowser,Cod,LastClick) SELECT UsrCod,'14',CrsCod,LastAccMyWorks FROM crs_usr WHERE LastAccMyWorks>0;
|
||||||
|
INSERT INTO file_browser_last (UsrCod,FileBrowser,Cod,LastClick) SELECT UsrCod,'15',CrsCod,LastAccMyWorks FROM crs_usr WHERE LastAccCrsWorks>0;
|
||||||
|
ALTER TABLE crs_usr DROP COLUMN LastAccDownloadCrs;
|
||||||
|
ALTER TABLE crs_usr DROP COLUMN LastAccCommonCrs;
|
||||||
|
ALTER TABLE crs_usr DROP COLUMN LastAccMarksCrs;
|
||||||
|
ALTER TABLE crs_usr DROP COLUMN LastAccMyWorks;
|
||||||
|
ALTER TABLE crs_usr DROP COLUMN LastAccCrsWorks;
|
||||||
|
|
||||||
|
Version 14.63.5: Jan 22, 2015 Changes in last accesses to file browsers (briefcases). (? lines)
|
||||||
2 changes necessary in database:
|
2 changes necessary in database:
|
||||||
INSERT INTO file_browser_last (UsrCod,FileBrowser,Cod,LastClick) SELECT UsrCod,'9','-1',LastAccBriefcase FROM usr_last WHERE LastAccBriefcase>0;
|
INSERT INTO file_browser_last (UsrCod,FileBrowser,Cod,LastClick) SELECT UsrCod,'9','-1',LastAccBriefcase FROM usr_last WHERE LastAccBriefcase>0;
|
||||||
ALTER TABLE usr_last DROP COLUMN LastAccBriefcase;
|
ALTER TABLE usr_last DROP COLUMN LastAccBriefcase;
|
||||||
|
|
|
@ -629,23 +629,17 @@ mysql> DESCRIBE crs_grp_types;
|
||||||
/***** Table crs_grp_usr *****/
|
/***** Table crs_grp_usr *****/
|
||||||
/*
|
/*
|
||||||
mysql> DESCRIBE crs_grp_usr;
|
mysql> DESCRIBE crs_grp_usr;
|
||||||
+--------------------+----------+------+-----+---------+-------+
|
+--------+---------+------+-----+---------+-------+
|
||||||
| Field | Type | Null | Key | Default | Extra |
|
| Field | Type | Null | Key | Default | Extra |
|
||||||
+--------------------+----------+------+-----+---------+-------+
|
+--------+---------+------+-----+---------+-------+
|
||||||
| GrpCod | int(11) | NO | PRI | NULL | |
|
| GrpCod | int(11) | NO | PRI | NULL | |
|
||||||
| UsrCod | int(11) | NO | PRI | NULL | |
|
| UsrCod | int(11) | NO | PRI | NULL | |
|
||||||
| LastAccDownloadGrp | datetime | NO | | NULL | |
|
+--------+---------+------+-----+---------+-------+
|
||||||
| LastAccCommonGrp | datetime | NO | | NULL | |
|
2 rows in set (0.00 sec)
|
||||||
| LastAccMarksGrp | datetime | NO | | NULL | |
|
|
||||||
+--------------------+----------+------+-----+---------+-------+
|
|
||||||
5 rows in set (0.00 sec)
|
|
||||||
*/
|
*/
|
||||||
DB_CreateTable ("CREATE TABLE IF NOT EXISTS crs_grp_usr ("
|
DB_CreateTable ("CREATE TABLE IF NOT EXISTS crs_grp_usr ("
|
||||||
"GrpCod INT NOT NULL,"
|
"GrpCod INT NOT NULL,"
|
||||||
"UsrCod INT NOT NULL,"
|
"UsrCod INT NOT NULL,"
|
||||||
"LastAccDownloadGrp DATETIME NOT NULL,"
|
|
||||||
"LastAccCommonGrp DATETIME NOT NULL,"
|
|
||||||
"LastAccMarksGrp DATETIME NOT NULL,"
|
|
||||||
"UNIQUE INDEX(GrpCod,UsrCod),INDEX(GrpCod),INDEX(UsrCod))");
|
"UNIQUE INDEX(GrpCod,UsrCod),INDEX(GrpCod),INDEX(UsrCod))");
|
||||||
|
|
||||||
/***** Table crs_info_read *****/
|
/***** Table crs_info_read *****/
|
||||||
|
@ -763,40 +757,30 @@ mysql> DESCRIBE crs_records;
|
||||||
/***** Table crs_usr *****/
|
/***** Table crs_usr *****/
|
||||||
/*
|
/*
|
||||||
mysql> DESCRIBE crs_usr;
|
mysql> DESCRIBE crs_usr;
|
||||||
+--------------------+---------------------------+------+-----+------------+-------+
|
+----------------+---------------------------+------+-----+------------+-------+
|
||||||
| Field | Type | Null | Key | Default | Extra |
|
| Field | Type | Null | Key | Default | Extra |
|
||||||
+--------------------+---------------------------+------+-----+------------+-------+
|
+----------------+---------------------------+------+-----+------------+-------+
|
||||||
| CrsCod | int(11) | NO | PRI | -1 | |
|
| CrsCod | int(11) | NO | PRI | -1 | |
|
||||||
| UsrCod | int(11) | NO | PRI | NULL | |
|
| UsrCod | int(11) | NO | PRI | NULL | |
|
||||||
| Role | tinyint(4) | NO | PRI | 0 | |
|
| Role | tinyint(4) | NO | PRI | 0 | |
|
||||||
| Accepted | enum('N','Y') | NO | | N | |
|
| Accepted | enum('N','Y') | NO | | N | |
|
||||||
| LastAccDownloadCrs | datetime | NO | | NULL | |
|
| LastDowGrpCod | int(11) | NO | | -1 | |
|
||||||
| LastAccCommonCrs | datetime | NO | | NULL | |
|
| LastComGrpCod | int(11) | NO | | -1 | |
|
||||||
| LastAccMyWorks | datetime | NO | | NULL | |
|
| LastAssGrpCod | int(11) | NO | | -1 | |
|
||||||
| LastAccCrsWorks | datetime | NO | | NULL | |
|
| NumAccTst | int(11) | NO | | 0 | |
|
||||||
| LastAccMarksCrs | datetime | NO | | NULL | |
|
| LastAccTst | datetime | NO | | NULL | |
|
||||||
| LastDowGrpCod | int(11) | NO | | -1 | |
|
| NumQstsLastTst | int(11) | NO | | 0 | |
|
||||||
| LastComGrpCod | int(11) | NO | | -1 | |
|
| UsrListType | enum('classphoto','list') | NO | | classphoto | |
|
||||||
| LastAssGrpCod | int(11) | NO | | -1 | |
|
| ColsClassPhoto | tinyint(4) | NO | | NULL | |
|
||||||
| NumAccTst | int(11) | NO | | 0 | |
|
| ListWithPhotos | enum('N','Y') | NO | | Y | |
|
||||||
| LastAccTst | datetime | NO | | NULL | |
|
+----------------+---------------------------+------+-----+------------+-------+
|
||||||
| NumQstsLastTst | int(11) | NO | | 0 | |
|
13 rows in set (0.00 sec)
|
||||||
| UsrListType | enum('classphoto','list') | NO | | classphoto | |
|
|
||||||
| ColsClassPhoto | tinyint(4) | NO | | NULL | |
|
|
||||||
| ListWithPhotos | enum('N','Y') | NO | | Y | |
|
|
||||||
+--------------------+---------------------------+------+-----+------------+-------+
|
|
||||||
18 rows in set (0.02 sec)
|
|
||||||
*/
|
*/
|
||||||
DB_CreateTable ("CREATE TABLE IF NOT EXISTS crs_usr ("
|
DB_CreateTable ("CREATE TABLE IF NOT EXISTS crs_usr ("
|
||||||
"CrsCod INT NOT NULL DEFAULT -1,"
|
"CrsCod INT NOT NULL DEFAULT -1,"
|
||||||
"UsrCod INT NOT NULL,"
|
"UsrCod INT NOT NULL,"
|
||||||
"Role TINYINT NOT NULL DEFAULT 0,"
|
"Role TINYINT NOT NULL DEFAULT 0,"
|
||||||
"Accepted ENUM('N','Y') NOT NULL DEFAULT 'N',"
|
"Accepted ENUM('N','Y') NOT NULL DEFAULT 'N',"
|
||||||
"LastAccDownloadCrs DATETIME NOT NULL,"
|
|
||||||
"LastAccCommonCrs DATETIME NOT NULL,"
|
|
||||||
"LastAccMyWorks DATETIME NOT NULL,"
|
|
||||||
"LastAccCrsWorks DATETIME NOT NULL,"
|
|
||||||
"LastAccMarksCrs DATETIME NOT NULL,"
|
|
||||||
"LastDowGrpCod INT NOT NULL DEFAULT -1,"
|
"LastDowGrpCod INT NOT NULL DEFAULT -1,"
|
||||||
"LastComGrpCod INT NOT NULL DEFAULT -1,"
|
"LastComGrpCod INT NOT NULL DEFAULT -1,"
|
||||||
"LastAssGrpCod INT NOT NULL DEFAULT -1,"
|
"LastAssGrpCod INT NOT NULL DEFAULT -1,"
|
||||||
|
|
|
@ -203,11 +203,9 @@ void Enr_RegisterUsrInCurrentCrs (struct UsrData *UsrDat,Rol_Role_t NewRole,
|
||||||
|
|
||||||
/***** Register user in current course in database *****/
|
/***** Register user in current course in database *****/
|
||||||
sprintf (Query,"INSERT INTO crs_usr (CrsCod,UsrCod,Role,Accepted,"
|
sprintf (Query,"INSERT INTO crs_usr (CrsCod,UsrCod,Role,Accepted,"
|
||||||
"LastAccDownloadCrs,LastAccCommonCrs,LastAccMyWorks,LastAccCrsWorks,LastAccMarksCrs,"
|
|
||||||
"LastDowGrpCod,LastComGrpCod,LastAssGrpCod,NumAccTst,LastAccTst,NumQstsLastTst,"
|
"LastDowGrpCod,LastComGrpCod,LastAssGrpCod,NumAccTst,LastAccTst,NumQstsLastTst,"
|
||||||
"UsrListType,ColsClassPhoto,ListWithPhotos)"
|
"UsrListType,ColsClassPhoto,ListWithPhotos)"
|
||||||
" VALUES ('%ld','%ld','%u','%c',"
|
" VALUES ('%ld','%ld','%u','%c',"
|
||||||
"'0000-00-00','0000-00-00','0000-00-00','0000-00-00','0000-00-00',"
|
|
||||||
"'-1','-1','-1','0','0000-00-00','0',"
|
"'-1','-1','-1','0','0000-00-00','0',"
|
||||||
"'%s','%u','%c')",
|
"'%s','%u','%c')",
|
||||||
Gbl.CurrentCrs.Crs.CrsCod,UsrDat->UsrCod,(unsigned) NewRole,
|
Gbl.CurrentCrs.Crs.CrsCod,UsrDat->UsrCod,(unsigned) NewRole,
|
||||||
|
|
|
@ -119,6 +119,31 @@ static long Brw_FileBrowserForDB[Brw_NUM_TYPES_FILE_BROWSER] =
|
||||||
Brw_FILE_BRW_ADMIN_DOCUMENTS_INS, // Brw_FILE_BRW_SEE_DOCUMENTS_INS = 20,
|
Brw_FILE_BRW_ADMIN_DOCUMENTS_INS, // Brw_FILE_BRW_SEE_DOCUMENTS_INS = 20,
|
||||||
Brw_FILE_BRW_ADMIN_DOCUMENTS_INS, // Brw_FILE_BRW_ADMIN_DOCUMENTS_INS = 21,
|
Brw_FILE_BRW_ADMIN_DOCUMENTS_INS, // Brw_FILE_BRW_ADMIN_DOCUMENTS_INS = 21,
|
||||||
};
|
};
|
||||||
|
static long Brw_FileBrowserForLastAccess[Brw_NUM_TYPES_FILE_BROWSER] =
|
||||||
|
{
|
||||||
|
Brw_FILE_BRW_UNKNOWN, // Brw_FILE_BRW_UNKNOWN = 0,
|
||||||
|
Brw_FILE_BRW_ADMIN_DOCUMENTS_CRS, // Brw_FILE_BRW_SEE_DOCUMENTS_CRS = 1,
|
||||||
|
Brw_FILE_BRW_ADMIN_MARKS_CRS, // Brw_FILE_BRW_SEE_MARKS_CRS = 2,
|
||||||
|
Brw_FILE_BRW_ADMIN_DOCUMENTS_CRS, // Brw_FILE_BRW_ADMIN_DOCUMENTS_CRS = 3,
|
||||||
|
Brw_FILE_BRW_COMMON_CRS, // Brw_FILE_BRW_COMMON_CRS = 4,
|
||||||
|
Brw_FILE_BRW_COMMON_GRP, // Brw_FILE_BRW_COMMON_GRP = 5,
|
||||||
|
Brw_FILE_BRW_ASSIGNMENTS_USR, // Brw_FILE_BRW_WORKS_USR = 6,
|
||||||
|
Brw_FILE_BRW_ASSIGNMENTS_CRS, // Brw_FILE_BRW_WORKS_CRS = 7,
|
||||||
|
Brw_FILE_BRW_ADMIN_MARKS_CRS, // Brw_FILE_BRW_ADMIN_MARKS_CRS = 8,
|
||||||
|
Brw_FILE_BRW_BRIEFCASE_USR, // Brw_FILE_BRW_BRIEFCASE_USR = 9,
|
||||||
|
Brw_FILE_BRW_ADMIN_DOCUMENTS_GRP, // Brw_FILE_BRW_SEE_DOCUMENTS_GRP = 10,
|
||||||
|
Brw_FILE_BRW_ADMIN_DOCUMENTS_GRP, // Brw_FILE_BRW_ADMIN_DOCUMENTS_GRP = 11,
|
||||||
|
Brw_FILE_BRW_ADMIN_MARKS_GRP, // Brw_FILE_BRW_SEE_MARKS_GRP = 12,
|
||||||
|
Brw_FILE_BRW_ADMIN_MARKS_GRP, // Brw_FILE_BRW_ADMIN_MARKS_GRP = 13,
|
||||||
|
Brw_FILE_BRW_ASSIGNMENTS_USR, // Brw_FILE_BRW_ASSIGNMENTS_USR = 14,
|
||||||
|
Brw_FILE_BRW_ASSIGNMENTS_CRS, // Brw_FILE_BRW_ASSIGNMENTS_CRS = 15,
|
||||||
|
Brw_FILE_BRW_ADMIN_DOCUMENTS_DEG, // Brw_FILE_BRW_SEE_DOCUMENTS_DEG = 16,
|
||||||
|
Brw_FILE_BRW_ADMIN_DOCUMENTS_DEG, // Brw_FILE_BRW_ADMIN_DOCUMENTS_DEG = 17,
|
||||||
|
Brw_FILE_BRW_ADMIN_DOCUMENTS_CTR, // Brw_FILE_BRW_SEE_DOCUMENTS_CTR = 18,
|
||||||
|
Brw_FILE_BRW_ADMIN_DOCUMENTS_CTR, // Brw_FILE_BRW_ADMIN_DOCUMENTS_CTR = 19,
|
||||||
|
Brw_FILE_BRW_ADMIN_DOCUMENTS_INS, // Brw_FILE_BRW_SEE_DOCUMENTS_INS = 20,
|
||||||
|
Brw_FILE_BRW_ADMIN_DOCUMENTS_INS, // Brw_FILE_BRW_ADMIN_DOCUMENTS_INS = 21,
|
||||||
|
};
|
||||||
/*
|
/*
|
||||||
const char *Brw_Licenses_DB[Brw_NUM_LICENSES] =
|
const char *Brw_Licenses_DB[Brw_NUM_LICENSES] =
|
||||||
{
|
{
|
||||||
|
@ -1192,7 +1217,7 @@ static void Brw_PutFormToShowOrAdmin (Brw_ShowOrAdmin_t ShowOrAdmin,
|
||||||
Act_Action_t Action);
|
Act_Action_t Action);
|
||||||
static void Brw_WriteFormFullTree (void);
|
static void Brw_WriteFormFullTree (void);
|
||||||
static bool Brw_GetFullTreeFromForm (void);
|
static bool Brw_GetFullTreeFromForm (void);
|
||||||
static void Brw_GetAndUpdateDateLastAccFileBrowser (const char *FieldNameDB);
|
static void Brw_GetAndUpdateDateLastAccFileBrowser (void);
|
||||||
static long Brw_GetGrpLastAccZone (const char *FieldNameDB);
|
static long Brw_GetGrpLastAccZone (const char *FieldNameDB);
|
||||||
static void Brw_ResetFileBrowserSize (void);
|
static void Brw_ResetFileBrowserSize (void);
|
||||||
static void Brw_CalcSizeOfDirRecursive (unsigned Level,char *Path);
|
static void Brw_CalcSizeOfDirRecursive (unsigned Level,char *Path);
|
||||||
|
@ -3183,65 +3208,41 @@ static void Brw_WriteTopBeforeShowingFileBrowser (void)
|
||||||
static void Brw_UpdateLastAccess (void)
|
static void Brw_UpdateLastAccess (void)
|
||||||
{
|
{
|
||||||
/***** Get and update date and hour of last access to file browser *****/
|
/***** Get and update date and hour of last access to file browser *****/
|
||||||
|
Brw_GetAndUpdateDateLastAccFileBrowser ();
|
||||||
switch (Gbl.FileBrowser.Type)
|
switch (Gbl.FileBrowser.Type)
|
||||||
{
|
{
|
||||||
case Brw_FILE_BRW_SEE_DOCUMENTS_INS:
|
|
||||||
case Brw_FILE_BRW_ADMIN_DOCUMENTS_INS:
|
|
||||||
case Brw_FILE_BRW_SEE_DOCUMENTS_CTR:
|
|
||||||
case Brw_FILE_BRW_ADMIN_DOCUMENTS_CTR:
|
|
||||||
case Brw_FILE_BRW_SEE_DOCUMENTS_DEG:
|
|
||||||
case Brw_FILE_BRW_ADMIN_DOCUMENTS_DEG:
|
|
||||||
Brw_GetAndUpdateDateLastAccFileBrowser ("");
|
|
||||||
break;
|
|
||||||
case Brw_FILE_BRW_SEE_DOCUMENTS_CRS:
|
case Brw_FILE_BRW_SEE_DOCUMENTS_CRS:
|
||||||
case Brw_FILE_BRW_ADMIN_DOCUMENTS_CRS:
|
case Brw_FILE_BRW_ADMIN_DOCUMENTS_CRS:
|
||||||
Brw_GetAndUpdateDateLastAccFileBrowser ("LastAccDownloadCrs");
|
|
||||||
if (Gbl.CurrentAct == ActChgToSeeDocCrs ||
|
if (Gbl.CurrentAct == ActChgToSeeDocCrs ||
|
||||||
Gbl.CurrentAct == ActChgToAdmDocCrs)// Update group of last access to a documents zone only when user changes zone
|
Gbl.CurrentAct == ActChgToAdmDocCrs)// Update group of last access to a documents zone only when user changes zone
|
||||||
Brw_UpdateGrpLastAccZone ("LastDowGrpCod",-1L);
|
Brw_UpdateGrpLastAccZone ("LastDowGrpCod",-1L);
|
||||||
break;
|
break;
|
||||||
case Brw_FILE_BRW_SEE_DOCUMENTS_GRP:
|
case Brw_FILE_BRW_SEE_DOCUMENTS_GRP:
|
||||||
case Brw_FILE_BRW_ADMIN_DOCUMENTS_GRP:
|
case Brw_FILE_BRW_ADMIN_DOCUMENTS_GRP:
|
||||||
Brw_GetAndUpdateDateLastAccFileBrowser ("LastAccDownloadGrp");
|
|
||||||
if (Gbl.CurrentAct == ActChgToSeeDocCrs ||
|
if (Gbl.CurrentAct == ActChgToSeeDocCrs ||
|
||||||
Gbl.CurrentAct == ActChgToAdmDocCrs)// Update group of last access to a documents zone only when user changes zone
|
Gbl.CurrentAct == ActChgToAdmDocCrs)// Update group of last access to a documents zone only when user changes zone
|
||||||
Brw_UpdateGrpLastAccZone ("LastDowGrpCod",Gbl.CurrentCrs.Grps.GrpCod);
|
Brw_UpdateGrpLastAccZone ("LastDowGrpCod",Gbl.CurrentCrs.Grps.GrpCod);
|
||||||
break;
|
break;
|
||||||
case Brw_FILE_BRW_COMMON_CRS:
|
case Brw_FILE_BRW_COMMON_CRS:
|
||||||
Brw_GetAndUpdateDateLastAccFileBrowser ("LastAccCommonCrs");
|
|
||||||
if (Gbl.CurrentAct == ActChgToAdmCom) // Update group of last access to a shared files zone only when user changes zone
|
if (Gbl.CurrentAct == ActChgToAdmCom) // Update group of last access to a shared files zone only when user changes zone
|
||||||
Brw_UpdateGrpLastAccZone ("LastComGrpCod",-1L);
|
Brw_UpdateGrpLastAccZone ("LastComGrpCod",-1L);
|
||||||
break;
|
break;
|
||||||
case Brw_FILE_BRW_COMMON_GRP:
|
case Brw_FILE_BRW_COMMON_GRP:
|
||||||
Brw_GetAndUpdateDateLastAccFileBrowser ("LastAccCommonGrp");
|
|
||||||
if (Gbl.CurrentAct == ActChgToAdmCom) // Update group of last access to a shared files zone only when user changes zone
|
if (Gbl.CurrentAct == ActChgToAdmCom) // Update group of last access to a shared files zone only when user changes zone
|
||||||
Brw_UpdateGrpLastAccZone ("LastComGrpCod",Gbl.CurrentCrs.Grps.GrpCod);
|
Brw_UpdateGrpLastAccZone ("LastComGrpCod",Gbl.CurrentCrs.Grps.GrpCod);
|
||||||
break;
|
break;
|
||||||
case Brw_FILE_BRW_SEE_MARKS_CRS:
|
case Brw_FILE_BRW_SEE_MARKS_CRS:
|
||||||
case Brw_FILE_BRW_ADMIN_MARKS_CRS:
|
case Brw_FILE_BRW_ADMIN_MARKS_CRS:
|
||||||
Brw_GetAndUpdateDateLastAccFileBrowser ("LastAccMarksCrs");
|
|
||||||
if (Gbl.CurrentAct == ActChgToSeeMrk ||
|
if (Gbl.CurrentAct == ActChgToSeeMrk ||
|
||||||
Gbl.CurrentAct == ActChgToAdmMrk) // Update group of last access to a marks zone only when user changes zone
|
Gbl.CurrentAct == ActChgToAdmMrk) // Update group of last access to a marks zone only when user changes zone
|
||||||
Brw_UpdateGrpLastAccZone ("LastAssGrpCod",-1L);
|
Brw_UpdateGrpLastAccZone ("LastAssGrpCod",-1L);
|
||||||
break;
|
break;
|
||||||
case Brw_FILE_BRW_SEE_MARKS_GRP:
|
case Brw_FILE_BRW_SEE_MARKS_GRP:
|
||||||
case Brw_FILE_BRW_ADMIN_MARKS_GRP:
|
case Brw_FILE_BRW_ADMIN_MARKS_GRP:
|
||||||
Brw_GetAndUpdateDateLastAccFileBrowser ("LastAccMarksGrp");
|
|
||||||
if (Gbl.CurrentAct == ActChgToSeeMrk ||
|
if (Gbl.CurrentAct == ActChgToSeeMrk ||
|
||||||
Gbl.CurrentAct == ActChgToAdmMrk) // Update group of last access to a marks zone only when user changes zone
|
Gbl.CurrentAct == ActChgToAdmMrk) // Update group of last access to a marks zone only when user changes zone
|
||||||
Brw_UpdateGrpLastAccZone ("LastAssGrpCod",Gbl.CurrentCrs.Grps.GrpCod);
|
Brw_UpdateGrpLastAccZone ("LastAssGrpCod",Gbl.CurrentCrs.Grps.GrpCod);
|
||||||
break;
|
break;
|
||||||
case Brw_FILE_BRW_ASSIGNMENTS_USR:
|
|
||||||
case Brw_FILE_BRW_WORKS_USR:
|
|
||||||
Brw_GetAndUpdateDateLastAccFileBrowser ("LastAccMyWorks");
|
|
||||||
break;
|
|
||||||
case Brw_FILE_BRW_ASSIGNMENTS_CRS:
|
|
||||||
case Brw_FILE_BRW_WORKS_CRS:
|
|
||||||
Brw_GetAndUpdateDateLastAccFileBrowser ("LastAccCrsWorks");
|
|
||||||
break;
|
|
||||||
case Brw_FILE_BRW_BRIEFCASE_USR:
|
|
||||||
Brw_GetAndUpdateDateLastAccFileBrowser ("");
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -3757,10 +3758,10 @@ void Brw_CreateDirDownloadTmp (void)
|
||||||
/* Get and update the date of my last access to file browser in this course **/
|
/* Get and update the date of my last access to file browser in this course **/
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
||||||
static void Brw_GetAndUpdateDateLastAccFileBrowser (const char *FieldNameDB)
|
static void Brw_GetAndUpdateDateLastAccFileBrowser (void)
|
||||||
{
|
{
|
||||||
char Query1[256];
|
long Cod;
|
||||||
char Query2[256];
|
char Query[256];
|
||||||
MYSQL_RES *mysql_res;
|
MYSQL_RES *mysql_res;
|
||||||
MYSQL_ROW row;
|
MYSQL_ROW row;
|
||||||
unsigned long NumRows;
|
unsigned long NumRows;
|
||||||
|
@ -3770,42 +3771,15 @@ static void Brw_GetAndUpdateDateLastAccFileBrowser (const char *FieldNameDB)
|
||||||
{
|
{
|
||||||
case Brw_FILE_BRW_SEE_DOCUMENTS_INS:
|
case Brw_FILE_BRW_SEE_DOCUMENTS_INS:
|
||||||
case Brw_FILE_BRW_ADMIN_DOCUMENTS_INS:
|
case Brw_FILE_BRW_ADMIN_DOCUMENTS_INS:
|
||||||
sprintf (Query1,"SELECT UNIX_TIMESTAMP(LastClick) FROM file_browser_last"
|
Cod = Gbl.CurrentIns.Ins.InsCod;
|
||||||
" WHERE UsrCod='%ld' AND FileBrowser='%u' AND Cod='%ld'",
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
|
||||||
(unsigned) Brw_FileBrowserForDB[Gbl.FileBrowser.Type],
|
|
||||||
Gbl.CurrentIns.Ins.InsCod);
|
|
||||||
sprintf (Query2,"REPLACE INTO file_browser_last (UsrCod,FileBrowser,Cod,LastClick)"
|
|
||||||
" VALUES ('%ld','%u','%ld',NOW())",
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
|
||||||
(unsigned) Brw_FileBrowserForDB[Gbl.FileBrowser.Type],
|
|
||||||
Gbl.CurrentIns.Ins.InsCod);
|
|
||||||
break;
|
break;
|
||||||
case Brw_FILE_BRW_SEE_DOCUMENTS_CTR:
|
case Brw_FILE_BRW_SEE_DOCUMENTS_CTR:
|
||||||
case Brw_FILE_BRW_ADMIN_DOCUMENTS_CTR:
|
case Brw_FILE_BRW_ADMIN_DOCUMENTS_CTR:
|
||||||
sprintf (Query1,"SELECT UNIX_TIMESTAMP(LastClick) FROM file_browser_last"
|
Cod = Gbl.CurrentCtr.Ctr.CtrCod;
|
||||||
" WHERE UsrCod='%ld' AND FileBrowser='%u' AND Cod='%ld'",
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
|
||||||
(unsigned) Brw_FileBrowserForDB[Gbl.FileBrowser.Type],
|
|
||||||
Gbl.CurrentCtr.Ctr.CtrCod);
|
|
||||||
sprintf (Query2,"REPLACE INTO file_browser_last (UsrCod,FileBrowser,Cod,LastClick)"
|
|
||||||
" VALUES ('%ld','%u','%ld',NOW())",
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
|
||||||
(unsigned) Brw_FileBrowserForDB[Gbl.FileBrowser.Type],
|
|
||||||
Gbl.CurrentCtr.Ctr.CtrCod);
|
|
||||||
break;
|
break;
|
||||||
case Brw_FILE_BRW_SEE_DOCUMENTS_DEG:
|
case Brw_FILE_BRW_SEE_DOCUMENTS_DEG:
|
||||||
case Brw_FILE_BRW_ADMIN_DOCUMENTS_DEG:
|
case Brw_FILE_BRW_ADMIN_DOCUMENTS_DEG:
|
||||||
sprintf (Query1,"SELECT UNIX_TIMESTAMP(LastClick) FROM file_browser_last"
|
Cod = Gbl.CurrentDeg.Deg.DegCod;
|
||||||
" WHERE UsrCod='%ld' AND FileBrowser='%u' AND Cod='%ld'",
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
|
||||||
(unsigned) Brw_FileBrowserForDB[Gbl.FileBrowser.Type],
|
|
||||||
Gbl.CurrentDeg.Deg.DegCod);
|
|
||||||
sprintf (Query2,"REPLACE INTO file_browser_last (UsrCod,FileBrowser,Cod,LastClick)"
|
|
||||||
" VALUES ('%ld','%u','%ld',NOW())",
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
|
||||||
(unsigned) Brw_FileBrowserForDB[Gbl.FileBrowser.Type],
|
|
||||||
Gbl.CurrentDeg.Deg.DegCod);
|
|
||||||
break;
|
break;
|
||||||
case Brw_FILE_BRW_SEE_DOCUMENTS_CRS:
|
case Brw_FILE_BRW_SEE_DOCUMENTS_CRS:
|
||||||
case Brw_FILE_BRW_ADMIN_DOCUMENTS_CRS:
|
case Brw_FILE_BRW_ADMIN_DOCUMENTS_CRS:
|
||||||
|
@ -3816,48 +3790,27 @@ static void Brw_GetAndUpdateDateLastAccFileBrowser (const char *FieldNameDB)
|
||||||
case Brw_FILE_BRW_ASSIGNMENTS_CRS:
|
case Brw_FILE_BRW_ASSIGNMENTS_CRS:
|
||||||
case Brw_FILE_BRW_WORKS_USR:
|
case Brw_FILE_BRW_WORKS_USR:
|
||||||
case Brw_FILE_BRW_WORKS_CRS:
|
case Brw_FILE_BRW_WORKS_CRS:
|
||||||
sprintf (Query1,"SELECT UNIX_TIMESTAMP(%s) FROM crs_usr"
|
Cod = Gbl.CurrentCrs.Crs.CrsCod;
|
||||||
" WHERE CrsCod='%ld' AND UsrCod='%ld'",
|
break;
|
||||||
FieldNameDB,
|
|
||||||
Gbl.CurrentCrs.Crs.CrsCod,
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod);
|
|
||||||
sprintf (Query2,"UPDATE crs_usr SET %s=NOW()"
|
|
||||||
" WHERE CrsCod='%ld' AND UsrCod='%ld'",
|
|
||||||
FieldNameDB,
|
|
||||||
Gbl.CurrentCrs.Crs.CrsCod,
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod);
|
|
||||||
break;
|
|
||||||
case Brw_FILE_BRW_SEE_DOCUMENTS_GRP:
|
case Brw_FILE_BRW_SEE_DOCUMENTS_GRP:
|
||||||
case Brw_FILE_BRW_ADMIN_DOCUMENTS_GRP:
|
case Brw_FILE_BRW_ADMIN_DOCUMENTS_GRP:
|
||||||
case Brw_FILE_BRW_COMMON_GRP:
|
case Brw_FILE_BRW_COMMON_GRP:
|
||||||
case Brw_FILE_BRW_SEE_MARKS_GRP:
|
case Brw_FILE_BRW_SEE_MARKS_GRP:
|
||||||
case Brw_FILE_BRW_ADMIN_MARKS_GRP:
|
case Brw_FILE_BRW_ADMIN_MARKS_GRP:
|
||||||
sprintf (Query1,"SELECT UNIX_TIMESTAMP(%s) FROM crs_grp_usr"
|
Cod = Gbl.CurrentCrs.Grps.GrpCod;
|
||||||
" WHERE GrpCod='%ld' AND UsrCod='%ld'",
|
break;
|
||||||
FieldNameDB,
|
|
||||||
Gbl.CurrentCrs.Grps.GrpCod,
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod);
|
|
||||||
sprintf (Query2,"UPDATE crs_grp_usr SET %s=NOW()"
|
|
||||||
" WHERE GrpCod='%ld' AND UsrCod='%ld'",
|
|
||||||
FieldNameDB,
|
|
||||||
Gbl.CurrentCrs.Grps.GrpCod,
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod);
|
|
||||||
break;
|
|
||||||
case Brw_FILE_BRW_BRIEFCASE_USR:
|
case Brw_FILE_BRW_BRIEFCASE_USR:
|
||||||
sprintf (Query1,"SELECT UNIX_TIMESTAMP(LastClick) FROM file_browser_last"
|
Cod = -1L;
|
||||||
" WHERE UsrCod='%ld' AND FileBrowser='%u' AND Cod='-1'",
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
|
||||||
(unsigned) Brw_FileBrowserForDB[Gbl.FileBrowser.Type]);
|
|
||||||
sprintf (Query2,"REPLACE INTO file_browser_last (UsrCod,FileBrowser,Cod,LastClick)"
|
|
||||||
" VALUES ('%ld','%u','-1',NOW())",
|
|
||||||
Gbl.Usrs.Me.UsrDat.UsrCod,
|
|
||||||
(unsigned) Brw_FileBrowserForDB[Gbl.FileBrowser.Type],
|
|
||||||
Gbl.CurrentDeg.Deg.DegCod);
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
NumRows = DB_QuerySELECT (Query1,&mysql_res,"can not get date-time of last access to a file browser");
|
sprintf (Query,"SELECT UNIX_TIMESTAMP(LastClick) FROM file_browser_last"
|
||||||
|
" WHERE UsrCod='%ld' AND FileBrowser='%u' AND Cod='%ld'",
|
||||||
|
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
|
(unsigned) Brw_FileBrowserForLastAccess[Gbl.FileBrowser.Type],
|
||||||
|
Cod);
|
||||||
|
NumRows = DB_QuerySELECT (Query,&mysql_res,"can not get date-time of last access to a file browser");
|
||||||
|
|
||||||
if (NumRows == 0) // May be an administrator not belonging to this course
|
if (NumRows == 0) // May be an administrator not belonging to this course
|
||||||
Gbl.Usrs.Me.TimeLastAccToThisFileBrowser = LONG_MAX; // Initialize to a big value in order to show files as old
|
Gbl.Usrs.Me.TimeLastAccToThisFileBrowser = LONG_MAX; // Initialize to a big value in order to show files as old
|
||||||
|
@ -3877,7 +3830,12 @@ static void Brw_GetAndUpdateDateLastAccFileBrowser (const char *FieldNameDB)
|
||||||
DB_FreeMySQLResult (&mysql_res);
|
DB_FreeMySQLResult (&mysql_res);
|
||||||
|
|
||||||
/***** Update date of my last access to file browser in this course *****/
|
/***** Update date of my last access to file browser in this course *****/
|
||||||
DB_QueryUPDATE (Query2,"can not update date of last access to a file browser");
|
sprintf (Query,"REPLACE INTO file_browser_last (UsrCod,FileBrowser,Cod,LastClick)"
|
||||||
|
" VALUES ('%ld','%u','%ld',NOW())",
|
||||||
|
Gbl.Usrs.Me.UsrDat.UsrCod,
|
||||||
|
(unsigned) Brw_FileBrowserForLastAccess[Gbl.FileBrowser.Type],
|
||||||
|
Cod);
|
||||||
|
DB_QueryUPDATE (Query,"can not update date of last access to a file browser");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
/*****************************************************************************/
|
||||||
|
|
|
@ -1104,10 +1104,8 @@ static void Grp_AddUsrToGroup (struct UsrData *UsrDat,long GrpCod)
|
||||||
char Query[512];
|
char Query[512];
|
||||||
|
|
||||||
/***** Register in group *****/
|
/***** Register in group *****/
|
||||||
sprintf (Query,"INSERT INTO crs_grp_usr (GrpCod,UsrCod,"
|
sprintf (Query,"INSERT INTO crs_grp_usr (GrpCod,UsrCod)"
|
||||||
"LastAccDownloadGrp,LastAccCommonGrp,LastAccMarksGrp)"
|
" VALUES ('%ld','%ld')",
|
||||||
" VALUES ('%ld','%ld',"
|
|
||||||
"'0000-00-00','0000-00-00','0000-00-00')",
|
|
||||||
GrpCod,UsrDat->UsrCod);
|
GrpCod,UsrDat->UsrCod);
|
||||||
DB_QueryINSERT (Query,"can not add a user to a group");
|
DB_QueryINSERT (Query,"can not add a user to a group");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user