mirror of https://github.com/acanas/swad-core.git
Version 21.2.2: Sep 14, 2021 Queries moved to module swad_browser_database.
This commit is contained in:
parent
eb872c73a3
commit
ef9d714feb
204
swad_browser.c
204
swad_browser.c
|
@ -1330,10 +1330,7 @@ static void Brw_WriteSmallLinkToDownloadFile (const char *URL,
|
|||
static bool Brw_GetParamPublicFile (void);
|
||||
static Brw_License_t Brw_GetParLicense (void);
|
||||
static void Brw_GetFileViewsFromLoggedUsrs (struct FileMetadata *FileMetadata);
|
||||
static unsigned Brw_DB_GetFileViewsFromNonLoggedUsrs (long FilCod);
|
||||
static unsigned Brw_GetFileViewsFromMe (long FilCod);
|
||||
static void Brw_UpdateFileViews (unsigned NumViews,long FilCod);
|
||||
static bool Brw_GetIfFolderHasPublicFiles (const char Path[PATH_MAX + 1]);
|
||||
|
||||
static void Brw_ChangeFileOrFolderHiddenInDB (const char Path[PATH_MAX + 1],bool IsHidden);
|
||||
|
||||
|
@ -4513,7 +4510,7 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,const char *RowId,
|
|||
/***** Is this row public or private? *****/
|
||||
if (SeeDocsZone || AdminDocsZone || SharedZone)
|
||||
{
|
||||
RowSetAsPublic = (Gbl.FileBrowser.FilFolLnk.Type == Brw_IS_FOLDER) ? Brw_GetIfFolderHasPublicFiles (Gbl.FileBrowser.FilFolLnk.Full) :
|
||||
RowSetAsPublic = (Gbl.FileBrowser.FilFolLnk.Type == Brw_IS_FOLDER) ? Brw_DB_GetIfFolderHasPublicFiles (Gbl.FileBrowser.FilFolLnk.Full) :
|
||||
FileMetadata.IsPublic;
|
||||
if (Gbl.FileBrowser.ShowOnlyPublicFiles && !RowSetAsPublic)
|
||||
return false;
|
||||
|
@ -8784,34 +8781,6 @@ static Brw_License_t Brw_GetParLicense (void)
|
|||
(unsigned long) Brw_LICENSE_UNKNOWN);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/*********************** Get file code using its path ************************/
|
||||
/*****************************************************************************/
|
||||
// Path is the full path in tree
|
||||
// Example: descarga/folder/file.pdf
|
||||
|
||||
long Brw_GetFilCodByPath (const char *Path,bool OnlyIfPublic)
|
||||
{
|
||||
long Cod = Brw_GetCodForFileBrowser ();
|
||||
long ZoneUsrCod = Brw_GetZoneUsrCodForFileBrowser ();
|
||||
|
||||
/***** Get code of a file from database *****/
|
||||
return DB_QuerySELECTCode ("can not get file code",
|
||||
"SELECT FilCod"
|
||||
" FROM brw_files"
|
||||
" WHERE FileBrowser=%u"
|
||||
" AND Cod=%ld"
|
||||
" AND ZoneUsrCod=%ld"
|
||||
" AND Path='%s'"
|
||||
"%s",
|
||||
(unsigned) Brw_FileBrowserForDB_files[Gbl.FileBrowser.Type],
|
||||
Cod,
|
||||
ZoneUsrCod,
|
||||
Path,
|
||||
OnlyIfPublic ? " AND Public='Y'" :
|
||||
"");
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/********************* Get file metadata using its path **********************/
|
||||
/*****************************************************************************/
|
||||
|
@ -8820,32 +8789,12 @@ long Brw_GetFilCodByPath (const char *Path,bool OnlyIfPublic)
|
|||
|
||||
void Brw_GetFileMetadataByPath (struct FileMetadata *FileMetadata)
|
||||
{
|
||||
long Cod = Brw_GetCodForFileBrowser ();
|
||||
long ZoneUsrCod = Brw_GetZoneUsrCodForFileBrowser ();
|
||||
MYSQL_RES *mysql_res;
|
||||
MYSQL_ROW row;
|
||||
unsigned UnsignedNum;
|
||||
|
||||
/***** Get metadata of a file from database *****/
|
||||
if (DB_QuerySELECT (&mysql_res,"can not get file metadata",
|
||||
"SELECT FilCod," // row[0]
|
||||
"FileBrowser," // row[1]
|
||||
"Cod," // row[2]
|
||||
"ZoneUsrCod," // row[3]
|
||||
"PublisherUsrCod," // row[4]
|
||||
"FileType," // row[5]
|
||||
"Path," // row[6]
|
||||
"Hidden," // row[7]
|
||||
"Public," // row[8]
|
||||
"License" // row[9]
|
||||
" FROM brw_files"
|
||||
" WHERE FileBrowser=%u"
|
||||
" AND Cod=%ld"
|
||||
" AND ZoneUsrCod=%ld"
|
||||
" AND Path='%s'",
|
||||
(unsigned) Brw_FileBrowserForDB_files[Gbl.FileBrowser.Type],
|
||||
Cod,ZoneUsrCod,
|
||||
Gbl.FileBrowser.FilFolLnk.Full))
|
||||
if (Brw_DB_GetFileMetadataByPath (&mysql_res,Gbl.FileBrowser.FilFolLnk.Full))
|
||||
{
|
||||
/* Get row */
|
||||
row = mysql_fetch_row (mysql_res);
|
||||
|
@ -8969,20 +8918,7 @@ void Brw_GetFileMetadataByCod (struct FileMetadata *FileMetadata)
|
|||
unsigned UnsignedNum;
|
||||
|
||||
/***** Get metadata of a file from database *****/
|
||||
if (DB_QuerySELECT (&mysql_res,"can not get file metadata",
|
||||
"SELECT FilCod," // row[0]
|
||||
"FileBrowser," // row[1]
|
||||
"Cod," // row[2]
|
||||
"ZoneUsrCod," // row[3]
|
||||
"PublisherUsrCod," // row[4]
|
||||
"FileType," // row[5]
|
||||
"Path," // row[6]
|
||||
"Hidden," // row[7]
|
||||
"Public," // row[8]
|
||||
"License" // row[9]
|
||||
" FROM brw_files"
|
||||
" WHERE FilCod=%ld",
|
||||
FileMetadata->FilCod))
|
||||
if (Brw_DB_GetFileMetadataByCod (&mysql_res,FileMetadata->FilCod))
|
||||
{
|
||||
/* Get row */
|
||||
row = mysql_fetch_row (mysql_res);
|
||||
|
@ -9160,7 +9096,7 @@ void Brw_GetAndUpdateFileViews (struct FileMetadata *FileMetadata)
|
|||
FileMetadata->NumMyViews = FileMetadata->NumPublicViews;
|
||||
|
||||
/***** Update number of my views *****/
|
||||
Brw_UpdateFileViews (FileMetadata->NumMyViews,FileMetadata->FilCod);
|
||||
Brw_DB_UpdateFileViews (FileMetadata->NumMyViews,FileMetadata->FilCod);
|
||||
|
||||
/***** Increment number of file views in my user's figures *****/
|
||||
if (Gbl.Usrs.Me.Logged)
|
||||
|
@ -9180,21 +9116,7 @@ void Brw_GetAndUpdateFileViews (struct FileMetadata *FileMetadata)
|
|||
void Brw_UpdateMyFileViews (long FilCod)
|
||||
{
|
||||
/***** Update number of my views *****/
|
||||
Brw_UpdateFileViews (Brw_GetFileViewsFromMe (FilCod),FilCod);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************** Get number of file views from a user *******************/
|
||||
/*****************************************************************************/
|
||||
|
||||
unsigned Brw_DB_GetNumFileViewsUsr (long UsrCod)
|
||||
{
|
||||
/***** Get number of filw views *****/
|
||||
return DB_QuerySELECTUnsigned ("can not get number of file views",
|
||||
"SELECT SUM(NumViews)"
|
||||
" FROM brw_views"
|
||||
" WHERE UsrCod=%ld",
|
||||
UsrCod);
|
||||
Brw_DB_UpdateFileViews (Brw_GetFileViewsFromMe (FilCod),FilCod);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -9211,14 +9133,7 @@ static void Brw_GetFileViewsFromLoggedUsrs (struct FileMetadata *FileMetadata)
|
|||
MYSQL_ROW row;
|
||||
|
||||
/***** Get number total of views from logged users *****/
|
||||
if (DB_QuerySELECT (&mysql_res,"can not get number of views of a file"
|
||||
" from logged users",
|
||||
"SELECT COUNT(DISTINCT UsrCod)," // row[0]
|
||||
"SUM(NumViews)" // row[1]
|
||||
" FROM brw_views"
|
||||
" WHERE FilCod=%ld"
|
||||
" AND UsrCod>0",
|
||||
FileMetadata->FilCod))
|
||||
if (Brw_DB_GetFileViewsFromLoggedUsrs (&mysql_res,FileMetadata->FilCod))
|
||||
{
|
||||
row = mysql_fetch_row (mysql_res);
|
||||
|
||||
|
@ -9242,21 +9157,6 @@ static void Brw_GetFileViewsFromLoggedUsrs (struct FileMetadata *FileMetadata)
|
|||
DB_FreeMySQLResult (&mysql_res);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************** Get number of public views of a file *******************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static unsigned Brw_DB_GetFileViewsFromNonLoggedUsrs (long FilCod)
|
||||
{
|
||||
return
|
||||
DB_QuerySELECTUnsigned ("can not get number of public views of a file",
|
||||
"SELECT SUM(NumViews)"
|
||||
" FROM brw_views"
|
||||
" WHERE FilCod=%ld"
|
||||
" AND UsrCod<=0",
|
||||
FilCod);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/************************** Get file views from me ***************************/
|
||||
/*****************************************************************************/
|
||||
|
@ -9268,12 +9168,7 @@ static unsigned Brw_GetFileViewsFromMe (long FilCod)
|
|||
unsigned NumMyViews;
|
||||
|
||||
/***** Get number of my views *****/
|
||||
if (DB_QuerySELECT (&mysql_res,"can not get your number of views of a file",
|
||||
"SELECT NumViews" // row[0]
|
||||
" FROM brw_views"
|
||||
" WHERE FilCod=%ld"
|
||||
" AND UsrCod=%ld",
|
||||
FilCod,Gbl.Usrs.Me.UsrDat.UsrCod))
|
||||
if (Brw_DB_GetFileViewsFromMe (&mysql_res,FilCod))
|
||||
{
|
||||
/* Get number of my views */
|
||||
row = mysql_fetch_row (mysql_res);
|
||||
|
@ -9289,91 +9184,6 @@ static unsigned Brw_GetFileViewsFromMe (long FilCod)
|
|||
return NumMyViews;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/*************************** Update file views *******************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static void Brw_UpdateFileViews (unsigned NumViews,long FilCod)
|
||||
{
|
||||
if (NumViews)
|
||||
/* Update number of views in database */
|
||||
DB_QueryUPDATE ("can not update number of views of a file",
|
||||
"UPDATE brw_views"
|
||||
" SET NumViews=NumViews+1"
|
||||
" WHERE FilCod=%ld"
|
||||
" AND UsrCod=%ld",
|
||||
FilCod,Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||
else // NumViews == 0
|
||||
/* Insert number of views in database */
|
||||
DB_QueryINSERT ("can not insert number of views of a file",
|
||||
"INSERT INTO brw_views"
|
||||
" (FilCod,UsrCod,NumViews)"
|
||||
" VALUES"
|
||||
" (%ld,%ld,1)",
|
||||
FilCod,
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/*********** Check if a folder contains file(s) marked as public *************/
|
||||
/*****************************************************************************/
|
||||
|
||||
static bool Brw_GetIfFolderHasPublicFiles (const char Path[PATH_MAX + 1])
|
||||
{
|
||||
long Cod = Brw_GetCodForFileBrowser ();
|
||||
long ZoneUsrCod = Brw_GetZoneUsrCodForFileBrowser ();
|
||||
|
||||
/***** Get if a file or folder is public from database *****/
|
||||
return (DB_QueryCOUNT ("can not check if a folder contains public files",
|
||||
"SELECT COUNT(*)"
|
||||
" FROM brw_files"
|
||||
" WHERE FileBrowser=%u"
|
||||
" AND Cod=%ld"
|
||||
" AND ZoneUsrCod=%ld"
|
||||
" AND Path LIKE '%s/%%'"
|
||||
" AND Public='Y'",
|
||||
(unsigned) Brw_FileBrowserForDB_files[Gbl.FileBrowser.Type],
|
||||
Cod,ZoneUsrCod,
|
||||
Path) != 0);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/*********************** Get number of files from a user *********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
unsigned Brw_DB_GetNumFilesUsr (long UsrCod)
|
||||
{
|
||||
/***** Get current number of files published by a user from database *****/
|
||||
return (unsigned)
|
||||
DB_QueryCOUNT ("can not get number of files from a user",
|
||||
"SELECT COUNT(*)"
|
||||
" FROM brw_files"
|
||||
" WHERE PublisherUsrCod=%ld"
|
||||
" AND FileType IN (%u,%u)",
|
||||
UsrCod,
|
||||
(unsigned) Brw_IS_FILE,
|
||||
(unsigned) Brw_IS_UNKNOWN); // Unknown entries are counted as files
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************* Get number of public files from a user ******************/
|
||||
/*****************************************************************************/
|
||||
|
||||
unsigned Brw_DB_GetNumPublicFilesUsr (long UsrCod)
|
||||
{
|
||||
/***** Get current number of public files published by a user from database *****/
|
||||
return (unsigned)
|
||||
DB_QueryCOUNT ("can not get number of public files from a user",
|
||||
"SELECT COUNT(*)"
|
||||
" FROM brw_files"
|
||||
" WHERE PublisherUsrCod=%ld"
|
||||
" AND FileType IN (%u,%u)"
|
||||
" AND Public='Y'",
|
||||
UsrCod,
|
||||
(unsigned) Brw_IS_FILE,
|
||||
(unsigned) Brw_IS_UNKNOWN); // Unknown entries are counted as files
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/***************** Change hiddeness of file in the database ******************/
|
||||
/*****************************************************************************/
|
||||
|
|
|
@ -211,15 +211,11 @@ void Brw_ShowFileMetadata (void);
|
|||
void Brw_DownloadFile (void);
|
||||
void Brw_GetLinkToDownloadFile (const char *PathInTree,const char *FileName,char *URL);
|
||||
void Brw_ChgFileMetadata (void);
|
||||
long Brw_GetFilCodByPath (const char *Path,bool OnlyIfPublic);
|
||||
void Brw_GetFileMetadataByPath (struct FileMetadata *FileMetadata);
|
||||
void Brw_GetFileMetadataByCod (struct FileMetadata *FileMetadata);
|
||||
bool Brw_GetFileTypeSizeAndDate (struct FileMetadata *FileMetadata);
|
||||
void Brw_GetAndUpdateFileViews (struct FileMetadata *FileMetadata);
|
||||
void Brw_UpdateMyFileViews (long FilCod);
|
||||
unsigned Brw_DB_GetNumFileViewsUsr (long UsrCod);
|
||||
unsigned Brw_DB_GetNumFilesUsr (long UsrCod);
|
||||
unsigned Brw_DB_GetNumPublicFilesUsr (long UsrCod);
|
||||
|
||||
long Brw_GetZoneUsrCodForFileBrowser (void);
|
||||
void Brw_GetCrsGrpFromFileMetadata (Brw_FileBrowser_t FileBrowser,long Cod,
|
||||
|
|
|
@ -166,36 +166,109 @@ static const Brw_FileBrowser_t Brw_FileBrowserForDB_expanded_folders[Brw_NUM_TYP
|
|||
/*****************************************************************************/
|
||||
|
||||
/*****************************************************************************/
|
||||
/*********************** Get folders of assignments **************************/
|
||||
/*********************** Get file code using its path ************************/
|
||||
/*****************************************************************************/
|
||||
// Get folder of an assignment when:
|
||||
// 1. The assignment is visible (not hidden)
|
||||
// 2. ...and the folder name is not empty (the teacher has set that the user must send work(s) for that assignment)
|
||||
// 3. ...the assignment is not restricted to groups or (if restricted to groups), the owner of zone belong to any of the groups
|
||||
// Path is the full path in tree
|
||||
// Example: descarga/folder/file.pdf
|
||||
|
||||
unsigned Brw_DB_GetFoldersAssignments (MYSQL_RES **mysql_res,long ZoneUsrCod)
|
||||
long Brw_DB_GetFilCodByPath (const char *Path,bool OnlyIfPublic)
|
||||
{
|
||||
extern const Brw_FileBrowser_t Brw_FileBrowserForDB_files[Brw_NUM_TYPES_FILE_BROWSER];
|
||||
long Cod = Brw_GetCodForFileBrowser ();
|
||||
long ZoneUsrCod = Brw_GetZoneUsrCodForFileBrowser ();
|
||||
|
||||
return DB_QuerySELECTCode ("can not get file code",
|
||||
"SELECT FilCod"
|
||||
" FROM brw_files"
|
||||
" WHERE FileBrowser=%u"
|
||||
" AND Cod=%ld"
|
||||
" AND ZoneUsrCod=%ld"
|
||||
" AND Path='%s'"
|
||||
"%s",
|
||||
(unsigned) Brw_FileBrowserForDB_files[Gbl.FileBrowser.Type],
|
||||
Cod,
|
||||
ZoneUsrCod,
|
||||
Path,
|
||||
OnlyIfPublic ? " AND Public='Y'" :
|
||||
"");
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/********************* Get file metadata using its path **********************/
|
||||
/*****************************************************************************/
|
||||
// This function only gets metadata stored in table files,
|
||||
// does not get size, time, numviews...
|
||||
|
||||
unsigned Brw_DB_GetFileMetadataByPath (MYSQL_RES **mysql_res,const char *Path)
|
||||
{
|
||||
extern const Brw_FileBrowser_t Brw_FileBrowserForDB_files[Brw_NUM_TYPES_FILE_BROWSER];
|
||||
long Cod = Brw_GetCodForFileBrowser ();
|
||||
long ZoneUsrCod = Brw_GetZoneUsrCodForFileBrowser ();
|
||||
|
||||
return (unsigned)
|
||||
DB_QuerySELECT (mysql_res,"can not get file metadata",
|
||||
"SELECT FilCod," // row[0]
|
||||
"FileBrowser," // row[1]
|
||||
"Cod," // row[2]
|
||||
"ZoneUsrCod," // row[3]
|
||||
"PublisherUsrCod," // row[4]
|
||||
"FileType," // row[5]
|
||||
"Path," // row[6]
|
||||
"Hidden," // row[7]
|
||||
"Public," // row[8]
|
||||
"License" // row[9]
|
||||
" FROM brw_files"
|
||||
" WHERE FileBrowser=%u"
|
||||
" AND Cod=%ld"
|
||||
" AND ZoneUsrCod=%ld"
|
||||
" AND Path='%s'",
|
||||
(unsigned) Brw_FileBrowserForDB_files[Gbl.FileBrowser.Type],
|
||||
Cod,
|
||||
ZoneUsrCod,
|
||||
Path);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/********************* Get file metadata using its code **********************/
|
||||
/*****************************************************************************/
|
||||
// FileMetadata.FilCod must be filled
|
||||
// This function only gets metadata stored in table files,
|
||||
// does not get size, time, numviews...
|
||||
|
||||
unsigned Brw_DB_GetFileMetadataByCod (MYSQL_RES **mysql_res,long FilCod)
|
||||
{
|
||||
return (unsigned)
|
||||
DB_QuerySELECT (mysql_res,"can not get folders of assignments",
|
||||
"SELECT Folder" // row[0]
|
||||
" FROM asg_assignments"
|
||||
" WHERE CrsCod=%ld"
|
||||
" AND Hidden='N'"
|
||||
" AND Folder<>''"
|
||||
" AND ("
|
||||
"AsgCod NOT IN"
|
||||
" (SELECT AsgCod"
|
||||
" FROM asg_groups)"
|
||||
" OR "
|
||||
"AsgCod IN"
|
||||
" (SELECT asg_groups.AsgCod"
|
||||
" FROM grp_users,"
|
||||
"asg_groups"
|
||||
" WHERE grp_users.UsrCod=%ld"
|
||||
" AND asg_groups.GrpCod=grp_users.GrpCod)"
|
||||
")",
|
||||
Gbl.Hierarchy.Crs.CrsCod,
|
||||
ZoneUsrCod);
|
||||
DB_QuerySELECT (mysql_res,"can not get file metadata",
|
||||
"SELECT FilCod," // row[0]
|
||||
"FileBrowser," // row[1]
|
||||
"Cod," // row[2]
|
||||
"ZoneUsrCod," // row[3]
|
||||
"PublisherUsrCod," // row[4]
|
||||
"FileType," // row[5]
|
||||
"Path," // row[6]
|
||||
"Hidden," // row[7]
|
||||
"Public," // row[8]
|
||||
"License" // row[9]
|
||||
" FROM brw_files"
|
||||
" WHERE FilCod=%ld",
|
||||
FilCod);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/************ Get current number of files published by a user ****************/
|
||||
/*****************************************************************************/
|
||||
|
||||
unsigned Brw_DB_GetNumFilesUsr (long UsrCod)
|
||||
{
|
||||
return (unsigned)
|
||||
DB_QueryCOUNT ("can not get number of files from a user",
|
||||
"SELECT COUNT(*)"
|
||||
" FROM brw_files"
|
||||
" WHERE PublisherUsrCod=%ld"
|
||||
" AND FileType IN (%u,%u)",
|
||||
UsrCod,
|
||||
(unsigned) Brw_IS_FILE,
|
||||
(unsigned) Brw_IS_UNKNOWN); // Unknown entries are counted as files
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -1015,6 +1088,195 @@ void Brw_DB_RemoveUsrFiles (long UsrCod)
|
|||
UsrCod);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/*********** Check if a folder contains file(s) marked as public *************/
|
||||
/*****************************************************************************/
|
||||
|
||||
bool Brw_DB_GetIfFolderHasPublicFiles (const char Path[PATH_MAX + 1])
|
||||
{
|
||||
extern const Brw_FileBrowser_t Brw_FileBrowserForDB_files[Brw_NUM_TYPES_FILE_BROWSER];
|
||||
long Cod = Brw_GetCodForFileBrowser ();
|
||||
long ZoneUsrCod = Brw_GetZoneUsrCodForFileBrowser ();
|
||||
|
||||
/***** Get if a file or folder is public from database *****/
|
||||
return (DB_QueryCOUNT ("can not check if a folder contains public files",
|
||||
"SELECT COUNT(*)"
|
||||
" FROM brw_files"
|
||||
" WHERE FileBrowser=%u"
|
||||
" AND Cod=%ld"
|
||||
" AND ZoneUsrCod=%ld"
|
||||
" AND Path LIKE '%s/%%'"
|
||||
" AND Public='Y'",
|
||||
(unsigned) Brw_FileBrowserForDB_files[Gbl.FileBrowser.Type],
|
||||
Cod,
|
||||
ZoneUsrCod,
|
||||
Path) != 0);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/********** Get current number of public files published by a user ***********/
|
||||
/*****************************************************************************/
|
||||
|
||||
unsigned Brw_DB_GetNumPublicFilesUsr (long UsrCod)
|
||||
{
|
||||
return (unsigned)
|
||||
DB_QueryCOUNT ("can not get number of public files from a user",
|
||||
"SELECT COUNT(*)"
|
||||
" FROM brw_files"
|
||||
" WHERE PublisherUsrCod=%ld"
|
||||
" AND FileType IN (%u,%u)"
|
||||
" AND Public='Y'",
|
||||
UsrCod,
|
||||
(unsigned) Brw_IS_FILE,
|
||||
(unsigned) Brw_IS_UNKNOWN); // Unknown entries are counted as files
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/***************** Get number of OERs depending on license *******************/
|
||||
/*****************************************************************************/
|
||||
|
||||
unsigned Brw_DB_GetNumberOfPublicFiles (MYSQL_RES **mysql_res,Brw_License_t License)
|
||||
{
|
||||
switch (Gbl.Scope.Current)
|
||||
{
|
||||
case HieLvl_SYS:
|
||||
return (unsigned)
|
||||
DB_QuerySELECT (mysql_res,"can not get number of OERs",
|
||||
"SELECT Public," // row[0]
|
||||
"COUNT(*)" // row[1]
|
||||
" FROM brw_files"
|
||||
" WHERE License=%u"
|
||||
" GROUP BY Public",
|
||||
(unsigned) License);
|
||||
case HieLvl_CTY:
|
||||
return (unsigned)
|
||||
DB_QuerySELECT (mysql_res,"can not get number of OERs",
|
||||
"SELECT brw_files.Public," // row[0]
|
||||
"COUNT(*)" // row[1]
|
||||
" FROM ins_instits,"
|
||||
"ctr_centers,"
|
||||
"deg_degrees,"
|
||||
"crs_courses,"
|
||||
"brw_files"
|
||||
" WHERE ins_instits.CtyCod=%ld"
|
||||
" AND ins_instits.InsCod=ctr_centers.InsCod"
|
||||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=brw_files.Cod"
|
||||
" AND brw_files.FileBrowser IN (%u,%u)"
|
||||
" AND brw_files.License=%u"
|
||||
" GROUP BY brw_files.Public",
|
||||
Gbl.Hierarchy.Cty.CtyCod,
|
||||
(unsigned) Brw_ADMI_DOC_CRS,
|
||||
(unsigned) Brw_ADMI_SHR_CRS,
|
||||
(unsigned) License);
|
||||
case HieLvl_INS:
|
||||
return (unsigned)
|
||||
DB_QuerySELECT (mysql_res,"can not get number of OERs",
|
||||
"SELECT brw_files.Public," // row[0]
|
||||
"COUNT(*)" // row[1]
|
||||
" FROM ctr_centers,"
|
||||
"deg_degrees,"
|
||||
"crs_courses,"
|
||||
"brw_files"
|
||||
" WHERE ctr_centers.InsCod=%ld"
|
||||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=brw_files.Cod"
|
||||
" AND brw_files.FileBrowser IN (%u,%u)"
|
||||
" AND brw_files.License=%u"
|
||||
" GROUP BY brw_files.Public",
|
||||
Gbl.Hierarchy.Ins.InsCod,
|
||||
(unsigned) Brw_ADMI_DOC_CRS,
|
||||
(unsigned) Brw_ADMI_SHR_CRS,
|
||||
(unsigned) License);
|
||||
case HieLvl_CTR:
|
||||
return (unsigned)
|
||||
DB_QuerySELECT (mysql_res,"can not get number of OERs",
|
||||
"SELECT brw_files.Public," // row[0]
|
||||
"COUNT(*)" // row[1]
|
||||
" FROM deg_degrees,"
|
||||
"crs_courses,"
|
||||
"brw_files"
|
||||
" WHERE deg_degrees.CtrCod=%ld"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=brw_files.Cod"
|
||||
" AND brw_files.FileBrowser IN (%u,%u)"
|
||||
" AND brw_files.License=%u"
|
||||
" GROUP BY brw_files.Public",
|
||||
Gbl.Hierarchy.Ctr.CtrCod,
|
||||
(unsigned) Brw_ADMI_DOC_CRS,
|
||||
(unsigned) Brw_ADMI_SHR_CRS,
|
||||
(unsigned) License);
|
||||
case HieLvl_DEG:
|
||||
return (unsigned)
|
||||
DB_QuerySELECT (mysql_res,"can not get number of OERs",
|
||||
"SELECT brw_files.Public," // row[0]
|
||||
"COUNT(*)" // row[1]
|
||||
" FROM crs_courses,"
|
||||
"brw_files"
|
||||
" WHERE crs_courses.DegCod=%ld"
|
||||
" AND crs_courses.CrsCod=brw_files.Cod"
|
||||
" AND brw_files.FileBrowser IN (%u,%u)"
|
||||
" AND brw_files.License=%u"
|
||||
" GROUP BY brw_files.Public",
|
||||
Gbl.Hierarchy.Deg.DegCod,
|
||||
(unsigned) Brw_ADMI_DOC_CRS,
|
||||
(unsigned) Brw_ADMI_SHR_CRS,
|
||||
(unsigned) License);
|
||||
case HieLvl_CRS:
|
||||
return (unsigned)
|
||||
DB_QuerySELECT (mysql_res,"can not get number of OERs",
|
||||
"SELECT Public," // row[0]
|
||||
"COUNT(*)" // row[1]
|
||||
" FROM brw_files"
|
||||
" WHERE Cod=%ld"
|
||||
" AND FileBrowser IN (%u,%u)"
|
||||
" AND License=%u"
|
||||
" GROUP BY Public",
|
||||
Gbl.Hierarchy.Crs.CrsCod,
|
||||
(unsigned) Brw_ADMI_DOC_CRS,
|
||||
(unsigned) Brw_ADMI_SHR_CRS,
|
||||
(unsigned) License);
|
||||
default:
|
||||
Err_WrongScopeExit ();
|
||||
return 0; // Not reached
|
||||
}
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/*********************** Get folders of assignments **************************/
|
||||
/*****************************************************************************/
|
||||
// Get folder of an assignment when:
|
||||
// 1. The assignment is visible (not hidden)
|
||||
// 2. ...and the folder name is not empty (the teacher has set that the user must send work(s) for that assignment)
|
||||
// 3. ...the assignment is not restricted to groups or (if restricted to groups), the owner of zone belong to any of the groups
|
||||
|
||||
unsigned Brw_DB_GetFoldersAssignments (MYSQL_RES **mysql_res,long ZoneUsrCod)
|
||||
{
|
||||
return (unsigned)
|
||||
DB_QuerySELECT (mysql_res,"can not get folders of assignments",
|
||||
"SELECT Folder" // row[0]
|
||||
" FROM asg_assignments"
|
||||
" WHERE CrsCod=%ld"
|
||||
" AND Hidden='N'"
|
||||
" AND Folder<>''"
|
||||
" AND ("
|
||||
"AsgCod NOT IN"
|
||||
" (SELECT AsgCod"
|
||||
" FROM asg_groups)"
|
||||
" OR "
|
||||
"AsgCod IN"
|
||||
" (SELECT asg_groups.AsgCod"
|
||||
" FROM grp_users,"
|
||||
"asg_groups"
|
||||
" WHERE grp_users.UsrCod=%ld"
|
||||
" AND asg_groups.GrpCod=grp_users.GrpCod)"
|
||||
")",
|
||||
Gbl.Hierarchy.Crs.CrsCod,
|
||||
ZoneUsrCod);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/************ Update the date of my last access to file browser **************/
|
||||
/*****************************************************************************/
|
||||
|
@ -1072,6 +1334,94 @@ unsigned Brw_DB_GetGrpLastAccFileBrowser (MYSQL_RES **mysql_res,const char *Fiel
|
|||
Gbl.Hierarchy.Crs.CrsCod);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/*************************** Update file views *******************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
void Brw_DB_UpdateFileViews (unsigned NumViews,long FilCod)
|
||||
{
|
||||
if (NumViews)
|
||||
/* Update number of views in database */
|
||||
DB_QueryUPDATE ("can not update number of views of a file",
|
||||
"UPDATE brw_views"
|
||||
" SET NumViews=NumViews+1"
|
||||
" WHERE FilCod=%ld"
|
||||
" AND UsrCod=%ld",
|
||||
FilCod,
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||
else // NumViews == 0
|
||||
/* Insert number of views in database */
|
||||
DB_QueryINSERT ("can not insert number of views of a file",
|
||||
"INSERT INTO brw_views"
|
||||
" (FilCod,UsrCod,NumViews)"
|
||||
" VALUES"
|
||||
" (%ld,%ld,1)",
|
||||
FilCod,
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/************************** Get file views from me ***************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
unsigned Brw_DB_GetFileViewsFromMe (MYSQL_RES **mysql_res,long FilCod)
|
||||
{
|
||||
return (unsigned)
|
||||
DB_QuerySELECT (mysql_res,"can not get your number of views of a file",
|
||||
"SELECT NumViews" // row[0]
|
||||
" FROM brw_views"
|
||||
" WHERE FilCod=%ld"
|
||||
" AND UsrCod=%ld",
|
||||
FilCod,
|
||||
Gbl.Usrs.Me.UsrDat.UsrCod);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************** Get file views from logged users ***********************/
|
||||
/*****************************************************************************/
|
||||
|
||||
unsigned Brw_DB_GetFileViewsFromLoggedUsrs (MYSQL_RES **mysql_res,long FilCod)
|
||||
{
|
||||
return (unsigned)
|
||||
DB_QuerySELECT (mysql_res,"can not get number of views of a file"
|
||||
" from logged users",
|
||||
"SELECT COUNT(DISTINCT UsrCod)," // row[0]
|
||||
"SUM(NumViews)" // row[1]
|
||||
" FROM brw_views"
|
||||
" WHERE FilCod=%ld"
|
||||
" AND UsrCod>0",
|
||||
FilCod);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************** Get number of public views of a file *******************/
|
||||
/*****************************************************************************/
|
||||
|
||||
unsigned Brw_DB_GetFileViewsFromNonLoggedUsrs (long FilCod)
|
||||
{
|
||||
return
|
||||
DB_QuerySELECTUnsigned ("can not get number of public views of a file",
|
||||
"SELECT SUM(NumViews)"
|
||||
" FROM brw_views"
|
||||
" WHERE FilCod=%ld"
|
||||
" AND UsrCod<=0",
|
||||
FilCod);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/******************** Get number of file views from a user *******************/
|
||||
/*****************************************************************************/
|
||||
|
||||
unsigned Brw_DB_GetNumFileViewsUsr (long UsrCod)
|
||||
{
|
||||
return
|
||||
DB_QuerySELECTUnsigned ("can not get number of file views",
|
||||
"SELECT SUM(NumViews)"
|
||||
" FROM brw_views"
|
||||
" WHERE UsrCod=%ld",
|
||||
UsrCod);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/************** Check if a file / folder from is set as hidden ***************/
|
||||
/*****************************************************************************/
|
||||
|
@ -2540,116 +2890,3 @@ void Brw_DB_GetSizeOfFileBrowser (MYSQL_RES **mysql_res,
|
|||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/***************** Get number of OERs depending on license *******************/
|
||||
/*****************************************************************************/
|
||||
|
||||
unsigned Brw_DB_GetNumberOfOERs (MYSQL_RES **mysql_res,Brw_License_t License)
|
||||
{
|
||||
switch (Gbl.Scope.Current)
|
||||
{
|
||||
case HieLvl_SYS:
|
||||
return (unsigned)
|
||||
DB_QuerySELECT (mysql_res,"can not get number of OERs",
|
||||
"SELECT Public," // row[0]
|
||||
"COUNT(*)" // row[1]
|
||||
" FROM brw_files"
|
||||
" WHERE License=%u"
|
||||
" GROUP BY Public",
|
||||
(unsigned) License);
|
||||
case HieLvl_CTY:
|
||||
return (unsigned)
|
||||
DB_QuerySELECT (mysql_res,"can not get number of OERs",
|
||||
"SELECT brw_files.Public," // row[0]
|
||||
"COUNT(*)" // row[1]
|
||||
" FROM ins_instits,"
|
||||
"ctr_centers,"
|
||||
"deg_degrees,"
|
||||
"crs_courses,"
|
||||
"brw_files"
|
||||
" WHERE ins_instits.CtyCod=%ld"
|
||||
" AND ins_instits.InsCod=ctr_centers.InsCod"
|
||||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=brw_files.Cod"
|
||||
" AND brw_files.FileBrowser IN (%u,%u)"
|
||||
" AND brw_files.License=%u"
|
||||
" GROUP BY brw_files.Public",
|
||||
Gbl.Hierarchy.Cty.CtyCod,
|
||||
(unsigned) Brw_ADMI_DOC_CRS,
|
||||
(unsigned) Brw_ADMI_SHR_CRS,
|
||||
(unsigned) License);
|
||||
case HieLvl_INS:
|
||||
return (unsigned)
|
||||
DB_QuerySELECT (mysql_res,"can not get number of OERs",
|
||||
"SELECT brw_files.Public," // row[0]
|
||||
"COUNT(*)" // row[1]
|
||||
" FROM ctr_centers,"
|
||||
"deg_degrees,"
|
||||
"crs_courses,"
|
||||
"brw_files"
|
||||
" WHERE ctr_centers.InsCod=%ld"
|
||||
" AND ctr_centers.CtrCod=deg_degrees.CtrCod"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=brw_files.Cod"
|
||||
" AND brw_files.FileBrowser IN (%u,%u)"
|
||||
" AND brw_files.License=%u"
|
||||
" GROUP BY brw_files.Public",
|
||||
Gbl.Hierarchy.Ins.InsCod,
|
||||
(unsigned) Brw_ADMI_DOC_CRS,
|
||||
(unsigned) Brw_ADMI_SHR_CRS,
|
||||
(unsigned) License);
|
||||
case HieLvl_CTR:
|
||||
return (unsigned)
|
||||
DB_QuerySELECT (mysql_res,"can not get number of OERs",
|
||||
"SELECT brw_files.Public," // row[0]
|
||||
"COUNT(*)" // row[1]
|
||||
" FROM deg_degrees,"
|
||||
"crs_courses,"
|
||||
"brw_files"
|
||||
" WHERE deg_degrees.CtrCod=%ld"
|
||||
" AND deg_degrees.DegCod=crs_courses.DegCod"
|
||||
" AND crs_courses.CrsCod=brw_files.Cod"
|
||||
" AND brw_files.FileBrowser IN (%u,%u)"
|
||||
" AND brw_files.License=%u"
|
||||
" GROUP BY brw_files.Public",
|
||||
Gbl.Hierarchy.Ctr.CtrCod,
|
||||
(unsigned) Brw_ADMI_DOC_CRS,
|
||||
(unsigned) Brw_ADMI_SHR_CRS,
|
||||
(unsigned) License);
|
||||
case HieLvl_DEG:
|
||||
return (unsigned)
|
||||
DB_QuerySELECT (mysql_res,"can not get number of OERs",
|
||||
"SELECT brw_files.Public," // row[0]
|
||||
"COUNT(*)" // row[1]
|
||||
" FROM crs_courses,"
|
||||
"brw_files"
|
||||
" WHERE crs_courses.DegCod=%ld"
|
||||
" AND crs_courses.CrsCod=brw_files.Cod"
|
||||
" AND brw_files.FileBrowser IN (%u,%u)"
|
||||
" AND brw_files.License=%u"
|
||||
" GROUP BY brw_files.Public",
|
||||
Gbl.Hierarchy.Deg.DegCod,
|
||||
(unsigned) Brw_ADMI_DOC_CRS,
|
||||
(unsigned) Brw_ADMI_SHR_CRS,
|
||||
(unsigned) License);
|
||||
case HieLvl_CRS:
|
||||
return (unsigned)
|
||||
DB_QuerySELECT (mysql_res,"can not get number of OERs",
|
||||
"SELECT Public," // row[0]
|
||||
"COUNT(*)" // row[1]
|
||||
" FROM brw_files"
|
||||
" WHERE Cod=%ld"
|
||||
" AND FileBrowser IN (%u,%u)"
|
||||
" AND License=%u"
|
||||
" GROUP BY Public",
|
||||
Gbl.Hierarchy.Crs.CrsCod,
|
||||
(unsigned) Brw_ADMI_DOC_CRS,
|
||||
(unsigned) Brw_ADMI_SHR_CRS,
|
||||
(unsigned) License);
|
||||
default:
|
||||
Err_WrongScopeExit ();
|
||||
return 0; // Not reached
|
||||
}
|
||||
}
|
||||
|
|
|
@ -47,10 +47,11 @@
|
|||
/***************************** Public prototypes *****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
//------------------------------- Assignments ---------------------------------
|
||||
unsigned Brw_DB_GetFoldersAssignments (MYSQL_RES **mysql_res,long ZoneUsrCod);
|
||||
|
||||
//---------------------------------- Files ------------------------------------
|
||||
long Brw_DB_GetFilCodByPath (const char *Path,bool OnlyIfPublic);
|
||||
unsigned Brw_DB_GetFileMetadataByPath (MYSQL_RES **mysql_res,const char *Path);
|
||||
unsigned Brw_DB_GetFileMetadataByCod (MYSQL_RES **mysql_res,long FilCod);
|
||||
unsigned Brw_DB_GetNumFilesUsr (long UsrCod);
|
||||
void Brw_DB_RemoveInsFiles (long InsCod);
|
||||
void Brw_DB_RemoveCtrFiles (long CtrCod);
|
||||
void Brw_DB_RemoveDegFiles (long DegCod);
|
||||
|
@ -61,11 +62,26 @@ void Brw_DB_RemoveSomeInfoAboutCrsUsrFiles (long UsrCod,long CrsCod);
|
|||
void Brw_DB_RemoveWrkFiles (long CrsCod,long UsrCod);
|
||||
void Brw_DB_RemoveUsrFiles (long UsrCod);
|
||||
|
||||
//------------------------------ Public files ---------------------------------
|
||||
bool Brw_DB_GetIfFolderHasPublicFiles (const char Path[PATH_MAX + 1]);
|
||||
unsigned Brw_DB_GetNumPublicFilesUsr (long UsrCod);
|
||||
unsigned Brw_DB_GetNumberOfPublicFiles (MYSQL_RES **mysql_res,Brw_License_t License);
|
||||
|
||||
//------------------------------- Assignments ---------------------------------
|
||||
unsigned Brw_DB_GetFoldersAssignments (MYSQL_RES **mysql_res,long ZoneUsrCod);
|
||||
|
||||
//--------------------- My last access to file browsers -----------------------
|
||||
void Brw_DB_UpdateDateMyLastAccFileBrowser (void);
|
||||
unsigned Brw_DB_GetDateMyLastAccFileBrowser (MYSQL_RES **mysql_res);
|
||||
unsigned Brw_DB_GetGrpLastAccFileBrowser (MYSQL_RES **mysql_res,const char *FieldNameDB);
|
||||
|
||||
//-------------------------------- File views ---------------------------------
|
||||
void Brw_DB_UpdateFileViews (unsigned NumViews,long FilCod);
|
||||
unsigned Brw_DB_GetFileViewsFromMe (MYSQL_RES **mysql_res,long FilCod);
|
||||
unsigned Brw_DB_GetFileViewsFromLoggedUsrs (MYSQL_RES **mysql_res,long FilCod);
|
||||
unsigned Brw_DB_GetFileViewsFromNonLoggedUsrs (long FilCod);
|
||||
unsigned Brw_DB_GetNumFileViewsUsr (long UsrCod);
|
||||
|
||||
//------------------------------- Hidden files --------------------------------
|
||||
unsigned Brw_DB_CheckIfFileOrFolderIsSetAsHiddenUsingPath (MYSQL_RES **mysql_res,
|
||||
const char *Path);
|
||||
|
@ -94,7 +110,4 @@ void Brw_DB_StoreSizeOfFileZone (void);
|
|||
void Brw_DB_GetSizeOfFileBrowser (MYSQL_RES **mysql_res,
|
||||
Brw_FileBrowser_t FileBrowser);
|
||||
|
||||
//-------------------- OERs (Open Educational Resources) ----------------------
|
||||
unsigned Brw_DB_GetNumberOfOERs (MYSQL_RES **mysql_res,Brw_License_t License);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -602,13 +602,14 @@ TODO: FIX BUG, URGENT! En las fechas como par
|
|||
|
||||
TODO: En las encuestas, que los estudiantes no puedan ver los resultados hasta que no finalice el plazo.
|
||||
*/
|
||||
#define Log_PLATFORM_VERSION "SWAD 21.2.1 (2021-09-14)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 21.2.2 (2021-09-14)"
|
||||
#define CSS_FILE "swad20.45.css"
|
||||
#define JS_FILE "swad20.69.1.js"
|
||||
/*
|
||||
TODO: Rename CENTRE to CENTER in help wiki.
|
||||
TODO: Rename ASSESSMENT.Announcements to ASSESSMENT.Calls_for_exams
|
||||
|
||||
Version 21.2.2: Sep 14, 2021 Queries moved to module swad_browser_database. (315051 lines)
|
||||
Version 21.2.1: Sep 14, 2021 Queries moved to module swad_browser_database. (315003 lines)
|
||||
Version 21.2: Sep 14, 2021 Code refactoring related to file browsers. (314983 lines)
|
||||
Version 21.1.1: Sep 14, 2021 Queries moved to module swad_enrolment_database. (315050 lines)
|
||||
|
|
|
@ -1767,7 +1767,7 @@ static void Fig_GetNumberOfOERs (Brw_License_t License,
|
|||
|
||||
/***** Get the size of a file browser *****/
|
||||
/* Query database */
|
||||
NumRows = Brw_DB_GetNumberOfOERs (&mysql_res,License);
|
||||
NumRows = Brw_DB_GetNumberOfPublicFiles (&mysql_res,License);
|
||||
|
||||
/* Reset values to zero */
|
||||
NumFiles[0] = NumFiles[1] = 0L;
|
||||
|
|
|
@ -1064,7 +1064,7 @@ void Ntf_MarkNotifOneFileAsRemoved (const char *Path)
|
|||
case Brw_ADMI_MRK_CRS:
|
||||
case Brw_ADMI_MRK_GRP:
|
||||
/***** Get file code *****/
|
||||
FilCod = Brw_GetFilCodByPath (Path,false); // Any file, public or not
|
||||
FilCod = Brw_DB_GetFilCodByPath (Path,false); // Any file, public or not
|
||||
if (FilCod > 0)
|
||||
{
|
||||
/***** Set notification as removed *****/
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#include <string.h> // For string functions
|
||||
|
||||
#include "swad_box.h"
|
||||
#include "swad_browser_database.h"
|
||||
#include "swad_config.h"
|
||||
#include "swad_database.h"
|
||||
#include "swad_error.h"
|
||||
|
|
|
@ -953,7 +953,7 @@ void Tml_Not_MarkNoteOneFileAsUnavailable (const char *Path)
|
|||
case Brw_ADMI_DOC_CRS:
|
||||
case Brw_ADMI_SHR_CRS:
|
||||
/***** Get file code *****/
|
||||
FilCod = Brw_GetFilCodByPath (Path,true); // Only if file is public
|
||||
FilCod = Brw_DB_GetFilCodByPath (Path,true); // Only if file is public
|
||||
if (FilCod > 0)
|
||||
{
|
||||
/***** Mark possible note as unavailable *****/
|
||||
|
|
|
@ -514,7 +514,7 @@ static unsigned long long ZIP_CloneDir (const char *Path,const char *PathClone,c
|
|||
Err_ShowErrorAndExit ("Can not create temporary link for compression.");
|
||||
|
||||
/***** Update number of my views of this file *****/
|
||||
Brw_UpdateMyFileViews (Brw_GetFilCodByPath (PathFileInTree,false)); // Any file, public or not
|
||||
Brw_UpdateMyFileViews (Brw_DB_GetFilCodByPath (PathFileInTree,false)); // Any file, public or not
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue