Version18.118.3

This commit is contained in:
Antonio Cañas Vargas 2019-04-22 14:50:31 +02:00
parent baa180c504
commit b0672eae6b
6 changed files with 76 additions and 73 deletions

View File

@ -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.

View File

@ -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,"</td>");
}
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,"<div class=\"dz-message\">"
"<span class=\"DAT_LIGHT\">%s</span>"
@ -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,"<input type=\"file\" name=\"%s\" />",
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),

View File

@ -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) *******************/
/*****************************************************************************/

View File

@ -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);

View File

@ -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,"<img src=\"%s/download.svg\""
" alt=\"%s\" title=\"%s\""
" class=\"ICO16x16\" />"
"</a>",
Cfg_URL_ICON_PUBLIC,
Txt_Create_ZIP_file,
Txt_Create_ZIP_file);
Frm_EndForm ();
}
/*****************************************************************************/
/********************* Compress a folder into ZIP file ***********************/
/*****************************************************************************/

View File

@ -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