mirror of https://github.com/acanas/swad-core.git
Version 14.61
This commit is contained in:
parent
af750fb581
commit
9ddb2ebd06
|
@ -10458,8 +10458,17 @@ ALTER TABLE usr_data DROP COLUMN WWW,DROP COLUMN Twitter,DROP COLUMN Skype;
|
|||
|
||||
SELECT DegCod,CtrCod,DegTypCod,Status,RequesterUsrCod,ShortName,FullName,FirstYear,LastYear,OptYear,WWW FROM degrees;
|
||||
|
||||
----- 2015-01-20, swad14.59.4
|
||||
----- 2015-01-20, swad14.60
|
||||
|
||||
ALTER TABLE clipboard ADD COLUMN InsCod INT NOT NULL DEFAULT -1 AFTER FileBrowser, ADD INDEX (InsCod);
|
||||
ALTER TABLE clipboard ADD COLUMN CtrCod INT NOT NULL DEFAULT -1 AFTER InsCod, ADD INDEX (CtrCod);
|
||||
ALTER TABLE clipboard ADD COLUMN DegCod INT NOT NULL DEFAULT -1 AFTER CtrCod, ADD INDEX (DegCod);
|
||||
ALTER TABLE clipboard ADD COLUMN DegCod INT NOT NULL DEFAULT -1 AFTER CtrCod, ADD INDEX (DegCod);
|
||||
|
||||
----- 2015-01-20, swad14.61
|
||||
|
||||
ALTER TABLE files ADD COLUMN InsCod INT NOT NULL DEFAULT -1 AFTER FilCod;
|
||||
ALTER TABLE files ADD COLUMN CtrCod INT NOT NULL DEFAULT -1 AFTER InsCod;
|
||||
ALTER TABLE files ADD COLUMN DegCod INT NOT NULL DEFAULT -1 AFTER CtrCod;
|
||||
DROP INDEX CrsCod ON files;
|
||||
DROP INDEX CrsCod_GrpCod_FileBrowser ON files;
|
||||
CREATE INDEX Location ON files (InsCod,CtrCod,DegCod,CrsCod,GrpCod,FileBrowser);
|
||||
|
|
11
sql/swad.sql
11
sql/swad.sql
|
@ -172,6 +172,9 @@ CREATE TABLE IF NOT EXISTS clicks_without_photo (
|
|||
CREATE TABLE IF NOT EXISTS clipboard (
|
||||
UsrCod INT NOT NULL,
|
||||
FileBrowser TINYINT NOT NULL,
|
||||
InsCod INT NOT NULL DEFAULT -1,
|
||||
CtrCod INT NOT NULL DEFAULT -1,
|
||||
DegCod INT NOT NULL DEFAULT -1,
|
||||
CrsCod INT NOT NULL DEFAULT -1,
|
||||
GrpCod INT NOT NULL,
|
||||
WorksUsrCod INT NOT NULL,
|
||||
|
@ -180,6 +183,9 @@ CREATE TABLE IF NOT EXISTS clipboard (
|
|||
CopyTime TIMESTAMP,
|
||||
UNIQUE INDEX(UsrCod),
|
||||
INDEX(FileBrowser),
|
||||
INDEX(InsCod),
|
||||
INDEX(CtrCod),
|
||||
INDEX(DegCod),
|
||||
INDEX(CrsCod));
|
||||
--
|
||||
-- Table connected: users currently connected to the platform
|
||||
|
@ -489,6 +495,9 @@ CREATE TABLE IF NOT EXISTS file_view (
|
|||
--
|
||||
CREATE TABLE IF NOT EXISTS files (
|
||||
FilCod INT NOT NULL AUTO_INCREMENT,
|
||||
InsCod INT NOT NULL DEFAULT -1,
|
||||
CtrCod INT NOT NULL DEFAULT -1,
|
||||
DegCod INT NOT NULL DEFAULT -1,
|
||||
CrsCod INT NOT NULL DEFAULT -1,
|
||||
GrpCod INT NOT NULL DEFAULT -1,
|
||||
ZoneUsrCod INT NOT NULL DEFAULT -1,
|
||||
|
@ -500,7 +509,7 @@ CREATE TABLE IF NOT EXISTS files (
|
|||
Public ENUM('N','Y') NOT NULL DEFAULT 'N',
|
||||
License TINYINT NOT NULL DEFAULT 0,
|
||||
UNIQUE INDEX(FilCod),
|
||||
INDEX(CrsCod,GrpCod,ZoneUsrCod,FileBrowser),
|
||||
INDEX(InsCod,CtrCod,DegCod,CrsCod,GrpCod,ZoneUsrCod,FileBrowser),
|
||||
INDEX(PublisherUsrCod));
|
||||
--
|
||||
-- Table forum_disabled_post: stores the forum post that have been disabled
|
||||
|
|
|
@ -39,12 +39,21 @@
|
|||
/****************************** Public constants *****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
#define Log_PLATFORM_VERSION "SWAD 14.60 (2015/01/20)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 14.61 (2015/01/20)"
|
||||
|
||||
// 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
|
||||
/*
|
||||
TODO: adapt tables files and file_view !!!!!
|
||||
TODO: adapt table file_view !!!!!
|
||||
Version 14.61: Jan 20, 2015 See/admin documents of degree, centre and institution (not finished). (175112 lines)
|
||||
6 changes necessary in database:
|
||||
ALTER TABLE files ADD COLUMN InsCod INT NOT NULL DEFAULT -1 AFTER FilCod;
|
||||
ALTER TABLE files ADD COLUMN CtrCod INT NOT NULL DEFAULT -1 AFTER InsCod;
|
||||
ALTER TABLE files ADD COLUMN DegCod INT NOT NULL DEFAULT -1 AFTER CtrCod;
|
||||
DROP INDEX CrsCod ON files;
|
||||
DROP INDEX CrsCod_GrpCod_FileBrowser ON files;
|
||||
CREATE INDEX Location ON files (InsCod,CtrCod,DegCod,CrsCod,GrpCod,FileBrowser);
|
||||
|
||||
Version 14.60: Jan 20, 2015 See/admin documents of degree, centre and institution (not finished). (175079 lines)
|
||||
3 changes necessary in database:
|
||||
ALTER TABLE clipboard ADD COLUMN InsCod INT NOT NULL DEFAULT -1 AFTER FileBrowser, ADD INDEX (InsCod);
|
||||
|
|
|
@ -1045,7 +1045,10 @@ mysql> DESCRIBE files;
|
|||
| Field | Type | Null | Key | Default | Extra |
|
||||
+-----------------+---------------+------+-----+---------+----------------+
|
||||
| FilCod | int(11) | NO | PRI | NULL | auto_increment |
|
||||
| CrsCod | int(11) | NO | MUL | -1 | |
|
||||
| InsCod | int(11) | NO | MUL | -1 | |
|
||||
| CtrCod | int(11) | NO | | -1 | |
|
||||
| DegCod | int(11) | NO | | -1 | |
|
||||
| CrsCod | int(11) | NO | | -1 | |
|
||||
| GrpCod | int(11) | NO | | -1 | |
|
||||
| ZoneUsrCod | int(11) | NO | | -1 | |
|
||||
| FileBrowser | tinyint(4) | NO | | NULL | |
|
||||
|
@ -1056,10 +1059,13 @@ mysql> DESCRIBE files;
|
|||
| Public | enum('N','Y') | NO | | N | |
|
||||
| License | tinyint(4) | NO | | 0 | |
|
||||
+-----------------+---------------+------+-----+---------+----------------+
|
||||
11 rows in set (0.00 sec)
|
||||
14 rows in set (0.00 sec)
|
||||
*/
|
||||
DB_CreateTable ("CREATE TABLE IF NOT EXISTS files ("
|
||||
"FilCod INT NOT NULL AUTO_INCREMENT,"
|
||||
"InsCod INT NOT NULL DEFAULT -1,"
|
||||
"CtrCod INT NOT NULL DEFAULT -1,"
|
||||
"DegCod INT NOT NULL DEFAULT -1,"
|
||||
"CrsCod INT NOT NULL DEFAULT -1,"
|
||||
"GrpCod INT NOT NULL DEFAULT -1,"
|
||||
"ZoneUsrCod INT NOT NULL DEFAULT -1,"
|
||||
|
@ -1070,7 +1076,7 @@ mysql> DESCRIBE files;
|
|||
"Hidden ENUM('N','Y') NOT NULL DEFAULT 'N',"
|
||||
"Public ENUM('N','Y') NOT NULL DEFAULT 'N',"
|
||||
"License TINYINT NOT NULL DEFAULT 0,"
|
||||
"UNIQUE INDEX(FilCod),INDEX(CrsCod,GrpCod,ZoneUsrCod,FileBrowser),INDEX(PublisherUsrCod))");
|
||||
"UNIQUE INDEX(FilCod),INDEX(InsCod,CtrCod,DegCod,CrsCod,GrpCod,ZoneUsrCod,FileBrowser),INDEX(PublisherUsrCod))");
|
||||
|
||||
/***** Table forum_disabled_post *****/
|
||||
/*
|
||||
|
|
|
@ -1273,6 +1273,9 @@ static void Brw_ChangeFileOrFolderHiddenInDB (const char *Path,bool IsHidden);
|
|||
static void Brw_ChangeFilePublicInDB (long PublisherUsrCod,const char *Path,
|
||||
bool IsPublic,Brw_License_t License);
|
||||
|
||||
static long Brw_GetInsCod (void);
|
||||
static long Brw_GetCtrCod (void);
|
||||
static long Brw_GetDegCod (void);
|
||||
static long Brw_GetCrsCod (void);
|
||||
static long Brw_GetGrpCod (void);
|
||||
static long Brw_GetZoneUsrCod (void);
|
||||
|
@ -7983,9 +7986,13 @@ bool Brw_CheckIfFileOrFolderIsHidden (struct FileMetadata *FileMetadata)
|
|||
2) the argument Path begins by 'x/', where x is a path stored in database
|
||||
*/
|
||||
sprintf (Query,"SELECT COUNT(*) FROM files"
|
||||
" WHERE CrsCod='%ld' AND GrpCod='%ld' AND ZoneUsrCod='%ld'"
|
||||
" WHERE InsCod='%ld' AND CtrCod='%ld' AND DegCod='%ld' AND CrsCod='%ld'"
|
||||
" AND GrpCod='%ld' AND ZoneUsrCod='%ld'"
|
||||
" AND FileBrowser='%u' AND Hidden='Y'"
|
||||
" AND (Path='%s' OR LOCATE(CONCAT(Path,'/'),'%s')=1)",
|
||||
FileMetadata->InsCod,
|
||||
FileMetadata->CtrCod,
|
||||
FileMetadata->DegCod,
|
||||
FileMetadata->CrsCod,
|
||||
FileMetadata->GrpCod,
|
||||
FileMetadata->ZoneUsrCod,
|
||||
|
@ -8046,7 +8053,7 @@ void Brw_ShowFileMetadata (void)
|
|||
{
|
||||
if (FileMetadata.FilCod <= 0) // No entry for this file in database table of files
|
||||
{
|
||||
/* entry to the table of files/folders */
|
||||
/* Add entry to the table of files/folders */
|
||||
FileMetadata.FilCod = Brw_AddPathToDB (-1L,FileMetadata.FileType,
|
||||
Gbl.FileBrowser.Priv.FullPathInTree,false,Brw_LICENSE_DEFAULT);
|
||||
Brw_GetFileMetadataByCod (&FileMetadata);
|
||||
|
@ -8912,11 +8919,15 @@ void Brw_GetFileMetadataByPath (struct FileMetadata *FileMetadata)
|
|||
unsigned UnsignedNum;
|
||||
|
||||
/***** Get metadata of a file from database *****/
|
||||
sprintf (Query,"SELECT FilCod,CrsCod,GrpCod,ZoneUsrCod,FileBrowser,"
|
||||
"PublisherUsrCod,FileType,Path,Hidden,Public,License"
|
||||
sprintf (Query,"SELECT FilCod,InsCod,CtrCod,DegCod,CrsCod,GrpCod,ZoneUsrCod,"
|
||||
"FileBrowser,PublisherUsrCod,FileType,Path,Hidden,Public,License"
|
||||
" FROM files"
|
||||
" WHERE CrsCod='%ld' AND GrpCod='%ld' AND ZoneUsrCod='%ld'"
|
||||
" WHERE InsCod='%ld' AND CtrCod='%ld' AND DegCod='%ld'"
|
||||
" AND CrsCod='%ld' AND GrpCod='%ld' AND ZoneUsrCod='%ld'"
|
||||
" AND FileBrowser='%u' AND Path='%s'",
|
||||
Brw_GetInsCod (),
|
||||
Brw_GetCtrCod (),
|
||||
Brw_GetDegCod (),
|
||||
Brw_GetCrsCod (),
|
||||
Brw_GetGrpCod (),
|
||||
Brw_GetZoneUsrCod (),
|
||||
|
@ -8930,68 +8941,80 @@ void Brw_GetFileMetadataByPath (struct FileMetadata *FileMetadata)
|
|||
/* Get file code (row[0]) */
|
||||
FileMetadata->FilCod = Str_ConvertStrCodToLongCod (row[0]);
|
||||
|
||||
/* Get course code (row[1]) */
|
||||
FileMetadata->CrsCod = Str_ConvertStrCodToLongCod (row[1]);
|
||||
/* Get institution code (row[1]) */
|
||||
FileMetadata->InsCod = Str_ConvertStrCodToLongCod (row[1]);
|
||||
|
||||
/* Get group code (row[2]) */
|
||||
FileMetadata->GrpCod = Str_ConvertStrCodToLongCod (row[2]);
|
||||
/* Get centre code (row[2]) */
|
||||
FileMetadata->CtrCod = Str_ConvertStrCodToLongCod (row[2]);
|
||||
|
||||
/* Get the user's code of the owner of a zone of files (row[3]) */
|
||||
FileMetadata->ZoneUsrCod = Str_ConvertStrCodToLongCod (row[3]);
|
||||
/* Get degree code (row[3]) */
|
||||
FileMetadata->DegCod = Str_ConvertStrCodToLongCod (row[3]);
|
||||
|
||||
/* Get file browser type in database (row[4]) */
|
||||
/* Get course code (row[4]) */
|
||||
FileMetadata->CrsCod = Str_ConvertStrCodToLongCod (row[4]);
|
||||
|
||||
/* Get group code (row[5]) */
|
||||
FileMetadata->GrpCod = Str_ConvertStrCodToLongCod (row[5]);
|
||||
|
||||
/* Get the user's code of the owner of a zone of files (row[6]) */
|
||||
FileMetadata->ZoneUsrCod = Str_ConvertStrCodToLongCod (row[6]);
|
||||
|
||||
/* Get file browser type in database (row[7]) */
|
||||
FileMetadata->FileBrowser = Brw_FILE_BRW_UNKNOWN;
|
||||
if (sscanf (row[4],"%u",&UnsignedNum) == 1)
|
||||
if (sscanf (row[7],"%u",&UnsignedNum) == 1)
|
||||
if (UnsignedNum < Brw_NUM_TYPES_FILE_BROWSER)
|
||||
FileMetadata->FileBrowser = (Brw_FileBrowser_t) UnsignedNum;
|
||||
|
||||
/* Get publisher's code (row[5]) */
|
||||
FileMetadata->PublisherUsrCod = Str_ConvertStrCodToLongCod (row[5]);
|
||||
/* Get publisher's code (row[8]) */
|
||||
FileMetadata->PublisherUsrCod = Str_ConvertStrCodToLongCod (row[8]);
|
||||
|
||||
/* Get file type (row[6]) */
|
||||
/* Get file type (row[9]) */
|
||||
FileMetadata->FileType = Brw_IS_UNKNOWN; // default
|
||||
if (sscanf (row[6],"%u",&UnsignedNum) == 1)
|
||||
if (sscanf (row[9],"%u",&UnsignedNum) == 1)
|
||||
if (UnsignedNum < Brw_NUM_FILE_TYPES)
|
||||
FileMetadata->FileType = (Brw_FileType_t) UnsignedNum;
|
||||
|
||||
/* Get path (row[7]) */
|
||||
strncpy (FileMetadata->Path,row[7],PATH_MAX);
|
||||
/* Get path (row[10]) */
|
||||
strncpy (FileMetadata->Path,row[10],PATH_MAX);
|
||||
FileMetadata->Path[PATH_MAX] = '\0';
|
||||
|
||||
/* File is hidden? (row[8]) */
|
||||
/* File is hidden? (row[11]) */
|
||||
switch (Gbl.FileBrowser.Type)
|
||||
{
|
||||
case Brw_FILE_BRW_SEE_DOCUMENTS_CRS:
|
||||
case Brw_FILE_BRW_ADMIN_DOCUMENTS_CRS:
|
||||
FileMetadata->IsHidden = (Str_ConvertToUpperLetter (row[8][0]) == 'Y');
|
||||
FileMetadata->IsHidden = (Str_ConvertToUpperLetter (row[11][0]) == 'Y');
|
||||
break;
|
||||
default:
|
||||
FileMetadata->IsHidden = false;
|
||||
break;
|
||||
}
|
||||
|
||||
/* Is a public file? (row[9]) */
|
||||
/* Is a public file? (row[12]) */
|
||||
switch (Gbl.FileBrowser.Type)
|
||||
{
|
||||
case Brw_FILE_BRW_SEE_DOCUMENTS_CRS:
|
||||
case Brw_FILE_BRW_ADMIN_DOCUMENTS_CRS:
|
||||
case Brw_FILE_BRW_COMMON_CRS:
|
||||
FileMetadata->IsPublic = (Str_ConvertToUpperLetter (row[9][0]) == 'Y');
|
||||
FileMetadata->IsPublic = (Str_ConvertToUpperLetter (row[12][0]) == 'Y');
|
||||
break;
|
||||
default:
|
||||
FileMetadata->IsPublic = false;
|
||||
break;
|
||||
}
|
||||
|
||||
/* Get license (row[10]) */
|
||||
/* Get license (row[13]) */
|
||||
FileMetadata->License = Brw_LICENSE_UNKNOWN;
|
||||
if (sscanf (row[10],"%u",&UnsignedNum) == 1)
|
||||
if (sscanf (row[13],"%u",&UnsignedNum) == 1)
|
||||
if (UnsignedNum < Brw_NUM_LICENSES)
|
||||
FileMetadata->License = (Brw_License_t) UnsignedNum;
|
||||
}
|
||||
else
|
||||
{
|
||||
FileMetadata->FilCod = -1L;
|
||||
FileMetadata->InsCod = -1L;
|
||||
FileMetadata->CtrCod = -1L;
|
||||
FileMetadata->DegCod = -1L;
|
||||
FileMetadata->CrsCod = -1L;
|
||||
FileMetadata->GrpCod = -1L;
|
||||
FileMetadata->ZoneUsrCod = -1L;
|
||||
|
@ -9031,8 +9054,8 @@ void Brw_GetFileMetadataByCod (struct FileMetadata *FileMetadata)
|
|||
unsigned UnsignedNum;
|
||||
|
||||
/***** Get metadata of a file from database *****/
|
||||
sprintf (Query,"SELECT FilCod,CrsCod,GrpCod,ZoneUsrCod,FileBrowser,"
|
||||
"PublisherUsrCod,FileType,Path,Hidden,Public,License"
|
||||
sprintf (Query,"SELECT FilCod,InsCod,CtrCod,DegCod,CrsCod,GrpCod,ZoneUsrCod,"
|
||||
"FileBrowser,PublisherUsrCod,FileType,Path,Hidden,Public,License"
|
||||
" FROM files"
|
||||
" WHERE FilCod='%ld'",
|
||||
FileMetadata->FilCod);
|
||||
|
@ -9044,68 +9067,80 @@ void Brw_GetFileMetadataByCod (struct FileMetadata *FileMetadata)
|
|||
/* Get file code (row[0]) */
|
||||
FileMetadata->FilCod = Str_ConvertStrCodToLongCod (row[0]);
|
||||
|
||||
/* Get course code (row[1]) */
|
||||
FileMetadata->CrsCod = Str_ConvertStrCodToLongCod (row[1]);
|
||||
/* Get institution code (row[1]) */
|
||||
FileMetadata->InsCod = Str_ConvertStrCodToLongCod (row[1]);
|
||||
|
||||
/* Get group code (row[2]) */
|
||||
FileMetadata->GrpCod = Str_ConvertStrCodToLongCod (row[2]);
|
||||
/* Get centre code (row[2]) */
|
||||
FileMetadata->CtrCod = Str_ConvertStrCodToLongCod (row[2]);
|
||||
|
||||
/* Get the user's code of the owner of a zone of files (row[3]) */
|
||||
FileMetadata->ZoneUsrCod = Str_ConvertStrCodToLongCod (row[3]);
|
||||
/* Get degree code (row[3]) */
|
||||
FileMetadata->DegCod = Str_ConvertStrCodToLongCod (row[3]);
|
||||
|
||||
/* Get file browser type in database (row[4]) */
|
||||
/* Get course code (row[4]) */
|
||||
FileMetadata->CrsCod = Str_ConvertStrCodToLongCod (row[4]);
|
||||
|
||||
/* Get group code (row[5]) */
|
||||
FileMetadata->GrpCod = Str_ConvertStrCodToLongCod (row[5]);
|
||||
|
||||
/* Get the user's code of the owner of a zone of files (row[6]) */
|
||||
FileMetadata->ZoneUsrCod = Str_ConvertStrCodToLongCod (row[6]);
|
||||
|
||||
/* Get file browser type in database (row[7]) */
|
||||
FileMetadata->FileBrowser = Brw_FILE_BRW_UNKNOWN;
|
||||
if (sscanf (row[4],"%u",&UnsignedNum) == 1)
|
||||
if (sscanf (row[7],"%u",&UnsignedNum) == 1)
|
||||
if (UnsignedNum < Brw_NUM_TYPES_FILE_BROWSER)
|
||||
FileMetadata->FileBrowser = (Brw_FileBrowser_t) UnsignedNum;
|
||||
|
||||
/* Get publisher's code (row[5]) */
|
||||
FileMetadata->PublisherUsrCod = Str_ConvertStrCodToLongCod (row[5]);
|
||||
/* Get publisher's code (row[8]) */
|
||||
FileMetadata->PublisherUsrCod = Str_ConvertStrCodToLongCod (row[8]);
|
||||
|
||||
/* Get file type (row[6]) */
|
||||
/* Get file type (row[9]) */
|
||||
FileMetadata->FileType = Brw_IS_UNKNOWN; // default
|
||||
if (sscanf (row[6],"%u",&UnsignedNum) == 1)
|
||||
if (sscanf (row[9],"%u",&UnsignedNum) == 1)
|
||||
if (UnsignedNum < Brw_NUM_FILE_TYPES)
|
||||
FileMetadata->FileType = (Brw_FileType_t) UnsignedNum;
|
||||
|
||||
/* Get path (row[7]) */
|
||||
strncpy (FileMetadata->Path,row[7],PATH_MAX);
|
||||
/* Get path (row[10]) */
|
||||
strncpy (FileMetadata->Path,row[10],PATH_MAX);
|
||||
FileMetadata->Path[PATH_MAX] = '\0';
|
||||
|
||||
/* Is a hidden file? (row[8]) */
|
||||
/* Is a hidden file? (row[11]) */
|
||||
switch (Gbl.FileBrowser.Type)
|
||||
{
|
||||
case Brw_FILE_BRW_SEE_DOCUMENTS_CRS:
|
||||
case Brw_FILE_BRW_ADMIN_DOCUMENTS_CRS:
|
||||
FileMetadata->IsHidden = (Str_ConvertToUpperLetter (row[8][0]) == 'Y');
|
||||
FileMetadata->IsHidden = (Str_ConvertToUpperLetter (row[11][0]) == 'Y');
|
||||
break;
|
||||
default:
|
||||
FileMetadata->IsHidden = false;
|
||||
break;
|
||||
}
|
||||
|
||||
/* Is a public file? (row[9]) */
|
||||
/* Is a public file? (row[12]) */
|
||||
switch (Gbl.FileBrowser.Type)
|
||||
{
|
||||
case Brw_FILE_BRW_SEE_DOCUMENTS_CRS:
|
||||
case Brw_FILE_BRW_ADMIN_DOCUMENTS_CRS:
|
||||
case Brw_FILE_BRW_COMMON_CRS:
|
||||
FileMetadata->IsPublic = (Str_ConvertToUpperLetter (row[9][0]) == 'Y');
|
||||
FileMetadata->IsPublic = (Str_ConvertToUpperLetter (row[12][0]) == 'Y');
|
||||
break;
|
||||
default:
|
||||
FileMetadata->IsPublic = false;
|
||||
break;
|
||||
}
|
||||
|
||||
/* Get license (row[10]) */
|
||||
/* Get license (row[13]) */
|
||||
FileMetadata->License = Brw_LICENSE_UNKNOWN;
|
||||
if (sscanf (row[10],"%u",&UnsignedNum) == 1)
|
||||
if (sscanf (row[13],"%u",&UnsignedNum) == 1)
|
||||
if (UnsignedNum < Brw_NUM_LICENSES)
|
||||
FileMetadata->License = (Brw_License_t) UnsignedNum;
|
||||
}
|
||||
else
|
||||
{
|
||||
FileMetadata->FilCod = -1L;
|
||||
FileMetadata->InsCod = -1L;
|
||||
FileMetadata->CtrCod = -1L;
|
||||
FileMetadata->DegCod = -1L;
|
||||
FileMetadata->CrsCod = -1L;
|
||||
FileMetadata->GrpCod = -1L;
|
||||
FileMetadata->ZoneUsrCod = -1L;
|
||||
|
@ -9486,19 +9521,47 @@ static void Brw_ChangeFilePublicInDB (long PublisherUsrCod,const char *Path,
|
|||
DB_QueryUPDATE (Query,"can not change metadata of a file in database");
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/**************** Get the institution code of a zone of files ****************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static long Brw_GetInsCod (void)
|
||||
{
|
||||
return (Gbl.FileBrowser.Type == Brw_FILE_BRW_BRIEFCASE_USR ||
|
||||
Gbl.CurrentCtr.Ctr.CtrCod > 0) ? -1L :
|
||||
Gbl.CurrentIns.Ins.InsCod;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/****************** Get the centre code of a zone of files *******************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static long Brw_GetCtrCod (void)
|
||||
{
|
||||
return (Gbl.FileBrowser.Type == Brw_FILE_BRW_BRIEFCASE_USR ||
|
||||
Gbl.CurrentDeg.Deg.DegCod > 0) ? -1L :
|
||||
Gbl.CurrentCtr.Ctr.CtrCod;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/****************** Get the degree code of a zone of files *******************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static long Brw_GetDegCod (void)
|
||||
{
|
||||
return (Gbl.FileBrowser.Type == Brw_FILE_BRW_BRIEFCASE_USR ||
|
||||
Gbl.CurrentCrs.Crs.CrsCod > 0) ? -1L :
|
||||
Gbl.CurrentDeg.Deg.DegCod;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/****************** Get the course code of a zone of files *******************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static long Brw_GetCrsCod (void)
|
||||
{
|
||||
switch (Gbl.FileBrowser.Type)
|
||||
{
|
||||
case Brw_FILE_BRW_BRIEFCASE_USR:
|
||||
return -1L;
|
||||
default:
|
||||
return Gbl.CurrentCrs.Crs.CrsCod;
|
||||
}
|
||||
return (Gbl.FileBrowser.Type == Brw_FILE_BRW_BRIEFCASE_USR) ? -1L :
|
||||
Gbl.CurrentCrs.Crs.CrsCod;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -9507,13 +9570,8 @@ static long Brw_GetCrsCod (void)
|
|||
|
||||
static long Brw_GetGrpCod (void)
|
||||
{
|
||||
switch (Gbl.FileBrowser.Type)
|
||||
{
|
||||
case Brw_FILE_BRW_BRIEFCASE_USR:
|
||||
return -1L;
|
||||
default:
|
||||
return Gbl.CurrentCrs.Grps.GrpCod;
|
||||
}
|
||||
return (Gbl.FileBrowser.Type == Brw_FILE_BRW_BRIEFCASE_USR) ? -1L :
|
||||
Gbl.CurrentCrs.Grps.GrpCod;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -10135,7 +10193,6 @@ static void Brw_WriteRowDocData (unsigned *NumDocsNotHidden,MYSQL_ROW row)
|
|||
long DegCod;
|
||||
const char *BgColor;
|
||||
const char *Title;
|
||||
Act_Action_t Action = ActUnk; // Initialized to avoid warning
|
||||
char PathUntilFileName[PATH_MAX+1];
|
||||
char FileName[NAME_MAX+1];
|
||||
char FileNameToShow[NAME_MAX+1];
|
||||
|
@ -10198,6 +10255,9 @@ static void Brw_WriteRowDocData (unsigned *NumDocsNotHidden,MYSQL_ROW row)
|
|||
/***** Write file zone *****/
|
||||
switch (FileMetadata.FileBrowser)
|
||||
{
|
||||
case Brw_FILE_BRW_ADMIN_DOCUMENTS_INS:
|
||||
case Brw_FILE_BRW_ADMIN_DOCUMENTS_CTR:
|
||||
case Brw_FILE_BRW_ADMIN_DOCUMENTS_DEG:
|
||||
case Brw_FILE_BRW_ADMIN_DOCUMENTS_CRS:
|
||||
case Brw_FILE_BRW_ADMIN_DOCUMENTS_GRP:
|
||||
Title = Txt_Documents_zone;
|
||||
|
@ -10241,46 +10301,14 @@ static void Brw_WriteRowDocData (unsigned *NumDocsNotHidden,MYSQL_ROW row)
|
|||
BgColor);
|
||||
|
||||
/* Form start */
|
||||
switch (FileMetadata.FileBrowser)
|
||||
{
|
||||
case Brw_FILE_BRW_ADMIN_DOCUMENTS_CRS:
|
||||
Action = ActReqDatSeeDocCrs;
|
||||
break;
|
||||
case Brw_FILE_BRW_ADMIN_DOCUMENTS_GRP:
|
||||
Action = ActReqDatSeeDocGrp;
|
||||
break;
|
||||
case Brw_FILE_BRW_COMMON_CRS:
|
||||
Action = ActReqDatComCrs;
|
||||
break;
|
||||
case Brw_FILE_BRW_COMMON_GRP:
|
||||
Action = ActReqDatComGrp;
|
||||
break;
|
||||
case Brw_FILE_BRW_WORKS_USR:
|
||||
Action = ActReqDatWrkUsr;
|
||||
break;
|
||||
case Brw_FILE_BRW_ASSIGNMENTS_USR:
|
||||
Action = ActReqDatAsgUsr;
|
||||
break;
|
||||
case Brw_FILE_BRW_ADMIN_MARKS_CRS:
|
||||
Action = ActReqDatAdmMrkCrs;
|
||||
break;
|
||||
case Brw_FILE_BRW_ADMIN_MARKS_GRP:
|
||||
Action = ActReqDatAdmMrkGrp;
|
||||
break;
|
||||
case Brw_FILE_BRW_BRIEFCASE_USR:
|
||||
Action = ActReqDatBrf;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
if (FileMetadata.CrsCod > 0 &&
|
||||
FileMetadata.CrsCod != Gbl.CurrentCrs.Crs.CrsCod) // Not the current course
|
||||
{
|
||||
Act_FormGoToStart (Action); // Go to another course
|
||||
Act_FormGoToStart (Brw_ActReqDatFile[FileMetadata.FileBrowser]); // Go to another course
|
||||
Crs_PutParamCrsCod (FileMetadata.CrsCod);
|
||||
}
|
||||
else
|
||||
Act_FormStart (Action);
|
||||
Act_FormStart (Brw_ActReqDatFile[FileMetadata.FileBrowser]);
|
||||
if (FileMetadata.GrpCod > 0)
|
||||
Grp_PutParamGrpCod (FileMetadata.GrpCod);
|
||||
Brw_PutParamsPathAndFile (FileMetadata.FileType,PathUntilFileName,FileName);
|
||||
|
|
|
@ -97,6 +97,9 @@ typedef enum // Don't change these values! They are stored in database as number
|
|||
struct FileMetadata
|
||||
{
|
||||
long FilCod;
|
||||
long InsCod;
|
||||
long CtrCod;
|
||||
long DegCod;
|
||||
long CrsCod;
|
||||
long GrpCod;
|
||||
long ZoneUsrCod;
|
||||
|
|
Loading…
Reference in New Issue