mirror of https://github.com/acanas/swad-core.git
Version 17.21.4
This commit is contained in:
parent
63410e4c96
commit
790c46c371
|
@ -11980,5 +11980,8 @@ AND crs_usr.UsrCod=crs_grp_usr.UsrCod)
|
|||
) AS available_grp_types;
|
||||
|
||||
|
||||
SELECT crs_grp.GrpCod FROM crs_grp,crs_grp_types WHERE crs_grp_types.CrsCod=21 AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod;
|
||||
|
||||
|
||||
DELETE FROM file_view USING file_view,files WHERE files.FileBrowser IN (11,26,5,13) AND files.Cod IN (SELECT crs_grp.GrpCod FROM crs_grp_types,crs_grp WHERE crs_grp_types.CrsCod=21 AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod) AND files.FilCod=file_view.FilCod;
|
||||
|
||||
|
|
|
@ -256,14 +256,17 @@
|
|||
/****************************** Public constants *****************************/
|
||||
/*****************************************************************************/
|
||||
|
||||
#define Log_PLATFORM_VERSION "SWAD 17.21.3 (2017-10-08)"
|
||||
#define Log_PLATFORM_VERSION "SWAD 17.21.4 (2017-10-08)"
|
||||
#define CSS_FILE "swad17.0.css"
|
||||
#define JS_FILE "swad17.17.1.js"
|
||||
|
||||
// Number of lines (includes comments but not blank lines) has been got with the following command:
|
||||
// nl swad*.c swad*.h css/swad*.css py/swad*.py js/swad*.js soap/swad*?.h sql/swad*.sql | tail -1
|
||||
/*
|
||||
Version 17.21.3: Oct 08, 2017 Remove project files when removing project. (233169 lines)
|
||||
Version 17.21.4: Oct 08, 2017 Fixed bug: remove group files from database when removing course.
|
||||
Removed project files from database when removing course.
|
||||
Fixed bug in project documents. (233330 lines)
|
||||
Version 17.21.3: Oct 08, 2017 Remove project files from database when removing project. (233169 lines)
|
||||
Version 17.21.2: Oct 08, 2017 Renamed root folder for project documents. (233115 lines)
|
||||
Version 17.21.1: Oct 08, 2017 Remove project directories when removing project. (233114 lines)
|
||||
Version 17.21: Oct 07, 2017 Start and end dates in projects are replaced by time of creation and time of modification. (233106 lines)
|
||||
|
|
|
@ -2191,6 +2191,12 @@ static void Crs_EmptyCourseCompletely (long CrsCod)
|
|||
sprintf (Query,"DELETE FROM crs_record_fields WHERE CrsCod=%ld",CrsCod);
|
||||
DB_QueryDELETE (Query,"can not remove fields of cards in a course");
|
||||
|
||||
/***** Remove information related to files in course,
|
||||
including groups and projects,
|
||||
so this function must be called
|
||||
before removing groups and projects *****/
|
||||
Brw_RemoveCrsFilesFromDB (CrsCod);
|
||||
|
||||
/***** Remove assignments of the course *****/
|
||||
Asg_RemoveCrsAssignments (CrsCod);
|
||||
|
||||
|
@ -2258,9 +2264,6 @@ static void Crs_EmptyCourseCompletely (long CrsCod)
|
|||
CrsCod);
|
||||
DB_QueryDELETE (Query,"can not remove users from a course");
|
||||
|
||||
/***** Remove information related to files in course *****/
|
||||
Brw_RemoveCrsFilesFromDB (CrsCod);
|
||||
|
||||
/***** Remove directories of the course *****/
|
||||
sprintf (PathRelCrs,"%s/%s/%ld",
|
||||
Cfg_PATH_SWAD_PRIVATE,Cfg_FOLDER_CRS,CrsCod);
|
||||
|
|
|
@ -4547,11 +4547,14 @@ void Brw_RemoveDegFilesFromDB (long DegCod)
|
|||
/*****************************************************************************/
|
||||
/************ Remove files related to a course from the database *************/
|
||||
/*****************************************************************************/
|
||||
// This function assumes that all the groups in the course have been removed before
|
||||
/* Remove information related to files in course,
|
||||
including groups and projects,
|
||||
so this function must be called
|
||||
before removing groups and projects */
|
||||
|
||||
void Brw_RemoveCrsFilesFromDB (long CrsCod)
|
||||
{
|
||||
char Query[512];
|
||||
char Query[1024];
|
||||
|
||||
/***** Remove format of files of marks *****/
|
||||
sprintf (Query,"DELETE FROM marks_properties USING files,marks_properties"
|
||||
|
@ -4563,6 +4566,7 @@ void Brw_RemoveCrsFilesFromDB (long CrsCod)
|
|||
DB_QueryDELETE (Query,"can not remove the properties of marks associated to a course");
|
||||
|
||||
/***** Remove from database the entries that store the file views *****/
|
||||
/* Remove from course file zones */
|
||||
sprintf (Query,"DELETE FROM file_view USING file_view,files"
|
||||
" WHERE files.FileBrowser IN (%u,%u,%u,%u,%u,%u)"
|
||||
" AND files.Cod=%ld"
|
||||
|
@ -4576,7 +4580,33 @@ void Brw_RemoveCrsFilesFromDB (long CrsCod)
|
|||
CrsCod);
|
||||
DB_QueryDELETE (Query,"can not remove file views to files of a course");
|
||||
|
||||
/* Remove from group file zones */
|
||||
sprintf (Query,"DELETE FROM file_view USING file_view,files"
|
||||
" WHERE files.FileBrowser IN (%u,%u,%u,%u)"
|
||||
" AND files.Cod IN"
|
||||
" (SELECT crs_grp.GrpCod FROM crs_grp_types,crs_grp"
|
||||
" WHERE crs_grp_types.CrsCod=%ld"
|
||||
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod)"
|
||||
" AND files.FilCod=file_view.FilCod",
|
||||
(unsigned) Brw_ADMI_DOC_GRP,
|
||||
(unsigned) Brw_ADMI_TCH_GRP,
|
||||
(unsigned) Brw_ADMI_SHR_GRP,
|
||||
(unsigned) Brw_ADMI_MRK_GRP,
|
||||
CrsCod);
|
||||
DB_QueryDELETE (Query,"can not remove file views to files of a course");
|
||||
|
||||
/* Remove from project file zones */
|
||||
sprintf (Query,"DELETE FROM file_view USING file_view,files"
|
||||
" WHERE files.FileBrowser IN (%u)"
|
||||
" AND files.Cod IN"
|
||||
" (SELECT PrjCod FROM projects WHERE CrsCod=%ld)"
|
||||
" AND files.FilCod=file_view.FilCod",
|
||||
(unsigned) Brw_ADMI_DOC_PRJ,
|
||||
CrsCod);
|
||||
DB_QueryDELETE (Query,"can not remove file views to files of a course");
|
||||
|
||||
/***** Remove from database expanded folders *****/
|
||||
/* Remove from course file zones */
|
||||
sprintf (Query,"DELETE LOW_PRIORITY FROM expanded_folders"
|
||||
" WHERE FileBrowser IN (%u,%u,%u,%u,%u,%u,%u,%u)"
|
||||
" AND Cod=%ld",
|
||||
|
@ -4591,7 +4621,31 @@ void Brw_RemoveCrsFilesFromDB (long CrsCod)
|
|||
CrsCod);
|
||||
DB_QueryDELETE (Query,"can not remove expanded folders of a course");
|
||||
|
||||
/* Remove from group file zones */
|
||||
sprintf (Query,"DELETE LOW_PRIORITY FROM expanded_folders"
|
||||
" WHERE FileBrowser IN (%u,%u,%u,%u)"
|
||||
" AND Cod IN"
|
||||
" (SELECT crs_grp.GrpCod FROM crs_grp_types,crs_grp"
|
||||
" WHERE crs_grp_types.CrsCod=%ld"
|
||||
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod)",
|
||||
(unsigned) Brw_ADMI_DOC_GRP,
|
||||
(unsigned) Brw_ADMI_TCH_GRP,
|
||||
(unsigned) Brw_ADMI_SHR_GRP,
|
||||
(unsigned) Brw_ADMI_MRK_GRP,
|
||||
CrsCod);
|
||||
DB_QueryDELETE (Query,"can not remove expanded folders of a course");
|
||||
|
||||
/* Remove from project file zones */
|
||||
sprintf (Query,"DELETE LOW_PRIORITY FROM expanded_folders"
|
||||
" WHERE FileBrowser IN (%u)"
|
||||
" AND Cod IN"
|
||||
" (SELECT PrjCod FROM projects WHERE CrsCod=%ld)",
|
||||
(unsigned) Brw_ADMI_DOC_PRJ,
|
||||
CrsCod);
|
||||
DB_QueryDELETE (Query,"can not remove expanded folders of a course");
|
||||
|
||||
/***** Remove from database the entries that store clipboards *****/
|
||||
/* Remove from course file zones */
|
||||
sprintf (Query,"DELETE FROM clipboard"
|
||||
" WHERE FileBrowser IN (%u,%u,%u,%u,%u,%u,%u,%u)"
|
||||
" AND Cod=%ld",
|
||||
|
@ -4606,9 +4660,33 @@ void Brw_RemoveCrsFilesFromDB (long CrsCod)
|
|||
CrsCod);
|
||||
DB_QueryDELETE (Query,"can not remove clipboards related to files of a course");
|
||||
|
||||
/* Remove from group file zones */
|
||||
sprintf (Query,"DELETE FROM clipboard"
|
||||
" WHERE FileBrowser IN (%u,%u,%u,%u)"
|
||||
" AND Cod IN"
|
||||
" (SELECT crs_grp.GrpCod FROM crs_grp_types,crs_grp"
|
||||
" WHERE crs_grp_types.CrsCod=%ld"
|
||||
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod)",
|
||||
(unsigned) Brw_ADMI_DOC_GRP,
|
||||
(unsigned) Brw_ADMI_TCH_GRP,
|
||||
(unsigned) Brw_ADMI_SHR_GRP,
|
||||
(unsigned) Brw_ADMI_MRK_GRP,
|
||||
CrsCod);
|
||||
DB_QueryDELETE (Query,"can not remove clipboards related to files of a course");
|
||||
|
||||
/* Remove from project file zones */
|
||||
sprintf (Query,"DELETE FROM clipboard"
|
||||
" WHERE FileBrowser IN (%u)"
|
||||
" AND Cod IN"
|
||||
" (SELECT PrjCod FROM projects WHERE CrsCod=%ld)",
|
||||
(unsigned) Brw_ADMI_DOC_PRJ,
|
||||
CrsCod);
|
||||
DB_QueryDELETE (Query,"can not remove clipboards related to files of a course");
|
||||
|
||||
/***** Remove from database the entries that store the last time users visited file zones *****/
|
||||
// Assignments and works are stored as one in file_browser_last...
|
||||
// ...because a user views them at the same time
|
||||
/* Remove from course file zones */
|
||||
sprintf (Query,"DELETE FROM file_browser_last"
|
||||
" WHERE FileBrowser IN (%u,%u,%u,%u,%u)"
|
||||
" AND Cod=%ld",
|
||||
|
@ -4620,7 +4698,31 @@ void Brw_RemoveCrsFilesFromDB (long CrsCod)
|
|||
CrsCod);
|
||||
DB_QueryDELETE (Query,"can not remove file last visits to files of a course");
|
||||
|
||||
/* Remove from group file zones */
|
||||
sprintf (Query,"DELETE FROM file_browser_last"
|
||||
" WHERE FileBrowser IN (%u,%u,%u,%u)"
|
||||
" AND Cod IN"
|
||||
" (SELECT crs_grp.GrpCod FROM crs_grp_types,crs_grp"
|
||||
" WHERE crs_grp_types.CrsCod=%ld"
|
||||
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod)",
|
||||
(unsigned) Brw_ADMI_DOC_GRP,
|
||||
(unsigned) Brw_ADMI_TCH_GRP,
|
||||
(unsigned) Brw_ADMI_SHR_GRP,
|
||||
(unsigned) Brw_ADMI_MRK_GRP,
|
||||
CrsCod);
|
||||
DB_QueryDELETE (Query,"can not remove file last visits to files of a course");
|
||||
|
||||
/* Remove from project file zones */
|
||||
sprintf (Query,"DELETE FROM file_browser_last"
|
||||
" WHERE FileBrowser IN (%u)"
|
||||
" AND Cod IN"
|
||||
" (SELECT PrjCod FROM projects WHERE CrsCod=%ld)",
|
||||
(unsigned) Brw_ADMI_DOC_PRJ,
|
||||
CrsCod);
|
||||
DB_QueryDELETE (Query,"can not remove file last visits to files of a course");
|
||||
|
||||
/***** Remove from database the entries that store the sizes of the file zones *****/
|
||||
/* Remove from course file zones */
|
||||
sprintf (Query,"DELETE FROM file_browser_size"
|
||||
" WHERE FileBrowser IN (%u,%u,%u,%u,%u,%u)"
|
||||
" AND Cod=%ld",
|
||||
|
@ -4633,7 +4735,31 @@ void Brw_RemoveCrsFilesFromDB (long CrsCod)
|
|||
CrsCod);
|
||||
DB_QueryDELETE (Query,"can not remove sizes of file zones of a course");
|
||||
|
||||
/* Remove from group file zones */
|
||||
sprintf (Query,"DELETE FROM file_browser_size"
|
||||
" WHERE FileBrowser IN (%u,%u,%u,%u)"
|
||||
" AND Cod IN"
|
||||
" (SELECT crs_grp.GrpCod FROM crs_grp_types,crs_grp"
|
||||
" WHERE crs_grp_types.CrsCod=%ld"
|
||||
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod)",
|
||||
(unsigned) Brw_ADMI_DOC_GRP,
|
||||
(unsigned) Brw_ADMI_TCH_GRP,
|
||||
(unsigned) Brw_ADMI_SHR_GRP,
|
||||
(unsigned) Brw_ADMI_MRK_GRP,
|
||||
CrsCod);
|
||||
DB_QueryDELETE (Query,"can not remove sizes of file zones of a course");
|
||||
|
||||
/* Remove from project file zones */
|
||||
sprintf (Query,"DELETE FROM file_browser_size"
|
||||
" WHERE FileBrowser IN (%u)"
|
||||
" AND Cod IN"
|
||||
" (SELECT PrjCod FROM projects WHERE CrsCod=%ld)",
|
||||
(unsigned) Brw_ADMI_DOC_PRJ,
|
||||
CrsCod);
|
||||
DB_QueryDELETE (Query,"can not remove sizes of file zones of a course");
|
||||
|
||||
/***** Remove from database the entries that store the data files *****/
|
||||
/* Remove from course file zones */
|
||||
sprintf (Query,"DELETE FROM files"
|
||||
" WHERE FileBrowser IN (%u,%u,%u,%u,%u,%u)"
|
||||
" AND Cod=%ld",
|
||||
|
@ -4645,6 +4771,29 @@ void Brw_RemoveCrsFilesFromDB (long CrsCod)
|
|||
(unsigned) Brw_ADMI_MRK_CRS,
|
||||
CrsCod);
|
||||
DB_QueryDELETE (Query,"can not remove files of a course");
|
||||
|
||||
/* Remove from group file zones */
|
||||
sprintf (Query,"DELETE FROM files"
|
||||
" WHERE FileBrowser IN (%u,%u,%u,%u)"
|
||||
" AND Cod IN"
|
||||
" (SELECT crs_grp.GrpCod FROM crs_grp_types,crs_grp"
|
||||
" WHERE crs_grp_types.CrsCod=%ld"
|
||||
" AND crs_grp_types.GrpTypCod=crs_grp.GrpTypCod)",
|
||||
(unsigned) Brw_ADMI_DOC_GRP,
|
||||
(unsigned) Brw_ADMI_TCH_GRP,
|
||||
(unsigned) Brw_ADMI_SHR_GRP,
|
||||
(unsigned) Brw_ADMI_MRK_GRP,
|
||||
CrsCod);
|
||||
DB_QueryDELETE (Query,"can not remove files of a course");
|
||||
|
||||
/* Remove from project file zones */
|
||||
sprintf (Query,"DELETE FROM files"
|
||||
" WHERE FileBrowser IN (%u)"
|
||||
" AND Cod IN"
|
||||
" (SELECT PrjCod FROM projects WHERE CrsCod=%ld)",
|
||||
(unsigned) Brw_ADMI_DOC_PRJ,
|
||||
CrsCod);
|
||||
DB_QueryDELETE (Query,"can not remove files of a course");
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -11177,6 +11326,8 @@ long Brw_GetCodForFiles (void)
|
|||
case Brw_ADMI_SHR_GRP:
|
||||
case Brw_ADMI_MRK_GRP:
|
||||
return Gbl.CurrentCrs.Grps.GrpCod;
|
||||
case Brw_ADMI_DOC_PRJ:
|
||||
return Gbl.CurrentCrs.Prjs.PrjCod;
|
||||
default:
|
||||
return -1L;
|
||||
}
|
||||
|
@ -11220,6 +11371,7 @@ void Brw_GetCrsGrpFromFileMetadata (Brw_FileBrowser_t FileBrowser,long Cod,
|
|||
{
|
||||
case Brw_ADMI_DOC_INS:
|
||||
case Brw_ADMI_SHR_INS:
|
||||
/* Cod stores the institution code */
|
||||
*GrpCod = -1L;
|
||||
*CrsCod = -1L;
|
||||
*DegCod = -1L;
|
||||
|
@ -11228,6 +11380,7 @@ void Brw_GetCrsGrpFromFileMetadata (Brw_FileBrowser_t FileBrowser,long Cod,
|
|||
break;
|
||||
case Brw_ADMI_DOC_CTR:
|
||||
case Brw_ADMI_SHR_CTR:
|
||||
/* Cod stores the centre code */
|
||||
*GrpCod = -1L;
|
||||
*CrsCod = -1L;
|
||||
*DegCod = -1L;
|
||||
|
@ -11237,6 +11390,7 @@ void Brw_GetCrsGrpFromFileMetadata (Brw_FileBrowser_t FileBrowser,long Cod,
|
|||
break;
|
||||
case Brw_ADMI_DOC_DEG:
|
||||
case Brw_ADMI_SHR_DEG:
|
||||
/* Cod stores the degree code */
|
||||
*GrpCod = -1L;
|
||||
*CrsCod = -1L;
|
||||
*DegCod = Deg.DegCod = Cod;
|
||||
|
@ -11251,6 +11405,7 @@ void Brw_GetCrsGrpFromFileMetadata (Brw_FileBrowser_t FileBrowser,long Cod,
|
|||
case Brw_ADMI_ASG_USR:
|
||||
case Brw_ADMI_WRK_USR:
|
||||
case Brw_ADMI_MRK_CRS:
|
||||
/* Cod stores the course code */
|
||||
*GrpCod = -1L;
|
||||
*CrsCod = Crs.CrsCod = Cod;
|
||||
Crs_GetDataOfCourseByCod (&Crs);
|
||||
|
@ -11264,6 +11419,7 @@ void Brw_GetCrsGrpFromFileMetadata (Brw_FileBrowser_t FileBrowser,long Cod,
|
|||
case Brw_ADMI_TCH_GRP:
|
||||
case Brw_ADMI_SHR_GRP:
|
||||
case Brw_ADMI_MRK_GRP:
|
||||
/* Cod stores the group code */
|
||||
*GrpCod = GrpDat.GrpCod = Cod;
|
||||
Grp_GetDataOfGroupByCod (&GrpDat);
|
||||
*CrsCod = Crs.CrsCod = GrpDat.CrsCod;
|
||||
|
@ -11274,6 +11430,17 @@ void Brw_GetCrsGrpFromFileMetadata (Brw_FileBrowser_t FileBrowser,long Cod,
|
|||
Ctr_GetDataOfCentreByCod (&Ctr);
|
||||
*InsCod = Ctr.InsCod;
|
||||
break;
|
||||
case Brw_ADMI_DOC_PRJ:
|
||||
/* Cod stores the project code */
|
||||
*GrpCod = -1L;
|
||||
*CrsCod = Crs.CrsCod = Prj_GetCourseOfProject (Cod);
|
||||
Crs_GetDataOfCourseByCod (&Crs);
|
||||
*DegCod = Deg.DegCod = Crs.DegCod;
|
||||
Deg_GetDataOfDegreeByCod (&Deg);
|
||||
*CtrCod = Ctr.CtrCod = Deg.CtrCod;
|
||||
Ctr_GetDataOfCentreByCod (&Ctr);
|
||||
*InsCod = Ctr.InsCod;
|
||||
break;
|
||||
default:
|
||||
*GrpCod = -1L;
|
||||
*CrsCod = -1L;
|
||||
|
|
Loading…
Reference in New Issue