mirror of https://github.com/acanas/swad-core.git
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 (
|
||||
GrpCod 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));
|
||||
|
@ -347,11 +344,6 @@ CREATE TABLE IF NOT EXISTS crs_usr (
|
|||
UsrCod INT NOT NULL,
|
||||
Role TINYINT NOT NULL DEFAULT 0,
|
||||
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,
|
||||
LastComGrpCod INT NOT NULL DEFAULT -1,
|
||||
LastAssGrpCod INT NOT NULL DEFAULT -1,
|
||||
|
|
|
@ -39,12 +39,34 @@
|
|||
/****************************** 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:
|
||||
// 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:
|
||||
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;
|
||||
|
|
|
@ -629,23 +629,17 @@ mysql> DESCRIBE crs_grp_types;
|
|||
/***** Table crs_grp_usr *****/
|
||||
/*
|
||||
mysql> DESCRIBE crs_grp_usr;
|
||||
+--------------------+----------+------+-----+---------+-------+
|
||||
| Field | Type | Null | Key | Default | Extra |
|
||||
+--------------------+----------+------+-----+---------+-------+
|
||||
| GrpCod | int(11) | NO | PRI | NULL | |
|
||||
| UsrCod | int(11) | NO | PRI | NULL | |
|
||||
| LastAccDownloadGrp | datetime | NO | | NULL | |
|
||||
| LastAccCommonGrp | datetime | NO | | NULL | |
|
||||
| LastAccMarksGrp | datetime | NO | | NULL | |
|
||||
+--------------------+----------+------+-----+---------+-------+
|
||||
5 rows in set (0.00 sec)
|
||||
+--------+---------+------+-----+---------+-------+
|
||||
| Field | Type | Null | Key | Default | Extra |
|
||||
+--------+---------+------+-----+---------+-------+
|
||||
| GrpCod | int(11) | NO | PRI | NULL | |
|
||||
| UsrCod | int(11) | NO | PRI | NULL | |
|
||||
+--------+---------+------+-----+---------+-------+
|
||||
2 rows in set (0.00 sec)
|
||||
*/
|
||||
DB_CreateTable ("CREATE TABLE IF NOT EXISTS crs_grp_usr ("
|
||||
"GrpCod 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))");
|
||||
|
||||
/***** Table crs_info_read *****/
|
||||
|
@ -763,40 +757,30 @@ mysql> DESCRIBE crs_records;
|
|||
/***** Table crs_usr *****/
|
||||
/*
|
||||
mysql> DESCRIBE crs_usr;
|
||||
+--------------------+---------------------------+------+-----+------------+-------+
|
||||
| Field | Type | Null | Key | Default | Extra |
|
||||
+--------------------+---------------------------+------+-----+------------+-------+
|
||||
| CrsCod | int(11) | NO | PRI | -1 | |
|
||||
| UsrCod | int(11) | NO | PRI | NULL | |
|
||||
| Role | tinyint(4) | NO | PRI | 0 | |
|
||||
| Accepted | enum('N','Y') | NO | | N | |
|
||||
| LastAccDownloadCrs | datetime | NO | | NULL | |
|
||||
| LastAccCommonCrs | datetime | NO | | NULL | |
|
||||
| LastAccMyWorks | datetime | NO | | NULL | |
|
||||
| LastAccCrsWorks | datetime | NO | | NULL | |
|
||||
| LastAccMarksCrs | datetime | NO | | NULL | |
|
||||
| LastDowGrpCod | int(11) | NO | | -1 | |
|
||||
| LastComGrpCod | int(11) | NO | | -1 | |
|
||||
| LastAssGrpCod | int(11) | NO | | -1 | |
|
||||
| NumAccTst | int(11) | NO | | 0 | |
|
||||
| LastAccTst | datetime | NO | | NULL | |
|
||||
| NumQstsLastTst | int(11) | NO | | 0 | |
|
||||
| UsrListType | enum('classphoto','list') | NO | | classphoto | |
|
||||
| ColsClassPhoto | tinyint(4) | NO | | NULL | |
|
||||
| ListWithPhotos | enum('N','Y') | NO | | Y | |
|
||||
+--------------------+---------------------------+------+-----+------------+-------+
|
||||
18 rows in set (0.02 sec)
|
||||
+----------------+---------------------------+------+-----+------------+-------+
|
||||
| Field | Type | Null | Key | Default | Extra |
|
||||
+----------------+---------------------------+------+-----+------------+-------+
|
||||
| CrsCod | int(11) | NO | PRI | -1 | |
|
||||
| UsrCod | int(11) | NO | PRI | NULL | |
|
||||
| Role | tinyint(4) | NO | PRI | 0 | |
|
||||
| Accepted | enum('N','Y') | NO | | N | |
|
||||
| LastDowGrpCod | int(11) | NO | | -1 | |
|
||||
| LastComGrpCod | int(11) | NO | | -1 | |
|
||||
| LastAssGrpCod | int(11) | NO | | -1 | |
|
||||
| NumAccTst | int(11) | NO | | 0 | |
|
||||
| LastAccTst | datetime | NO | | NULL | |
|
||||
| NumQstsLastTst | int(11) | NO | | 0 | |
|
||||
| UsrListType | enum('classphoto','list') | NO | | classphoto | |
|
||||
| ColsClassPhoto | tinyint(4) | NO | | NULL | |
|
||||
| ListWithPhotos | enum('N','Y') | NO | | Y | |
|
||||
+----------------+---------------------------+------+-----+------------+-------+
|
||||
13 rows in set (0.00 sec)
|
||||
*/
|
||||
DB_CreateTable ("CREATE TABLE IF NOT EXISTS crs_usr ("
|
||||
"CrsCod INT NOT NULL DEFAULT -1,"
|
||||
"UsrCod INT NOT NULL,"
|
||||
"Role TINYINT NOT NULL DEFAULT 0,"
|
||||
"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,"
|
||||
"LastComGrpCod 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 *****/
|
||||
sprintf (Query,"INSERT INTO crs_usr (CrsCod,UsrCod,Role,Accepted,"
|
||||
"LastAccDownloadCrs,LastAccCommonCrs,LastAccMyWorks,LastAccCrsWorks,LastAccMarksCrs,"
|
||||
"LastDowGrpCod,LastComGrpCod,LastAssGrpCod,NumAccTst,LastAccTst,NumQstsLastTst,"
|
||||
"UsrListType,ColsClassPhoto,ListWithPhotos)"
|
||||
" 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',"
|
||||
"'%s','%u','%c')",
|
||||
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_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] =
|
||||
{
|
||||
|
@ -1192,7 +1217,7 @@ static void Brw_PutFormToShowOrAdmin (Brw_ShowOrAdmin_t ShowOrAdmin,
|
|||
Act_Action_t Action);
|
||||
static void Brw_WriteFormFullTree (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 void Brw_ResetFileBrowserSize (void);
|
||||
static void Brw_CalcSizeOfDirRecursive (unsigned Level,char *Path);
|
||||
|
@ -3183,65 +3208,41 @@ static void Brw_WriteTopBeforeShowingFileBrowser (void)
|
|||
static void Brw_UpdateLastAccess (void)
|
||||
{
|
||||
/***** Get and update date and hour of last access to file browser *****/
|
||||
Brw_GetAndUpdateDateLastAccFileBrowser ();
|
||||
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_ADMIN_DOCUMENTS_CRS:
|
||||
Brw_GetAndUpdateDateLastAccFileBrowser ("LastAccDownloadCrs");
|
||||
if (Gbl.CurrentAct == ActChgToSeeDocCrs ||
|
||||
Gbl.CurrentAct == ActChgToAdmDocCrs)// Update group of last access to a documents zone only when user changes zone
|
||||
Brw_UpdateGrpLastAccZone ("LastDowGrpCod",-1L);
|
||||
break;
|
||||
case Brw_FILE_BRW_SEE_DOCUMENTS_GRP:
|
||||
case Brw_FILE_BRW_ADMIN_DOCUMENTS_GRP:
|
||||
Brw_GetAndUpdateDateLastAccFileBrowser ("LastAccDownloadGrp");
|
||||
if (Gbl.CurrentAct == ActChgToSeeDocCrs ||
|
||||
Gbl.CurrentAct == ActChgToAdmDocCrs)// Update group of last access to a documents zone only when user changes zone
|
||||
Brw_UpdateGrpLastAccZone ("LastDowGrpCod",Gbl.CurrentCrs.Grps.GrpCod);
|
||||
break;
|
||||
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
|
||||
Brw_UpdateGrpLastAccZone ("LastComGrpCod",-1L);
|
||||
break;
|
||||
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
|
||||
Brw_UpdateGrpLastAccZone ("LastComGrpCod",Gbl.CurrentCrs.Grps.GrpCod);
|
||||
break;
|
||||
case Brw_FILE_BRW_SEE_MARKS_CRS:
|
||||
case Brw_FILE_BRW_ADMIN_MARKS_CRS:
|
||||
Brw_GetAndUpdateDateLastAccFileBrowser ("LastAccMarksCrs");
|
||||
if (Gbl.CurrentAct == ActChgToSeeMrk ||
|
||||
Gbl.CurrentAct == ActChgToAdmMrk) // Update group of last access to a marks zone only when user changes zone
|
||||
Brw_UpdateGrpLastAccZone ("LastAssGrpCod",-1L);
|
||||
break;
|
||||
case Brw_FILE_BRW_SEE_MARKS_GRP:
|
||||
case Brw_FILE_BRW_ADMIN_MARKS_GRP:
|
||||
Brw_GetAndUpdateDateLastAccFileBrowser ("LastAccMarksGrp");
|
||||
if (Gbl.CurrentAct == ActChgToSeeMrk ||
|
||||
Gbl.CurrentAct == ActChgToAdmMrk) // Update group of last access to a marks zone only when user changes zone
|
||||
Brw_UpdateGrpLastAccZone ("LastAssGrpCod",Gbl.CurrentCrs.Grps.GrpCod);
|
||||
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:
|
||||
break;
|
||||
}
|
||||
|
@ -3757,10 +3758,10 @@ void Brw_CreateDirDownloadTmp (void)
|
|||
/* 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];
|
||||
char Query2[256];
|
||||
long Cod;
|
||||
char Query[256];
|
||||
MYSQL_RES *mysql_res;
|
||||
MYSQL_ROW row;
|
||||
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_ADMIN_DOCUMENTS_INS:
|
||||
sprintf (Query1,"SELECT UNIX_TIMESTAMP(LastClick) FROM file_browser_last"
|
||||
" 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);
|
||||
Cod = Gbl.CurrentIns.Ins.InsCod;
|
||||
break;
|
||||
case Brw_FILE_BRW_SEE_DOCUMENTS_CTR:
|
||||
case Brw_FILE_BRW_ADMIN_DOCUMENTS_CTR:
|
||||
sprintf (Query1,"SELECT UNIX_TIMESTAMP(LastClick) FROM file_browser_last"
|
||||
" 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);
|
||||
Cod = Gbl.CurrentCtr.Ctr.CtrCod;
|
||||
break;
|
||||
case Brw_FILE_BRW_SEE_DOCUMENTS_DEG:
|
||||
case Brw_FILE_BRW_ADMIN_DOCUMENTS_DEG:
|
||||
sprintf (Query1,"SELECT UNIX_TIMESTAMP(LastClick) FROM file_browser_last"
|
||||
" 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);
|
||||
Cod = Gbl.CurrentDeg.Deg.DegCod;
|
||||
break;
|
||||
case Brw_FILE_BRW_SEE_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_WORKS_USR:
|
||||
case Brw_FILE_BRW_WORKS_CRS:
|
||||
sprintf (Query1,"SELECT UNIX_TIMESTAMP(%s) FROM crs_usr"
|
||||
" WHERE CrsCod='%ld' AND UsrCod='%ld'",
|
||||
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;
|
||||
Cod = Gbl.CurrentCrs.Crs.CrsCod;
|
||||
break;
|
||||
case Brw_FILE_BRW_SEE_DOCUMENTS_GRP:
|
||||
case Brw_FILE_BRW_ADMIN_DOCUMENTS_GRP:
|
||||
case Brw_FILE_BRW_COMMON_GRP:
|
||||
case Brw_FILE_BRW_SEE_MARKS_GRP:
|
||||
case Brw_FILE_BRW_ADMIN_MARKS_GRP:
|
||||
sprintf (Query1,"SELECT UNIX_TIMESTAMP(%s) FROM crs_grp_usr"
|
||||
" WHERE GrpCod='%ld' AND UsrCod='%ld'",
|
||||
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;
|
||||
Cod = Gbl.CurrentCrs.Grps.GrpCod;
|
||||
break;
|
||||
case Brw_FILE_BRW_BRIEFCASE_USR:
|
||||
sprintf (Query1,"SELECT UNIX_TIMESTAMP(LastClick) FROM file_browser_last"
|
||||
" 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);
|
||||
Cod = -1L;
|
||||
break;
|
||||
default:
|
||||
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
|
||||
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);
|
||||
|
||||
/***** 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];
|
||||
|
||||
/***** Register in group *****/
|
||||
sprintf (Query,"INSERT INTO crs_grp_usr (GrpCod,UsrCod,"
|
||||
"LastAccDownloadGrp,LastAccCommonGrp,LastAccMarksGrp)"
|
||||
" VALUES ('%ld','%ld',"
|
||||
"'0000-00-00','0000-00-00','0000-00-00')",
|
||||
sprintf (Query,"INSERT INTO crs_grp_usr (GrpCod,UsrCod)"
|
||||
" VALUES ('%ld','%ld')",
|
||||
GrpCod,UsrDat->UsrCod);
|
||||
DB_QueryINSERT (Query,"can not add a user to a group");
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue