diff --git a/swad_changelog.h b/swad_changelog.h index 935eed86..8c950b86 100644 --- a/swad_changelog.h +++ b/swad_changelog.h @@ -448,10 +448,11 @@ En OpenSWAD: ps2pdf source.ps destination.pdf */ -#define Log_PLATFORM_VERSION "SWAD 18.118.2 (2019-04-22)" +#define Log_PLATFORM_VERSION "SWAD 18.118.3 (2019-04-22)" #define CSS_FILE "swad18.112.1.css" #define JS_FILE "swad18.116.5.js" /* + Version 18.118.3: Apr 22, 2019 Changed the behaviour of creating zip in file browser. (242545 lines) Version 18.118.2: Apr 22, 2019 Removed unused code related to hidden_params table. (242545 lines) Version 18.118.1: Apr 22, 2019 Removed unused code related to hidden_params table. (242682 lines) Version 18.118: Apr 22, 2019 Changed the behaviour of creating in folder of file browser. diff --git a/swad_file_browser.c b/swad_file_browser.c index 834d96c7..744d89bc 100644 --- a/swad_file_browser.c +++ b/swad_file_browser.c @@ -1098,6 +1098,39 @@ static const Act_Action_t Brw_ActRecDatFile[Brw_NUM_TYPES_FILE_BROWSER] = ActChgDatDocPrj, // Brw_ADMI_DOC_PRJ ActChgDatAssPrj, // Brw_ADMI_ASS_PRJ }; +static const Act_Action_t Brw_ActZIPFolder[Brw_NUM_TYPES_FILE_BROWSER] = + { + ActUnk, // Brw_UNKNOWN + ActZIPSeeDocCrs, // Brw_SHOW_DOC_CRS + ActUnk, // Brw_SHOW_MRK_CRS + ActZIPAdmDocCrs, // Brw_ADMI_DOC_CRS + ActZIPShaCrs, // Brw_ADMI_SHR_CRS + ActZIPShaGrp, // Brw_ADMI_SHR_GRP + ActZIPWrkUsr, // Brw_ADMI_WRK_USR + ActZIPWrkCrs, // Brw_ADMI_WRK_CRS + ActZIPAdmMrkCrs, // Brw_ADMI_MRK_CRS + ActZIPBrf, // Brw_ADMI_BRF_USR + ActZIPSeeDocGrp, // Brw_SHOW_DOC_GRP + ActZIPAdmDocGrp, // Brw_ADMI_DOC_GRP + ActUnk, // Brw_SHOW_MRK_GRP + ActZIPAdmMrkGrp, // Brw_ADMI_MRK_GRP + ActZIPAsgUsr, // Brw_ADMI_ASG_USR + ActZIPAsgCrs, // Brw_ADMI_ASG_CRS + ActZIPSeeDocDeg, // Brw_SHOW_DOC_DEG + ActZIPAdmDocDeg, // Brw_ADMI_DOC_DEG + ActZIPSeeDocCtr, // Brw_SHOW_DOC_CTR + ActZIPAdmDocCtr, // Brw_ADMI_DOC_CTR + ActZIPSeeDocIns, // Brw_SHOW_DOC_INS + ActZIPAdmDocIns, // Brw_ADMI_DOC_INS + ActZIPShaDeg, // Brw_ADMI_SHR_DEG + ActZIPShaCtr, // Brw_ADMI_SHR_CTR + ActZIPShaIns, // Brw_ADMI_SHR_INS + ActZIPTchCrs, // Brw_ADMI_TCH_CRS + ActZIPTchGrp, // Brw_ADMI_TCH_GRP + ActZIPDocPrj, // Brw_ADMI_DOC_PRJ + ActZIPAssPrj, // Brw_ADMI_ASS_PRJ + }; + /* All quotas must be multiple of 1 GiB (Gibibyte)*/ #define Brw_GiB (1024ULL * 1024ULL * 1024ULL) @@ -1302,6 +1335,9 @@ static void Brw_PutIconFileWithLinkToViewMetadata (unsigned Size, struct FileMetadata *FileMetadata, const char *FileNameToShow); static void Brw_PutIconFile (unsigned Size,Brw_FileType_t FileType,const char *FileName); + +static void Brw_PutButtonToDownloadZIPOfAFolder (const char *PathInTree,const char *FileName); + static void Brw_WriteFileName (unsigned Level,bool IsPublic, const char *PathInTree,const char *FileName,const char *FileNameToShow); static void Brw_GetFileNameToShowDependingOnLevel (Brw_FileBrowser_t FileBrowser, @@ -3506,7 +3542,7 @@ static void Brw_ShowFileBrowser (void) Gbl.Usrs.Me.Role.Logged == Rol_SYS_ADM; /***** Set title of file browser *****/ - Brw_TitleOfFileBrowser[Brw_UNKNOWN ] = NULL; // Brw_UNKNOWN + Brw_TitleOfFileBrowser[Brw_UNKNOWN ] = NULL; // Brw_UNKNOWN Brw_TitleOfFileBrowser[Brw_SHOW_DOC_CRS] = Txt_Documents_area; // Brw_SHOW_DOC_CRS Brw_TitleOfFileBrowser[Brw_SHOW_MRK_CRS] = Txt_Marks_area; // Brw_SHOW_MRK_CRS Brw_TitleOfFileBrowser[Brw_ADMI_DOC_CRS] = Txt_Documents_management_area; // Brw_ADMI_DOC_CRS @@ -3537,7 +3573,7 @@ static void Brw_ShowFileBrowser (void) Brw_TitleOfFileBrowser[Brw_ADMI_ASS_PRJ] = Txt_Project_assessment; // Brw_ADMI_ASS_PRJ /***** Set help link of file browser *****/ - Brw_HelpOfFileBrowser[Brw_UNKNOWN ] = NULL; // Brw_UNKNOWN + Brw_HelpOfFileBrowser[Brw_UNKNOWN ] = NULL; // Brw_UNKNOWN Brw_HelpOfFileBrowser[Brw_SHOW_DOC_CRS] = Hlp_FILES_Documents; // Brw_SHOW_DOC_CRS Brw_HelpOfFileBrowser[Brw_SHOW_MRK_CRS] = Hlp_FILES_Marks; // Brw_SHOW_MRK_CRS Brw_HelpOfFileBrowser[Brw_ADMI_DOC_CRS] = Hlp_FILES_Documents; // Brw_ADMI_DOC_CRS @@ -5648,7 +5684,7 @@ static bool Brw_WriteRowFileBrowser (unsigned Level,const char *RowId, if (Gbl.Usrs.Me.Role.Logged >= Rol_STD && // Only ZIP folders if I am student, teacher... !SeeMarks && // Do not ZIP folders when seeing marks !(SeeDocsZone && RowSetAsHidden)) // When seeing docs, if folder is not hidden (this could happen for Level == 0) - ZIP_PutButtonToDownloadZIPOfAFolder (PathInTree,FileName); + Brw_PutButtonToDownloadZIPOfAFolder (PathInTree,FileName); fprintf (Gbl.F.Out,""); } else // File or link @@ -5922,7 +5958,7 @@ static void Brw_PutIconToExpandFolder (const char *FileBrowserId,const char *Row FileBrowserId, JavaScriptFuncToExpandFolder); // JavaScript function to unhide rows Brw_PutParamsFileBrowser (PathInTree,FileName, - Brw_IS_FOLDER,-1L); + Gbl.FileBrowser.FileType,-1L); Ico_PutIconLink ("caret-right.svg",Txt_Expand); Frm_EndForm (); @@ -5957,7 +5993,7 @@ static void Brw_PutIconToContractFolder (const char *FileBrowserId,const char *R FileBrowserId, JavaScriptFuncToContractFolder); // JavaScript function to hide rows Brw_PutParamsFileBrowser (PathInTree,FileName, - Brw_IS_FOLDER,-1L); + Gbl.FileBrowser.FileType,-1L); Ico_PutIconLink ("caret-down.svg",Txt_Contract); Frm_EndForm (); @@ -6186,7 +6222,7 @@ static void Brw_PutIconFileWithLinkToViewMetadata (unsigned Size, /***** Start form *****/ Frm_StartForm (Brw_ActReqDatFile[Gbl.FileBrowser.Type]); Brw_PutParamsFileBrowser (NULL,NULL, - Brw_IS_UNKNOWN, // Not used + Gbl.FileBrowser.FileType, // Not used FileMetadata->FilCod); /***** Name and link of the file or folder *****/ @@ -6248,6 +6284,19 @@ static void Brw_PutIconFile (unsigned Size,Brw_FileType_t FileType,const char *F "ICO40x40"); } +/*****************************************************************************/ +/***************** Put button to create ZIP file of a folder *****************/ +/*****************************************************************************/ + +static void Brw_PutButtonToDownloadZIPOfAFolder (const char *PathInTree,const char *FileName) + { + /***** Form to zip and download folder *****/ + Brw_PathInTree = PathInTree; + Brw_FileName = FileName; + Ico_PutContextualIconToZIP (Brw_ActZIPFolder[Gbl.FileBrowser.Type], + Brw_PutImplicitParamsFileBrowser); + } + /*****************************************************************************/ /********** Write central part with the name of a file or folder *************/ /*****************************************************************************/ @@ -6276,7 +6325,7 @@ static void Brw_WriteFileName (unsigned Level,bool IsPublic, { Frm_StartForm (Brw_ActRenameFolder[Gbl.FileBrowser.Type]); Brw_PutParamsFileBrowser (PathInTree,FileName, - Brw_IS_FOLDER,-1L); + Gbl.FileBrowser.FileType,-1L); } /***** Write name of the folder *****/ @@ -6720,7 +6769,7 @@ static void Brw_PutParamsRemFolder (void) { Brw_PutParamsFileBrowser (Gbl.FileBrowser.Priv.PathInTreeUntilFilFolLnk, Gbl.FileBrowser.FilFolLnkName, - Brw_IS_FOLDER,-1L); + Gbl.FileBrowser.FileType,-1L); } /*****************************************************************************/ @@ -8387,7 +8436,7 @@ static void Brw_PutFormToCreateAFolder (const char FileNameToShow[NAME_MAX + 1]) Frm_StartForm (Brw_ActCreateFolder[Gbl.FileBrowser.Type]); Brw_PutParamsFileBrowser (Gbl.FileBrowser.Priv.PathInTreeUntilFilFolLnk, Gbl.FileBrowser.FilFolLnkName, - Brw_IS_FOLDER,-1L); + Gbl.FileBrowser.FileType,-1L); /***** Start box *****/ Box_StartBox (NULL,Txt_Create_folder,NULL, @@ -8449,7 +8498,7 @@ static void Brw_PutFormToUploadFilesUsingDropzone (const char *FileNameToShow) Par_PutHiddenParamString ("ses",Gbl.Session.Id); Brw_PutParamsFileBrowser (Gbl.FileBrowser.Priv.PathInTreeUntilFilFolLnk, Gbl.FileBrowser.FilFolLnkName, - Brw_IS_FOLDER,-1L); + Gbl.FileBrowser.FileType,-1L); fprintf (Gbl.F.Out,"