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,"
" "%s" @@ -8460,7 +8509,7 @@ static void Brw_PutFormToUploadFilesUsingDropzone (const char *FileNameToShow) /***** Put button to refresh file browser after upload *****/ Frm_StartForm (Brw_ActRefreshAfterUploadFiles[Gbl.FileBrowser.Type]); Brw_PutParamsFileBrowser (NULL,NULL, - Brw_IS_UNKNOWN, // Not used + Gbl.FileBrowser.FileType, // Not used -1L); /***** Button to send *****/ @@ -8496,7 +8545,7 @@ static void Brw_PutFormToUploadOneFileClassic (const char *FileNameToShow) Frm_StartForm (Brw_ActUploadFileClassic[Gbl.FileBrowser.Type]); Brw_PutParamsFileBrowser (Gbl.FileBrowser.Priv.PathInTreeUntilFilFolLnk, Gbl.FileBrowser.FilFolLnkName, - Brw_IS_FOLDER,-1L); + Gbl.FileBrowser.FileType,-1L); fprintf (Gbl.F.Out,"", Fil_NAME_OF_PARAM_FILENAME_ORG); @@ -8522,7 +8571,7 @@ static void Brw_PutFormToPasteAFileOrFolder (const char *FileNameToShow) Frm_StartForm (Brw_ActPaste[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_Paste,NULL, @@ -8556,7 +8605,7 @@ static void Brw_PutFormToCreateALink (const char *FileNameToShow) Frm_StartForm (Brw_ActCreateLink[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_link,NULL, @@ -10124,7 +10173,7 @@ static void Brw_WriteSmallLinkToDownloadFile (const char *URL,Brw_FileType_t Fil ActSeeMyMrkGrp); Brw_PutParamsFileBrowser (Gbl.FileBrowser.Priv.PathInTreeUntilFilFolLnk, Gbl.FileBrowser.FilFolLnkName, - FileType,-1L); + FileType,-1L); /* Link begin */ snprintf (Gbl.Title,sizeof (Gbl.Title), diff --git a/swad_icon.c b/swad_icon.c index 68e3b9c4..41358e43 100644 --- a/swad_icon.c +++ b/swad_icon.c @@ -316,6 +316,15 @@ void Ico_PutContextualIconToCreateInFolder (Act_Action_t NextAction,void (*FuncP Txt_Upload_file_or_create_folder); } +void Ico_PutContextualIconToZIP (Act_Action_t NextAction,void (*FuncParams) (void)) + { + extern const char *Txt_Create_ZIP_file; + + Lay_PutContextualLinkOnlyIcon (NextAction,NULL,FuncParams, + "download.svg", + Txt_Create_ZIP_file); + } + /*****************************************************************************/ /**************** Show an icon inside a div (without text) *******************/ /*****************************************************************************/ diff --git a/swad_icon.h b/swad_icon.h index 2c0d8339..406c4cf4 100644 --- a/swad_icon.h +++ b/swad_icon.h @@ -68,6 +68,7 @@ void Ico_PutContextualIconToPrint (Act_Action_t NextAction,void (*FuncParams) (v void Ico_PutContextualIconToCopy (Act_Action_t NextAction,void (*FuncParams) (void)); void Ico_PutContextualIconToPaste (Act_Action_t NextAction,void (*FuncParams) (void)); void Ico_PutContextualIconToCreateInFolder (Act_Action_t NextAction,void (*FuncParams) (void),bool Open); +void Ico_PutContextualIconToZIP (Act_Action_t NextAction,void (*FuncParams) (void)); void Ico_PutDivIcon (const char *DivClass,const char *Icon,const char *Title); void Ico_PutDivIconLink (const char *DivClass,const char *Icon,const char *Title); diff --git a/swad_zip.c b/swad_zip.c index b05465b3..bf42906f 100644 --- a/swad_zip.c +++ b/swad_zip.c @@ -55,39 +55,6 @@ #define ZIP_MiB (1024ULL * 1024ULL) #define ZIP_MAX_SIZE_UNCOMPRESSED (1024ULL * ZIP_MiB) -const Act_Action_t ZIP_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 - }; - /*****************************************************************************/ /****************************** Internal types *******************************/ /*****************************************************************************/ @@ -356,29 +323,6 @@ static void ZIP_CreateDirCompressionUsr (struct UsrData *UsrDat) } } -/*****************************************************************************/ -/***************** Put button to create ZIP file of a folder *****************/ -/*****************************************************************************/ - -void ZIP_PutButtonToDownloadZIPOfAFolder (const char *PathInTree,const char *FileName) - { - extern const char *The_ClassFormInBox[The_NUM_THEMES]; - extern const char *Txt_Create_ZIP_file; - - Frm_StartForm (ZIP_ActZIPFolder[Gbl.FileBrowser.Type]); - Brw_PutParamsFileBrowser (PathInTree,FileName, - Brw_IS_FOLDER,-1L); - Frm_LinkFormSubmit (Txt_Create_ZIP_file,The_ClassFormInBox[Gbl.Prefs.Theme],NULL); - fprintf (Gbl.F.Out,"\"%s\"" - "", - Cfg_URL_ICON_PUBLIC, - Txt_Create_ZIP_file, - Txt_Create_ZIP_file); - Frm_EndForm (); - } - /*****************************************************************************/ /********************* Compress a folder into ZIP file ***********************/ /*****************************************************************************/ diff --git a/swad_zip.h b/swad_zip.h index e09a394b..b9ffcbc4 100644 --- a/swad_zip.h +++ b/swad_zip.h @@ -47,7 +47,6 @@ void ZIP_PutLinkToCreateZIPAsgWrk (void); bool ZIP_GetCreateZIPFromForm (void); void ZIP_CreateZIPAsgWrk (void); -void ZIP_PutButtonToDownloadZIPOfAFolder (const char *PathInTree,const char *FileName); void ZIP_CompressFileTree (void); #endif